Commit graph

1106 commits

Author SHA1 Message Date
gambas
cbf9a95351 The Control Lower() and Raise() methods do not trigger any Watcher anymore while temporarily showing and hiding controls.
[GB.GTK]
* BUG: The Control Lower() and Raise() methods do not trigger any Watcher anymore while temporarily showing and hiding controls.

[GB.GTK3]
* BUG: The Control Lower() and Raise() methods do not trigger any Watcher anymore while temporarily showing and hiding controls.
2021-11-07 00:31:19 +01:00
gambas
9789a7bc93 The mouse cursor type constants are now defined in the Cursor class. Add more mouse cursor constants.
[GB.GTK]
* NEW: The mouse cursor type constants are now defined in the Cursor class.
* NEW: Add more mouse cursor constants.

[GB.GTK3]
* NEW: The mouse cursor type constants are now defined in the Cursor class.
* NEW: Add more mouse cursor constants.

[GB.QT4]
* NEW: The mouse cursor type constants are now defined in the Cursor class.
* NEW: Add more mouse cursor constants.

[GB.QT5]
* NEW: The mouse cursor type constants are now defined in the Cursor class.
* NEW: Add more mouse cursor constants.
2021-10-29 16:32:38 +02:00
gambas
e8496e3c0b Make the file descriptor watches and timers priority less than the GTK+ window refresh priority.
[GB.GTK]
* BUG: Make the file descriptor watches and timers priority less than the GTK+ window refresh priority.

[GB.GTK3]
* BUG: Make the file descriptor watches and timers priority less than the GTK+ window refresh priority.
2021-10-25 00:13:04 +02:00
gambas
d97f8dd764 Fix drag and drop management, especially in GTK+ components.
[GB.GTK]
* BUG: Fix drag and drop action constants.
* BUG: The three drag and drop actions are supported now.
* BUG: The SHIFT and CONTROL key modifiers define the current drag and drop action.

[GB.GTK3]
* BUG: Fix drag and drop action constants.
* BUG: The three drag and drop actions are supported now.
* BUG: The SHIFT and CONTROL key modifiers define the current drag and drop action.

[GB.QT4]
* BUG: Fix drag and drop action constants.
* BUG: The three drag and drop actions are supported now.
* BUG: The SHIFT and CONTROL key modifiers define the current drag and drop action.

[GB.QT5]
* BUG: Fix drag and drop action constants.
* BUG: The three drag and drop actions are supported now.
* BUG: The SHIFT and CONTROL key modifiers define the current drag and drop action.
2021-10-22 21:18:45 +02:00
gambas
e5d38cb7cb Dialog.FilterIndex is a new property that returns or defines the current filter of the file dialog.
[GB.FORM.DIALOG]
* NEW: Dialog.FilterIndex is a new property that returns or defines the current filter of the file dialog.

[GB.GTK]
* NEW: Dialog.FilterIndex is a new property that returns or defines the current filter of the file dialog.

[GB.GTK3]
* NEW: Dialog.FilterIndex is a new property that returns or defines the current filter of the file dialog.

[GB.QT4]
* NEW: Dialog.FilterIndex is a new property that returns or defines the current filter of the file dialog.

[GB.QT5]
* NEW: Dialog.FilterIndex is a new property that returns or defines the current filter of the file dialog.
2021-10-11 19:31:29 +02:00
gambas
05a261b9d7 ComboBox: Close() is a new method that closes the ComboBox popup.
[GB.GTK]
* NEW: ComboBox: Close() is a new method that closes the ComboBox popup.

[GB.GTK3]
* NEW: ComboBox: Close() is a new method that closes the ComboBox popup.
2021-09-24 17:23:37 +02:00
gambas
18e56048c2 Style.PaintOption() correctly draws an option button in all cases now.
[GB.GTK3]
* BUG: Style.PaintOption() correctly draws an option button in all cases now.
2021-09-19 21:32:06 +02:00
gambas
1a3b36a3ef Fix csd size computation.
[GB.GTK]
* BUG: Fix csd size computation.

