Commit graph

1021 commits

Author SHA1 Message Date
gambas
25edb08f68 The GTK+3 GLArea control now works, by forcing the legacy mode.
[GB.GTK3.OPENGL]
* BUG: GLArea: Force legacy mode (OpenGL < 3.2), unless the 'GDK_GL' environment variale is already defined.
* BUG: GlArea: The control can now take the focus.
2021-05-02 00:31:54 +02:00
gambas
28ce6efc4c Don't remove file descriptors watches in the 'quit' hook to behave like Qt components.
[GB.GTK]
* BUG: Don't remove file descriptors watches in the 'quit' hook to behave like Qt components.

[GB.GTK3]
* BUG: Don't remove file descriptors watches in the 'quit' hook to behave like Qt components.
2021-04-30 00:33:20 +02:00
gambas
23531c339f Remove a forgotten debugging breakpoint that made reading Key properties crash when there is no keyboard event data.
[GB.GTK]
* BUG: Remove a forgotten debugging breakpoint that made reading Key properties crash when there is no keyboard event data.

[GB.GTK3]
* BUG: Remove a forgotten debugging breakpoint that made reading Key properties crash when there is no keyboard event data.
2021-04-29 13:15:06 +02:00
gambas
7c87764c29 Window: Reparenting a window now keeps the title and the enabled state correctly.
[GB.GTK]
* BUG: Window: Reparenting a window now keeps the title and the enabled state correctly.

[GB.GTK3]
* BUG: Window: Reparenting a window now keeps the title and the enabled state correctly.
2021-04-27 09:22:33 +02:00
gambas
8fb4c37fcd Some deferred arrangements were useless, don't do them.
[GB.GTK]
* BUG: Some deferred arrangements were useless, don't do them.

[GB.GTK3]
* BUG: Some deferred arrangements were useless, don't do them.
2021-04-19 14:06:49 +02:00
gambas
4a4c75e55b Fix deferred arrangement because of a weird GTK+3 behaviour.
[GB.GTK]
* BUG: Fix deferred arrangement because of a weird GTK+3 behaviour.

[GB.GTK3]
* BUG: Fix deferred arrangement because of a weird GTK+3 behaviour.
2021-04-18 23:43:22 +02:00
gambas
b95ff408cd Focus navigation works again.
[GB.GTK]
* BUG: Focus navigation works again.

[GB.GTK3]
* BUG: Focus navigation works again.
2021-04-16 04:24:22 +02:00
gambas
999b9eb910 ComboBox: Fix setFocus() method.
[GB.GTK]
* BUG: ComboBox: Fix setFocus() method.

[GB.GTK3]
* BUG: ComboBox: Fix setFocus() method.
2021-04-14 16:02:21 +02:00
gambas
b67f3752f9 Fix arrangement, and ignore internal focus moves that do not target the official active control.
[GB.GTK]
* BUG: Arrangement now behaves almost exactly like in QT components.
* BUG: Controls cannot have a zero size anymore. It does not work.
* BUG: Ignore internal focus moves that do not target the official active control.

[GB.GTK3]
* BUG: Arrangement now behaves almost exactly like in QT components.
* BUG: DrawingArea: Correctly restore drawing context when an error is raised during the 'Draw' event handler.
* BUG: Controls cannot have a zero size anymore. It does not work.
* BUG: Ignore internal focus moves that do not target the official active control.
2021-04-07 03:30:49 +02:00
gambas
6235f7263d Do not lose control focus when the control is temporarily hidden because it is too small or being restacked.
[GB.GTK]
* BUG: Do not lose control focus when the control is temporarily hidden because it is too small or being restacked.

[GB.GTK3]
* BUG: Do not lose control focus when the control is temporarily hidden because it is too small or being restacked.
2021-04-05 23:10:19 +02:00
gambas
f4d89af3ce Do not propagate key events if the target widget has been unrealized.
[GB.GTK]
* BUG: Do not propagate key events if the target widget has been unrealized.

[GB.GTK3]
* BUG: Do not propagate key events if the target widget has been unrealized.
2021-04-05 14:08:32 +02:00
gambas
dd16ccc824 Fix minimum widget size management.
[GB.GTK3]
* BUG: Fix minimum widget size management.
2021-03-30 20:51:23 +02:00
gambas
9dd1ec0a47 WAIT instruction now processes all pending events.
[GB.GTK]
* BUG: WAIT instruction now processes all pending events.
2021-03-30 13:16:58 +02:00
gambas
ec0fa24a64 Fix menu delayed deletion.
[GB.GTK]
* BUG: Fix menu delayed deletion.

