Commit graph

710 commits

Author SHA1 Message Date
gambas
4739ef78b6 New dark theme color inversion algorithm and new Color.Invert() method.
[GB.IMAGE]
* NEW: New dark theme color inversion algorithm.
* NEW: Color.Invert() is a new method to invert a color.
2020-05-23 12:28:45 +02:00
gambas
c99df6c0c5 Add an API to get the luminance of a color.
[GB.IMAGE]
* NEW: Add an API to get the luminance of a color.

[GB.JIT]
* NEW: Cosmetic changes.
2020-05-18 13:22:34 +02:00
gambas
b0eb952028 '&=' on variants is not incorrectly optimized anymore.
[INTERPRETER]
* BUG: '&=' on variants is not incorrectly optimized anymore.

[GB.JIT]
* BUG: '&=' on variants is not incorrectly optimized anymore.
2020-04-16 09:47:59 +02:00
gambas
12c819330b Add DB.LastInsertId, the static version of Connection.LastInsertId.
[GB.DB]
* BUG: Add DB.LastInsertId, the static version of Connection.LastInsertId.
2020-04-08 14:01:03 +02:00
gambas
2165ececd5 JIT optimization of '&=' has been implemented.
[INTERPRETER]
* NEW: Support for JIT '&=' optimization.
* BUG: Fix '&=' optimization on argument variables.
* OPT: Strings greater than 4096 bytes are allocated by 4096 bytes steps.

[GB.JIT]
* NEW: JIT optimization of '&=' has been implemented.
2020-04-06 04:43:12 +02:00
gambas
8f0d4db96c Fix support of '&=' operator optimization.
[GB.JIT]
* BUG: Fix support of '&=' operator optimization.
2020-04-04 17:06:36 +02:00
gambas
23835b8b9a Support for the '&=' operator optimization.
[GB.JIT]
* NEW: Support for the '&=' operator optimization.
2020-04-04 16:29:55 +02:00
gambas
2b9e18a103 Fix detection of GUI components.
[GB.GUI]
* BUG: Fix detection of GUI components and share some code with 'gb.gui.qt'.

[GB.GUI.QT]
* BUG: Fix detection of GUI components and share some code with 'gb.gui'.
2020-03-10 18:29:05 +01:00
gambas
b83205f539 Correctly handle unary minus operator.
[GB.JIT]
* BUG: Correctly handle unary minus operator.
2020-03-10 00:41:05 +01:00
gambas
1a08090954 Debug.Fifo is a new property that returns the name of the FIFO used for communication with the IDE.
[GB.DEBUG]
* NEW: Debug.Fifo is a new property that returns the name of the FIFO used for communication with the IDE.
2020-03-09 02:23:41 +01:00
gambas
f0b3762ec1 JIT compiler can compile libraries now.
[INTERPRETER]
* NEW: Internal name of libraries uses a point now between vendor and library name, not a slash anymore.

[GB.DEBUG]
* BUG: Undo "make debugger output writes more robust". Apparently it does not work.

