Commit graph

11337 commits

Author SHA1 Message Date
Benoît Minisini
bdea5c8a7c Fix compilation on Ubuntu Trusty.
[INTERPRETER]
* BUG: Fix compilation on Ubuntu Trusty.
2023-10-05 22:44:36 +02:00
Benoît Minisini
0f54fe9ccd Optimize object creation when there is no special method to call ('_new', '_ready', global variable initialization) and no inheritance.
[INTERPRETER]
* OPT: Optimize object creation when there is no special method to call ('_new', '_ready', global variable initialization) and no inheritance.
2023-10-05 18:09:48 +02:00
Benoît Minisini
de200aac4c Add a new 'btree' benchmark, that does a lot of object creation and recursive function calls.
[BENCHMARKS]
* NEW: Add a new 'btree' benchmark, that does a lot of object creation and recursive function calls.
* NEW: Rename the 'string' benchmark as 'string1', to avoid name clashes in Python.
* BUG: Fix the HTML table generation.
2023-10-04 22:10:01 +02:00
Benoît Minisini
c6ef469966 Optimize stack pointer manipulations in the main interpreter loop.
[INTERPRETER]
* OPT: Optimize stack pointer manipulations in the main interpreter loop. About 10% speed gain according to the benchmarks!
2023-10-04 12:17:31 +02:00
Benoît Minisini
88d55ffe36 Make text fields inherit their background color for their ancestors.
[GB.WEB.GUI]
* BUG: Make text fields inherit their background color for their ancestors.
2023-10-03 21:34:14 +02:00
Benoît Minisini
59fcfc0fea Don't suppose that the smaller version of stock icons exist. Add 'Application.Theme'.
[GB.WEB.GUI]
* BUG: Don't suppose that the smaller version of a stock icon exist.
* NEW: 'Application.Theme' is a new property that allows to define the stock icon theme used by the application.
2023-10-03 21:30:17 +02:00
Benoît Minisini
f8a91001bc Try again to make 'gb.qt4 compile.
[GB.QT4]
* BUG: Try again to make 'gb.qt4 compile.
2023-10-03 08:51:52 +02:00
Benoît Minisini
62764b8672 Still trying to fix 'gb.qt4' compilation.
[GB.QT4]
* BUG: Still trying to fix 'gb.qt4' compilation.
2023-10-03 08:06:12 +02:00
Benoît Minisini
fde41ec7cf Really fix the compilation of 'gb.qt4'.
[GB.QT4]
* BUG: Really fix the compilation of 'gb.qt4'.
2023-10-03 00:59:08 +02:00
Benoît Minisini
6786d97275 Fix compilation of 'gb.qt4'
[GB.QT4]
* BUG: Fix compilation of 'gb.qt4'.
2023-10-03 00:30:44 +02:00
Benoît Minisini
cf6038498b ComboBox: Mouse wheel events are take into account only in read-only mode. ScrollArea: Double the scroll speed when using the mouse wheel.
[GB.GUI.BASE]
* NEW: ComboBox: Mouse wheel events are take into account only in read-only mode.
* NEW: ComboBox: Use the new 'Mouse.FullDelta' property to behave correctly with mouse with high wheel rotation precision.
* NEW: ScrollArea: Double the scroll speed when using the mouse wheel.
2023-10-02 23:22:08 +02:00
Benoît Minisini
0c9ac1d884 'Mouse.FullDelta' is a new boolean property that returns TRUE each time the user has scrolled the mouse wheel at least 15° during a mouse wheel event.
[GB.GTK]
* NEW: 'Mouse.FullDelta' is a new boolean property that returns TRUE each time the user has scrolled the mouse wheel at least 15° during a mouse wheel event.
  At the moment this property always returns TRUE on GTK.

[GB.GTK3]
* NEW: 'Mouse.FullDelta' is a new boolean property that returns TRUE each time the user has scrolled the mouse wheel at least 15° during a mouse wheel event.
  At the moment this property always returns TRUE on GTK.

[GB.QT4]
* NEW: 'Mouse.FullDelta' is a new boolean property that returns TRUE each time the user has scrolled the mouse wheel at least 15° during a mouse wheel event.

[GB.QT5]
* NEW: 'Mouse.FullDelta' is a new boolean property that returns TRUE each time the user has scrolled the mouse wheel at least 15° during a mouse wheel event.
2023-10-02 23:17:52 +02:00
Benoît Minisini
ee81ba602a Big optimization of the interpreter loop by using a local program counter.
[INTERPRETER]
* OPT: Big optimization of the interpreter loop by using a local program counter.
* NEW: Use one short integer less in the bytecode files for each function using computed Goto.

[COMPILER]
* NEW: Use one short integer less in the bytecode files for each function using computed Goto.
2023-10-01 09:14:13 +02:00
Benoît Minisini
56ed08af02 Fix initial detection of labels when compiling a function.
[COMPILER]
* BUG: Fix initial detection of labels when compiling a function.
2023-09-30 23:19:17 +02:00
Benoît Minisini
c600f69be3 Implementation of computed Goto and GoSub.
[INTERPRETER]
* NEW: Implementation of computed Goto and GoSub.

