Commit graph

1039 commits

Author SHA1 Message Date
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