[GB.GTK3]
* BUG: Fix csd size computation.
2021-09-14 17:23:13 +02:00
gambas
2c2b7d565d Tooltip and link properties of the Color class are now writable. Fix 'Key.Backspace' property name.
[GB.GTK]
* NEW: Tooltip and link properties of the Color class are now writable. Override them if the default widget theme colors are unreadable.
* BUG: Fix 'Key.Backspace' property name.

[GB.GTK3]
* NEW: Tooltip and link properties of the Color class are now writable. Override them if the default widget theme colors are unreadable.
* BUG: Fix 'Key.Backspace' property name.

[GB.QT4]
* NEW: Tooltip and link properties of the Color class are now writable. Override them if the default widget theme colors are unreadable.
* BUG: Fix 'Key.Backspace' property name.

[GB.QT5]
* NEW: Tooltip and link properties of the Color class are now writable. Override them if the default widget theme colors are unreadable.
* BUG: Fix 'Key.Backspace' property name.
2021-08-30 18:58:34 +02:00
gambas
a89f827a39 Key.Shortcut is a new property that returns a string describing the key of a keyboard event with all its modifiers.
[GB.GTK]
* NEW: Key.Shortcut is a new property that returns a string describing the key of a keyboard event with all its modifiers.

[GB.GTK3]
* NEW: Key.Shortcut is a new property that returns a string describing the key of a keyboard event with all its modifiers.

[GB.QT4]
* NEW: Key.Shortcut is a new property that returns a string describing the key of a keyboard event with all its modifiers.

[GB.QT5]
* NEW: Key.Shortcut is a new property that returns a string describing the key of a keyboard event with all its modifiers.
2021-08-24 01:54:41 +02:00
gambas
588e192a05 Realize the window widget before trying to center it, as we need the monitor it is displayed on.
[GB.GTK]
* BUG: Realize the window widget before trying to center it, as we need the monitor it is displayed on.

[GB.GTK3]
* BUG: Realize the window widget before trying to center it, as we need the monitor it is displayed on.
2021-08-21 01:02:17 +02:00
gambas
6ffcf98d76 Modal windows are now centered before being shown.
[GB.GTK]
* BUG: Modal windows are now centered before being shown.

[GB.GTK3]
* BUG: Modal windows are now centered before being shown.
2021-08-20 16:01:30 +02:00
gambas
f7cd9542c8 'Desktop.Type' property is now implemented in 'gb.gui.base'.
[GB.GTK]
* NEW: 'Desktop.Type' property is now implemented in 'gb.gui.base'.

[GB.GTK3]
* NEW: 'Desktop.Type' property is now implemented in 'gb.gui.base'.

[GB.QT4]
* NEW: 'Desktop.Type' property is now implemented in 'gb.gui.base'.

[GB.QT5]
* NEW: 'Desktop.Type' property is now implemented in 'gb.gui.base'.
2021-08-18 21:53:06 +02:00
gambas
7fddd745ff Fix mouse cursor management.
[GB.GTK]
* BUG: Fix mouse cursor management.

[GB.GTK3]
* BUG: Fix mouse cursor management.
2021-08-11 05:55:41 +02:00
gambas
a2a04eebf2 Fix popup menu behaviour.
[GB.GTK]
* BUG: Make popup menu event behave the same way as in Qt components.
* BUG: Menu.Popup() now works correctly the opened menu is not defined in the window of the click event.

[GB.GTK3]
* BUG: Make popup menu event behave the same way as in Qt components.
* BUG: Menu.Popup() now works correctly the opened menu is not defined in the window of the click event.
2021-08-08 00:01:01 +02:00
gambas
45b3e17525 Fix Font.RichTextSize().
[GB.GTK]
* BUG: Fix Font.RichTextSize().

