1134 Commits

Author SHA1 Message Date
gambas
905c2f568d Handle focus traversal our owns way.
[GB.GTK]
* NEW: Handle focus traversal our owns way.

[GB.GTK3]
* NEW: Handle focus traversal our owns way.
2020-11-01 08:38:56 +01:00
gambas
8f68f26233 Allow the value of markup attributes not to be embedded between quotes in rich text.
[GB.GTK]
* BUG: Allow the value of markup attributes not to be embedded between quotes in rich text.

[GB.GTK3]
* BUG: Allow the value of markup attributes not to be embedded between quotes in rich text.
2020-10-31 18:53:36 +01:00
gambas
d20832fd74 Control.Reparent() correctly moves the control if the parent is not changed.
[GB.GTK]
* BUG: Control.Reparent() correctly moves the control if the parent is not changed.

[GB.GTK3]
* BUG: Control.Reparent() correctly moves the control if the parent is not changed.
2020-10-31 16:46:18 +01:00
gambas
ca20c1f87f Fix AutoResize arrangement.
[GB.GTK]
* BUG: Fix AutoResize arrangement.

[GB.GTK3]
* BUG: Fix AutoResize arrangement.
2020-10-27 22:32:42 +01:00
gambas
abf6b9fbcf Fix menu shortcuts.
[GB.GTK]
* BUG: Fix menu shortcuts.

[GB.GTK3]
* BUG: Fix menu shortcuts.
2020-10-23 01:29:51 +02:00
gambas
a7f8a18ca2 Fix menu Show event and allow Mouse key modifiers properties outside of Mouse event handlers.
[GB.GTK]
* BUG: Mouse key modifiers properties are now available outside of Mouse event handlers as in Qt components.
* BUG: Menu Show event now behaves as expected, and allow recreating the menu contents during its event handler.

[GB.GTK3]
* BUG: Mouse key modifiers properties are now available outside of Mouse event handlers as in Qt components.
* BUG: Menu Show event now behaves as expected, and allow recreating the menu contents during its event handler.
2020-10-22 10:06:40 +02:00
gambas
5a506877ab When changing the geometry of a control, the move is done before the resize, to get the same behaviour as the Qt components.
[GB.GTK]
* BUG: Fix an uninitialized flag in 'gmainwindow.cpp'.
* BUG: When changing the geometry of a control, the move is done before the resize, to get the same behaviour as the Qt components.

[GB.GTK3]
* BUG: Fix an uninitialized flag in 'gmainwindow.cpp'.
* BUG: When changing the geometry of a control, the move is done before the resize, to get the same behaviour as the Qt components.
2020-10-21 00:49:32 +02:00
gambas
279e56381f Lots of 'gb.gtk' and 'gb.gtk3' fixes.
[GB.GTK]
* NEW: Control.Design is partially implemented.
* BUG: A control being dragged cannot be explicitely destroyed anymore.
* NEW: DrawingArea: Paint default color is now its foreground color.
* BUG: ToolButtons do not steal focus anymore.
* BUG: Fix focus management so that it behaves like Qt.
* OPT: Control: Modifying the Expand property does not trigger an arrangement anymore if the Ignore property is set.
* BUG: Control: Fix Raise() and Lower() method that sometimes hid the control.
* BUG: Windows can now take focus by default.
* BUG: Menu: Shortcuts are now automatically disabled when the menu or one if its parent is disabled.

[GB.GTK3]
* NEW: Control.Design is partially implemented.
* BUG: Fix Style.PaintCheck() and Style.PaintOption().
* BUG: A control being dragged cannot be explicitely destroyed anymore.
* NEW: DrawingArea: Paint default color is now its foreground color.
* BUG: ToolButtons do not steal focus anymore.
* BUG: Fix focus management so that it behaves like Qt.
* OPT: Control: Modifying the Expand property does not trigger an arrangement anymore if the Ignore property is set.
* BUG: Control: Fix Raise() and Lower() method that sometimes hid the control.
* BUG: Color: Fix button, tooltip and link system colors and support more themes.
* BUG: Windows can now take focus by default.
* BUG: Menu: Fix indicator drawing.
* BUG: Menu: Shortcuts are now automatically disabled when the menu or one if its parent is disabled.
2020-10-19 22:42:15 +02:00
gambas
10427e7ac9 Many bug fixes in GTK components.
[GB.GTK]
* BUG: Button text is not truncated anymore.
* BUG: Disabled button icons are now correctly desaturated.
* BUG: Fix a memory leak in the Application.Restart property.
* BUG: Window close management is now similar to QT components' one.
* BUG: Form.Load() now behaves correctly if the static instance is already created.
* NEW: Separators are drawn he same wat as in Qt components.

