Commit graph

1143 commits

Author SHA1 Message Date
Benoît Minisini
b496c336ca Fix a possible crash when creating a new TextArea control.
[GB.GTK]
* BUG: Fix a possible crash when creating a new TextArea control.

[GB.GTK3]
* BUG: Fix a possible crash when creating a new TextArea control.
2023-08-17 12:32:46 +02:00
Benoît Minisini
f563dd0557 Style: Add 'Default' constant. It tells the Style routine to use the current painted control (if it exists) as a context.
[GB.DRAW]
* NEW: Support for 'Style.Default' constant.

[GB.GTK]
* NEW: Style: Add 'Default' constant. It tells the Style routine to use the current painted control (if it exists) as a context.

[GB.GTK3]
* NEW: Style: Add 'Default' constant. It tells the Style routine to use the current painted control (if it exists) as a context.
* BUG: Style: Painting the backgroud correctly takes the background color into account, unless for active state (i.e. pressed buttons).

[GB.QT4]
* NEW: Style: Add 'Default' constant. It tells the Style routine to use the current painted control (if it exists) as a context.
* NEW: 'Style.StateOf()' always adds the 'Style.Default' constant.

[GB.QT5]
* NEW: Style: Add 'Default' constant. It tells the Style routine to use the current painted control (if it exists) as a context.
* NEW: 'Style.StateOf()' always adds the 'Style.Default' constant.
2023-07-29 15:43:17 +02:00
Benoît Minisini
cc74743dab Correctly enable shortcuts before opening a popup menu, and disable them after closing it.
[GB.GTK]
* BUG: Correctly enable shortcuts before opening a popup menu, and disable them after closing it.

[GB.GTK3]
* BUG: Correctly enable shortcuts before opening a popup menu, and disable them after closing it.

[GB.QT4]
* BUG: Correctly enable shortcuts before opening a popup menu, and disable them after closing it.

[GB.QT5]
* BUG: Correctly enable shortcuts before opening a popup menu, and disable them after closing it.
2023-06-14 00:51:31 +02:00
Benoît Minisini
e6f5f7c940 Fix automatic arrangement of top-level windows with menus.
[GB.GTK]
* BUG: Fix automatic arrangement of top-level windows with menus.

[GB.GTK3]
* BUG: Fix automatic arrangement of top-level windows with menus.
2023-04-29 21:40:04 +02:00
Benoît Minisini
8b6affd289 Remove the undocumented 'Container.Dirty' property.
[GB.GTK]
* BUG: Remove the undocumented 'Container.Dirty' property.

[GB.GTK3]
* BUG: Remove the undocumented 'Container.Dirty' property.

[GB.QT4]
* BUG: Remove the undocumented 'Container.Dirty' property.

[GB.QT5]
* BUG: Remove the undocumented 'Container.Dirty' property.
2023-03-30 23:46:58 +02:00
Benoît Minisini
f0fc89f5fa The 'Drop' property of editing controls (TextBox, TextArea...) is now TRUE by default.
[GB.GTK]
* NEW: The 'Drop' property of editing controls (TextBox, TextArea...) is now TRUE by default.

[GB.GTK3]
* NEW: The 'Drop' property of editing controls (TextBox, TextArea...) is now TRUE by default.

[GB.QT4]
* NEW: The 'Drop' property of editing controls (TextBox, TextArea...) is now TRUE by default.

[GB.QT5]
* NEW: The 'Drop' property of editing controls (TextBox, TextArea...) is now TRUE by default.
2023-03-19 20:42:01 +01:00
Benoît Minisini
798b936775 Do not mix arrangement flags and user control flag in the Container implementation.
[GB.GTK]
* BUG: Do not mix arrangement flags and user control flag in the Container implementation.

[GB.GTK3]
* BUG: Do not mix arrangement flags and user control flag in the Container implementation.

[GB.QT4]
* BUG: Do not mix arrangement flags and user control flag in the Container implementation.

[GB.QT5]
* BUG: Do not mix arrangement flags and user control flag in the Container implementation.
2023-03-17 21:12:44 +01:00
Benoît Minisini
d42b432df0 UserContainer now can declare the same special event handlers as UserControl.
[GB.GTK]
* NEW: UserControl: Special event handlers can be declared indepently. Declaring 'UserControl_Draw' is not required anymore.
* NEW: UserContainer now can declare the same special event handlers as UserControl.

[GB.GTK3]
* NEW: UserControl: Special event handlers can be declared indepently. Declaring 'UserControl_Draw' is not required anymore.
* NEW: UserContainer now can declare the same special event handlers as UserControl.