[GB.JIT]
* BUG: Compiling libraries works now.
2020-01-26 07:09:36 +01:00
gambas
6137849b22 Remove some surprisingly useless duplicated code in image conversion.
[GB.IMAGE]
* BUG: Remove some surprisingly useless duplicated code in image conversion.
2020-01-24 08:05:52 +01:00
gambas
2f071513d2 Add Highlight.Added and Highlight.Removed style constants.
[GB.EVAL]
* NEW: Add Highlight.Added and Highlight.Removed style constants.
2020-01-20 13:00:16 +01:00
gambas
6a0e3dbc4d Fix VarPtr() on function arguments.
[GB.JIT]
* BUG: Fix VarPtr() on function arguments.
2020-01-20 03:03:02 +01:00
gambas
191db990d8 Add support for VarPtr() on variant variables.
[GB.JIT]
* NEW: Add support for VarPtr() on variant variables.
2020-01-18 08:17:14 +01:00
gambas
4144d77b49 Fix static arrays management.
[GB.JIT]
* BUG: Fix static arrays management.
2020-01-17 23:51:54 +01:00
gambas
38450adece Make debugger output writes more robust.
[GB.DEBUG]
* BUG: Make debugger output writes more robust.
2020-01-11 09:59:47 +01:00
gambas
22072e5bee Do not crash anymore when analyzing a line that ends with a '{' character.
[GB.EVAL]
* BUG: Do not crash anymore when analyzing a line that ends with a '{' character.
2020-01-02 15:02:06 +01:00
gambas
b5affdfa60 Implement fast unsafe compilation of Byte@, Short@... functions, that just access memory without checking anything.
[GB.JIT]
* NEW: Implement fast unsafe compilation of Byte@, Short@... functions, that just access memory without checking anything.
2019-12-23 11:22:36 +01:00
gambas
517266b4e4 Don't highlight Null as constant inside the new OPEN NULL syntax.
[GB.EVAL]
* NEW: Don't highlight Null as constant inside the new OPEN NULL syntax.
2019-12-18 07:26:43 +01:00
gambas
a0af9b3990 Fix some spaces in source code.
[GB.GEOM]
* BUG: Fix some spaces in source code.
2019-12-18 06:58:56 +01:00
gambas
61af540536 Disable some compiler warnings and remove unnecessary PACKED directives.
[INTERPRETER]
* BUG: Disable some compiler warnings that generate false positives.

[GB.GEOM]
* BUG: Remove unnecessary PACKED directives.
2019-11-15 23:53:25 +01:00
Laurent Carlier
f1deb8e330 Remove register keyword, deprecated, now reserved keyword with C++17
Fixes "warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]"
with clang

https://en.cppreference.com/w/cpp/keyword/register
2019-10-30 06:53:09 +00:00
gambas
65d2b783fe Paint.TextHeight is a new property that returns the height of one line of text, and Paint.FontScale is now "transparent".
[GB.DRAW]
* NEW: Paint.TextHeight is a new property that returns the height of one line of text. This is not the same as Paint.Font.Height, as the device resolution is taken into account.

[GB.GTK]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.

[GB.GTK3]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.

[GB.QT4]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.

[GB.QT5]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.
* BUG: Utility windows now kept being in front of their parent window correctly.
2019-10-26 01:06:18 +02:00
gambas
f75de9a70f Fix highlighting of long lines and comments.
[GB.EVAL.HIGHLIGHT]
* BUG: Fix highlighting of long lines and comments.
2019-10-25 15:24:04 +02:00
gambas
e8ae38e098 Forgot to commit common header files.
[INTERPRETER]
* BUG: Forgot to commit common header files.
2019-10-07 22:04:56 +02:00
gambas
f08ce22cdc Fix support of read-only arrays.
[INTERPRETER]
* BUG: Read-only arrays are now really read-only.

