Commit graph

1006 commits

Author SHA1 Message Date
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
gambas
91b7a446d0 TextBox minimum size is correctly updated when its Border property changes.
[GB.GTK3]
* BUG: TextBox minimum size is correctly updated when its Border property changes.
2021-01-27 03:26:32 +01:00
gambas
4e13955aff Fixes in stylesheet management.
[GB.GTK3]
* BUG: Make stylesheet global, so that styling sub-node work everytime.
* BUG: Don't unref null style contexts on theme change.
* NEW: Don't hide background of borderless TextBox and ComboBox.
2021-01-27 00:27:26 +01:00
gambas
85b963e304 DrawingArea: drawing is clipped by the control border now.
[GB.GTK3]
* BUG: DrawingArea: drawing is clipped by the control border now.
2021-01-26 22:31:56 +01:00
gambas
be333d5cf3 TextArea.Background works again.
[GB.GTK3]
* BUG: TextArea.Background works again.
2021-01-26 07:06:32 +01:00
gambas
764e748147 Fix control stylesheet management.
[GB.GTK3]
* BUG: Fix control stylesheet management.
2021-01-24 00:55:00 +01:00
gambas
f588c83fda PictureBox now uses the new UserControl Draw pseudo-event and Frame container in now implemented in Gambas.
[GB.DRAW]
* NEW: Add PaintExtents W and H properties as synonymous of Width and Height.

[GB.GUI.BASE]
* NEW: PictureBox now uses the new UserControl Draw pseudo-event.
* NEW: Frame container in now implemented in Gambas.

[GB.GTK]
* NEW: Frame container in now implemented in Gambas.
* BUG: Style drawing routines now work correctly on UserControl.

[GB.GTK3]
* NEW: Frame container in now implemented in Gambas.

[GB.QT4]
* NEW: Frame container in now implemented in Gambas.

[GB.QT5]
* NEW: Frame container in now implemented in Gambas.
* BUG: Do not activate windows on Wayland, this is not supported.
2021-01-23 23:30:36 +01:00
gambas
bc170a2317 UserControl now can paint itself through a UserControl_Draw method.
[GB.GTK]
* NEW: UserControl now can paint itself through a UserControl_Draw method.

[GB.GTK3]
* NEW: UserControl now can paint itself through a UserControl_Draw method.
* BUG: Remove debugging message.

[GB.GUI.BASE]
* NEW: Separator: Use the new painting pseudo-event of UserControl.

[GB.QT4]
* NEW: UserControl now can paint itself through a UserControl_Draw method.

[GB.QT5]
* NEW: UserControl now can paint itself through a UserControl_Draw method.
2021-01-23 02:44:46 +01:00
gambas
b4ab1027d8 Separator is now a Gambas-made control.
[GB.GTK]
* NEW: Remove Separator control.
* BUG: Fix minimum size computation.

[GB.GTK3]
* NEW: Remove Separator control.
* BUG: Fix minimum size computation.

[GB.GUI.BASE]
* NEW: Separator is now a Gambas-made control.

[GB.QT4]
* NEW: Remove Separator control.

[GB.QT5]
* NEW: Remove Separator control.
2021-01-22 23:53:27 +01:00
gambas
19822c4923 Fix initial window size for windows having menus.
[GB.GTK3]
* BUG: Fix initial window size for windows having menus.
2021-01-22 15:39:57 +01:00
gambas
f3e882681c Fix Control ScreenX and ScreenY properties again.
[GB.GTK]
* BUG: Fix Control ScreenX and ScreenY properties again.

[GB.GTK3]
* BUG: Fix Control ScreenX and ScreenY properties again.
2021-01-22 15:20:55 +01:00
gambas
6669ab0011 Remove stylesheet debugging message.
[GB.GTK3]
* BUG: Remove stylesheet debugging message.
2021-01-22 09:24:49 +01:00
gambas
548eb8498e Many fixes related to Wayland support.
[GB.GTK]
* BUG: Fix Window.Background property behavior.
* BUG: Fix Control ScreenX and ScreenY properties.
* BUG: Fix Slider and ScrollBar resize behavior.

[GB.GTK3]
* BUG: Fix Window.Background property behavior.
* BUG: Remove useless control variables.
* BUG: Fix Control ScreenX and ScreenY properties.
* BUG: Don't use CSS for the background color of controls that do not need it.
* BUG: Fix Slider and ScrollBar resize behavior.
2021-01-22 08:58:45 +01:00
gambas
6d87ae2df8 Merge branch 'master' of https://gitlab.com/gambas/gambas 2021-01-21 02:41:26 +01:00
gambas
ead0304aa7 Update control style sheet only if the control is visible.
[GB.GTK]
* BUG: Resizing a control now take the minimum size into account.

[GB.GTK3]
* OPT: Update control style sheet only if the control is visible.
* BUG: Resizing a control now take the minimum size into account.
2021-01-21 02:39:10 +01:00
gambas
85f750dfca Screen.ResolutionX and Screen.ResolutionY are two new properties that return the resolution of a screen.
[GB.GTK]
* NEW: Screen.ResolutionX and Screen.ResolutionY are two new properties that return the resolution of a screen.

[GB.GTK3]
* NEW: Screen.ResolutionX and Screen.ResolutionY are two new properties that return the resolution of a screen.

[GB.QT4]
* NEW: Screen.ResolutionX and Screen.ResolutionY are two new properties that return the resolution of a screen.

[GB.QT5]
* NEW: Screen.ResolutionX and Screen.ResolutionY are two new properties that return the resolution of a screen.
2021-01-21 02:35:08 +01:00