[GB.QT4]
* NEW: UserControl: Special event handlers can be declared indepently. Declaring 'UserControl_Draw' is not required anymore.
* NEW: UserContainer now can declare the same special event handlers as UserControl.

[GB.QT5]
* NEW: UserControl: Special event handlers can be declared indepently. Declaring 'UserControl_Draw' is not required anymore.
* NEW: UserContainer now can declare the same special event handlers as UserControl.
2023-03-17 15:57:48 +01:00
Benoît Minisini
0736122b2e Menu: Setting the 'Radio' or the 'Toggle' property now correctly keep the 'Enabled' state.
[GB.GTK]
* BUG: Menu: Setting the 'Radio' or the 'Toggle' property now correctly keep the 'Enabled' state.

[GB.GTK3]
* BUG: Menu: Setting the 'Radio' or the 'Toggle' property now correctly keep the 'Enabled' state.
2023-03-17 02:29:59 +01:00
Benoît Minisini
6599196dbd Let pango take the target device resolution into account when drawing text.
[GB.GTK]
* BUG: Let pango take the target device resolution into account when drawing text.

[GB.GTK3]
* BUG: Let pango take the target device resolution into account when drawing text.
2023-01-27 08:58:50 +01:00
Benoît Minisini
8effd60c5b Window: 'Geometry' is a new property that returns the last geometry of the window in normal state.
[GB.GTK]
* NEW: Window: 'Geometry' is a new property that returns the last geometry of the window in normal state.

[GB.GTK3]
* NEW: Window: 'Geometry' is a new property that returns the last geometry of the window in normal state.

[GB.QT4]
* NEW: Window: 'Geometry' is a new property that returns the last geometry of the window in normal state.

[GB.QT5]
* NEW: Window: 'Geometry' is a new property that returns the last geometry of the window in normal state.
2023-01-21 03:50:59 +01:00
Benoît Minisini
ee040e1b14 Fix SvgImage.Render(). Correctly release the current grab when the debugger wakes up.
[GB.GTK]
* BUG: Fix SvgImage.Render() so that it correctly stretches the result.
* BUG: Correctly release the current grab when the debugger wakes up.

[GB.GTK3]
* BUG: Fix SvgImage.Render() so that it correctly stretches the result.
* BUG: Correctly release the current grab when the debugger wakes up.
2023-01-12 00:54:19 +01:00
Benoît Minisini
caacdd9c2f Control.Drag() now calls Drag(), so that 'text/uri' mimetype is supported. Fix reference leak in drag & drop target management of Qt components.
[INTERPRETER]
* NEW: 'GB.Push()' now can handle Variant values.

[GB.GTK]
* NEW: Control.Drag() now calls Drag(), so that 'text/uri' mimetype is supported.

[GB.GTK3]
* NEW: Control.Drag() now calls Drag(), so that 'text/uri' mimetype is supported.

[GB.QT4]
* BUG: Fix reference leak in drag & drop target management.
* NEW: Control.Drag() now calls Drag(), so that 'text/uri' mimetype is supported.

[GB.QT5]
* BUG: Fix reference leak in drag & drop target management.
* NEW: Control.Drag() now calls Drag(), so that 'text/uri' mimetype is supported.
2023-01-09 02:45:52 +01:00
Benoît Minisini
a44508a79d Fix value of 'Key.Shift', 'Key.Control', 'Key.Alt', 'Key.Meta' and 'Key.Normal'.
[GB.GTK]
* BUG: Fix value of 'Key.Shift', 'Key.Control', 'Key.Alt', 'Key.Meta' and 'Key.Normal'.

[GB.GTK3]
* BUG: Fix value of 'Key.Shift', 'Key.Control', 'Key.Alt', 'Key.Meta' and 'Key.Normal'.
2023-01-05 17:31:59 +01:00
Benoît Minisini
e7b5908a0e Initialize the 'Application.MiddleClickPaste' property at the right time.
[GB.GTK]
* BUG: Initialize the 'Application.MiddleClickPaste' property at the right time.

[GB.GTK3]
* BUG: Initialize the 'Application.MiddleClickPaste' property at the right time.
2022-12-28 22:13:33 +01:00
Benoît Minisini
a43fc09acd Paint.DrawText() and Paint.DrawRichText() do not move the current point anymore.
[GB.GTK]
* BUG: Paint.DrawText() and Paint.DrawRichText() do not move the current point anymore.