[GB.GTK3]
* BUG: Button text is not truncated anymore.
* BUG: Disabled button icons are now correctly desaturated.
* BUG: Fix a memory leak in the Application.Restart property.
* BUG: Window close management is now similar to QT components' one.
* BUG: Form.Load() now behaves correctly if the static instance is already created.
* NEW: Separators are drawn he same wat as in Qt components.
2020-10-10 16:17:54 +02:00
gambas
834ad5d882 Fix control arrangement, buttons appearance, ToolButton focus stealing, and embedded windows resize event.
[GB.GTK]
* BUG: Control: Make MoveResize() method behave the same way as in QT components.
* BUG: Container: Arrange contents only when mapped, as in QT components.
* BUG: ToolButton: Do not steal the focus anymore when clicked.
* NEW: Button & ToolButton: Draw buttons the same way as in QT components.

[GB.GTK3]
* BUG: Control: Make MoveResize() method behave the same way as in QT components.
* BUG: Container: Arrange contents only when mapped, as in QT components.
* BUG: ToolButton: Do not steal the focus anymore when clicked.
* NEW: Button & ToolButton: Draw buttons the same way as in QT components.
* BUG: Window: Embedded windows now correctly raise their Resize event.
2020-10-08 01:22:16 +02:00
gambas
c4f7b69ee4 Fix Control Lower(), Raise() and Refresh() methods.
[GB.GTK]
* BUG: Fix Control.Lower() and Control.Raise() methods.
* BUG: Fix Control.Refresh() method when the update area is specified.

[GB.GTK3]
* BUG: Fix Control.Lower() and Control.Raise() methods.
* BUG: Fix Control.Refresh() method when the update area is specified.
2020-10-07 00:43:54 +02:00
gambas
fa65f45d5d Fix management of Paint.Font. Underline and Strikeout properties are now correctly drawn.
[GB.GTK]
* BUG: Fix management of Paint.Font. Underline and Strikeout properties are now correctly drawn.

[GB.GTK3]
* BUG: Fix management of Paint.Font. Underline and Strikeout properties are now correctly drawn.
2020-10-06 01:39:12 +02:00
gambas
0330156ab0 Void tooltips do not display anything anymore.
[GB.GTK]
* OPT: Moving or resizing a control with Ignore property set does not trigger a arrangment anymore.
* BUG: Void tooltips do not display anything anymore.

[GB.GTK3]
* OPT: Moving or resizing a control with Ignore property set does not trigger a arrangment anymore.
* BUG: Void tooltips do not display anything anymore.
2020-10-03 02:48:38 +02:00
gambas
2370d3507a TextArea: Fix both Font and Background property.
[GB.GTK3]
* BUG: TextArea: Fix both Font and Background property.
2020-10-02 09:53:57 +02:00
gambas
df83543ab3 Fix Menu proxy management and Control.Refresh().
[GB.GTK]
* BUG: Fix Menu proxy management.
* BUG: Fix Control.Refresh() method when arguments are specified.
* BUG: Fix an uninitalized internal control flag.

[GB.GTK3]
* BUG: Fix Menu proxy management.
* BUG: Fix Control.Refresh() method when arguments are specified.
* BUG: Fix an uninitalized internal control flag.
2020-10-01 23:23:40 +02:00
gambas
d9e2d27580 Button grab is now automatically released when a new event loop is started.
[GB.GTK]
* BUG: Button grab is now automatically released when a new event loop is started.

[GB.GTK3]
* BUG: Button grab is now automatically released when a new event loop is started.
2020-09-30 21:02:47 +02:00
gambas
0692547c25 TextArea background color property now works as expected.
[GB.GTK3]
* BUG: TextArea background color property now works as expected.
2020-09-29 23:32:50 +02:00
gambas
df30233faa WebView: Implement events, and the Icon and Progress properties.
[GB.GTK3.WEBVIEW]
* NEW: WebView: Implement events.
* NEW: WebView: Implement the Icon and the Progress properties.