[GB.GTK3]
* BUG: Fix Font.RichTextSize().
2021-07-24 23:48:11 +02:00
gambas
84443eafd9 Rich text support for '<pre>' markup. Fix rich text paragraph and title line breaks.
[GB.GTK]
* NEW: Rich text support for '<pre>' markup.
* BUG: Fix rich text paragraph and title line breaks.

[GB.GTK3]
* NEW: Rich text support for '<pre>' markup.
* BUG: Fix rich text paragraph and title line breaks.
2021-07-23 01:35:11 +02:00
gambas
c614b57bdd Fix automatic default focus control for newly opened windows.
[GB.GTK]
* BUG: Fix automatic default focus control for newly opened windows.
* BUG: Fix next control focus routine.

[GB.GTK3]
* BUG: Fix automatic default focus control for newly opened windows.
* BUG: Fix next control focus routine.
2021-07-14 04:38:10 +02:00
gambas
dbded52066 Fix keyboard management, and windows cannot have focus anymore on click.
[GB.GTK]
* BUG: Fix keyboard event management for command keys like DEL that have a text associated with.
* BUG: Windows cannot have focus anymore on click.

[GB.GTK3]
* BUG: Fix keyboard event management for command keys like DEL that have a text associated with.
* BUG: Windows cannot have focus anymore on click.
2021-07-10 04:27:42 +02:00
gambas
c6ed9848ad Fix propagation of keyboard events when the focused widget is not realized.
[GB.GTK]
* BUG: Fix propagation of keyboard events when the focused widget is not realized.

[GB.GTK3]
* BUG: Fix propagation of keyboard events when the focused widget is not realized.
2021-07-07 19:02:45 +02:00
gambas
d8cb1ad28d Do not raise keyboard event on the form twice if no control handled it.
[GB.GTK]
* BUG: Do not raise keyboard event on the form twice if no control handled it.

[GB.GTK3]
* BUG: Do not raise keyboard event on the form twice if no control handled it.
2021-06-28 20:11:59 +02:00
gambas
0cd8bb60c8 Fix Menu.Popup() when popup global coordinates are specified.
[GB.GTK3]
* BUG: Fix Menu.Popup() when popup global coordinates are specified.
2021-06-28 03:11:42 +02:00
gambas
5f8a8861a1 Fix control restacking.
[GB.GTK]
* BUG: Fix control restacking.

[GB.GTK3]
* BUG: Fix control restacking.
2021-06-25 19:00:43 +02:00
gambas
dedf7e17fe Style.BackgroundOf() method is now reliable.
[GB.GTK]
* BUG: Style.BackgroundOf() method is now reliable.

[GB.GTK3]
* BUG: Style.BackgroundOf() method is now reliable.

[GB.QT4]
* BUG: Style.BackgroundOf() method is now reliable.

[GB.QT5]
* BUG: Style.BackgroundOf() method is now reliable.
2021-06-25 12:21:33 +02:00
gambas
cd6fb03bf7 Forgot to define the 'Key.AltGrKey' symbol.
[GB.GTK]
* BUG: Forgot to define the 'Key.AltGrKey' symbol.

[GB.GTK3]
* BUG: Forgot to define the 'Key.AltGrKey' symbol.
2021-06-25 12:17:27 +02:00
gambas
36f1ab168f Popup menus should not sometimes close immediately anymore when the mouse button is released.
[GB.GTK3]
* BUG: Popup menus should not sometimes close immediately anymore when the mouse button is released.
2021-06-22 21:41:03 +02:00
gambas
35a5f54bda Fix focus management of windows and activation of embedded windows.
[GB.GTK]
* BUG: Fix focus management of windows.
* BUG: Activate embedded windows on show.

[GB.GTK3]
* BUG: Fix focus management of windows.
* BUG: Activate embedded windows on show.
2021-06-17 11:13:16 +02:00
gambas
41bd7aa6fc Style.PaintButton() now can take a background color as optional argument.
[GB.GTK]
* NEW: Style.PaintButton() now can take a background color as optional argument.

[GB.GTK3]
* NEW: Style.PaintButton() now can take a background color as optional argument.