[GB.GTK3]
* BUG: Paint.DrawText() and Paint.DrawRichText() do not move the current point anymore.
2022-12-28 13:38:31 +01:00
Benoît Minisini
fcef1adabf Application.MiddleClickPaste is a new property that tells if middle click should paste.
[GB.GTK]
* NEW: Application.MiddleClickPaste is a new property that tells if middle click should paste.
  The global GTK+ settings is taken into account at application startup.

[GB.GTK3]
* NEW: Application.MiddleClickPaste is a new property that tells if middle click should paste.
  The global GTK+ settings is taken into account at application startup.

[GB.QT4]
* NEW: Application.MiddleClickPaste is a new property that tells if middle click should paste.

[GB.QT5]
* NEW: Application.MiddleClickPaste is a new property that tells if middle click should paste.
2022-12-27 22:15:50 +01:00
Benoît Minisini
af8f28e0e4 UserControl: Call the UserControl_Resize() public method on resize.
[GB.GTK]
* NEW: UserControl: Call the UserControl_Resize() public method on resize.

[GB.GTK3]
* NEW: UserControl: Call the UserControl_Resize() public method on resize.

[GB.QT4]
* NEW: UserControl: Call the UserControl_Resize() public method on resize.

[GB.QT5]
* NEW: UserControl: Call the UserControl_Resize() public method on resize.
2022-12-20 21:45:29 +01:00
Benoît Minisini
ff2fe08c72 Remove debugging messages on dnd.
[GB.GTK]
* BUG: Remove debugging messages on dnd.

[GB.GTK3]
* BUG: Remove debugging messages on dnd.
2022-12-17 12:32:29 +01:00
Benoît Minisini
6a793ddeb7 Replace my old depracted gmail mail by the new one.
[CONFIGURATION]
* NEW: Replace my old depracted gmail mail by the new one.
2022-09-12 15:13:13 +02:00
Benoît Minisini
a9d69c2cdb 'Wait' now runs the deferred routines even if there is no pending GUI event.
[GB.GTK]
* BUG: 'Wait' now runs the deferred routines even if there is no pending GUI event.

[GB.GTK3]
* BUG: 'Wait' now runs the deferred routines even if there is no pending GUI event.
2022-09-08 02:31:42 +02:00
Benoît Minisini
07859c610e SvgImage: Painting routine has been redesigned and is now faster.
[GB.GTK]
* OPT: SvgImage: Painting routine has been redesigned and is now faster.

[GB.GTK3]
* OPT: SvgImage: Painting routine has been redesigned and is now faster.
2022-09-06 00:25:42 +02:00
Benoît Minisini
6a9388bbfc Fix compilation with old versions of 'librsvg' again.
[GB.GTK]
* BUG: Fix compilation with old versions of 'librsvg' again.

[GB.GTK3]
* BUG: Fix compilation with old versions of 'librsvg' again.
2022-09-04 07:55:31 +02:00
Benoît Minisini
2fc4d7e54b Fix compilation with old versions of librsvg.
[GB.GTK]
* BUG: Fix compilation with old versions of librsvg.

[GB.GTK3]
* BUG: Fix compilation with old versions of librsvg.
2022-09-04 01:32:24 +02:00
Benoît Minisini
edb65a657a Fix some use of deprecated functions.
[GB.GTK]
* BUG: Fix some use of deprecated functions.

[GB.GTK3]
* BUG: Fix some use of deprecated functions.
2022-09-03 14:25:46 +02:00
Benoît Minisini
415de7b257 Update configuration files to autoconf 2.71.
[CONFIGURATION]
* NEW: Update configuration files to autoconf 2.71.
2022-09-03 13:24:51 +02:00
Benoît Minisini
19bb0178a8 Popup menus are scrollable again.
[GB.GTK]
* BUG: Popup menus are scrollable again.

[GB.GTK3]
* BUG: Popup menus are scrollable again.
2022-09-03 02:16:08 +02:00
Benoît Minisini
4183b21ddd Fix drag & drop management.
[GB.GTK]
* BUG: Fix drag & drop management.

[GB.GTK3]
* BUG: Fix drag & drop management.
2022-09-02 02:29:49 +02:00
Benoît Minisini
7386fe5a2c Align.Make() is a new method that build an alignment constant from its horizontal and vertical parts.
[GB.GTK]
* NEW: Align.Make() is a new method that build an alignment constant from its horizontal and vertical parts.

[GB.GTK3]
* NEW: Align.Make() is a new method that build an alignment constant from its horizontal and vertical parts.

[GB.QT4]
* NEW: Align.Make() is a new method that build an alignment constant from its horizontal and vertical parts.