[GB.GTK3]
* BUG: Fix menu delayed deletion.
2021-03-29 00:58:46 +02:00
gambas
ac60e5e43e Hide control before marking it destroyed, otherwise we may arrange an invalid object.
[GB.GTK]
* BUG: Hide control before marking it destroyed, otherwise we may arrange an invalid object.

[GB.GTK3]
* BUG: Hide control before marking it destroyed, otherwise we may arrange an invalid object.
2021-03-20 16:44:22 +01:00
gambas
79765ceb1c Fix declaration of ScrollBar.DefaultSize property.
[GB.GTK]
* BUG: Fix declaration of ScrollBar.DefaultSize property.

[GB.GTK3]
* BUG: Fix declaration of ScrollBar.DefaultSize property.
2021-03-18 17:21:38 +01:00
gambas
247722000b Initial widget size is always taken into account event if the parent arrange its contents.
[GB.GTK]
* BUG: Initial widget size is always taken into account event if the parent arrange its contents.

[GB.GTK3]
* BUG: Initial widget size is always taken into account event if the parent arrange its contents.

[GB.QT4]
* BUG: Initial widget size is always taken into account event if the parent arrange its contents.

[GB.QT5]
* BUG: Initial widget size is always taken into account event if the parent arrange its contents.
2021-03-16 18:31:44 +01:00
gambas
931a87b1b7 Control.Resize() now correctly arrange parent even if the control was too small to be visible.
[GB.GTK3]
* BUG: Control.Resize() now correctly arrange parent even if the control was too small to be visible.
2021-03-16 13:00:29 +01:00
gambas
08048012e0 When opening a modal dialog or a popup while a mouse button is pressed, generate a fake MouseUp event because the true one is eaten by the modal dialog or the popup.
[GB.GTK]
* BUG: When opening a modal dialog or a popup while a mouse button is pressed, generate a fake MouseUp event because the true one is eaten by the modal dialog or the popup.

[GB.GTK3]
* BUG: When opening a modal dialog or a popup while a mouse button is pressed, generate a fake MouseUp event because the true one is eaten by the modal dialog or the popup.

[GB.QT4]
* BUG: When opening a modal dialog or a popup while a mouse button is pressed, generate a fake MouseUp event because the true one is eaten by the modal dialog or the popup.

[GB.QT5]
* BUG: When opening a modal dialog or a popup while a mouse button is pressed, generate a fake MouseUp event because the true one is eaten by the modal dialog or the popup.
2021-03-14 22:26:13 +01:00
gambas
ab9148414b Recompute font height when the Bold or Italic properties change too.
[GB.GTK]
* BUG: Recompute font height when the Bold or Italic properties change too.

[GB.GTK3]
* BUG: Recompute font height when the Bold or Italic properties change too.
2021-03-12 03:47:12 +01:00
gambas
91996df3fc Showing or hiding a control does not trigger a parent arrangement if the Ignore property was set.
[GB.GTK]
* BUG: Showing or hiding a control does not trigger a parent arrangement if the Ignore property was set.

[GB.GTK3]
* BUG: Showing or hiding a control does not trigger a parent arrangement if the Ignore property was set.
2021-03-10 15:50:17 +01:00
gambas
e13afca718 Control.NoTabFocus now correctly handle proxies.
[GB.GTK]
* BUG: Control.NoTabFocus now correctly handle proxies.

[GB.GTK3]
* BUG: Control.NoTabFocus now correctly handle proxies.
2021-03-09 14:14:42 +01:00
gambas
e8dd753abc DragLeave event is now always raised before entering another drop target.
[GB.GTK]
* BUG: DragLeave event is now always raised before entering another drop target.

[GB.GTK3]
* BUG: DragLeave event is now always raised before entering another drop target.
2021-03-09 01:38:04 +01:00
gambas
dafc24b435 Support for fonts whose name is made of digits only.
[GB.GTK]
* BUG: Support for fonts whose name is made of digits only. In that case, the family name in Font string representation must be enclosed with double quotes.

[GB.GTK3]
* BUG: Support for fonts whose name is made of digits only. In that case, the family name in Font string representation must be enclosed with double quotes.

[GB.QT4]
* BUG: Support for fonts whose name is made of digits only. In that case, the family name in Font string representation must be enclosed with double quotes.

[GB.QT5]
* BUG: Support for fonts whose name is made of digits only. In that case, the family name in Font string representation must be enclosed with double quotes.
2021-03-08 20:12:59 +01:00
gambas
768a928dd3 UserControl: Support for the 'Change' pseudo event. Use the new GB_FUNCTION structure to optimize support of UserControl_* pseudo event handlers.
[GB.GTK]
* NEW: UserControl: Support for the 'Change' pseudo event.
* OPT: UserControl: Use the new GB_FUNCTION structure to optimize support of UserControl_* pseudo event handlers.

