* BUG: ARRAY_add_void() function now correctly adds a void element in the
array after an element has been previously removed. That bug made the
event loop mad in some cases!
git-svn-id: svn://localhost/gambas/trunk@3131 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix an unitialized structure field in extern functions management.
git-svn-id: svn://localhost/gambas/trunk@3119 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix many array methods that crashed when taking abnormal 'start' or
'length' arguments. Now they raise errors.
git-svn-id: svn://localhost/gambas/trunk@3110 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The debugger does not crash anymore when activated at startup.
[GB.FORM]
* BUG: The MenuButton now only reacts to the left mouse button.
[GB.GTK]
* BUG: Remove some debugging messages from ColumnView.Settings property.
* BUG: Do not try to get informations about a widget when a window is
needed and the widget is not yet realized.
* BUG: Fix the Control.Cursor property.
* BUG: Control.Hovered now returns FALSE when the control is not visible.
* BUG: Creating the menubar does not make all window children visible
anymore.
[GB.QT4]
* BUG: Control.Hovered now returns FALSE when the control is not visible.
git-svn-id: svn://localhost/gambas/trunk@3107 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: DateBox is a new control that can edit a date with a calendar popup.
It aims at replacing the DatePicker, and the ValueBox with date type.
* NEW: DateChooser layout is better with small sizes.
* NEW: DateChooser raises a Cancel event when you hit the Escape key.
[GB.GTK]
* BUG: Better management of window grabs.
* NEW: Window.ShowPupup() is a new method that shows a window as a popup.
It takes an optional X,Y screen position as arguments. If not specified,
the window is shown at the current cursor position.
* BUG: Now all controls catch basic events.
* BUG: Fix a crash when destroying controls.
[GB.QT4]
* NEW: Window.ShowPupup() is a new method that shows a window as a popup.
It takes an optional X,Y screen position as arguments. If not specified,
the window is shown at the current cursor position.
* NEW: TrayIcon got a PopupMenu property, like the Control class. But it
works only if the TrayIcon observer is a Window. The property has bot
been implemented in gb.gtk yet.
git-svn-id: svn://localhost/gambas/trunk@3088 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: READ and WRITE now correctly handle Pointer datatype.
* BUG: Classes inheriting an array class now work correctly.
[GB.FORM]
* NEW: FileChooser and DirChooser have a new ShowButton property that shows
OK and Cancel buttons inside the control. Clicking on the Cancel button
raises a new Cancel event.
* NEW: Bookmark management has been redesigned in file controls.
* NEW: MenuButton got an AutoResize property.
[GB.FORM.DIALOG]
* NEW: File dialogs now remember their geometry.
[GB.GTK]
* BUG: Fix duplicate Click event in CheckBox control.
* BUG: Correctly handle tristate Checkbox controls.
git-svn-id: svn://localhost/gambas/trunk@3076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The interpreter compiles now when extern functions are disabled.
git-svn-id: svn://localhost/gambas/trunk@3072 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Searching spaces now works in highlighted files.
* OPT: The result of grep has been cached, so that successive searches are
faster.
[GB.QT4.EXT]
* NEW: The Editor[].Purge() method replacing character can be passed as an
argument.
git-svn-id: svn://localhost/gambas/trunk@3069 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly fix the management of return value in native function
calls.
git-svn-id: svn://localhost/gambas/trunk@3063 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not crash anymore when a native function returns one of its
argument.
* NEW: New interpreter API to enumerate a collection.
[GB.DBUS]
* NEW: Collection are fully supported now.
* NEW: The org.freedesktop.DBus.properties.GetAll() method has been
implemented.
* BUG: Correctly raise an error when calling a D-Bus method fails.
* BUG: Correctly release strings returned by D-Bus functions that must be
released.
git-svn-id: svn://localhost/gambas/trunk@3058 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix class header parsing in automatic completion.
[INTERPRETER]
* BUG: Class[].Signature has been implemented.
* BUG: Fix native method calling when some arguments must be converted.
* NEW: Two new interpreter APIs, GB.BorrowValue() and GB.ReleaseValue(), to
correctly manage values returned by GB.ReadValue().
[GB.DBUS]
* NEW: Support for exporting properties and methods. The GetAll() DBus
method has not been implemented yet, because marshalling Collection is
not supported yet. Sending signals is not supported yet too.
* NEW: The previous DBusObject class has been renamed as DBusProxy.
* NEW: A new DBusObject class. Each Gambas object that inherits DBusObject
is automatically exported through DBus.
* NEW: DBusSignal is a new class to catch DBus signals by giving its
interface name.
git-svn-id: svn://localhost/gambas/trunk@3047 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New look for version specific documentation.
[INTERPRETER]
* NEW: Assign() has been removed, and replaced by Eval() with an expression
beginning with the LET keyword.
* NEW: New routines to read a value stored at a memory address: BoolPtr(),
BytePtr(), ShortPtr(), IntPtr(), LongPtr(), SinglePtr(), FloatPtr() and
PointerPtr().
[COMPILER]
* NEW: The LET keyword can be used to write an assignment expression. Of
course it is optional.
[GB.EVAL]
* NEW: The LET keyword can be used to evaluate an assignment.
* NEW: The Expression.Compile() method does not take any argument anymore.
git-svn-id: svn://localhost/gambas/trunk@3041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Conversion between Integer or Long and Pointer is possible now.
* OPT: A little optimizations in extern function management.
git-svn-id: svn://localhost/gambas/trunk@3040 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Make the interpreter compile correctly.
* BUG: Some fixes in callback management.
git-svn-id: svn://localhost/gambas/trunk@3039 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Print a summary of warning messages after each component
compilation.
[INTERPRETER]
* BUG: StrPtr() with a length argument now works correctly.
* NEW: Support for callbacks: when converting a function to a Pointer, an
internal closure is created with the libffi library. The pointer then can
be sent to any extern function as function pointer argument.
* BUG: Opening memory stream should work in all cases now.
git-svn-id: svn://localhost/gambas/trunk@3038 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Arrays and structures can be sent to an extern function argument.
The extern function will receive the address of the data.
git-svn-id: svn://localhost/gambas/trunk@3035 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a crash is structure declaration analyze.
[INTERPRETER]
* NEW: Support for static array of structures. A static array of structure
'MyStruct' will create a temporary object whose class is '$MyStruct[]'.
That class does not inherit 'Array', and has only a few methods of the
Array class.
* NEW: Byte[].ToString() is a new method to convert a byte array to a
string. If no length is specified, ToString() assumes that the byte array
is a zero-terminated string.
* NEW: Byte[].FromString() is a new method that fills a byte array with the
contents of a string.
[COMPILER]
* NEW: Declaration of static arrays of structures is allowed.
git-svn-id: svn://localhost/gambas/trunk@3031 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Global search can be cancelled.
* NEW: The IDE does not try to open binary files anymore.
* NEW: Use the new TabStrip.TextFont property.
* NEW: The open project dialog has been redesigned.
[INTERPRETER]
* BUG: String.Left(), String.Mid() and String.Right() now return NULL on
truncated UTF-8 substrings.
git-svn-id: svn://localhost/gambas/trunk@3029 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Eof() (and other file functions) using a null stream will not crash
anymore.
git-svn-id: svn://localhost/gambas/trunk@3017 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New API for marking an image as modified, and for synchronizing it
before reading it, when the temporary image owner needs it.
git-svn-id: svn://localhost/gambas/trunk@3016 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been incremented, so all projects need to be
recompiled!
[INTERPRETER]
* OPT: Many little optimizations.
* OPT: Avoid calls to setjmp() when it is possible.
* OPT: Do not encode the stack drop inside the CALL instruction.
Executables are a bit larger, but a little speed is gained.
[COMPILER]
* OPT: Do not encode the stack drop inside the CALL instruction.
Executables are a bit larger, but a little speed is gained.
git-svn-id: svn://localhost/gambas/trunk@3013 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: A little optimization in Split().
[GB.CAIRO]
* BUG: Cairo.Path() now creates a text path and does not draw anything,
like other drawing methods.
git-svn-id: svn://localhost/gambas/trunk@3008 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly deals with unknown components in the project property
dialog.
[INTERPRETER]
* NEW: Error backtrace is now always printed.
* OPT: Some optimizations in mathematical routines.
[GB.IMAGE]
* NEW: Image.FillRect() is a new method that fills a rectangle with a
specified color.
git-svn-id: svn://localhost/gambas/trunk@3007 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Many optimizations. One is big (gcc is not really clever sometimes!),
and now Gambas is about 30% faster than interpreted Python when running
stupid benchmarks.
git-svn-id: svn://localhost/gambas/trunk@3005 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Many optimizations again.
* BUG: Fix an unitialized variable in string to float conversion routine.
* BUG: Handle extern functions that return a pointer.
git-svn-id: svn://localhost/gambas/trunk@3003 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Some optimizations again in memory allocator, object releasing
routine, arithmetic operators, class variable reader, line-by-line stream
reader, class symbol sort routine.
* BUG: Using constant strings inside variant, like database drivers, works
correctly again and does not crash the interpreter anymore.
git-svn-id: svn://localhost/gambas/trunk@2996 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Breakpoints are correctly reset when opening a new project.
[INTERPRETER]
* BUG: The GB.NewString(), GB.NewZeroString() and GB.TempString() API
signature has changed. All components have been updated accordingly.
* OPT: Many optimizations to speed up the interpreter.
[GB.EVAL]
* NEW: During syntax highlighting, the first character of class names is
automatically converted to uppercase.
git-svn-id: svn://localhost/gambas/trunk@2992 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Try to fix the floating-point precision/rounding bug. In other
words, 0.6 is now printed 0.6, and not 0.6000...001 anymore.
git-svn-id: svn://localhost/gambas/trunk@2988 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: StrPtr() now can take a second argument to specify the length of the
string we will read from memory. If that argument is not specified, the
string must ends with a zero character.
* OPT: Internal array management was optimized. It changes nothing for the
Gambas array class.
[COMPILER]
* OPT: Internal array management was optimized.
* BUG: Using embedded structure with a class that is not a structure now
raises an error.
git-svn-id: svn://localhost/gambas/trunk@2979 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Archives are read correctly again on 64 bits OS.
* OPT: Memory allocations are now cached in a memory pool, so that malloc()
and free() are not called too often.
* BUG: The initial allocation of a new hash table is not too big anymore.
[COMPILER]
* OPT: Memory allocations are now cached in a memory pool, so that malloc()
and free() are not called too often. The compiler is now twice as fast as
it was before all the recent optimizations!
[ARCHIVER]
* BUG: Archives are read correctly again on 64 bits OS.
git-svn-id: svn://localhost/gambas/trunk@2976 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Using object references is faster.
* BUG: Fix a misuse of GB.NewString() in the String class.
[COMPILER]
* BUG: Raise an error now when trying to create an array of structures.
[GB.QT4]
* OPT: Global widget event filter is faster.
* OPT: Do not internallt relayout TabStrip too often, because Qt takes a
lot of time to do that.
git-svn-id: svn://localhost/gambas/trunk@2974 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Object file format has changed, so bytecode version has been
incremented, and all projects must be recompiled. Yes, again!
[INTERPRETER]
* OPT: Optimizations in comparison operators.
* OPT: Optimize symbol lookup tables.
[COMPILER]
* OPT: Optimize symbol lookup tables.
[GB.EVAL]
* BUG: Gambas source code is correctly highlighted again.
* NEW: Quoted identifiers (those between '{' and '}') are highlighted more
intelligently now.
git-svn-id: svn://localhost/gambas/trunk@2971 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Bytecode version has been increased, and so all projects must be
recompiled.
[INTERPRETER]
* OPT: Objects that do not raise events do not allocate the event
management structure anymore. That save four pointers by object.
* NEW: Structure management is done, and embedded (static) structures are
handled too.
* BUG: Static array management was fixed.
* NEW: All functions synonymous whose name ends with a question mark have
been removed.
[COMPILER]
* OPT: Some optimization again.
* BUG: EXTERN declarations compile again.
[GB.DB.SQLITE2]
* BUG: Fix a misuse of GB.NewString().
git-svn-id: svn://localhost/gambas/trunk@2970 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: More work on structure support.
* BUG: Fix optimization in error management.
[COMPILER]
* OPT: More optimizations. The Gambas 3 compiler is faster to compile the
Gambas 3 IDE than the Gambas 2 compiler to compile the Gambas 2 IDE,
which is smaller!
* NEW: Do not compute variable position and size, as it is done by the
interpreter anyway.
[GB.EVAL]
* NEW: Use the same optimizations as the compiler in the parser.
[GB.XML.RPC]
* BUG: The component compiles again.
git-svn-id: svn://localhost/gambas/trunk@2964 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: L'API GB.ReturnNewString() doit pouvoir retourner une chaîne vide.
Dans ce cas elle le transforme en un GB.ReturnNull().
git-svn-id: svn://localhost/gambas/trunk@2960 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Use GB.ReturnNewZeroString() instead of GB.ReturnNewString() now.
All components using the old syntax should be fixed now.
* NEW: Start to manage structures.
git-svn-id: svn://localhost/gambas/trunk@2957 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New GB.NewZeroString() API to create a Gambas string from a
null-terminated string. Components were modified to use it.
* OPT: Many optimizations everywhere.
[COMPILER]
* OPT: Many optimizations. The compiler should be noticeably faster.
git-svn-id: svn://localhost/gambas/trunk@2953 867c0c6c-44f3-4631-809d-bfa615b0a4ec