Commit graph

11446 commits

Author SHA1 Message Date
Benoît Minisini
dadb89c87d ListBox: Add Highlight property to highlight the listbox entry under the mouse cursor.
[GB.GUI.BASE]
* NEW: ListBox: Add Highlight property to highlight the listbox entry under the mouse cursor.
* NEW: Helper function for the future 'Window.ShowPopupAt()' method.
* NEW: ScrollArea: The mouse wheel now scroll a number of pixels proportional to 'Desktop.Scale'.
2023-10-13 16:59:01 +02:00
Benoît Minisini
9b15ce56f3 Replace branch selection menu by a list embedded in the project tree panel.
[DEVELOPMENT ENVIRONMENT]
* BUG: Fix CSS file compression.
* NEW: Replace branch selection menu by a list embedded in the project tree panel.
2023-10-13 12:03:52 +02:00
Benoît Minisini
e44956d02a ComboBox: Read-only combo-box now correctly takes the background-color into account.
[GB.WEB.GUI]
* BUG: ComboBox: Read-only combo-box now correctly takes the background-color into account.
2023-10-10 11:02:14 +02:00
Benoît Minisini
87e5ad57b7 Custom startup class is now taken into account.
[GB.WEB.GUI]
* BUG: Custom startup class is now taken into account.
2023-10-09 21:49:10 +02:00
Benoît Minisini
089b2e0efb Change the look of project property, options, debugger configuration and translation dialogs.
[DEVELOPMENT ENVIRONMENT]
* NEW: Change the look of project property, options, debugger configuration and translation dialogs.
* NEW: Update a few icons.
2023-10-09 12:18:34 +02:00
Benoît Minisini
eeb70244f7 TabPanel: New look.
[GB.FORM]
* NEW: TabPanel: New look.
2023-10-09 12:17:13 +02:00
Benoît Minisini
dc7cf9b3a9 Keep the authorizations when saving a file.
[DEVELOPMENT ENVIRONMENT]
* NEW: Project tree: Add a "refresh project" entry in the filter menu.
* BUG: Keep the authorizations when saving a file.
2023-10-08 23:41:03 +02:00
Benoît Minisini
1fdbb15f1a ComboBox: Take mouse wheel events into account in read-write mode again. MouseWheel events can be intercepted and stopped now.
[GB.GUI.BASE]
* NEW: ComboBox: Take mouse wheel events into account in read-write mode again.
* NEW: ComboBox: MouseWheel events can be intercepted and stopped now.
2023-10-08 19:16:20 +02:00
Benoît Minisini
8a1d604e32 Support for computed Goto or GoSub in JIT compiler.
[INTERPRETER]
* BUG: Correctly initialize functions without computed Goto or GoSub.

[GB.JIT]
* NEW: Support for computed Goto or GoSub.
2023-10-06 03:31:20 +02:00
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