[GB.QT5.WEBVIEW]
* NEW: WebView: Implement events.
* NEW: WebView: Implement the Icon and the Progress properties.
2020-09-29 00:36:23 +02:00
gambas
66e1539a4f Fix containers Indent property.
[GB.GTK]
* BUG: Fix containers Indent property.

[GB.GTK3]
* BUG: Fix containers Indent property.

[GB.QT4]
* BUG: Fix containers Indent property.

[GB.QT5]
* BUG: Fix containers Indent property.
2020-09-29 00:33:42 +02:00
gambas
63e83807c2 Widget tooltips now handle newlines and linefeeds the same way as in Qt.
[GB.GTK]
* BUG: Widget tooltips now handle newlines and linefeeds the same way as in Qt.

[GB.GTK3]
* BUG: Widget tooltips now handle newlines and linefeeds the same way as in Qt.
2020-09-26 18:47:04 +02:00
gambas
b770395a3b Start development of new GTK+ and QT web browser components.
[DEVELOPMENT ENVIRONMENT]
* NEW: Add description of gb.gtk3.webview and gb.qt5.webview

[GB.GTK]
* NEW: Enhance gb.gtk API for child components like gb.gtk3.webview.

[GB.GTK3.WEBVIEW]
* NEW: Beginning of a new web browser component based on WebKitGTK.

[GB.QT5.WEBVIEW]
* NEW: Beginning of a new web browser component based on QWebEngineView.
2020-09-21 01:09:47 +02:00
gambas
183936cfe7 Drawing a null rich text string does not crash anymore.
[GB.GTK]
* BUG: Drawing a null rich text string does not crash anymore.

[GB.GTK3]
* BUG: Drawing a null rich text string does not crash anymore.
2020-08-30 21:25:10 +02:00
gambas
362e6ce64d The automatic width of RadioButton and CheckBox is now larger to avoid GTK+ warnings.
[GB.GTK]
* BUG: The automatic width of RadioButton and CheckBox is now larger to avoid GTK+ warnings.

[GB.GTK3]
* BUG: The automatic width of RadioButton and CheckBox is now larger to avoid GTK+ warnings.
2020-08-20 21:44:24 +02:00
gambas
ea6c2d6074 Wayland compositors and client-side decorations support.
[GB.GTK3]
* BUG: Popups now work on Wayland compositors.
* BUG: Support for client-side decorations.
2020-08-20 01:45:35 +02:00
gambas
0720b6763d Fix popup management, and save drawing context when running a style method.
[GB.GTK]
* BUG: Fix popup management.
* BUG: Save drawing context when running a style method.

[GB.GTK3]
* BUG: Fix popup management.
* BUG: Save drawing context when running a style method.
2020-08-03 02:22:02 +02:00
gambas
577fe110ba Fix keyboard and mouse grab when opening a popup.
[GB.GTK]
* BUG: Fix keyboard and mouse grab when opening a popup.

[GB.GTK3]
* BUG: Fix keyboard and mouse grab when opening a popup.
2020-08-02 21:01:36 +02:00
gambas
1783308623 Opening a popup always raise it to the pop now.
[GB.GTK]
* BUG: Opening a popup always raises it to the pop now.

[GB.GTK3]
* BUG: Opening a popup always raises it to the pop now.
2020-06-29 20:21:47 +02:00
gambas
577779961a Negative values are replaced by zero when setting Application.Busy.
[GB.GTK]
* NEW: Negative values are replaced by zero when setting Application.Busy.

[GB.GTK3]
* NEW: Negative values are replaced by zero when setting Application.Busy.

[GB.QT4]
* NEW: Negative values are replaced by zero when setting Application.Busy.

[GB.QT5]
* NEW: Negative values are replaced by zero when setting Application.Busy.
2020-06-17 18:26:08 +02:00
gambas
517fd52b20 Add Mouse.Click property and fix gb.gtk3 style methods.
[GB.GTK]
* NEW: Mouse.Click is a new property that returns the click index in a multi-click event.
* NEW: Style.Name is now lowercase.

