Commit graph

11454 commits

Author SHA1 Message Date
Benoît Minisini
d26f5345ec Fix a possible crash when calling the 'UserControl_Font' handler. Fix management of resizable popup windows.
[GB.QT4]
* BUG: UserControl: Fix a possible crash when calling the 'UserControl_Font' handler.
* BUG: Fix management of resizable popup windows.

[GB.QT5]
* BUG: UserControl: Fix a possible crash when calling the 'UserControl_Font' handler.
* BUG: Fix management of resizable popup windows.
2023-10-15 23:26:15 +02:00
Benoît Minisini
2bf108f2e8 New project icon.
[GB.DESKTOP.X11]
* NEW: New project icon.
2023-10-15 22:06:24 +02:00
Benoît Minisini
f694f99b8b CGI.Error() now displays a nice error 500 page. :-)
[GB.WEB]
* NEW: CGI.Error() now displays a nice error 500 page. :-)
2023-10-15 21:54:08 +02:00
Benoît Minisini
7b26952018 Fix CSS of box icons. Fix index generation.
[WIKI]
* BUG: Fix CSS of box icons.
* BUG: Fix index generation.
2023-10-15 21:52:43 +02:00
Benoît Minisini
fb66ad46a7 TabPanel: Fix tab bar layout.
[GB.FORM]
* BUG: TabPanel: Fix tab bar layout.
2023-10-15 21:50:03 +02:00
Benoît Minisini
22a7714b0d Project tree: Use the new TreeView Highlight property.
[DEVELOPMENT ENVIRONMENT]
* NEW: Project tree: Use the new TreeView Highlight property.
* NEW: Display duration of executable generation.
* NEW: Version control panel: Move "Create new branch" button to the right.
2023-10-15 21:46:38 +02:00
Benoît Minisini
937c9eb751 TreeView, ListView, ColumnView: Add Highlight property to highlight the item under the mouse cursor.
[GB.GUI.BASE]
* NEW: GridView: Handle the Highlight property at the GridView level.
* NEW: TreeView, ListView, ColumnView: Add Highlight property to highlight the item under the mouse cursor.
2023-10-15 21:44:39 +02:00
Benoît Minisini
3adba0a92a Update AUTHORS file. 2023-10-15 21:09:14 +02:00
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