[GB.GTK3]
* NEW: UserControl: Support for the 'Change' pseudo event.
* OPT: UserControl: Use the new GB_FUNCTION structure to optimize support of UserControl_* pseudo event handlers.

[GB.QT4]
* NEW: UserControl: Support for the 'Change' pseudo event.
* OPT: UserControl: Use the new GB_FUNCTION structure to optimize support of UserControl_* pseudo event handlers.

[GB.QT5]
* NEW: UserControl: Support for the 'Change' pseudo event.
* OPT: UserControl: Use the new GB_FUNCTION structure to optimize support of UserControl_* pseudo event handlers.
2021-03-08 00:02:32 +01:00
gambas
12e5d9a79d Don't use a recent GLib API that is actually not needed.
[GB.GTK]
* BUG: Don't use a recent GLib API that is actually not needed.

[GB.GTK3]
* BUG: Don't use a recent GLib API that is actually not needed.
2021-03-07 21:12:11 +01:00
gambas
87ed822b2b Fix deferred control deletion.
[GB.GTK]
* BUG: Fix deferred control deletion.

[GB.GTK3]
* BUG: Fix deferred control deletion.
2021-03-06 23:42:49 +01:00
gambas
f0094e7f68 Fix DrawingArea and UserControl painting on 'gb.gtk'.
[GB.GTK]
* BUG: Fix DrainwgArea and UserControl painting again.

[GB.GTK3]
* OPT: Don't use css stylesheets on containers having no child that draw nothing by themselves.
2021-03-06 13:17:35 +01:00
gambas
aefee813e2 Add CheckBox and RadioButton Invert property. Fix resize against arrangement and GTK painting on DrawingArea and UserControl.
[GB.GTK]
* BUG: Fix DrawingArea and UserControl painting.
* NEW: CheckBox.Invert is a new property that put the check mark on the other side.
* NEW: RadioButton.Invert is a new property that put the radio button on the other side.
* NEW: Font.TextSize() is a new method that returns the text width and height as a rectangle.
* NEW: Font.RichTextSize() is a new method that returns the rich text width and height as a rectangle.
* BUG: Font.RichTextWidth() now takes a width optional argument like RichTextHeight().
* OPT: Control resize now ignores new width or height if its container constraints it.

[GB.GTK3]
* NEW: CheckBox.Invert is a new property that put the check mark on the other side.
* NEW: RadioButton.Invert is a new property that put the radio button on the other side.
* NEW: Font.TextSize() is a new method that returns the text width and height as a rectangle.
* NEW: Font.RichTextSize() is a new method that returns the rich text width and height as a rectangle.
* BUG: Font.RichTextWidth() now takes a width optional argument like RichTextHeight().
* OPT: Control resize now ignores new width or height if its container constraints it.

[GB.QT4]
* NEW: CheckBox.Invert is a new property that put the check mark on the other side.
* NEW: RadioButton.Invert is a new property that put the radio button on the other side.
* NEW: Font.TextSize() is a new method that returns the text width and height as a rectangle.
* NEW: Font.RichTextSize() is a new method that returns the rich text width and height as a rectangle.
* BUG: Font.RichTextWidth() now takes a width optional argument like RichTextHeight().
* OPT: Control resize now ignores new width or height if its container constraints it.

[GB.QT5]
* NEW: CheckBox.Invert is a new property that put the check mark on the other side.
* NEW: RadioButton.Invert is a new property that put the radio button on the other side.
* NEW: Font.TextSize() is a new method that returns the text width and height as a rectangle.
* NEW: Font.RichTextSize() is a new method that returns the rich text width and height as a rectangle.
* BUG: Font.RichTextWidth() now takes a width optional argument like RichTextHeight().
* OPT: Control resize now ignores new width or height if its container constraints it.
2021-03-06 13:17:35 +01:00
gambas
250d91a7a8 Fix a crash in UserControl_Font() management.
[GB.GTK]
* BUG: Fix a crash in UserControl_Font() management.

[GB.GTK3]
* BUG: Fix a crash in UserControl_Font() management.
2021-03-06 13:17:35 +01:00
gambas
d65bd209d3 Remove Label and TextLabel controls. Support for UserControl_Font() handler. Some text size computation fixes.
[GB.GTK]
* NEW: Remove Label and TextLabel controls.
* NEW: Call UserControl_Font() handler when the UserControl font changes.
* BUG: Font size computation takes into account Pango ink rectangle.

