[INTERPRETER]
* NEW: Add an API to know if a native error has already been raised.
[GB.DB]
* NEW: The Result.Release() driver API now tells if the connection has been closed.
* NEW: Raise an error when retrieving the primary key fails, if the driver has not already raised it.
[INTERPRETER]
* NEW: Change the GB_FUNCTION structure so that it stores the index of the method instead of its description pointer.
[GB.DATA]
* OPT: The new GB_FUNCTION structure allows to reduce the size of the GRAPH_DESC structure.
[INTERPRETER]
* NEW: Timers are not inherited anymore by background tasks. They are actually inherited, but immediately disabled the first time they trigger inside the background task.
[INTERPRETER]
* OPT: Signal handlers are now checked only if requested explicitly by a component.
[GB.GTK]
* NEW: Request SIGCHLD handler check.
[GB.GTK3]
* NEW: Request SIGCHLD handler check.
[INTERPRETER]
* NEW: GB.IsLocked() is a new API that tells if an object is locked.
* NEW: GB.IsRaiseLocked() is a new API that tells if raising an event is useless because no observer will receive it.
* BUG: Errors cannot be propagated outside of an event handler, because the event may result from a library signal that do not support exceptions (like the glib library).
[CONFIGURATION]
* NEW: Add man pages.
[INTERPRETER]
* NEW: Use 'time_t' in GB.MakeDateFromTime API.
[WIKI CGI SCRIPT]
* NEW: Add a command-line option to print the package table.
[COMPILER]
* NEW: Support for the new PEEK instruction.
[INTERPRETER]
* NEW: PEEK is a new instruction that peek some bytes from a stream without removing them, so that they are available to the next READ instruction.
* OPT: IsAscii(), IsLower(), IsPunct()... instructions are now a bit faster.
[INTERPRETER]
* NEW: Add a API to know if a native component exists on the disk.
[GB.GUI]
* BUG: Take the other requested GUI components into account to choose the toolkit.
[GB.GUI.QT]
* BUG: Take the other requested GUI components into account to choose the toolkit.
[INTERPRETER]
* OPT: String routines are now compiled with -O3.
* NEW: Don't display JIT debugging message unless GB_JIT_DEBUG is set to something different from zero.
* NEW: String whose length is greater than 256 now have a growth step of 256 bytes instead of 16.
[GB.JIT]
* NEW: Do many global optimizations as now the class metadata is fully available.
* NEW: Support for optional argument. Still buggy at the moment.
[CONFIGURATION]
* NEW: Add '.jit' directory to '.gitignore'.
[COMPILER]
* NEW: New '-j' option that disables just in time compilation.
* NEW: JIT: Support for private functions calls.
* NEW: JIT: Support for native arrays accessors.
* BUG: JIT: Fix loop support.
* NEW: JIT: Support for GOSUB.
[GB.JIT]
* NEW: GB_JIT_DEBUG is an environment variable that defines if JIT compilation debugging messages are printed.
* NEW: GB_JIT_CFLAGS is an environment variable that defines the JIT compilation flags. The default is "-O3".
* NEW: Support for native arrays accessors.
[COMPILER]
* BUG: JIT: Fix local variable referencing.
* NEW: JIT: Implement NEW operator and array accessors.
[INTERPRETER]
* NEW: Support for JIT NEW operator and array accessors.
[GB.JIT]
* NEW: Support for object datatypes.
* NEW: Implement NEW operator and array accessors.
[COMPILER]
* NEW: Internal initialization functions now can be JIT translated.
* NEW: Support of subroutine calling completed. Interpreter subroutines are called if there is no optimization implemented in the JIT translation.
[INTERPRETER]
* NEW: Remove old JIT stuff.
[GB.JIT]
* NEW: Use 'gambas.h' and 'gb.jit.h' to compile translated code.
[INTERPRETER]
* NEW: New API for reference a Gambas string.
[GB.DB]
* NEW: Result.GetAll() is a new method that returns an array of the values of a specific field from each record. It is about twice faster than the equivalent code written in Gambas.
* NEW: Add an API that allows to create an array class before instanciating it.
[GB.DBUS]
* BUG: When marshalling from DBus to Gambas, create the array classes before instanciating them.
git-svn-id: svn://localhost/gambas/trunk@8173 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch version to 3.10.90.
[GB.DB]
* NEW: Connection.TimeZone is new property that will allow to define the default timezone of dates stored in the database we are connected to. Not implemented yet.
git-svn-id: svn://localhost/gambas/trunk@8168 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update french translation.
* NEW: Support for the new gb.term component.
[INTERPRETER]
* NEW: Add an API that returns the file descriptor associated with a specific stream.
[GB.TERM]
* NEW: New component for terminal management with an API very close to the one provided by the operating system.
git-svn-id: svn://localhost/gambas/trunk@8043 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Timer delay is now stored in 31 bits, and so can now be up to 2^31 - 1 milliseconds, i.e. about 24 days, 20 hours and 31 seconds.
git-svn-id: svn://localhost/gambas/trunk@7925 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.GetArrayType() is a new API that returns the datatype of the elements of an array class.
git-svn-id: svn://localhost/gambas/trunk@7746 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.GetReturnValue() is a new interpreter API that returns a pointer
to the internal GB_VALUE slot where GB.ReturnXXX() functions store the
return value.
* NEW: Allow a component to declare a GB_AFTER_INIT() exported method that
is called just after all the components declared in the project are
completely loaded.
[GB.DBUS]
* NEW: DBus._HasSystemTray() is a new method that returns if the DBus
system tray is present. That method is used by the 'gb.gui.trayicon'
component to know if 'gb.dbus.trayicon' must be loaded.
* BUG: Fix xml introspection analysis.
[GB.DBUS.TRAYICON]
* BUG: Remove debugging messages.
* BUG: TrayIcon icon data is sent correctly now.
[GB.GUI.TRAYICON]
* NEW: New component that you must check if you want to have system tray
icons. It loads 'gb.dbus', use DBus._HasSystemTray() to know if it can
load 'gb.dbus.trayicon'. Otherwise it tells the current GUI component to
declare the old system tray implementation classes.
[GB.GTK]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
the old system tray icon and use them on demand.
[GB.GTK3]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
the old system tray icon and use them on demand.
[GB.QT4]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
the old system tray icon and use them on demand.
[GB.QT5]
* NEW: Let the new 'gb.gui.trayicon' deals with the dbus stuff, but keep
the old system tray icon and use them on demand.
git-svn-id: svn://localhost/gambas/trunk@7170 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a new GB.Component.Declare() API, that allows a component to
dynamically register a class description.
[INFORMER]
* NEW: A component now can declare classes through a GB_OPTIONAL_CLASSES
public symbol. Theses classes are included into the information file,
but are not automatically loaded as the ones defined through the
GB_CLASSES symbol.
[GB.FORM.STATUSICON]
* NEW: This component has been removed and replaced by gb.dbus.trayicon.
* NEW: This component now provide TrayIcon and TrayIcons classes that have
exactly the same interface as the old ones.
[GB.DBUS]
* NEW: Remove the now useless DBusConnection.Raise(). The DBusConnection
Register() and Unregister() are kept for backward-compatibility reason.
* NEW: Add DBus.Raise() and DBus[].Raise() to raise signals. At the moment,
there is no difference between the two methods, as there no mean to
indicate the sender raising a signal. I don't know yet how DBus decides
which service sends a signal!
[GB.DBUS.TRAYICON]
* NEW: This component implements the tray icon DBus protocol. It is
automatically loaded by the GUI components.
[GB.GTK]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
* BUG: Fix the old TrayIcon implementation, so that it matches the QT one.
[GB.GTK3]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
* BUG: Fix the component name in deprecation warning messages.
* BUG: Fix the old TrayIcon implementation, so that it matches the QT one.
[GB.QT4]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
[GB.QT5]
* NEW: Load the 'gb.dbus' and 'gb.dbus.trayicon' components if the current
desktop is KDE >= 4. Otherwise, use the old TrayIcon implementation.
git-svn-id: svn://localhost/gambas/trunk@7154 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.GetProperty() API now returns the property value as a GB_VALUE
pointer, or NULL if the property could not be read.
[GB.DB.POSTGRESQL]
* BUG: Fix a compilation warning.
[GB.DBUS]
* NEW: DBusVariant.Signature is now a constant, not a property anymore.
* NEW: DBusVariant() static method has been removed.
* NEW: DBusVariant.Value is now writable.
* NEW: DBusVariant now can be inherited. Use the value of the Signature
constant for introspection of methods and properties using a child class
of DBusVariant.
* BUG: Show the org.freedesktop.DBus.Peer interface in introspection.
* BUG: The org.freedesktop.DBus.Properties.GetAll method now works
correctly.
* BUG: Correctly handle array datatypes.
* BUG: Correctly marshall DBus structures and arrays.
* BUG: Correctly handle NULL values.
[GB.FORM.EDITOR]
* BUG: TextEditor: Better detect cursor position when clicking in the
editor with the mouse.
[GB.FORM.STATUSICON]
* NEW: New component that provides a StatusIcon that is a TrayIcon using
the Status Notifier DBus specification (i.e. the new protocol). It should
only works with KDE at the moment.
[GB.IMAGE]
* NEW: Implement all possible image format conversions.
git-svn-id: svn://localhost/gambas/trunk@7150 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Text editor: Compression correctly marks the file as modified.
* NEW: Take gb.qt5 into account in the help system.
[WIKI CGI SCRIPT]
* NEW: Take gb.qt5 into account.
[INTERPRETER]
* NEW: GB.Component.IsLoaded() is new interpreter API that returns if a
specific component has been loaded.
* BUG: Running executables from an absolute path works again.
[GB.DESKTOP]
* BUG: DesktopWatcher: Use Desktop.Windows.FromHandle() instead of
Desktop.Windows[].
[GB.DESKTOP.X11]
* NEW: Support for gb.qt5.
[GB.FORM.EDITOR]
* BUG: TextEditor.Save() highlights the current line before saving.
[GB.QT5]
* NEW: Support for X11 event filter by translating xcb event into xlib
events.
* BUG: Cached DrawingArea works correctly now.
git-svn-id: svn://localhost/gambas/trunk@7099 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add end-of-line format constants to the interpreter API.
[GB.QT4]
* BUG: If a control triggers the arrangement of its parent contents, the
delayed visibility is realized so that the control is taken into account
by the arrangement routine.
[GB.QT4.EXT]
* NEW: Editor.EndOfLine is a new property that defines which end-of-line
format (gb.Unix, gb.Windows or gb.Mac) is used when retrieving text from
the control.
git-svn-id: svn://localhost/gambas/trunk@6882 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Some fixes in the software farm window.
[INTERPRETER]
* NEW: Remove the GB.UnrefKeep() interpreter API, as it is not used
anymore.
git-svn-id: svn://localhost/gambas/trunk@6676 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The structure of databases is now stored in the *.connection files.
It will be used for an automatic database initialization feature.
[WEBSITE MAKER]
* NEW: Update for 3.6.2.
[WIKI CGI SCRIPT]
* BUG: Fix the display of page without headers.
* NEW: Indexes are now displayed on two or more columns.
[INTERPRETER]
* NEW: New GB.AllocZero() API for allocating memory and filling it with
zeros.
[GB.DB.MYSQL]
* OPT: Cache metadata queries during 30 secondes to speed up things.
[GB.FORM]
* NEW: MenuButton displays a focus rectangle now.
[GB.GUI.BASE]
* BUG: ProgressBar now raises native control events.
git-svn-id: svn://localhost/gambas/trunk@6652 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Convert to uppercase or lowercase now works as expected in the code
editor.
* BUG: Fix the offline 'To Do' and 'Last Changes' page.
[INTERPRETER]
* NEW: Add GB_DECLARE_STATIC() macro to declare native classes, and use it
in many class declarations.
[GB.FORM]
* NEW: Add an history in the FileChooser and DirChooser controls.
* NEW: Add a 'link' stock icon.
[GB.GUI.BASE]
* BUG: IconView: Fix mouse handling during rubberband selection.
* NEW: IconView: Use a lighter selection colour.
* BUG: ScrollArea: Shadows are now correctly drawn whatever is done during
the Draw event it raises.
git-svn-id: svn://localhost/gambas/trunk@6458 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use the new WebSettings.Cache.Clear() method.
* BUG: Fix project lists layout when they are filtered.
[WIKI CGI SCRIPT]
* BUG: Workaround the thttpd cgi interface bug.
[INTERPRETER]
* NEW: A new API for browsing a directory recursively.
* NEW: Js$() is a new function that quotes javascript strings.
[GB.FORM]
* BUG: ColorChooser: Don't memorize custom colors spuriously.
[GB.GUI.BASE]
* BUG: GridView: Don't take hidden columns into account when layouting
expanded columns.
git-svn-id: svn://localhost/gambas/trunk@6447 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Set Cygwin Shared Library Extension to dll
[GB.JIT]
* NEW: Add conditional defines for Cygwin to allow compile:
Use finite in place of _finite, __isnand in place of __isnan
and __isinfd in place of __isinf.
* NEW: Remove jit_gambas_pass_dummy.cpp as this is no longer
required to compile with later versions of llvm. Also fixes
issue with Cygwin compile.
[GB.NET]
* NEW: Redefine TIOCOUTQ for Cygwin
[GB.SDL.SOUND]
* NEW: -lSDL needed for Cygwin linker
[INTERPRETER]
* NEW: Redefine FIONREAD for Cygwin
* NEW: Cygwin needs <strings.h> to avoid compiler issues when
redefining strcasecmp etc.
[DEVELOPMENT ENVIRONMENT]
* NEW: Make the environment Cygwin aware
git-svn-id: svn://localhost/gambas/trunk@6435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the custom browser support.
* NEW: Add Chromimum to the list of browsers.
[INTERPRETER]
* NEW: GB.GetProperty() and GB.SetProperty() API now return TRUE when they
have raised an error. FALSE is everything was ok.
[GB.FORM.MDI]
* NEW: Redesign the shortcuts configuration dialog.
* NEW: Shortcuts now can be exported and imported.
[GB.GTK]
* BUG: DrawingArea: Clipping is correctly established now before raising
the Draw event.
* BUG: Keyboard events have been fixed. Key array accessor and Key.Code now
behave the same way as in gb.qt4.
* BUG: The Key.Meta property works correctly now.
* BUG: Now keyboard events seem to be sent twice by GDK. Found a workaround
for that new weird behaviour.
* BUG: Automatic window minimum size now works correctly.
* BUG: Windows can take focus as in gb.qt4.
[GB.GUI.BASE]
* BUG: GridView: Do not use Draw.Clip to preserve the clipping of the Draw
event. Otherwise you get drawing artifacts with gb.gtk.
* BUG: GridView: Setting the column width to -1 is taken into account by
the layout routine.
git-svn-id: svn://localhost/gambas/trunk@6306 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't check conflict on project configuration file if that files
does not exist.
[INTERPRETER]
* OPT: Move the string splitting routine in its own file and optimize it.
[INFORMER]
* BUG: Remove unneeded parenthesis on a test.
[GB.CLIPPER]
* BUG: Remove an unused variable.
[GB.DESKTOP]
* BUG: Fix error message in DesktopMime.
[GB.FORM]
* BUG: MaskBox: Raise the Change event after moving the cursor, so that it
behaves exactly like a TextBox.
[GB.FORM.MDI]
* NEW: Workspace: Count the number of detached windows so that the "detach
current tab" menu entry is disabled when needed.
[GB.GTK]
* BUG: Window.Utility should work even if the window is mapped now.
[GB.GTK3]
* BUG: Window.Utility should work even if the window is mapped now.
[GB.NET.PO3]
* NEW: Add a void constructor to the Pop3Client class for the
documentation.
git-svn-id: svn://localhost/gambas/trunk@6285 867c0c6c-44f3-4631-809d-bfa615b0a4ec