* NEW: '_operators' interface has been renamed as '_operator'.
* NEW: Arithmetic operators now can be applied on two objects with
different classes. One at least must implement the '_operator' interface.
* NEW: Each class that implements the '_operator' interface has now an
automatic priority that follows the load order. When a binary operator
has two objects that implement two different '_operator' interface, the
one having the highest priority is used.
* NEW: Implementing all methods in the '_operators' interface is not
mandatory anymore. If one method is not implemented, then it is replaced
by a function that raises a 'Type mismatch' error.
[GB.GSL]
* NEW: Matrix arithmetic has been implemented.
* NEW: Matrix.Determinant() method.
* NEW: Matrix.Invert() method.
* NEW: Matrix.Transpose() method.
* NEW: Matrix _call special method multiplies a matrix by a vector.
* NEW: Vector <-> Array conversion.
git-svn-id: svn://localhost/gambas/trunk@4946 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a new API to create an object without calling the constructors.
[GB.CRYPT]
* BUG: Fix bad casting of strcmp() return value to boolean. The same
security flaw has been found in MySQL recently. See
http://seclists.org/oss-sec/2012/q2/493
[GB.GTK]
* BUG: Fix bad casting of strcmp() return value to boolean in the Font
management.
[GB.GSL]
* NEW: Matrix class built the same way as the Vector class, i.e. with the
ability to switch transparently between Float or Complex elements.
git-svn-id: svn://localhost/gambas/trunk@4945 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Temporary hack in the GB.New() API so that we can pass a number of
arguments in some cases.
[GB.COMPLEX]
* OPT: Do not create complex objects during arithmetic operations when we
are sure that we can reuse a temporary one. That trick can be used in any
'_operators' interface.
git-svn-id: svn://localhost/gambas/trunk@4925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Can now profile each line of code, but beware: profiling makes the program much much slower.
[GB.DEBUG]
* OPT: Now DEBUG_calc_line_from_position has logaritmic time complexity instead of linear. That makes profiling each line much faster for large functions!
git-svn-id: svn://localhost/gambas/trunk@4886 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Partially support callbacks for extern functions. You can only convert functions in the current class to pointers
currently, i.e. functions that are referenced directly by their name.
git-svn-id: svn://localhost/gambas/trunk@4851 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: "Extern" functions should now work hopefully, but callbacks are still not yet implemented.
* BUG: Fix conversion Class -> Variant for non-virtual classes.
* BUG: Some minor bug fixes.
[INTERPRETER]
* BUG: Load classes from JIT should work better now.
git-svn-id: svn://localhost/gambas/trunk@4831 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not crash when compiling a program again.
[INTERPRETER]
* OPT: Make API arrays constant.
* OPT: Comparison methods return back to gbx_exec_loop.c
git-svn-id: svn://localhost/gambas/trunk@4768 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch to JIT compiler if available, and make it able to talk to gb.jit.
* BUG: GP must be NULL for new void stack frames.
[COMPILER]
* NEW: 'Fast' keyword means the class should be JIT-compiled.
[GB.JIT]
* NEW: JIT Compiler.
git-svn-id: svn://localhost/gambas/trunk@4759 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Allow to profile time spent waiting for events.
[GB.DEBUG]
* BUG: New profile file format that allows to profile lines of code that
are function calls.
[GB.GTK]
* NEW: Profile time spent waiting for events.
[GB.QT4]
* NEW: Profile time spent waiting for events.
git-svn-id: svn://localhost/gambas/trunk@4747 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add some debugging options directly in the 'Debug' menu.
* NEW: A new option to activate the profiling of the debugged project.
* NEW: Profiling windows. Not finished yet.
[INTERPRETER]
* BUG: Fix a crash that could occur if a error is raised inside an event
handler.
* NEW: Support for profiling.
* BUG: Fix a crash that could occur if a error is raised inside a signal
callback.
[GB.DEBUG]
* NEW: Support for profiling.
[GB.FORM]
* NEW: GridView now raises a Sort event when the sort properties are
changed.
* BUG: Fix a crash when changing the IconPanel Count property.
[GB.GTK]
* BUG: Fix the Font.Copy() method.
git-svn-id: svn://localhost/gambas/trunk@4740 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Rename all API related to components, and fix components using them.
* NEW: New signal API that allows to catch signals from the event loop.
[GB.GTK]
* BUG: Use g_object_unref() instead of rsvg_handle_free() now.
git-svn-id: svn://localhost/gambas/trunk@4721 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The debug window has a button to switch between "normal view" and
"symbol view". In "normal view", array and collection contents are
displayed. If the object is not an array or a collection, then all
non-hidden symbols are displayed. In "symbol view", all objects symbols
are displayed, whatever the object type is.
[INTERPRETER]
* NEW: The debugger now can display collection-like objects. An object can
be displayed like a collection if it has a Count property, is enumerable,
has a _get special method taking a string, and has a Key property that
returns the key of the last enumerated element.
[GB.DEBUG]
* NEW: The debugger now can display collection-like objects. An object can
be displayed like a collection if it has a Count property, is enumerable,
has a _get special method taking a string, and has a Key property that
returns the key of the last enumerated element.
[GB.FORM]
* BUG: GridView.Clear resets the height of all rows to the default value.
git-svn-id: svn://localhost/gambas/trunk@4558 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Take property synonymous into account.
* BUG: Pasting text as comments correctly converts tabulations into spaces.
[INTERPRETER]
* NEW: GB.RaiseBegin() and GB.RaiseEnd() are two new intepreter APIs that
allow to define a callback that will be called if an exception is raised
during a call to GB.Raise().
* BUG: CATCH and FINALLY correctly restore the stack pointer. Without that,
it is possible to use more stack than possible and to crash the
interpreter.
[COMPILER]
* NEW: A property now can has up to four different names. The syntax is:
"Property Name [ , Synonymous1, ..., Synonymous3 ] As Datatype".
[GB.DB]
* BUG: Table.Type property now correctly handle null table types.
[GB.DB.FORM]
* NEW: DataBrowser.Grid is a new property to define the grid visibility.
* BUG: The DataBrowser and DataView controls have been fixed. There is only
one problem to fix that depends on a gb.gtk bug.
[GB.DRAW]
* BUG: Setting Draw.Font to NULL does not crash anymore, and raise an error
instead.
[GB.FORM]
* NEW: The new GridView is finished and replaces the old one now.
* NEW: GridView.ShowCursor is a new property that displays a light cursor
around the current cell when set.
[GB.GTK]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: GTK+ GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.
[GB.QT4]
* NEW: Font.Copy() is a new method to copy a font object.
* NEW: Qt4 GridView has been disabled.
* NEW: The Container Insert event has been renamed as NewChild.
* BUG: If the DrawingArea Draw event handler raises an error, then the
interpreter should not crash anymore.
[GB.QT4.EXT]
* BUG: Fix an uninitialized field in Editor internal GLine class.
git-svn-id: svn://localhost/gambas/trunk@4503 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Convert the return value of a native function to a variant
automatically only if the function call is done by a "CALL" bytecode.
Consequently the gb.signal component works again.
git-svn-id: svn://localhost/gambas/trunk@4489 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: System.Shell is a new property that allows to define the shell used
by the Shell instruction. By default, this is '/bin/sh'.
git-svn-id: svn://localhost/gambas/trunk@4453 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.ReturnConvVariant() is a new API that ensures that the returned
value is a Variant, as now the interpreter does not do the conversion
automatically.
* BUG: Use the new GB.ReturnConvVariant() and the GB.ReturnVariant() API
everywhere it is needed.
git-svn-id: svn://localhost/gambas/trunk@4248 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: New GB.ReturnVariant() API for methods and properties that return a
Variant value.
[GB.DESKTOP]
* BUG: Fix DekstopWindow state properties.
* BUG: Use the new GB.ReturnVariant() API for _Desktop.GetWindowProperty().
git-svn-id: svn://localhost/gambas/trunk@4246 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not use GB.ReturnNull() when returning a void string anymore. Use
the new GB.ReturnVoidString() API instead.
git-svn-id: svn://localhost/gambas/trunk@4216 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a useless and incorrect string initialization in the UTF-8 to
UTF-16 internal conversion routine.
* BUG: Native functions that return a string must not use the
GB.ReturnNull() API, but GB.ReturnVoidString() instead. Fix the
String.LCase() and String.UCase() functions accordingly.
* BUG: Date() function takes one argument, or at least three arguments now.
git-svn-id: svn://localhost/gambas/trunk@4213 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Internal conversions between unicode and utf-8 have been optimized.
* OPT: String.UCase(), String.LCase() and String.Chr() have been optimized.
* BUG: Arrays of classes exported from a component or a library are now
automatically exported too.
* NEW: Param.All is a new property that returns all extra arguments as an
array.
git-svn-id: svn://localhost/gambas/trunk@4143 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New syntax for GB.AddString() and GB.ExtendString() interpreter API.
Do not pass the string by reference anymore.
* NEW: GB.AddChar() is a new API for adding just a char to a string.
[GB.DB.SQLITE2]
* BUG: Fix ignored system call return values.
[GB.DB.SQLITE3]
* BUG: Fix ignored system call return values.
[GB.DB.NET]
* BUG: Fix ignored system call return values.
[GB.V4L]
* BUG: Remove some unused local variables.
git-svn-id: svn://localhost/gambas/trunk@4105 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Optimize some string functions by not using arguments passed by
reference.
* OPT: Integrate the "=" operator function into the main execution loop to
save one function call.
* OPT: Optimize string comparison functions on x86 and x64_64 architectures
by comparing eight bytes in one shot.
git-svn-id: svn://localhost/gambas/trunk@4104 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Some cosmetic changes in system information dialog and tips dialog.
git-svn-id: svn://localhost/gambas/trunk@4076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Redesign the system information window and its contents.
[INTERPRETER]
* BUG: Do not leak object reference when an error is raised during an event
handler.
* BUG: When a broken symbolic link is encountered, Dir() now assumes it is
a file.
[GB.FORM]
* BUG: DirView now correctly ignores errors raised during the Icon event.
git-svn-id: svn://localhost/gambas/trunk@4035 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GridView.Columns[].Expand is a new property that allows to define if
a column automatically expands to fit the GridView visible width,
provided that the GridView.AutoResize property is set. If no column has
its Expand property set, then the last column will expand anyway.
* BUG: Fix a crash in GridView when the gb.gtk component shared library is
freed.
[GB.QT4]
* NEW: GridView.Columns[].Expand is a new property that allows to define if
a column automatically expands to fit the GridView visible width,
provided that the GridView.AutoResize property is set. If no column has
its Expand property set, then the last column will expand anyway.
git-svn-id: svn://localhost/gambas/trunk@3953 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove the unused GB.ExistFile() API.
* NEW: Exist() now takes an additional optional boolean argument that tells
if symbolic links must be followed, like Stat().
* BUG: Fix a possible memory leak if the [...] array creation operator
fails for any reason.
git-svn-id: svn://localhost/gambas/trunk@3940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove a debugging message in the connection editor.
[INTERPRETER]
* NEW: '_property' is a new special method that must return TRUE when an
unknown symbol (stored in Param.Name) is a property. If that special
method is not implemented, all unknown symbols are methods.
* NEW: Remove the deprecated constant gb.Text.
* NEW: Param.Property has been removed.
[COMPILER]
* NEW: Handle the new '_property' special method. That method must be
public, dynamic, takes no argument, and must return a boolean.
git-svn-id: svn://localhost/gambas/trunk@3915 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the use of boolean in the interpreter API.
* NEW: Change the GB.New() API signature, and update all components
accordingly.
git-svn-id: svn://localhost/gambas/trunk@3846 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Disable kill buttons correctly in database editor window.
[GB.FORM]
* BUG: Fix a possible crash in TableView when the editor control is moved.
[GB.QT4]
* NEW: The GridView Change event is raised when there is no current row
now.
git-svn-id: svn://localhost/gambas/trunk@3843 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Some little fixes (icons mainly) in several examples.
[INTERPRETER]
* NEW: Two new interpreter APIs to set and get the value of an object
property.
[GB.DEBUG]
* BUG: Fix a warning message.
[GB.FORM]
* BUG: Setting FileView Foreground and Background properties now work as
expected.
* BUG: IconView takes its Background and Foreground properties into
account now.
[GB.GTK]
* NEW: Control Background and Foreground properties are now automatically
applied to the proxy.
[GB.QT4]
* NEW: Control Background and Foreground properties are now automatically
applied to the proxy.
git-svn-id: svn://localhost/gambas/trunk@3826 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New API to return the Gambas installation path.
[GB.SDL]
* BUG: Use the Gambas installation path to find the default font.
git-svn-id: svn://localhost/gambas/trunk@3684 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Support for multi-dimensional arrays in the debugger.
[INTERPRETER]
* BUG: Support for multi-dimensional arrays in the debugger.
[GB.DEBUG]
* BUG: Support for structures.
* BUG: Support for multi-dimensional arrays in the debugger.
git-svn-id: svn://localhost/gambas/trunk@3654 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: External libraries can be located inside the project. They are
automatically copied into /tmp when used.
git-svn-id: svn://localhost/gambas/trunk@3651 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't show '$' in the dependencies combo-box of the component
property dialog.
[INTERPRETER]
* NEW: GB.Every() is a new API that allows a component to call a callback
regularly. Useful for polling something for example.
git-svn-id: svn://localhost/gambas/trunk@3429 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Code indentation routine correctly handles structures now.
[INTERPRETER]
* NEW: Object.LastEventName has been deprecated, and replaced by
the Param.EventName property.
* BUG: IsFloat() is now a synonymous for IsNumber().
* BUG: Intrinsic functions description has been updated.
[COMPILER]
* NEW: "\e" is a new string escape sequence equivalent to "\x1B".
[GB.FORM]
* NEW: Use the new Control.Proxy property instead of internal observers
inside compound controls (ValueBox, ButtonBox, MenuButton).
[GB.GTK]
* NEW: Control.Proxy is a new property that allows to define a control
proxy that will handle focus, key and mouse events in original control's
place.
[GB.QT4]
* NEW: Control.Proxy is a new property that allows to define a control
proxy that will handle focus, key and mouse events in original control's
place.
git-svn-id: svn://localhost/gambas/trunk@3387 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly handle all compiler error messages.
[INTERPRETER]
* NEW: Full management of the Single datatype.
* BUG: VarPtr() now works on Single local variables.
* BUG: Remove useless Tag property. It is defined in the Stream class now.
* BUG: Correctly free the Tag property in the Stream class.
[GB.GTK]
* BUG: Rich-text string management has been fixed. The ampersand character,
the "&", ">" and "<" entites are correctly interpreted now.
[GB.NET.CURL]
* BUG: Remove useless Tag property. It is defined in the Stream class now.
[EXAMPLES]
* NEW: The WebBrowser example has a download manager now.
git-svn-id: svn://localhost/gambas/trunk@3296 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do not search text inside form anymore.
[INTERPRETER]
* BUG: The startup class is not global anymore, so that it does not
conflict with anythign having the same name in components. The
interpreter API that was returning the startup class has been updated
to reflect that change.
* BUG: File.Name("/a/b/") now returns a void string instead of returning
"b", to be coherent with File.Dir().
[GB.DESKTOP]
* NEW: Use the new API returning the startup class.
[GB.FORM]
* BUG: Setting DirView.Root with a path ending with a slash does not crash
anymore.
[GB.GTK]
* NEW: Use the new API returning the startup class.
[GB.QT4]
* NEW: Use the new API returning the startup class.
[GB.SIGNAL]
* NEW: Use the new API returning the startup class.
git-svn-id: svn://localhost/gambas/trunk@3267 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Handle compiler errors having column information.
[INTERPRETER]
* BUG: Manage errors from native methods differently.
[COMPILER]
* NEW: Return the column in error messages generated by the parser.
[GB.GTK]
* BUG: Make TabStrip behave like in gb.qt when inserting a new tab.
git-svn-id: svn://localhost/gambas/trunk@3156 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: System.FirstDayOfWeek is a new property that allows to define the
first day of the week if the default is not accurate. The default value
is gb.Sunday for english countries and gb.Monday otherwise.
* NEW: The Week() function now use the default first day of the week.
[GB.FORM]
* NEW: DateChooser now takes System.FirstDayOfWeek into account.
git-svn-id: svn://localhost/gambas/trunk@3151 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Polish the DirChooser/FileChooser bookmark button.
[GB.QT4]
* BUG: Send expected Leave and Enter events when a popup is closed.
git-svn-id: svn://localhost/gambas/trunk@3146 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