[GB.QT4]
* NEW: Style.PaintButton() now can take a background color as optional argument.

[GB.QT5]
* NEW: Style.PaintButton() now can take a background color as optional argument.
2021-06-16 01:50:07 +02:00
gambas
8a191771ec Fix Mouse.Button and Mouse.State, especially for mouses having more than 3 buttons.
[GB.GTK]
* BUG: Now Mouse.Button returns the button number, between 1 and 5.
* BUG: Mouse.State returns the same thing as with Qt components, except that apparently GTK+ cannot tell if button 4 and 5 are pressed all the time.

[GB.GTK3]
* BUG: Now Mouse.Button returns the button number, between 1 and 5.
* BUG: Mouse.State returns the same thing as with Qt components, except that apparently GTK+ cannot tell if button 4 and 5 are pressed all the time.

[GB.QT4]
* BUG: Now Mouse.Button returns the button number, between 1 and 5.

[GB.QT5]
* BUG: Now Mouse.Button returns the button number, between 1 and 5.
2021-06-10 02:10:09 +02:00
gambas
c448acd69e TextBox & ComboBox now raise a Cursor event when the cursor moves.
[GB.GTK]
* NEW: TextBox & ComboBox now raise a Cursor event when the cursor moves.

[GB.GTK3]
* NEW: TextBox & ComboBox now raise a Cursor event when the cursor moves.

[GB.QT4]
* NEW: TextBox & ComboBox now raise a Cursor event when the cursor moves.

[GB.QT5]
* NEW: TextBox & ComboBox now raise a Cursor event when the cursor moves.
2021-06-04 20:26:16 +02:00
gambas
883a209061 Clipboard: Always replace "text/plain" format by "text/plain;charset=utf-8" when pasting.
[GB.GTK]
* BUG: Clipboard: Always replace "text/plain" format by "text/plain;charset=utf-8" when pasting.

[GB.GTK3]
* BUG: Clipboard: Always replace "text/plain" format by "text/plain;charset=utf-8" when pasting.
2021-05-14 01:18:01 +02:00
gambas
28d5ee1c74 The workaround of Pango markup bug makes lines disappear with recent versions of Pango, so remove it.
[GB.GTK]
* BUG: The workaround of Pango markup bug makes lines disappear with recent versions of Pango, so remove it.
* BUG: Font.RichTextSize() now uses the same algorithm as Font.TextSize().

[GB.GTK3]
* BUG: The workaround of Pango markup bug makes lines disappear with recent versions of Pango, so remove it.
* BUG: Font.RichTextSize() now uses the same algorithm as Font.TextSize().
2021-05-11 21:32:07 +02:00
gambas
6720d87855 Take focus into account when drawing TextArea border, and workaround many drawing warnings.
[GB.GTK3]
* BUG: TextArea: Take focus into account when drawing the border.
* BUG: Workaround many drawing warnings in Slider, CheckBox and RadioButton.
2021-05-11 03:48:24 +02:00
gambas
cd4e60eddf TextArea: Add a padding proportional to the font height.
[GB.GTK]
* NEW: TextArea: Add a padding proportional to the font height.

[GB.GTK3]
* NEW: TextArea: Add a padding proportional to the font height.

[GB.QT4]
* NEW: TextArea: Add a padding proportional to the font height.

[GB.QT5]
* NEW: TextArea: Add a padding proportional to the font height.
2021-05-11 03:47:04 +02:00
gambas
aaf05b7c96 Automatic container resize now takes the arrangement of the parent of the container into account.
[GB.GTK]
* BUG: Automatic container resize now takes the arrangement of the parent of the container into account.

[GB.GTK3]
* BUG: Automatic container resize now takes the arrangement of the parent of the container into account.

[GB.QT4]
* BUG: Automatic container resize now takes the arrangement of the parent of the container into account.

[GB.QT5]
* BUG: Automatic container resize now takes the arrangement of the parent of the container into account.
2021-05-08 20:52:31 +02:00
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
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