[GB.JIT]
* BUG: Support for read-only arrays.
2019-09-26 14:25:37 +02:00
gambas
225f2833da Fix again the management of the new new PROPERTY ... USE syntax.
[COMPILER]
* NEW: Don't emit debugging information for generated functions, but emit void sections for backward compatibility.
* NEW: Don't emit source file path in the debugging information.
2019-09-12 03:23:38 +02:00
gambas
234c2c690a [GB.DB]
* 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.
2019-08-30 09:09:16 +02:00
gambas
4d59c6062d Fix boolean datatype management.
[GB.JIT]
* BUG: Fix boolean datatype management.
2019-08-21 01:23:12 +02:00
gambas
8e487e5b18 Painting on an already painted device now correctly inherits the Paint.FontScale property.
[GB.DRAW]
* BUG: Painting on an already painted device now correctly inherits the Paint.FontScale property.
2019-07-10 04:22:14 +02:00
gambas
798b1d54cc Add Paint.FontScale, and make gb.gtk and gb.gtk3 printer drawing behave the same as QT components.
[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.
2019-07-09 19:35:01 +02:00
gambas
01a3106d20 New Highlight.Alternate style, and make the matching braces blink with the cursor.
[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.
2019-06-29 16:11:51 +02:00
gambas
4128a33adf Update library to version 6.4.2.
[GB.CLIPPER]
* NEW: Update library to version 6.4.2.
* BUG: Get rid of a gcc warning.
2019-06-29 16:10:21 +02:00
gambas
cfb4a9d2a8 Enumerating an unknown datatype does not raise an error automatically anymore.
[GB.JIT]
* BUG: Enumerating an unknown datatype does not raise an error automatically anymore.
2019-06-18 09:50:56 +02:00
gambas
ce37d6ff67 Ignore errors when loading a class for the JIT compiler.
[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.
2019-06-11 22:32:12 +02:00
gambas
9f2da35cbe Emit column position in almost all error messages.
[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.
2019-05-08 06:20:35 +02:00
gambas
3dd1fd493e Fix the JIT compiler: '_init' method, Lock instruction, Object datatype, and DO / REPEAT loops at the beginning of a function now work correctly.
[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.
2019-04-04 22:58:06 +02:00
gambas
6c9df4c423 Cosmetic changes in debugger code.
[INTERPRETER]
* NEW: Cosmetic changes in debugger code.

[GB.DEBUG]
* NEW: Cosmetic changes in debugger code.
2019-03-21 23:14:22 +01:00
gambas
0bbf4761d6 Enhance formatting of unary minus operator.
[GB.EVAL]
* NEW: Enhance formatting of unary minus operator.
2019-03-14 02:47:36 +01:00
gambas
a8bcabb741 Unary minus operator is now sticked to its argument when put between parentheses or brackets.
[GB.EVAL]
* NEW: Unary minus operator is now sticked to its argument when put between parentheses or brackets.
2019-03-14 01:52:37 +01:00
gambas
a0bcf85bd4 Active file descriptor watches and active timers are now automatically transferred to the component declaring a custom event loop.
[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.
2019-03-12 03:46:30 +01:00
gambas
3f7095bbd9 Run JIT compilation in the background to make programs start faster.
[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.
2019-03-11 16:34:50 +01:00
Tobias Boege
76da51ce70 gb.inotify: Fix Watch.Events[] accessor
[GB.INOTIFY]
* BUG: Watch.Events._put incorrectly reset events outside the given event set and ignored the assigned value.
2019-03-07 08:24:08 +01:00
gambas
a0302b7f77 Optimize division, thanks to Cedron Dawg.
[GB.COMPLEX]
* OPT: Optimize division, thanks to Cedron Dawg.
2019-03-02 12:50:33 +01:00
gambas
466a570451 Connection.GetTemplate() and Connection.ApplyTemplate() now take tables without primary key into account correctly.
[GB.DB]
* BUG: Connection.GetTemplate() and Connection.ApplyTemplate() now take tables without primary key into account correctly.
2019-02-06 23:24:08 +01:00
gambas
fe55f495f4 Fix the default value of optional Object function arguments.
[GB.JIT]
* BUG: Fix the default value of optional Object function arguments.
2019-01-20 22:50:35 +01:00
gambas
5c3ce53f61 Fix Debug instruction and support for the new Assert instruction.
[GB.JIT]
* BUG: Fix Debug instruction.
* BUG: Support for the new Assert instruction.
2019-01-11 01:46:13 +01:00
gambas
26448880a1 Support for 'tcc' compiler.
[GB.JIT]
* NEW: Support for 'tcc' compiler.
2019-01-08 01:53:38 +01:00
gambas
628aa30e54 Take the other requested GUI components into account to choose the toolkit.
[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.
2019-01-05 03:57:08 +01:00