Commit graph

1063 commits

Author SHA1 Message Date
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
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
a818e2b3da Remove Label and TextLabel source files from 'Makefile.am'.
[GB.QT4]
* BUG: Remove Label and TextLabel source files from 'Makefile.am'.
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
439af29083 TrayIcon: The Picture property kind is now "Picture:NoCache" so that the trayicon icon is not modified when the current theme is dark.
[GB.GUI.TRAYICON]
* NEW: TrayIcon: The Picture property kind is now "Picture:NoCache" so that the trayicon icon is not modified when the current theme is dark.
2021-03-06 13:17:35 +01:00
gambas
aa7c7733cc TextArea: Setting background and foreground colors now should work correctly in all cases.
[GB.QT4]
* BUG: TextArea: Setting background and foreground colors now should work correctly in all cases.

[GB.QT5]
* BUG: TextArea: Setting background and foreground colors now should work correctly in all cases.
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
01ba16656b Fix Font.TextHeight implementation that checked incorrectly for optional arguments.
[GB.QT4]
* BUG: Fix Font.TextHeight implementation that checked incorrectly for optional arguments.

[GB.QT5]
* BUG: Fix Font.TextHeight implementation that checked incorrectly for optional arguments.
2021-02-20 17:38:16 +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
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
7d002263c6 WebView: Make font size settings more accurate.
[GB.QT4.WEBVIEW]
* BUG: WebView: Make font size settings more accurate.
2021-01-28 04:52:30 +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
3ce75bb5e3 Rework support of Background and Foreground colors.
[GB.QT4]
* BUG: Rework support of Background and Foreground colors.

[GB.QT5]
* BUG: Rework support of Background and Foreground colors.
2021-01-27 02:38:59 +01:00
gambas
58bfbc70d1 Merge branch 'master' of gitlab.com:gambas/gambas 2021-01-26 22:34:50 +01:00
gambas
a8b0df9f8c Fix raised borders for some styles.
[GB.QT4]
* BUG: Fix raised borders for some styles.

[GB.QT5]
* BUG: Fix raised borders for some styles.
2021-01-26 22:31:31 +01:00
gambas
fd028f572a * BUG: Fix compilation.
[GB.QT4.WEBVIEW]
* BUG: Fix compilation.
2021-01-26 19:29:42 +01:00
gambas
f94a927e9c WebView: Implementing the Menu event automatically disables the default popup menu.
[GB.GTK3.WEBVIEW]
* NEW: WebView: Implementing the Menu event automatically disables the default popup menu.

[GB.QT4.WEBVIEW]
* NEW: WebView: Implementing the Menu event automatically disables the default popup menu.

[GB.QT5.WEBVIEW]
* NEW: WebView: Implementing the Menu event automatically disables the default popup menu.
2021-01-26 16:28:47 +01:00
gambas
fc7edd90b4 Fix window x11 properties initialization and make 'gb.qt4.webview' compile.
[GB.QT4]
* BUG: Fix window x11 properties initialization.

[GB.QT4.WEBVIEW]
* BUG: Fix compilation and implementation of WebWiew.ExecJavascript() method.
2021-01-25 10:54:14 +01:00
gambas
b39e26a059 WebView: ExecJavascript() is a new method to run some javascript code in the browser and get the result.
[GB.GTK3.WEBVIEW]
* NEW: WebView: ExecJavascript() is a new method to run some javascript code in the browser and get the result.

[GB.QT4.WEBVIEW]
* NEW: WebView: ExecJavascript() is a new method to run some javascript code in the browser and get the result.

[GB.QT5]
* BUG: Forgot to implement the QT.GetDesktopScale() API.

[GB.QT5.WEBVIEW]
* NEW: WebView: ExecJavascript() is a new method to run some javascript code in the browser and get the result.
2021-01-25 08:05:25 +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
01a666387f WebView: Finish event is correctly raised when the loaded URI is in the current page.
[GB.GTK3.WEBVIEW]
* BUG: WebView: Finish event is correctly raised when the loaded URI is in the current page.

[GB.QT4.WEBVIEW]
* BUG: WebView: Finish event is correctly raised when the loaded URI is in the current page.
* BUG: WebView: Start event is correctly raised.
* BUG: WebView: Cancelling the Start event now should cancel the load.