[GB.GTK3]
* NEW: Remove Label and TextLabel controls.
* NEW: Call UserControl_Font() handler when the UserControl font changes.
* BUG: Font size computation takes into account Pango ink rectangle.

[GB.QT4]
* NEW: Remove Label and TextLabel controls.
* NEW: Call UserControl_Font() handler when the UserControl font changes.
* BUG: Border drawing routine now preserves paint color.
* BUG: All Paint text routines now workaround the font assignment bug.

[GB.QT5]
* NEW: Remove Label and TextLabel controls.
* NEW: Call UserControl_Font() handler when the UserControl font changes.
* BUG: Border drawing routine now preserves paint color.
* BUG: All Paint text routines now workaround the font assignment bug.
2021-03-06 13:17:35 +01:00
gambas
cd4d969024 Fix Label and TextLabel size computation when AutoResize is set.
[GB.GTK]
* BUG: Fix Label and TextLabel size computation when AutoResize is set.

[GB.GTK3]
* BUG: Fix Label and TextLabel size computation when AutoResize is set.
2021-03-06 13:17:35 +01:00
gambas
e0132ab1f2 Fix control enumerations.
[GB.GTK]
* BUG: Fix enumeration of all application controls.
* BUG: Fix enumeration of the controls of a specific window.

[GB.GTK3]
* BUG: Fix enumeration of all application controls.
* BUG: Fix enumeration of the controls of a specific window.
2021-03-06 13:17:35 +01:00
gambas
fcb0799e34 Window layout management now should work both on X11 and Wayland.
[GB.GTK]
* BUG: Window layout management now should work both on X11 and Wayland.

[GB.GTK3]
* BUG: Window layout management now should work both on X11 and Wayland.
2021-03-06 13:17:35 +01:00
gambas
3d3fff17f7 Start to rework top-level window layout management.
[GB.GTK]
* BUG: Start to rework top-level window layout management.

[GB.GTK3]
* BUG: Start to rework top-level window layout management.
2021-03-06 13:17:35 +01:00
gambas
e08783e6b9 Remove some specific support for client-side decoration. It broke window arrangement.
[GB.GTK3]
* BUG: Remove some specific support for client-side decoration. It broke window arrangement.
2021-03-06 13:17:35 +01:00
gambas
693854a8d5 Fix management of default minimum size of modal and utility windows.
[GB.GTK]
* BUG: Fix management of default minimum size of modal and utility windows.

[GB.GTK3]
* BUG: Fix management of default minimum size of modal and utility windows.

[GB.QT4]
* BUG: Fix management of default minimum size of modal and utility windows.

[GB.QT5]
* BUG: Fix management of default minimum size of modal and utility windows.
2021-02-24 16:21:41 +01:00
gambas
d900937949 Add an Orientation property to ScrollBar and Sldider that allows to define the orientation explicitly.
[GB.FORM]
* NEW: SliderBox: Use the new Slider.Orientation property.

[GB.GUI.BASE]
* NEW: ScrollArea: Use the new ScrollBar.Orientation property.

[GB.GTK]
* NEW: ScrollBar: Add orientation constants.
* NEW: ScrollBar: Orientation is a new property that allows to define the orientation explicitly.
* NEW: Slider: Orientation is a new property that allows to define the orientation explicitly.

[GB.GTK3]
* NEW: ScrollBar: Add orientation constants.
* NEW: ScrollBar: Orientation is a new property that allows to define the orientation explicitly.
* NEW: Slider: Orientation is a new property that allows to define the orientation explicitly.

[GB.QT4]
* NEW: ScrollBar: Add orientation constants.
* NEW: ScrollBar: Orientation is a new property that allows to define the orientation explicitly.
* NEW: Slider: Orientation is a new property that allows to define the orientation explicitly.

[GB.QT5]
* NEW: ScrollBar: Add orientation constants.
* NEW: ScrollBar: Orientation is a new property that allows to define the orientation explicitly.
* NEW: Slider: Orientation is a new property that allows to define the orientation explicitly.
2021-02-22 14:54:52 +01:00
gambas
473f392e65 Compute font height in a way compatible with older versions of Pango.
[GB.GTK]
* BUG: Compute font height in a way compatible with older versions of Pango.

[GB.GTK3]
* BUG: Compute font height in a way compatible with older versions of Pango.
2021-02-15 23:55:13 +01:00
gambas
0bf1ba17a6 Don't hide TextBox or TextArea internal window if the control has the focus.
[GB.GTK]
* BUG: Font.TextHeight() now works the same way as in Qt components.