[COMPILER]
* NEW: Implementation of computed Goto and GoSub.
* NEW: There is a maximum of 255 labels by function now. This limit may be removed.
2023-09-30 22:00:00 +02:00
Benoît Minisini
798d3c36de Using a label inside an expression now raises an error.
[COMPILER]
* BUG: Using a label inside an expression now raises an error.
2023-09-30 14:14:03 +02:00
Benoît Minisini
8ecd7615f8 Redraw 'add','remove' and 'color' icons in 'gambas-thin' theme.
[GB.FORM.STOCK]
* NEW: Redraw 'add','remove' and 'color' icons in 'gambas-thin' theme.
2023-09-30 12:45:42 +02:00
Benoît Minisini
a7e12d72b3 Help browser: Do not display old page top header when clicking on the result of a offline search.
[DEVELOPMENT ENVIRONMENT]
* BUG: Help browser: Do not display old page top header when clicking on the result of a offline search.
2023-09-30 12:34:06 +02:00
Benoît Minisini
d9b26a9d04 Refresh the project differently when validating the project property dialog.
[DEVELOPMENT ENVIRONMENT]
* NEW: Refresh the project differently when validating the project property dialog.
* NEW: Option dialog: Add "3.19" in the list of Gambas bytecode versions.
2023-09-30 12:31:06 +02:00
Benoît Minisini
39ca57f967 Fix optimization of small integer or float constants additions.
[COMPILER]
* BUG: Fix optimization of small integer or float constants additions.
2023-09-30 02:36:16 +02:00
Benoît Minisini
d98df39658 Some interpreter optimizations.
[INTERPRETER]
* OPT: Optimize object release for native integer and float arrays accessors.
* OPT: Shortcut path for adding a small integer or float constant number.

[COMPILER]
* OPT: Shortcut path for adding a small integer or float constant number.

[GB.JIT]
* NEW: Support for new bytecodes.
2023-09-30 00:18:13 +02:00
Benoît Minisini
49be8a880e Optimize the compilation of floating-point global constants being actually an integer between -128 and 127.
[COMPILER]
* OPT: Optimize the compilation of floating-point global constants being actually an integer between -128 and 127.
2023-09-29 17:35:55 +02:00
Benoît Minisini
542d72d39d Do not try to disable CTE support if gcc does not have the corresponding flag.
[CONFIGURATION]
* BUG: Do not try to disable CTE support if gcc does not have the corresponding flag.

[INTERPRETER]
* BUG: Do not try to disable CTE support if gcc does not have the corresponding flag.
2023-09-29 17:34:48 +02:00
Benoît Minisini
ce140f53a6 Disable gcc indirect branch tracking for main interpreter function. This Intel security feature makes the interpreter 20% slower!
[INTERPRETER]
* OPT: Disable gcc indirect branch tracking for main interpreter function. This Intel security feature makes the interpreter 20% slower!
2023-09-29 16:35:51 +02:00
Benoît Minisini
46b2316e4a Free two more bytecodes.
[COMPILER]
* NEW: Free two more bytecodes.

[INTERPRETER]
* NEW: Free two more bytecodes.
2023-09-29 07:34:48 +02:00
Benoît Minisini
9c6c65107b Some support for older versions of gcc without overflow detection.
[INTERPRETER]
* BUG: Some support for older versions of gcc without overflow detection.
2023-09-29 03:21:07 +02:00
Benoît Minisini
8f477200d8 Switch bytecode version to 3.19.
[CONFIGURATION]
* NEW: Switch bytecode version to 3.19.
2023-09-29 02:51:56 +02:00
Benoît Minisini
9fd602df70 Add Base() / Base$() and Dec() / FromBase() subroutines.
[COMPILER]
* NEW: Add Base() / Base$() subroutines.
* NEW: Add Dec() / FromBase() subroutines.