[GB.QT5.WEBVIEW]
* BUG: WebView: Finish event is correctly raised when the loaded URI is in the current page.
2021-01-22 21:04:56 +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
gambas
2539929e4e Fix modal dialogs and default resolution on Wayland.
[GB.QT4]
* BUG: Don't set the QDialog flag on modal dialogs. It makes Qt dizzy, and can even freeze Gnome on Wayland.

[GB.QT5]
* BUG: Don't set the QDialog flag on modal dialogs. It makes Qt dizzy, and can even freeze Gnome on Wayland.
* BUG: The default resolution on Wayland is 96 DPI instead of 72 DPI.
2021-01-20 21:51:25 +01:00
gambas
8327e7f9bf Set application desktop file name and fix window properties on Wayland.
[GB.QT4]
* NEW: Set application desktop file name to the application name.

[GB.QT5]
* NEW: Set application desktop file name to the application name.
* BUG: Window properties are correctly set on Wayland now.
2021-01-19 16:13:41 +01:00
gambas
ab307322bf Do not crash if expanded widgets change during arrangement. Fix GTK+ window centering method.
[GB.GTK]
* BUG: Do not crash if expanded widgets change during arrangement.

[GB.GTK3]
* BUG: Remove platform-specific window centering method.
* BUG: Do not crash if expanded widgets change during arrangement.

[GB.QT4]
* BUG: Do not crash if expanded widgets change during arrangement.

[GB.QT5]
* BUG: Do not crash if expanded widgets change during arrangement.
2021-01-18 22:27:33 +01:00
gambas
6debc3df5e ComboBox: PlaceHolder property does not crash anymore on read-only ComboBox.
[GB.QT4]
* BUG: ComboBox: PlaceHolder property does not crash anymore on read-only ComboBox.

[GB.QT5]
* BUG: ComboBox: PlaceHolder property does not crash anymore on read-only ComboBox.
2021-01-17 00:10:14 +01:00
gambas
15bba0dfe2 Avoid a possible crash when raising the Link event.
[GB.QT4]
* BUG: Avoid a possible crash when raising the Link event.

[GB.QT5]
* BUG: Avoid a possible crash when raising the Link event.
2021-01-11 03:36:28 +01:00
gambas
1d270de336 Do not crash anymore when loading an Animation fails.
[DEVELOPMENT ENVIRONMENT]
* BUG: Don't use the deprecated MovieBox.Path property anymore.

[GB.GTK]
* BUG: Do not crash anymore when loading an Animation fails.

[GB.GTK3]
* BUG: Do not crash anymore when loading an Animation fails.

[GB.QT4]
* BUG: Do not crash anymore when loading an Animation fails.

[GB.QT5]
* BUG: Do not crash anymore when loading an Animation fails.
2021-01-11 01:24:20 +01:00
gambas
8c4fc6d10c Try to fix compilation on 'alpine'.
[GB.QT4]
* BUG: Try to fix compilation on 'alpine'.

[GB.QT5]
* BUG: Try to fix compilation on 'alpine'.
2021-01-09 11:27:53 +01:00
gambas
a0a2d0379c MovieBox is now implemented in Gambas, through a new Animation class.
[DEVELOPMENT ENVIRONMENT]
* NEW: Support for the MovieBox Animation property.

[GB.GTK]
* NEW: Animation is a new class that represents an animated image.
* NEW: MovieBox has been removed.

[GB.GTK3]
* NEW: Animation is a new class that represents an animated image.
* NEW: MovieBox has been removed.

[GB.GUI.BASE]
* NEW: MovieBox is now implemented in Gambas.

[GB.QT4]
* NEW: Animation is a new class that represents an animated image.
* NEW: MovieBox has been removed.

[GB.QT5]
* NEW: Animation is a new class that represents an animated image.
* NEW: MovieBox has been removed.
2021-01-09 10:24:56 +01:00
gambas
f8dfd75bb8 Make the component compile again.
[GB.QT4]
* BUG: Make the component compile again.
2021-01-08 19:05:09 +01:00
gambas
96c271fccf Don't try to activate windows on Wayland, it does not work.
[GB.QT5]
* BUG: Don't try to activate windows on Wayland, it does not work.
2021-01-08 18:34:35 +01:00
gambas
c6b20765fa Support for the Window Stacking and Border properties in wayland.
[GB.QT5]
* NEW: Support for some window properties in wayland.