[GB.QT5]
* NEW: Align.Make() is a new method that build an alignment constant from its horizontal and vertical parts.
2022-08-25 23:57:40 +02:00
Benoît Minisini
f079b088de Top-level window background color is correctly taken into account again.
[GB.GTK3]
* BUG: Top-level window background color is correctly taken into account again.
2022-08-25 18:09:32 +02:00
Benoît Minisini
aafe7a8bbe Update deferred arrangements before handling focus changes (and other posted routines).
[GB.GTK]
* BUG: Update deferred arrangements before handling focus changes (and other posted routines).

[GB.GTK3]
* BUG: Update deferred arrangements before handling focus changes (and other posted routines).
2022-08-09 01:18:03 +02:00
Benoît Minisini
83aaf28641 DnD now takes the proxy control into account. Watcher now should finally raise their Show event correctly.
[GB.GTK]
* BUG: Setting the Drop property now acts on the proxy, and the DnD events are handled by the proxy first.
* BUG: Watcher now should finally raise their Show event correctly.

[GB.GTK3]
* BUG: Setting the Drop property now acts on the proxy, and the DnD events are handled by the proxy first.
* BUG: Watcher now should finally raise their Show event correctly.
2022-08-06 17:42:48 +02:00
Benoît Minisini
179de49ffb Fix menu relayout after the 'Show' event has been handled..
[GB.GTK]
* BUG: Fix menu relayout after the 'Show' event has been handled..

[GB.GTK3]
* BUG: Fix menu relayout after the 'Show' event has been handled..
2022-08-03 00:42:29 +02:00
Benoît Minisini
911ba060e7 Menu.Parent is a new property that returns the parent menu of a menu, or NULL if the menu is a top-level one.
[GB.GTK]
* NEW: Menu.Parent is a new property that returns the parent menu of a menu, or NULL if the menu is a top-level one.

[GB.GTK3]
* NEW: Menu.Parent is a new property that returns the parent menu of a menu, or NULL if the menu is a top-level one.

[GB.QT4]
* NEW: Menu.Parent is a new property that returns the parent menu of a menu, or NULL if the menu is a top-level one.

[GB.QT5]
* NEW: Menu.Parent is a new property that returns the parent menu of a menu, or NULL if the menu is a top-level one.
2022-07-30 00:59:05 +02:00
Benoît Minisini
53b7a0682c TextArea: Fix drag and drop.
[GB.GTK]
* BUG: TextArea: Fix drag and drop.

[GB.GTK3]
* BUG: TextArea: Fix drag and drop.
2022-07-19 00:31:45 +02:00
Benoît Minisini
40d9361a1c The changes in main window stylesheet do not apply to the embedded title bar anymore.
[GB.GTK3]
* BUG: The changes in main window stylesheet do not apply to the embedded title bar anymore.
2022-06-30 22:35:37 +02:00
Benoît Minisini
cceb791311 Restarting a timer during its event handler should not lead to a possible crash anymore.
[GB.GTK]
* BUG: Restarting a timer during its event handler should not lead to a possible crash anymore.

[GB.GTK3]
* BUG: Restarting a timer during its event handler should not lead to a possible crash anymore.
2022-06-07 01:01:17 +02:00
Benoît Minisini
5ed618e24b Container hidden because of a null size do not disable arrangement.
[GB.GTK]
* BUG: Container hidden because of a null size do not disable arrangement.

[GB.GTK3]
* BUG: Container hidden because of a null size do not disable arrangement.
2022-05-30 01:11:01 +02:00
Benoît Minisini
cf1679faa6 Container are now still arranged when they are hidden because of a null size.
[GB.GTK]
* BUG: Container are now still arranged when they are hidden because of a null size.

[GB.GTK3]
* BUG: Container are now still arranged when they are hidden because of a null size.
2022-05-28 23:41:23 +02:00
Benoît Minisini
2b7588c047 Hide menu before destroying it, so that the top-level menu bar is correctly updated.
[GB.GTK]
* BUG: Hide menu before destroying it, so that the top-level menu bar is correctly updated.

[GB.GTK3]
* BUG: Hide menu before destroying it, so that the top-level menu bar is correctly updated.
2022-05-28 16:27:29 +02:00
Benoît Minisini
8c4b6b5fef Implement Application.ShowTooltips property.
[GB.GTK3]
* BUG: Implement Application.ShowTooltips property.
2022-05-19 14:06:58 +02:00
Benoît Minisini
90634d9cb5 The parent window of a modal window is now always the current active window.
[GB.GTK]
* BUG: The parent window of a modal window is now always the current active window.