[INTERPRRETER]
* NEW: Add Base() / Base$() subroutines.
* NEW: Add Dec() / FromBase() subroutines.
2023-09-29 02:51:42 +02:00
Benoît Minisini
a1ebbfdd3f Fix a typo in an error message.
[INTERPRETER]
* BUG: Fix a typo in an error message.
2023-09-28 02:55:41 +02:00
Benoît Minisini
1a73eb9988 Darker border for thin theme file icons.
[GB.FORM.STOCK]
* NEW: Darker border for thin theme file icons.
2023-09-27 23:42:46 +02:00
Benoît Minisini
df50687799 Update project icons.
[CONFIGURATION]
* NEW: Update project icons.
2023-09-27 23:37:22 +02:00
Benoît Minisini
13dc9fcea8 IDE usage help is now translatable. Project directory icon can be updated with the '--update-icon' command-line option.
[DEVELOPMENT ENVIRONMENT]
* NEW: IDE usage help is now translatable.
* NEW: Update French translation.
* NEW: Generate the project directory icon each time the project is loaded.
* NEW: Use the current icon theme icons to make the project directory icon.
* NEW: Project directory icon can be updated with the '--update-icon' command-line option.
2023-09-27 22:03:21 +02:00
Benoît Minisini
bb337157b9 Update AUTHORS with Li XiaoKong who finished the translation of the Gambas 3 IDE in simplified chinese.
[CONFIGURATION]
* NEW: Update AUTHORS with Li XiaoKong who finished the translation of the Gambas 3 IDE in simplified chinese.
2023-09-27 20:54:00 +02:00
Benoît Minisini
50b34cf8d9 Correctly translate 'On ... Goto / Gosub' jumping backward.
[GB.JIT]
* BUG: Correctly translate 'On ... Goto / Gosub' jumping backward.
2023-09-26 21:49:13 +02:00
Benoît Minisini
1a8182b32a WebPage: Add an optional 'Args' collection argument to the 'Render' method.
[GB.WEB]
* NEW: WebPage: Add an optional 'Args' collection argument to the 'Render' method.
2023-09-24 21:17:20 +02:00
Benoît Minisini
8b6a85e3fd Add global shortcut to LinkedIn, following KDE merge request #1731.
[DEVELOPMENT ENVIRONMENT]
* NEW: Add global shortcut to LinkedIn, following KDE merge request #1731.
2023-09-23 20:55:06 +02:00
Benoît Minisini
32fe6dd2d7 Project tree: Do not expand an item on double-click if this item is not a directory. Just open it.
[DEVELOPMENT ENVIRONMENT]
* NEW: Update Simplified Chinese translation.
* NEW: Project tree: Do not expand an item on double-click if this item is not a directory. Just open it.
2023-09-23 13:36:18 +02:00
Benoît Minisini
bc0e950bf5 Option dialog: Rework internal implementation of UI layout configuration.
[DEVELOPMENT ENVIRONMENT]
* NEW: Option dialog: Rework internal implementation of UI layout configuration.
2023-09-22 20:16:18 +02:00
Benoît Minisini
b4fa94cae6 Update icon and configuration file of some projects.
[CONFIGURATION]
* NEW: Update icon and configuration file of some projects.
2023-09-22 18:41:01 +02:00
Benoît Minisini
bda833aa3e Get component controls icons both from its 'control' directory and the optional associated Gambas project of the same name.
[CONFIGURATION]
* NEW: Get component controls icons both from its 'control' directory and the optional associated Gambas project of the same name.
2023-09-22 18:38:57 +02:00
Benoît Minisini
492a394ca0 Move the control icons from the IDE.
[GB.NET]
* NEW: Move the control icons from the IDE.
2023-09-22 18:38:17 +02:00
Benoît Minisini
2e8c69edc6 Remove the control icons that were moved to 'gb.net' component source code directory.
[DEVELOPMENT ENVIRONMENT]
* NEW: Form editor: Do not set a tooltip for the controls toolbox select tool.
* NEW: Remove the control icons that were moved to 'gb.net' component source code directory.
2023-09-22 17:11:21 +02:00
Benoît Minisini
bd5dbb78a8 Redraw control icons.
[GB.WEB.GUI]
* NEW: Redraw control icons.
2023-09-21 23:10:25 +02:00
Benoît Minisini
f9d3bcc1f5 Fix some typos.
[GB.COMPRESS]
* BUG: Fix some typos.
2023-09-21 23:00:52 +02:00
Benoît Minisini
8ac6bc5de2 ColorPalette: Fix detection of color button under the cursor.
[GB.FORM]
* BUG: ColorPalette: Fix detection of color button under the cursor.
2023-09-21 22:58:19 +02:00
Benoît Minisini
549012db91 Redraw control icons everywhere.
[CONFIGURATION]
Redraw control icons everywhere.
2023-09-21 22:56:21 +02:00
Benoît Minisini
44e94a3964 Form editor: Add the tooltip back in the controls toolbox.
[DEVELOPMENT ENVIRONMENT]
* NEW: Form editor: Add the tooltip back in the controls toolbox.
2023-09-20 20:00:09 +02:00
Benoît Minisini
e39f357bd8 Merge branch 'master' of gitlab.com:gambas/gambas 2023-09-20 20:00:02 +02:00
Benoît Minisini
c9d5eefc84 Form editor: Add the tooltip back in the controls toolbox.
[DEVELOPMENT ENVIRONMENT]
* NEW: Form editor: Add the tooltip back in the controls toolbox.
2023-09-20 19:59:51 +02:00
Benoît Minisini
85c7753401 Merge branch 'master' into 'master'
Dutch translations for all Gambas3 written components + mime type xml files

See merge request gambas/gambas!305
2023-09-19 19:27:16 +00:00