[GB.QT5.WAYLAND]
* NEW: Support for the Window Stacking and Border properties.
2021-01-06 03:04:25 +01:00
Benoît Minisini
eefb03c5ba Merge branch 'wayland' of https://gitlab.com/gambas/gambas into wayland 2020-12-21 05:19:07 +01:00
Benoît Minisini
a6311c6b63 Continue working on Wayland support.
[GB.GTK3]
* NEW: Support for specific platforms: X11 & Wayland.

[GB.GTK3.X11]
* NEW: This is the GTK+3 X11 platform component.

[GB.GTK3.WAYLAND]
* NEW: This is the GTK+3 Wayland platform component.
2020-12-21 04:54:14 +01:00
gambas
60249d57ee Merge branch 'master' into wayland 2020-12-21 01:23:08 +01:00
gambas
d4a0982a47 Explicitly hidden startup forms do not popup at startup anymore.
[GB.QT4]
* BUG: Explicitly hidden startup forms do not popup at startup anymore.

[GB.QT5]
* BUG: Explicitly hidden startup forms do not popup at startup anymore.
2020-12-10 04:33:22 +01:00
gambas
e186a1b753 TabStrip should not crash anymore with an undefined symbol.
[GB.QT4]
* BUG: TabStrip should not crash anymore with an undefined symbol.

[GB.QT5]
* BUG: TabStrip should not crash anymore with an undefined symbol.
2020-11-29 00:56:31 +01:00
gambas
21b6007e8a Fix TabStrip control.
[GB.GTK]
* BUG: Fix TabStrip control.

[GB.GTK3]
* BUG: Fix TabStrip control.
2020-11-28 20:20:32 +01:00
gambas
1bf591abe6 Fix some debugging messages.
[GB.QT4]
* NEW: Fix some debugging messages.

[GB.QT5]
* NEW: Fix some debugging messages.
2020-11-24 21:46:23 +01:00
gambas
bdf18360f1 Fix compilation.
[GB.QT4.WEBVIEW]
* BUG: Fix compilation.
2020-11-19 11:38:27 +01:00
gambas
4d47240a73 WebView.Clear() should not make the view crash anymore.
[GB.QT4.WEBVIEW]
* BUG: WebView.Clear() should not make the view crash anymore.
2020-11-18 23:12:40 +01:00
gambas
b2a55d6bc1 Fix TabStrip Design property behaviour.
[GB.GTK]
* BUG: Fix TabStrip Design property behaviour.

[GB.GTK3]
* BUG: Fix TabStrip Design property behaviour.

[GB.QT4]
* BUG: Fix TabStrip Design property behaviour.

[GB.QT5]
* BUG: Fix TabStrip Design property behaviour.
2020-11-15 23:27:08 +01:00
gambas
429e373c91 WebView.Clear() is a new method that resets the view.
[GB.QT4.WEBVIEW]
* NEW: WebView: Clear() is a new method that resets the view.
2020-11-14 03:51:39 +01:00
gambas
1cd8bd9035 Rework Design property management so that it works better.
[GB.GTK]
* NEW: Rework Design property management so that it works better.
* OPT: Cache font metrics to speed up some font properties.

[GB.GTK3]
* NEW: Rework Design property management so that it works better.
* OPT: Cache font metrics to speed up some font properties.

[GB.QT4]
* NEW: Rework Design property management so that it works better.

[GB.QT5]
* NEW: Rework Design property management so that it works better.
2020-11-12 19:58:51 +01:00
gambas
c4a6164f96 Disabled state is now correctly taken into account by style drawing methods.
[GB.QT4]
* BUG: Disabled state is now correctly taken into account by style drawing methods.

[GB.QT5]
* BUG: Disabled state is now correctly taken into account by style drawing methods.
2020-11-11 02:03:10 +01:00
gambas
c9f97a02fe Synchronize with gb.qt5.webview.
[GB.QT4.WEBVIEW]
* NEW: WebView: Add NewView event and NewView property.
* NEW: WebView: Add Link event and Link property.
2020-10-22 00:31:49 +02:00