[GB.GTK3]
* BUG: Font.TextHeight() now works the same way as in Qt components.
* BUG: Don't hide TextBox or TextArea internal window if the control has the focus.
2021-02-15 22:01:10 +01:00
gambas
858f9f7509 TextLabel: Setting a custom font does not erase markups anymore.
[GB.GTK]
* BUG: TextLabel: Setting a custom font does not erase markups anymore.

[GB.GTK3]
* BUG: TextLabel: Setting a custom font does not erase markups anymore.
2021-02-15 19:48:29 +01:00
gambas
076fa9d027 Fix Design property management for controls inserted inside UserContainer.
[GB.GTK]
* BUG: Fix Design property management for controls inserted inside UserContainer.

[GB.GTK3]
* BUG: Fix Design property management for controls inserted inside UserContainer.

[GB.QT4]
* BUG: Fix Design property management for controls inserted inside UserContainer.

[GB.QT5]
* BUG: Fix Design property management for controls inserted inside UserContainer.
2021-02-07 23:28:13 +01:00
gambas
b011b976f3 Container: Fix ClientWidth and ClientHeight computation.
[GB.GTK3]
* BUG: Container: Fix ClientWidth and ClientHeight computation.
2021-02-05 22:56:17 +01:00
gambas
2980bef452 Window: MinWidth and MinHeight are two new properties that allow to define the minimum size of a resizable window.
[GB.GTK]
* NEW: Window: MinWidth and MinHeight are two new properties that allow to define the minimum size of a resizable window.

[GB.GTK3]
* NEW: Window: MinWidth and MinHeight are two new properties that allow to define the minimum size of a resizable window.

[GB.QT4]
* NEW: Window: MinWidth and MinHeight are two new properties that allow to define the minimum size of a resizable window.

[GB.QT5]
* NEW: Window: MinWidth and MinHeight are two new properties that allow to define the minimum size of a resizable window.
2021-02-03 23:21:54 +01:00
gambas
ad6b4f158b Radio menu are correctly managed now.
[GB.GTK]
* BUG: Radio menu are correctly managed now.

[GB.GTK3]
* BUG: Radio menu are correctly managed now.
2021-02-03 18:54:43 +01:00
gambas
3bbb6154c4 Closing a window during the Open event now works like in Qt. Do not post window resize events, because the window can be destroyed in the meantime.
[GB.GTK]
* BUG: Do not post window resize events, because the window can be destroyed in the meantime.
* BUG: Closing a window during the Open event now works like in Qt.

[GB.GTK3]
* BUG: Do not post window resize events, because the window can be destroyed in the meantime.
* BUG: Closing a window during the Open event now works like in Qt.
2021-02-02 00:33:40 +01:00
gambas
856a15a7a9 Fix a crash occuring if a container loses one of its children while arranging them.
[GB.GTK]
* BUG: Fix a crash occuring if a container loses one of its children while arranging them.

[GB.GTK3]
* BUG: Fix a crash occuring if a container loses one of its children while arranging them.
2021-02-01 21:46:22 +01:00
gambas
6156d141bd TextArea: Fix minimum size when scrollbars are disabled.
[GB.GTK]
* BUG: TextArea: Fix minimum size when scrollbars are disabled.

[GB.GTK3]
* BUG: TextArea: Fix minimum size when scrollbars are disabled.
2021-02-01 20:03:42 +01:00
gambas
14816c68c1 Fix management of Enter and Leave events.
[GB.GTK]
* BUG: Fix management of Enter and Leave events.

[GB.GTK3]
* BUG: Fix management of Enter and Leave events.
2021-01-31 19:28:07 +01:00
gambas
16f7a0cb8b Centered is a new container property that centered its contents. Many GTK fixes.
[GB.GTK]
* NEW: Centered is a new container property that centered its contents. It works for horizontal, vertical and fill arrangement only.
* BUG: Setting Application.Font to NULL now resets the default font.
* BUG: Resizable utility windows now have a minimum size like QT components.

[GB.GTK3]
* NEW: Centered is a new container property that centered its contents. It works for horizontal, vertical and fill arrangement only.
* BUG: Setting Application.Font to NULL now resets the default font.
* OPT: Setting Application.Font now is almost instantaneous.
* BUG: Editable combo-boxes having a small width now behave correctly.
* BUG: Resizable utility windows now have a minimum size like QT components.
* BUG: Read-only combo-boxes do not have inner vertical padding anymore.

[GB.QT4]
* NEW: Centered is a new container property that centered its contents. It works for horizontal, vertical and fill arrangement only.

[GB.QT5]
* NEW: Centered is a new container property that centered its contents. It works for horizontal, vertical and fill arrangement only.
* BUG: Fix TextArea background.
2021-01-28 02:46:00 +01:00