[GB.GTK3]
* NEW: Mouse.Click is a new property that returns the click index in a multi-click event.
* NEW: Style.Name is now lowercase.
* BUG: Fix Style.PaintCheck() and Style.PaintArrow() for GTK+ >= 3.14.
2020-05-19 22:23:02 +02:00
gambas
a520d12ef4 Application.DarkTheme is a new property that returns if the current color scheme is dark.
[GB.GTK]
* NEW: Application.DarkTheme is a new property that returns if the current color scheme is dark.

[GB.GTK3]
* NEW: Application.DarkTheme is a new property that returns if the current color scheme is dark.

[GB.QT4]
* NEW: Application.DarkTheme is a new property that returns if the current color scheme is dark.

[GB.QT5]
* NEW: Application.DarkTheme is a new property that returns if the current color scheme is dark.
2020-05-18 13:23:27 +02:00
gambas
c443337973 The Window State event is correctly raised now, and the state properties are now correctly synchronized.
[GB.GTK]
* BUG: The Window State event is correctly raised now, and the state properties are now correctly synchronized.

[GB.GTK3]
* BUG: The Window State event is correctly raised now, and the state properties are now correctly synchronized.
2020-04-23 19:05:48 +02:00
gambas
ee81637c72 Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.
[GB.GTK]
* NEW: Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.

[GB.GTK3]
* NEW: Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.

[GB.QT4]
* NEW: Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.

[GB.QT5]
* NEW: Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.
2020-04-21 08:39:07 +02:00
gambas
e71c1c8e5f Printer.Paper now works as expected.
[GB.GTK]
* BUG: Printer.Paper now works as expected.

[GB.GTK3]
* BUG: Printer.Paper now works as expected.
2020-02-14 00:45:36 +01:00
gambas
ccf1491037 Fix Drag() that was returning the drag frame instead of the target control.
[GB.GTK]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.

[GB.GTK3]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.

[GB.GUI.BASE]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.

[GB.QT4]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.

[GB.QT5]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
2020-01-24 08:12:01 +01:00
gambas
da2db608bf TextBox: Add Placeholder property.
[GB.GTK]
* NEW: TextBox: Add Placeholder property. Beware that it does nothing as GTK+2 entry widget does not support placeholder text.

[GB.GTK3]
* NEW: TextBox: Add Placeholder property.

[GB.QT4]
* NEW: TextBox: Add Placeholder property.

[GB.QT5]
* NEW: TextBox: Add Placeholder property.
2020-01-24 08:08:42 +01:00
gambas
63000a27fe WAIT NEXT is a new instruction that waits for the next event and process it.
[INTERPRETER]
* NEW: WAIT NEXT is a new instruction that waits for the next event and process it.

[COMPILER]
* NEW: Support for the new WAIT NEXT instruction.

[GB.GTK]
* NEW: Support for the new WAIT NEXT instruction.

[GB.GTK3]
* NEW: Support for the new WAIT NEXT instruction.

[GB.QT4]
* NEW: Support for the new WAIT NEXT instruction.

[GB.QT5]
* NEW: Support for the new WAIT NEXT instruction.
2020-01-02 13:08:45 +01:00
gambas
4771af3b27 TextBox and TextArea KeyPress events cannot be stolen by other controls anymore.
[GB.GTK]
* BUG: TextBox and TextArea KeyPress events cannot be stolen by other controls anymore.

[GB.GTK3]
* BUG: TextBox and TextArea KeyPress events cannot be stolen by other controls anymore.
2019-12-19 08:59:55 +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
47dddd944a Do not imbricate focus events.
[GB.GTK]
* BUG: Do not imbricate focus events.

[GB.GTK3]
* BUG: Do not imbricate focus events.

[GB.QT4]
* BUG: Do not imbricate focus events.

[GB.QT5]
* BUG: Do not imbricate focus events.
2019-10-12 23:55:38 +02:00
gambas
9409b6be64 Windows whose Utility property is set now use '_NET_WM_WINDOW_TYPE_DIALOG' instead of '_NET_WM_WINDOW_TYPE_DIALOG'.
[GB.GTK]
* NEW: Windows whose Utility property is set now use '_NET_WM_WINDOW_TYPE_DIALOG' instead of '_NET_WM_WINDOW_TYPE_DIALOG'.