[GB.GTK3]
* BUG: The parent window of a modal window is now always the current active window.

[GB.QT4]
* BUG: The parent window of a modal window is now always the current active window.

[GB.QT5]
* BUG: The parent window of a modal window is now always the current active window.
2022-05-15 20:06:26 +02:00
Benoît Minisini
0cd8047efa Closing the main window when it is persistent correctly quits the application. Reparenting a window correctly triggers automatic arrangement.
[GB.GTK]
* BUG: Reparenting a window correctly triggers automatic arrangement.
* BUG: Closing the main window when it is persistent correctly quits the application.

[GB.GTK3]
* BUG: Reparenting a window correctly triggers automatic arrangement.
* BUG: Closing the main window when it is persistent correctly quits the application.
2022-05-14 20:10:19 +02:00
Benoît Minisini
0c0b1e0dc2 TextArea: Modifying the contents by code now refreshes the control as expected.
[GB.GTK]
* BUG: TextArea: Modifying the contents by code now refreshes the control as expected.

[GB.GTK3]
* BUG: TextArea: Modifying the contents by code now refreshes the control as expected.
2022-05-14 19:46:38 +02:00
Benoît Minisini
38aea6b3d5 * The new proxy of a control is now correctly unlinked if it was already the proxy of another control.
[GB.GTK]
* BUG: The new proxy of a control is now correctly unlinked if it was already the proxy of another control.

[GB.GTK3]
* BUG: The new proxy of a control is now correctly unlinked if it was already the proxy of another control.

[GB.QT4]
* BUG: The new proxy of a control is now correctly unlinked if it was already the proxy of another control.

[GB.QT5]
* BUG: The new proxy of a control is now correctly unlinked if it was already the proxy of another control.
2022-04-28 23:48:30 +02:00
gambas
1c985ac3ad Allow calling 'WAIT' alone during a keyboard event handler.
[GB.GTK]
* BUG: Allow calling 'WAIT' alone during a keyboard event handler.

[GB.GTK3]
* BUG: Allow calling 'WAIT' alone during a keyboard event handler.
2022-04-12 20:00:06 +02:00
gambas
41ee2c8f9c Remove now useless ComboBox source code.
[GB.GTK]
* NEW: Remove now useless ComboBox source code.

[GB.GTK3]
* NEW: Remove now useless ComboBox source code.

[GB.QT4]
* NEW: Remove now useless ComboBox source code.

[GB.QT5]
* NEW: Remove now useless ComboBox source code.
2022-04-12 13:32:10 +02:00
gambas
4b6c6e2d0f Remove the native ComboBox.
[GB.GTK]
* NEW: UserControl._Focus is a new property that defines if a UserControl can take focus.
* BUG: UserControl_Draw() event handler is called before drawing the control children.
* NEW: Remove the native ComboBox.

[GB.GTK3]
* NEW: UserControl._Focus is a new property that defines if a UserControl can take focus.
* BUG: UserControl_Draw() event handler is called before drawing the control children.
* NEW: Remove the native ComboBox.

[GB.QT4]
* NEW: UserControl._Focus is a new property that defines if a UserControl can take focus.
* NEW: Style methods draw focus and tab focus.
* NEW: Remove the native ComboBox.

[GB.QT5]
* NEW: UserControl._Focus is a new property that defines if a UserControl can take focus.
* NEW: Style methods draw focus and tab focus.
* NEW: Remove the native ComboBox.
2022-04-12 13:06:38 +02:00
gambas
2742b48afa Support for "Wait 0" syntax. Fix support of "Wait" alone syntax in GTK+ components.
[GB.GTK]
* NEW: Support for "Wait 0" syntax.
* BUG: Fix support of "Wait" alone syntax.

[GB.GTK3]
* NEW: Support for "Wait 0" syntax.
* BUG: Fix support of "Wait" alone syntax.

[GB.SDL2]
* NEW: Support for "Wait 0" syntax.

[GB.QT4]
* NEW: Support for "Wait 0" syntax.

[GB.QT5]
* NEW: Support for "Wait 0" syntax.
2022-04-09 19:11:56 +02:00
gambas
b2c199e4fc The WAIT instruction alone now ignores input events like Qt components.
[GB.GTK]
* BUG: The WAIT instruction alone now ignores input events like Qt components.

[GB.GTK3]
* BUG: The WAIT instruction alone now ignores input events like Qt components.
2022-04-08 23:06:47 +02:00