* NEW: Add a driver API that handles debugging messages.
* NEW: Print the current date/time before any debugging message.
[GB.DB.MYSQL]
* NEW: Use the new driver API to print debugging messages.
[GB.DB.ODBC]
* NEW: Use the new driver API to print debugging messages.
[GB.DB.POSTGRESQL]
* NEW: Use the new driver API to print debugging messages.
[GB.DB.SQLITE2]
* NEW: Use the new driver API to print debugging messages.
[GB.DB.SQLITE3]
* NEW: Use the new driver API to print debugging messages.
[GB.DRAW]
* NEW: Paint: FontScale is a new property that defines a scale applied to the size of the fonts assigned to the Paint.Font property.
* NEW: Paint: Scale() second argument is now optional, and takes the same value as the first argument if omitted.
[GB.GTK]
* NEW: Paint: Implementation of Paint.FontScale.
* BUG: Printer: All printer events are raised between a single Paint.Begin() / Paint.End().
[GB.GTK3]
* NEW: Paint: Implementation of Paint.FontScale.
* BUG: Printer: All printer events are raised between a single Paint.Begin() / Paint.End().
* BUG: Printer: Print() does now crash anymore.
* BUG: Printer: Font sizes now are the same as with QT components.
[GB.QT4]
* NEW: Paint: Implementation of Paint.FontScale.
[GB.QT5]
* NEW: Paint: Implementation of Paint.FontScale.
[GB.EVAL]
* NEW: Highlight.Alternate is a new constant that represents the background style used for coloring code embedded into webpages.
[GB.EVAL.HIGHLIGHT]
* NEW: Support for new Highlight.Alternate style.
[GB.FORM.EDITOR]
* NEW: Support for new Highlight.Alternate style.
* NEW: Matching braces now blink with the cursor.
* BUG: When the cursor moves, the blinking timer is reset so that the cursor blinks only when it is not moving.
[INTERPRETER]
* BUG: Ignore errors when loading a class for the JIT compiler.
[GB.JIT]
* BUG: Loading a class during JIT compilation can fail. Take that into account.
[COMPILER]
* OPT: Some optimizations in symbol table routines.
* NEW: Emit column position in almost all error messages. It makes the compiler 2.5% slower, even with the optimizations.
[INTERPRETER]
* BUG: JIT compiler does not run static initializers anymore when loading a class. Otherwise bytecode can be modified before being compiled, leading to a JIT compiler crash.
[COMPILER]
* BUG: Fix LOCK subroutine meta-information.
[GB.JIT]
* NEW: Don't display abortion debugging message if there is no compilation to abort.
* BUG: Object variables are correctly managed now.
* BUG: DO...LOOP and REPEAT...UNTIL at the beginning of the function now is correctly compiled in all cases.
[INTERPRETER]
* BUG: Active file descriptor watches and active timers are now automatically transferred to the component declaring a custom event loop. Consequently, a process started before the declaration of the event loop will have its termination signal correctly catched.
* NEW: Use waitpid() instead of wait4().
[GB.GTK]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.
[GB.GTK3]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.
[GB.QT4]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.
[GB.QT5]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.
[INTERPRETER]
* OPT: JIT compilation is run in two steps.
[GB.JIT]
* OPT: Run JIT compilation in the background.
* NEW: JIT.Debug is a new property that allows to enable JIT debugging messages at runtime.
[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.
[COMPILER]
* NEW: Assert is an new instruction that raises an error as soon as its boolean argument is FALSE. The associated bytecode is not emitted if the '-x' option is specified.
[INTERPRETER]
* NEW: Assert is an new instruction that raises an error as soon as its boolean argument is FALSE.
[GB.DEBUG]
* BUG: Fix a potential array overflow.
[INTERPRETER]
* BUG: Forgot to call JIT function when the call is dynamic, i.e. if the object owning the method has an anonymous datatype (Object or Variant).
[GB.JIT]
* BUG: Save the initial stack pointer of a function in the function stack instead of using the interpreter stack.
[GB.JIT]
* BUG: Set the SP stack pointer before calling the conversion function to workaround the compiler optimizations and prevent a memory leak at function end if the conversion fails and an exception is raised.
[INTERPRETER]
* NEW: Overriding public variables was useless, and is now forbidden to help JIT compiler optimizations.
[GB.JIT]
* BUG: Correctly compile dynamic accesses to public constants.
* NEW: Update highlighting themes by defining the new color constants.
* NEW: Update French translation.
* BUG: Option dialog: The highlighting color panel now takes the editor font size into account.
[GB.EVAL]
* BUG: Fix string highlighting.
[COMPILER]
* NEW: Rename a macro constant to avoid a symbol clash when compiling the interpreter.
[INTERPRETER]
* NEW: Get rid of a macro trick in 'gbx_eval.h' header.
[GB.EVAL]
* NEW: Highlight: Add three new color constants for syntax highlighting: Escape, Label and Constant.
* NEW: Rename some source files.
* NEW: Rename some constants.
* NEW: Gambas syntax highlighter now use the three new contants for escape characters in strings, for labels, and for language contants (True, False, Null, +Inf and -Inf).
[GB.EVAL.HIGHLIGHT]
* NEW: Support for the new syntax highlighting color constants.
[GB.FORM.EDITOR]
* NEW: Support for the new syntax highlighting color constants.
[INTERPRETER]
* NEW: Creating a NULL value now clears the object address field so that it can be freely interpreted as a Object value with a null address by the JIT compiled code.
[GB.JIT]
* BUG: Correctly restore stack after calling a method through the interpreter.
[INTERPRETER]
* NEW: When creating a new class, set its component immediately if we know the archive it comes from.
[GB.JIT]
* BUG: Correctly load classes from archives other than the main project one.
[INTERPRETER]
* NEW: Add a JIT API for loading classes without running the _init method.
[GB.JIT]
* BUG: Load classes without running the _init method, so that the JIT behaviour is closer to the interpreter behaviour.
[GB.JIT]
* BUG: Don't leak memory when converting an object to a boolean.
* BUG: Correctly pop the arguments from the stack when propagating an exception.
[INTERPRETER]
* NEW: JIT: Add an API for throwing type mismatch errors.
* BUG: Raise a type mismatch error when converting a function to a variant. Don't panic anymore.
[GB.JIT]
* BUG: Handle function datatype by raising a type mismatch error.
* NEW: Fix panic error message.
[GB.JIT]
* BUG: Load project classes before try to resolve a unknown symbol.
* BUG: Correctly restore the stack pointer in all cases at function exit.
[INTERPRETER]
* BUG: Do not clear the 'super' field of the object value returned by NEW, as it does not fix actually anything.
[GB.JIT]
* BUG: Correctly reset the stack pointer when releasing the stack in error handlers.
[INTERPRETER]
* NEW: Abort if a stack mismatch is detected after a JIT function has been called.
[GB.JIT]
* NEW: The GB_JIT_CC environment variable allows to define the C compiler that will generate the code.
* OPT: Don't call the compiler through a shell anymore.
* NEW: Support for clang.
* BUG: Don't use the "," operator anymore to write JIT code.
* BUG: Correctly free stack when leaving a function whereas we are still inside a GOSUB.
* BUG: Declare all local variables and arguments as volatile as soon the function uses CATCH or FINALLY.
[INTERPRETER]
* NEW: Jit is a new static class that allows to deal with the JIT compiler.
* NEW: Jit.Time is a new property that returns the time spent in JIT compilation, in seconds.
[GB.JIT]
* NEW: Support for the Jit.Time property.
* NEW: UNSAFE is a new keyword used in conjunction with FAST. It tells the JIT compiler not to do any safety check (null objects, division by zero, out of array bounds...). It makes the code a bit faster, but prone to segmentation fault.
[INTERPRETER]
* NEW: Support for the UNSAFE keyword.
[GB.JIT]
* NEW: Support for the UNSAFE keyword.
* NEW: Check validity of objects that can be invalid.
[INTERPRETER]
* NEW: JIT: Support for SUPER.
* NEW: JIT: Support for extern functions.
* NEW: Add a flag in Gambas functions to know if they are static or not.
[GB.JIT]
* NEW: Support for SUPER.
* NEW: Support for extern functions.
* BUG: Fix object arrays access.
* OPT: Optimization of Abs, Sgn, Int, Fix, and Pi subroutines.
[INTERPRETER]
* NEW: JIT: Support for event raising.
* BUG: Fix some bugs detected by clang.
[GB.JIT]
* NEW: Support for event raising.
* OPT: Some optimizations in jit code generation and compilation.
[INTERPRETER]
* BUG: JIT: Fix error handling when calling methods from JIT code.
[GB.JIT]
* NEW: Fix support of CATCH and FINALLY.
* NEW: Support for ON GOTO and ON GOSUB.
[INTERPRETER]
* NEW: JIT: Complex number support.
* NEW: JIT: LAST support.
[GB.JIT]
* BUG: Fix management of local variable declaration of translated functions.
* NEW: Support for WITH ... END WITH.
* NEW: JIT: Complex number support.
* NEW: JIT: LAST support.
[INTERPRETER]
* NEW: The NEW implementation routine takes its opcode as argument now, like other subroutines with a variable number of arguments.
[GB.JIT]
* OPT: Call subroutines using their static address. No significative performance gain was detected.
* NEW: Support for CATCH and FINALLY.
[INTERPRETER]
* NEW: Support for error management in JIT methods.
[COMPILER]
* BUG: Fix Error() function metadata.
[GB.JIT]
* NEW: Support for error management.
* NEW: TRY instruction.
* BUG: Correct support of NULL.
[INTERPRETER]
* OPT: String searching (Instr, RInstr and Replace) has been made about 4x faster by searching the first occurence with memchr() and memrchr().
[GB.FORM.TERMINAL]
* BUG: Fix warning messages.
[GB.JIT]
* BUG: Fix byte, short and boolean pushing and popping routines.
* BUG: Fix string values referencing.
* BUG: Fix optional argument management.
* NEW: Optimization of bits management subroutines.
[GB.QT4]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.
[GB.QT5]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.
[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.
[GB.DB]
* NEW: Connection.LastInsertId is a new property that returns the value of the serial field used in the last inserted row. It is supported on MySQL, PostgreSQL and SQLite3 only.
* BUG: Connection.Handle is correctly declared now.
[GB.DB.MYSQL]
* NEW: Support for Connection.LastInsertId.
[GB.DB.ODBC]
* NEW: Raise an error if Connection.LastInsertId is used.
[GB.DB.POSTGRESQL]
* NEW: Support for Connection.LastInsertId.
[GB.DB.SQLITE2]
* NEW: Raise an error if Connection.LastInsertId is used.
[GB.DB.SQLITE3]
* NEW: Support for Connection.LastInsertId.
[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.
[GB.IMAGE]
* NEW: Image.Invert() is a new method that inverts an image. It takes an optional boolean argument that indicates if the color hue must be kept.
[GB.DB]
* BUG: Correctly initialize Connection object from Connections collection when that connection has been switched between sqlite and non-sqlite type from the IDE.
[COMPILER]
* NEW: New syntax for octal numbers: "&Oxxx".
[INTERPRETER]
* NEW: New syntax for octal numbers: "&Oxxx".
[GB.EVAL]
* NEW: New syntax for octal numbers: "&Oxxx".
[INFORMER]
* NEW: Components now can include information for a list of alternatives component. The first one available will be included.
[GB.GUI]
* NEW: Includes information of the first available gui component.
[GB.GUI.OPENGL]
* NEW: Includes information of the first available gui OpenGL component.
[GB.GUI.QT]
* NEW: Includes information of the first available Qt component.
[GB.GUI.QT.WEBKIT]
* NEW: Includes information of the first available Qt webkit component.
[INTERPRETER]
* NEW: Initialize pseudo-terminals with ECHO and don't clear OCRNL flag. This is not compatible with previous versions, as now, by default, printing a NL will become CR+NL through the pseudo-terminal.
But I didn't succeed in modifying the pseudo-terminal reliably once the child has started. It sometimes fails silently.
* NEW: Check the result of tcsetattr() carefully, as it returns an error only if none of the flags has been set, not just one.
[GB.TERM]
* NEW: Check the result of tcsetattr() carefully, as it returns an error only if none of the flags has been set, not just one.
[GB.FORM.TERMINAL]
* OPT: TerminalView: Reorder some tests in escape codes analyze.
* NEW: TerminalView: The mouse wheel now sends up and down keys when we are not in mouse mode, and if there is nothing to scroll.
* 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: Remove all 'depcomp' files. Apparently they are not used anymore by autoconf.
[INTERPRETER]
* BUG: Fix some gcc 6 warnings.
[GB.DEBUG]
* BUG: Fix some gcc 6 warnings.
[GB.GTK]
* BUG: Fix some gcc 6 warnings.
* BUG: Fix a ';' mistake in a focus management test.
[GB.GTK3]
* BUG: Fix some gcc 6 warnings.
* BUG: Fix a ';' mistake in a focus management test.
[GB.IMAGE]
* BUG: Fix some gcc 6 warnings.
git-svn-id: svn://localhost/gambas/trunk@8101 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: Don't assume inotify_add_watch() succeeds in all cases. The watched path may have been deleted after the watch has been created.
git-svn-id: svn://localhost/gambas/trunk@7996 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Debugger: Use the 'gb.signal' component to send signals to debugged processes.
* BUG: Debugger: Correctly pause projects using an external terminal.
[GB.SIGNAL]
* NEW: Signal.Send() is a new method to send signals to processes. It is just a direct interface to the kill() system call.
git-svn-id: svn://localhost/gambas/trunk@7982 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Connection.ApplyTemplate() now correctly handles a collation whose name is "default" in the template file.
git-svn-id: svn://localhost/gambas/trunk@7941 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Creating a watch with a null path now raises an error instead of crashing.
git-svn-id: svn://localhost/gambas/trunk@7940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Database connection: Now you can initialize a new database from the template of another connection of the project.
git-svn-id: svn://localhost/gambas/trunk@7850 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Force symbolic link creation.
[GB.WEB]
* BUG: Fix Session.Keys for SQLite sessions.
[GB.IMAGE]
* BUG: Image.Desaturate() now works correctly on image alpha channel.
git-svn-id: svn://localhost/gambas/trunk@7847 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a memory leak in blob handling when using a PostgreSQL database.
git-svn-id: svn://localhost/gambas/trunk@7841 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The run button has a pop-up menu button only if at least one argument list has been defined in the project properties.
* NEW: Project property dialog: if the argument lists order changes, the current argument list index follows.
[GB.FORM]
* NEW: MenuButton: If no arrow is visible, and if no menu is defined, then the MenuButton raises the Click event.
[GB.WEB]
* NEW: Session.Type defines which kind of session store to use. At the moment, two are implemented. Session.File (the old one), and Session.Sqlite (based on a sqlite database).
[GB.WEB.FORM]
* BUG: Remove some debugging messages.
git-svn-id: svn://localhost/gambas/trunk@7829 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: ImageStat() now return the correct dimenstions of JPEG images.
git-svn-id: svn://localhost/gambas/trunk@7813 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Now you can create as many watches on the same path as you want.
* NEW: Consequently, the Watch[] static array accessor, that returned the watch associated with a path, had to be removed.
* NEW: The flags constants and the Watch.Events property are now associated with the Gambas events, not the internal inotify events.
git-svn-id: svn://localhost/gambas/trunk@7766 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Take case-sensitive databases like postgresql into account in index fields.
git-svn-id: svn://localhost/gambas/trunk@7564 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for custom expression evaluators.
[GB.EVAL]
* NEW: You can now inheriting the Expression class to create a custom expression evaluator. You have to reimplement three methods: IsSubr(), that returns if a Gambas subroutine is allowed;
IsIdentifier() that returns if a specific identifier is known; GetValue() that returns the value of an identifier. All other methods you add to the class become your specific subroutine,
provided that you allow it in the IsIdentifier() method.
git-svn-id: svn://localhost/gambas/trunk@7545 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add "-march=native" to the compilation flags. Maybe it could speed up then interpretrer a bit?
[DEVELOPMENT ENVIRONMENT]
* NEW: Connection editor: Update layout.
* NEW: Form editor: Clicking on the master selection selects the parent control.
[WEB SITE MAKER]
* NEW: Update for 3.8.4 version.
[GB.DB]
* BUG: Default values are now correctly taken into account by database templates.
[GB.DB.SQLITE3]
* BUG: Fix a possible uninitialized allocation of columns names.
[GB.UTIL]
* NEW: Class.Stat() class name argument now allows "../" in the name to search for classes in parent components.
[GB.WEB]
* NEW: Request.Language returns the main language requested by the HTTP client. This value can be directly assigned to System.Language.
* NEW: Session.Size returns the size of the session file in bytes.
[GB.WEB.FORM]
* NEW: Automatic management of favicon. The application favicon must be a file named "favicon.png" in the ".public" directory.
* NEW: The Align class for alignment constants.
* NEW: WebControl: Any control can raise a Message event now.
* NEW: The Message boxes now raise the "Message" event of the WebControl that opened the message box. If the event is not handled, then the event is raised by the WebForm of the control.
* NEW: The Select class for selection mode constants.
* BUG: WebComboBox: Define the default event.
* NEW: WebContainer: Indent is a new property that allows to add a left padding to the container.
* NEW: WebContainer: Extra children (those created after initialization) are now recreated with their event observer and event name, provided that the event observer is another WebControl.
* NEW: WebContainer: DeleteChildren() is a new method that deletes all container children.
* NEW: WebExpander: New container that implements an expander.
* NEW: WebForm: Teh application language now automatically switches to the language requested by the HTTP client.
* BUG: WebForm: Show() and ShowModal() method now raise the Open event.
* NEW: WebLabel: Add the Border property to the property list.
* NEW: WebLabel: Newlines in label text are automatically replaced by "<br>".
* NEW: WebTable: New control that implements an HTML table with automatic scrollbars. It gets its data through a Data event, and only displays the first hundred elements by default. A button allows to increase the number of displayed elements.
The 'Mode' property allows to define the selection mode. When rows are selectable, an extra columns is added, with radion buttons on single selection mode, and checkboxes on multiple selection mode. The indexes of selected rows is returned by
the 'Selection' property.
* BUG: Many fixes in the default stylesheet.
git-svn-id: svn://localhost/gambas/trunk@7536 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix image selection when the allowed image root directory is the
'.public' special directory.
* NEW: Replace 'WebformImage' property kind by 'WebImage'.
* BUG: Form editor: Fix automatic arrangement.
* NEW: Form editor: Allow background and foreground toolbar buttons for
WebForms.
* BUG: WebImage can display SVG files too.
[GB.WEB.FORM]
* NEW: Add some new color constants to the Color class.
[GB.GEOM]
* NEW: Move the declaration of alignment constants there.
* NEW: Rect.Stretch() is a new method that stretches a rectangle so that it
fits inside another rectangle frame while keeping its proportions.
* NEW: RectF.Stretch() is a new method that stretches a rectangle so that
it fits inside another rectangle frame while keeping its proportions.
git-svn-id: svn://localhost/gambas/trunk@7505 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Put the WebView icon in the IDE.
[GB.FORM.EDITOR]
* OPT: Don't raise Cursor event if we are between calls to Begin / End or
during an undo or redo process.
[GB.GUI.QT.WEBKIT]
* NEW: No need to put the WebView icon there.
git-svn-id: svn://localhost/gambas/trunk@7367 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Property sheet: Fix text property edit dialog.
* BUG: Property sheet: Double-clicking on read-only properties does not
open the text property edit dialog anymore.
[GB.DEBUG]
* BUG: Fix profiler error messages.
[GB.QT4]
* BUG: Startup forms with Visible property set to FALSE are not shown at
startup anymore.
[GB.QT5]
* BUG: Startup forms with Visible property set to FALSE are not shown at
startup anymore.
git-svn-id: svn://localhost/gambas/trunk@7355 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix some memory leaks when using DBusObject and DBusVariant in a
method call or a reply.
* BUG: The message observer of a DBusObject may disappear while processing
a message. Take that into account.
git-svn-id: svn://localhost/gambas/trunk@7352 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Connections are now always searched in the main project archive.
git-svn-id: svn://localhost/gambas/trunk@7347 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Finish support of "forward-only" Result objects.
[GB.DB.ODBC]
* NEW: Clean-up a bit the query_fill() function.
git-svn-id: svn://localhost/gambas/trunk@7334 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New project creation dialog based on template projects located in
'/usr/share/gambas3/template' and in '~/.local/share/gambas3/template'.
These are default directories, they may change according to your gambas
installation prefix and home directory configuration.
[TEMPLATES]
* NEW: Project templates. There are only two at the moment, others will
come.
git-svn-id: svn://localhost/gambas/trunk@7321 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Debugger: Breakpoints now work correctly when some global variables
are declared after a function.
git-svn-id: svn://localhost/gambas/trunk@7314 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Component.FindFromPath() is a new method that returns the name of
the component a relative path belongs to.
* BUG: Fix the internal method that returns the component a relative path
belongs to.
[ARCHIVER]
* NEW: Better verbose mode.
[GB.GUI.BASE]
* NEW: Use the new Component.FindFromPath() method.
[GB.IMAGE]
* NEW: Color[].Luminance returns the luminance information of a color.
git-svn-id: svn://localhost/gambas/trunk@7309 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: (Bug 730) Don't pass NULL key and zero length to GB.HashTable.Remove()
* OPT: Use GB.StringLength() where possible
git-svn-id: svn://localhost/gambas/trunk@7303 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: (Bug 730) Don't rely on GB.NewString() to NUL-terminate the string
git-svn-id: svn://localhost/gambas/trunk@7300 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Some HiDPI fixes.
[GB.FORM]
* NEW: Stock icon default sizes ("small", "medium"...) are now proportional
to Desktop.Scale by steps of 8 pixels. This is for HiDPI support.
* NEW: Wizard BeforeChange event can be cancelled now.
[GB.FORM.MDI]
* NEW: Toolbar tries to update the size of its icons when the font changes.
[GB.GTK]
* NEW: Window now raises a Font event when its font changes.
[GB.GTK3]
* NEW: Window now raises a Font event when its font changes.
[GB.GUI.BASE]
* NEW: TreeView items height padding is now proportional to Desktop.Scale.
[GB.QT4]
* NEW: Window now raises a Font event when its font changes.
[GB.QT5]
* NEW: Window now raises a Font event when its font changes.
git-svn-id: svn://localhost/gambas/trunk@7228 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Packager wizard: When creating a package from a component project,
warn the user if the project name is not prefixed by a vendor name and
a dot, and stop the process.
[GB.GUI.BASE]
* NEW: IconView: Draw is a new event that is raised when just after a
specific IconView item has been drawn.
* NEW: IconView: Draw the hovered item differently.
* BUG: IconView: Fix bad detection of hovered item.
* NEW: IconView: Take the icon shape into account when doing a rectangle
selection.
[GB.DRAW]
* NEW: Paint.Zoom now draws its grid with a dashed line using the specified
grid color and its inverse.
git-svn-id: svn://localhost/gambas/trunk@7186 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The "Show search window" button in the search list does not reset
the searching context to the current procedure anymore. It keeps the
current context unchanged instead.
[GB.DRAW]
* NEW: Paint.ZoomImage used dash pattern to draw the zoom grid.
[GB.FORM]
* NEW: ImageView uses #808080 as grid color.
[GB.FORM.EDITOR]
* BUG: TextEditor: Don't reset an editor getting the focus. Do it only if
needed.
git-svn-id: svn://localhost/gambas/trunk@7175 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: 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
* NEW: Database editor: The import CSV dialog is now a wizard.
[GB.DB]
* BUG: Fix a crash when creating twice the same table with the same
connection.
[GB.FORM]
* NEW: Spinner: Display the label below the rotating spinner.
* NEW: Spinner.Wait() is a new method that calls the event loop, and
ensures that it is not called more than every 200 milliseconds.
* BUG: Wizard: Animation is correct now when the Border property is set.
[GB.QT4]
* BUG: Showing a window now automatically raises it.
[GB.QT5]
* BUG: Showing a window now automatically raises it.
git-svn-id: svn://localhost/gambas/trunk@7138 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Command for generating the package dependencies table.
[GB.COMPRESS.BZLIB2]
* NEW: Make that compress driver an explicit component.
[GB.COMPRESS.ZLIB]
* NEW: Make that compress driver an explicit component.
[GB.FORM.EDITOR]
* BUG: TextEditor: The right mouse button now has no effect to allow the
popup menu to act on the current selection or cursor position.
git-svn-id: svn://localhost/gambas/trunk@7134 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: SliderBox: The slider has always a space for the possible minus sign.
[GB.GUI.QT]
* NEW: Print a warning message if GB_GUI contains an unsupported component.
[GB.QT5]
* NEW: Desktop.Screenshot does not use the deprecated API anymore.
git-svn-id: svn://localhost/gambas/trunk@7107 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use the new QT4/QT5 switcher components.
* NEW: Support for QT5 component.
[GB.FORM]
* NEW: New syntaxes in 'icon.map' file that allows to specify different
icons for small or big sizes.
* NEW: New 'user' and 'group' icons.
[GB.FORM.STOCK]
* NEW: New 'user' and 'group' icons.
[GB.GUI.QT]
* NEW: New QT4/QT5 switcher component.
[GB.GUI.QT.WEBKIT]
* NEW: New QT4/QT5 WebKit switcher component.
[GB.QT4]
* BUG: Remove a debugging message in Style.Name property.
* BUG: Trigger pending focus and activate events before showing a modal
dialog.
[GB.QT5]
* BUG: Remove a debugging message in Style.Name property.
* BUG: Trigger pending focus and activate events before showing a modal
dialog.
git-svn-id: svn://localhost/gambas/trunk@7101 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: System information: Search for QT5 core library.
[EXAMPLES]
* BUG: Fix Browser example.
[GB.FORM]
* BUG: Fix stock icon map for breeze icon theme.
[GB.GUI]
* NEW: Use gb.qt5 if the current desktop is KDE5.
[GB.GUI.OPENGL]
* NEW: Support for gb.qt5.opengl.
[GB.QT4]
* BUG: Fix component name in warning messages.
[GB.QT5]
* NEW: Qt 5.4 is now required, because of gb.qt5.opengl.
* BUG: Fix component name in warning messages.
[GB.QT5.OPENGL]
* NEW: QT5 OpenGL support component.
git-svn-id: svn://localhost/gambas/trunk@7076 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Raise an error instead of panicking when trying to catch the SIGKILL
or SIGSTOP signal.
git-svn-id: svn://localhost/gambas/trunk@7039 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Upgrade to 3.7.1 version.
[GB.DB]
* NEW: Connection.SQL is a new property that returns a new SQLRequest
object that can be used for forging a SQL request whose syntax is adapted
to the target connection.
* NEW: SQLRequest is a new class that helps to build a SQL request whose
syntax is adapted to a specific connection. The name of table fields are
always quoted so that they can include reserved characters.
[GB.DB.FORM]
* NEW: Use the new SQL property of the Connection object to build request.
* BUG: Fields with special characters in their name are now correctly
quoted, thanks to the new SQL forgin mechanism.
[GB.DB]
* BUG: Don't crash when a SQLite database is not found and if the hostname
is null.
* NEW: GB_DB_DEBUG is a new environmental variable that allows to
externally set the DB.Debug property.
[GB.EVAL.HIGHLIGHT]
* NEW: SQL higlighting: the '`' quote character is taken into account now.
git-svn-id: svn://localhost/gambas/trunk@7020 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a Connections.Count property that returns the number of
connections defined in the current project / executable.
git-svn-id: svn://localhost/gambas/trunk@6954 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Using Paint.Begin() on an already painted device automatically calls
Paint.Save(), and Paint.Restore() will be called with Paint.End().
git-svn-id: svn://localhost/gambas/trunk@6939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The optional painting area is correclty reset after a call to
Paint.Reset().
git-svn-id: svn://localhost/gambas/trunk@6936 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Paint.Begin() now takes a new optional argument that allows to
define the painting area as a sub-rectangle of the painting device.
git-svn-id: svn://localhost/gambas/trunk@6935 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The PathExtents.Merge() method does not crash anymore.
[GB.V4L]
* BUG: Fix type in error messages.
git-svn-id: svn://localhost/gambas/trunk@6903 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't crash when opening a connection if the database driver is
unknown or not specified.
git-svn-id: svn://localhost/gambas/trunk@6870 867c0c6c-44f3-4631-809d-bfa615b0a4ec