[GB.GTK3]
* NEW: Windows whose Utility property is set now use '_NET_WM_WINDOW_TYPE_DIALOG' instead of '_NET_WM_WINDOW_TYPE_DIALOG'.
2019-10-09 17:17:30 +02:00
gambas
8a188342ec Don't leak control reference when raising an error from a click event handler.
[GB.GTK]
* BUG: Don't leak control reference when raising an error from a click event handler.

[GB.GTK3]
* BUG: Don't leak control reference when raising an error from a click event handler.

[GB.QT]
* BUG: Don't leak control reference when raising an error from a click event handler.

[GB.QT4]
* BUG: Don't leak control reference when raising an error from a click event handler.
2019-09-17 10:12:48 +02:00
gambas
7a49f039b5 Uncatched errors raised from an event handler can be ignored now.
[INTERPRETER]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.GTK]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.GTK3]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.QT4]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.QT5]
* NEW: Uncatched errors raised from an event handler can be ignored now.
2019-09-17 10:10:36 +02:00
gambas
24c3bdcf51 Fix menu proxy management that could crash combo-box popups.
[GB.GTK]
* BUG: Fix menu proxy management that could crash combo-box popups.

[GB.GTK3]
* BUG: Fix menu proxy management that could crash combo-box popups.
2019-09-03 00:06:30 +02:00
gambas
c044148d52 Fix some memory leaks in font management.
[GB.GTK]
* BUG: Fix a memory leak when getting the size of a piece of text.

[GB.GTK3]
* BUG: Fix a memory leak in font object creation.
* BUG: Fix a memory leak when getting the size of a piece of text.
2019-09-01 00:03:36 +02:00
gambas
ad7b2a4937 Automatically set Paint.FontScale when painting on a printer, so that font size is actually the same as on the screen.
[GB.GTK]
* NEW: Automatically set Paint.FontScale when painting on a printer, so that font size is actually the same as on the screen.

[GB.GTK3]
* NEW: Automatically set Paint.FontScale when painting on a printer, so that font size is actually the same as on the screen.

[GB.QT4]
* NEW: Automatically set Paint.FontScale when painting on a printer, so that font size is actually the same as on the screen.
* BUG: Fix rich text size margins between paragraphs and titles.
* BUG: Fix rich text size computation.

[GB.QT5]
* NEW: Automatically set Paint.FontScale when painting on a printer, so that font size is actually the same as on the screen.
* BUG: Fix rich text size margins between paragraphs and titles.
* BUG: Fix rich text size computation.
2019-07-10 04:19:02 +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
e2581fb116 Control: Fix the Tooltip property.
[GB.GTK]
* BUG: Control: Fix the symbol lookup error of the Tooltip property.
* BUG: Control: Fix the Tooltip property name.

[GB.GTK3]
* BUG: Control: Fix the symbol lookup error of the Tooltip property.
* BUG: Control: Fix the Tooltip property name.
2019-06-05 10:33:39 +02:00
gambas
dd121d669f Replace the message box native implementation by a Gambas implementation.
[GB.FORM.STOCK]
* NEW: Add a 128 pixel version of the 'delete' stock icon.

[GB.GTK]
* NEW: Message: Remove the message box native implementation.

[GB.GTK3]
* NEW: Message: Remove the message box native implementation.

[GB.GUI.BASE]
* NEW: Message: Implement the message boxes entirely in Gambas.

[GB.QT4]
* NEW: Message: Remove the message box native implementation.

[GB.QT5]
* NEW: Message: Remove the message box native implementation.
2019-06-05 03:08:22 +02:00
gambas
f1ac2f553b Implement Drag.Show() in Gambas, and consequently fix it in 'gb.gtk3'.
[GB.GTK]
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
* NEW: Drag.X and Drag.Y properties are now writable.

[GB.GTK3]
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
* NEW: Drag.X and Drag.Y properties are now writable.
* BUG: Finishing a drag & drop now correclty releases the button grab.

[GB.GUI.BASE]
* NEW: GridView: The padding of column headers is at least half of Desktop.Scale.
* NEW: ScrollArea: The Scroll() method returns TRUE now if no scrolling actually occured.
* BUG: TreeView: Item X property now correctly takes the TreeView padding into account.
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.

[GB.QT4]
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
* NEW: Drag.X and Drag.Y properties are now writable.

[GB.QT5]
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
* NEW: Drag.X and Drag.Y properties are now writable.
2019-06-01 04:52:25 +02:00