Commit graph

1081 commits

Author SHA1 Message Date
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
gambas
b2fafd930f Some fixes on foreground color management.
[GB.QT4]
* BUG: DrawingArea: Paint default color is now its foreground color.
* BUG: Fix foreground color inheritance through containers.

[GB.QT5]
* BUG: DrawingArea: Paint default color is now its foreground color.
* BUG: Fix foreground color inheritance through containers.
2020-10-19 22:32:43 +02:00
gambas
75f5a6f907 Separator: Do not use widget theme for drawing.
[GB.QT4]
* NEW: Separator: Do not use widget theme for drawing.
* OPT: Showing a control with Ignore property set does not trigger a parent arrangement anymore.

[GB.QT5]
* NEW: Separator: Do not use widget theme for drawing.
* OPT: Showing a control with Ignore property set does not trigger a parent arrangement anymore.
2020-10-10 14:55:55 +02:00
gambas
fd1836b8d1 Fix a bad include.
[GB.QT4.WEBVIEW]
* BUG: Fix a bad include.
2020-09-30 18:40:43 +02:00
gambas
5ae68582e6 Add 'gb.qt4.webview' component.
[GB.GUI.WEBVIEW]
* NEW: Handle 'gb.qt4.webview'.

[GB.QT4.WEBVIEW]
* NEW: New component based on QtWebKit like 'gb.qt4.webkit'.
2020-09-30 17:43:26 +02:00
gambas
df30233faa WebView: Implement events, and the Icon and Progress properties.
[GB.GTK3.WEBVIEW]
* NEW: WebView: Implement events.
* NEW: WebView: Implement the Icon and the Progress properties.

[GB.QT5.WEBVIEW]
* NEW: WebView: Implement events.
* NEW: WebView: Implement the Icon and the Progress properties.
2020-09-29 00:36:23 +02:00
gambas
66e1539a4f Fix containers Indent property.
[GB.GTK]
* BUG: Fix containers Indent property.

[GB.GTK3]
* BUG: Fix containers Indent property.

[GB.QT4]
* BUG: Fix containers Indent property.

[GB.QT5]
* BUG: Fix containers Indent property.
2020-09-29 00:33:42 +02:00
gambas
e072bdd11f Breeze and oxygen theme fixes should not crash anymore.
[GB.QT4]
BUG: Breeze and oxygen theme fixes should not crash anymore.

[GB.QT5]
* BUG: Breeze and oxygen theme fixes should not crash anymore.
2020-08-21 13:07:14 +02:00
gambas
1c44184a68 Make component compile again.
[GB.QT4]
* BUG: Make component compile again.
2020-08-21 11:55:52 +02:00
gambas
41af42c8d9 Better support of menu bar exported through DBus.
[GB.QT4]
* NEW: Better support of menu bar exported through DBus.
* NEW: Only the Application.MainWindow menubar is exported through DBus.

[GB.QT5]
* NEW: Better support of menu bar exported through DBus.
* NEW: Only the Application.MainWindow menubar is exported through DBus.
2020-08-21 11:25:21 +02:00
gambas
e2eabcdb29 Never export the menu bar through DBus, it crashes on Mate.
[GB.QT4]
* BUG: Never export the menu bar through DBus, it crashes on Mate.

[GB.QT5]
* BUG: Never export the menu bar through DBus, it crashes on Mate.
* BUG: Better support of popups when run on Wayland.
2020-08-21 01:31:19 +02:00
gambas
9f1494b7e8 Fix compilation again.
[GB.QT4]
* BUG: Fix compilation again.
2020-07-15 10:02:43 +02:00
Benoît Minisini
9da50cffe4 Merge branch 'wayland' of https://gitlab.com/gambas/gambas into wayland 2020-07-15 02:54:59 +02:00
Benoît Minisini
5abdab140d Workaround that opens the popup menus at the expected place.
[GB.QT5]
* BUG: Workaround that opens the popup menus at the expected place.
2020-07-15 02:53:09 +02:00
gambas
89b94d073f Still try to make 'gb.qt4' compile again.
[GB.QT4]
* BUG: Still try to make 'gb.qt4' compile again.
2020-07-15 01:45:28 +02:00
Benoît Minisini
7d63a282f8 Merge branch 'wayland' of https://gitlab.com/gambas/gambas into wayland 2020-07-15 00:01:22 +02:00
gambas
88749c43da Work on wayland support continues.
[GB.QT5]
* BUG: 'x11' platform component now works as before.
* BUG: Void 'wayland' platform component is working, the IDE run on Wayland, but a lot of Qt Wayland problems remain.
2020-07-14 23:54:26 +02:00
gambas
1cfa9f4a07 Try to make 'gb.qt4' compile again.
[GB.QT4]
* BUG: Try to make 'gb.qt4' compile again.
2020-07-14 23:34:23 +02:00
gambas
ca4b04b7a5 Make gb.qt4 compile again.
[GB.QT4]
* BUG: Make gb.qt4 compile again.
2020-07-14 22:46:26 +02:00
gambas
3111155cd8 Add void wayland platform component and Desktop.Platform property.
[GB.QT4]
* BUG: Fix compilation of gb.qt4.
* NEW: Desktop.Platform is a new property that returns the current platform (always "x11").

[GB.QT5]
* NEW: Add void wayland platform component.
* NEW: Desktop.Platform is a new property that returns the current platform ("x11" or "wayland").
2020-07-14 17:58:15 +02:00
gambas
f522227695 Working on Wayland support...
[GB.QT5]
* NEW: Remove direct X11 dependencies.
* NEW: Support for platform components.

[GB.QT5.X11]
* NEW: New platform component implementing all the specific x11 stuff.
2020-07-14 16:17:10 +02:00
gambas
3c7d85ba85 Remove some useless X11-related includes.
[GB.QT4]
* BUG: Remove some useless X11-related includes.

[GB.QT5]
* BUG: Remove some useless X11-related includes.
2020-07-11 13:53:29 +02:00
gambas
9a2df79a5b Remove debugging message.
[GB.QT4]
* BUG: Remove debugging message.

[GB.QT5]
* BUG: Remove debugging message.
2020-06-29 22:01:39 +02:00
gambas
b469b83e2b Fix modal and popup window management.
[GB.QT4]
* BUG: A modal window can be opened on top of a popup window without breaking the event loop.

[GB.QT5]
* BUG: A modal window can be opened on top of a popup window without breaking the event loop.
2020-06-29 20:16:30 +02:00
gambas
577779961a Negative values are replaced by zero when setting Application.Busy.
[GB.GTK]
* NEW: Negative values are replaced by zero when setting Application.Busy.

[GB.GTK3]
* NEW: Negative values are replaced by zero when setting Application.Busy.

[GB.QT4]
* NEW: Negative values are replaced by zero when setting Application.Busy.

[GB.QT5]
* NEW: Negative values are replaced by zero when setting Application.Busy.
2020-06-17 18:26:08 +02:00
gambas
c5ff52f645 Modal windows are now actually modal before entering their Open event.
[GB.QT4]
* BUG: Modal windows are now actually modal before entering their Open event.

[GB.QT5]
* BUG: Modal windows are now actually modal before entering their Open event.
2020-05-23 10:02:02 +02:00
gambas
535469a228 Add Mouse.Click property.
[GB.QT4]
* NEW: Mouse.Click is a new property that returns the click index in a multi-click event.
* NEW: Style.Name is now lowercase.
* BUG: Some theme-specific workarounds for Style paint methods.

[GB.QT5]
* NEW: Mouse.Click is a new property that returns the click index in a multi-click event.
* NEW: Style.Name is now lowercase.
* BUG: Some theme-specific workarounds for Style paint methods.
2020-05-19 22:25:31 +02:00
gambas
a520d12ef4 Application.DarkTheme is a new property that returns if the current color scheme is dark.
[GB.GTK]
* NEW: Application.DarkTheme is a new property that returns if the current color scheme is dark.

[GB.GTK3]
* NEW: Application.DarkTheme is a new property that returns if the current color scheme is dark.

[GB.QT4]
* NEW: Application.DarkTheme is a new property that returns if the current color scheme is dark.

[GB.QT5]
* NEW: Application.DarkTheme is a new property that returns if the current color scheme is dark.
2020-05-18 13:23:27 +02:00
gambas
4ffe077529 System tray now works with QT5. Drawing on a cached DrawingArea does not display a warning message anymore.
[GB.DESKTOP.X11]
* BUG: System tray now works with QT5. A display glitch remains.

[GB.QT4]
* BUG: Drawing on a cached DrawingArea does not display a warning message anymore.

[GB.QT5]
* BUG: Drawing on a cached DrawingArea does not display a warning message anymore.
* BUG: X11 event filter correctly handle ClientMessage events now.
2020-05-11 18:37:21 +02:00
gambas
ee81637c72 Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.
[GB.GTK]
* NEW: Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.

[GB.GTK3]
* NEW: Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.

[GB.QT4]
* NEW: Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.

[GB.QT5]
* NEW: Window: Add a State event that is raised when the window is minimized, maximized or set to fullscreen.
2020-04-21 08:39:07 +02:00
gambas
ccf1491037 Fix Drag() that was returning the drag frame instead of the target control.
[GB.GTK]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.

[GB.GTK3]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.

[GB.GUI.BASE]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.

[GB.QT4]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.

[GB.QT5]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
2020-01-24 08:12:01 +01:00
gambas
da2db608bf TextBox: Add Placeholder property.
[GB.GTK]
* NEW: TextBox: Add Placeholder property. Beware that it does nothing as GTK+2 entry widget does not support placeholder text.

[GB.GTK3]
* NEW: TextBox: Add Placeholder property.

[GB.QT4]
* NEW: TextBox: Add Placeholder property.

[GB.QT5]
* NEW: TextBox: Add Placeholder property.
2020-01-24 08:08:42 +01:00
gambas
0ee8b98ca8 Raise Progress events later on the event loop, to avoir possible crashes of WebView methods.
[GB.QT4.WEBKIT]
* BUG: Raise Progress evens later on the event loop, to avoir possible crashes of WebView methods.

[GB.QT5.WEBKIT]
* BUG: Raise Progress events later on the event loop, to avoir possible crashes of WebView methods.
2020-01-07 02:05:12 +01:00
gambas
4ac699a2f7 Fix incorrect declarations of special methods.
[GB.QT4.WEBKIT]
* BUG: Fix incorrect declarations of special methods.

[GB.QT5.WEBKIT]
* BUG: Fix incorrect declarations of special methods.
2020-01-04 22:03:02 +01:00
gambas
63000a27fe WAIT NEXT is a new instruction that waits for the next event and process it.
[INTERPRETER]
* NEW: WAIT NEXT is a new instruction that waits for the next event and process it.

[COMPILER]
* NEW: Support for the new WAIT NEXT instruction.

[GB.GTK]
* NEW: Support for the new WAIT NEXT instruction.

[GB.GTK3]
* NEW: Support for the new WAIT NEXT instruction.

[GB.QT4]
* NEW: Support for the new WAIT NEXT instruction.

[GB.QT5]
* NEW: Support for the new WAIT NEXT instruction.
2020-01-02 13:08:45 +01:00
gambas
8f35362387 Window: set the window size at creation to 1x1, so that there is no default size.
[GB.QT4]
* BUG: Window: set the window size at creation to 1x1, so that there is no default size.

[GB.QT5]
* BUG: Window: set the window size at creation to 1x1, so that there is no default size.
2019-11-30 07:02:46 +01:00
Laurent Carlier
9e958b2c1e Fix warning about converting a packed CWIDGET pointer.....may result in an unaligned pointer value
Remove PACKED attribute - it doesn't change the size of CWIDGET (56 on x86_64)
2019-11-02 18:53:00 +01:00
Laurent Carlier
3d9f5cc914 Fix compiler warning in gb.qt5 about deprecation of QDesktopWidget::primaryScreen()
QApplication::desktop()->primaryScreen() is deprecated since Qt 5.11
Use QGuiApplication::primaryScreen() instead.
2019-11-02 18:53:00 +01:00
Laurent Carlier
a5836ec535 Fix compiler warning in gb.qt5 about deprecation of QDesktopWidget::availableGeometry() and QDesktopWidget::screenGeometry()
Both are deprecated since Qt 5.11
Use QGuiApplication::screens() instead.
2019-11-02 18:53:00 +01:00
Laurent Carlier
07f35841a3 Fix compiler warning in gb.qt5 about deprecation of QPainter::initFrom()
QPainter::initFrom() is deprecated since Qt 5.13
Use QPainter::begin() instead for both qt4 and qt5 components

v2: remove pf.begin() to avoid warning message "QPainter::begin: Painter already active"
2019-11-02 18:53:00 +01:00
Laurent Carlier
2e1dd1a233 Fix compiler warning in gb.qt5 about deprecation of QString::sprintf()
QString::sprintf() is deprecated since Qt 5.14
Use QString().arg() instead for both qt4 and qt5 components.
2019-11-02 18:53:00 +01:00
Laurent Carlier
082eb5b733 Fix compiler warning in gb.qt5 about deprecation of QString::null
QString::null is deprecated since Qt 5.9
Use QString() instead for both qt4 and qt5 components as it constructs a null string.
2019-11-02 18:53:00 +01:00
Laurent Carlier
daf012a246 Fix compiler warning in gb.qt5 about deprecation of QFontMetrics::width()
QFontMetrics::width() is deprecated since Qt 5.11
2019-11-02 18:52:49 +01:00
Laurent Carlier
f1deb8e330 Remove register keyword, deprecated, now reserved keyword with C++17
Fixes "warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]"
with clang

https://en.cppreference.com/w/cpp/keyword/register
2019-10-30 06:53:09 +00:00
gambas
65d2b783fe Paint.TextHeight is a new property that returns the height of one line of text, and Paint.FontScale is now "transparent".
[GB.DRAW]
* NEW: Paint.TextHeight is a new property that returns the height of one line of text. This is not the same as Paint.Font.Height, as the device resolution is taken into account.

[GB.GTK]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.

[GB.GTK3]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.

[GB.QT4]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.

[GB.QT5]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.
* BUG: Utility windows now kept being in front of their parent window correctly.
2019-10-26 01:06:18 +02:00
gambas
8a0c190b95 Apply Paint.FontScale only when Paint.Font is assigned. Not when one of the Paint.Font properties changes.
[GB.QT4]
* BUG: Apply Paint.FontScale only when Paint.Font is assigned. Not when one of the Paint.Font properties changes.

[GB.QT5]
* BUG: Apply Paint.FontScale only when Paint.Font is assigned. Not when one of the Paint.Font properties changes.
2019-10-19 00:37:17 +02:00
Laurent Carlier
6bb136b0cf [GB.QT5]
* BUG: Workaround "Setting a QCompleter on non-editable QComboBox is not allowed" message
2019-10-13 20:32:12 +02:00
gambas
47dddd944a Do not imbricate focus events.
[GB.GTK]
* BUG: Do not imbricate focus events.

[GB.GTK3]
* BUG: Do not imbricate focus events.

[GB.QT4]
* BUG: Do not imbricate focus events.

[GB.QT5]
* BUG: Do not imbricate focus events.
2019-10-12 23:55:38 +02:00
gambas
fbb0c62b99 Windows whose Utility property is set now use '_NET_WM_WINDOW_TYPE_DIALOG' instead of '_NET_WM_WINDOW_TYPE_DIALOG'.
[GB.QT4]
* BUG: Control.Next and Control.Previous now never return invalid controls.
* NEW: Windows whose Utility property is set now use '_NET_WM_WINDOW_TYPE_DIALOG' instead of '_NET_WM_WINDOW_TYPE_DIALOG'.

[GB.QT5]
* BUG: Control.Next and Control.Previous now never return invalid controls.
* NEW: Windows whose Utility property is set now use '_NET_WM_WINDOW_TYPE_DIALOG' instead of '_NET_WM_WINDOW_TYPE_DIALOG'.
2019-10-09 16:44:53 +02:00
gambas
7a49f039b5 Uncatched errors raised from an event handler can be ignored now.
[INTERPRETER]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.GTK]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.GTK3]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.QT4]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.QT5]
* NEW: Uncatched errors raised from an event handler can be ignored now.
2019-09-17 10:10:36 +02:00
gambas
ad7b2a4937 Automatically set Paint.FontScale when painting on a printer, so that font size is actually the same as on the screen.
[GB.GTK]
* NEW: Automatically set Paint.FontScale when painting on a printer, so that font size is actually the same as on the screen.

[GB.GTK3]
* NEW: Automatically set Paint.FontScale when painting on a printer, so that font size is actually the same as on the screen.

[GB.QT4]
* NEW: Automatically set Paint.FontScale when painting on a printer, so that font size is actually the same as on the screen.
* BUG: Fix rich text size margins between paragraphs and titles.
* BUG: Fix rich text size computation.

[GB.QT5]
* NEW: Automatically set Paint.FontScale when painting on a printer, so that font size is actually the same as on the screen.
* BUG: Fix rich text size margins between paragraphs and titles.
* BUG: Fix rich text size computation.
2019-07-10 04:19:02 +02:00
gambas
798b1d54cc Add Paint.FontScale, and make gb.gtk and gb.gtk3 printer drawing behave the same as QT components.
[GB.DRAW]
* NEW: Paint: FontScale is a new property that defines a scale applied to the size of the fonts assigned to the Paint.Font property.
* NEW: Paint: Scale() second argument is now optional, and takes the same value as the first argument if omitted.

[GB.GTK]
* NEW: Paint: Implementation of Paint.FontScale.
* BUG: Printer: All printer events are raised between a single Paint.Begin() / Paint.End().

[GB.GTK3]
* NEW: Paint: Implementation of Paint.FontScale.
* BUG: Printer: All printer events are raised between a single Paint.Begin() / Paint.End().
* BUG: Printer: Print() does now crash anymore.
* BUG: Printer: Font sizes now are the same as with QT components.

[GB.QT4]
* NEW: Paint: Implementation of Paint.FontScale.

[GB.QT5]
* NEW: Paint: Implementation of Paint.FontScale.
2019-07-09 19:35:01 +02:00
gambas
5fcf191a1f Editor: Fix Highlight.Alternate property.
[GB.QT4.EXT]
* BUG: Editor: Fix Highlight.Alternate property.
2019-07-04 20:52:17 +02:00
Laurent Carlier
53a8b5bde8 [GB.QT5]
* BUG: Fix build with Qt 5.13.

[GB.QT5.EXT]
* BUG: Fix build with Qt 5.13.

[GB.QT5.OPENGL]
* BUG: Fix build with Qt 5.13.

[GB.QT5.WEBKIT]
* BUG: Fix build with Qt 5.13.
2019-07-03 10:27:12 +02:00
gambas
dd121d669f Replace the message box native implementation by a Gambas implementation.
[GB.FORM.STOCK]
* NEW: Add a 128 pixel version of the 'delete' stock icon.

[GB.GTK]
* NEW: Message: Remove the message box native implementation.

[GB.GTK3]
* NEW: Message: Remove the message box native implementation.

[GB.GUI.BASE]
* NEW: Message: Implement the message boxes entirely in Gambas.

[GB.QT4]
* NEW: Message: Remove the message box native implementation.

[GB.QT5]
* NEW: Message: Remove the message box native implementation.
2019-06-05 03:08:22 +02:00
gambas
f1ac2f553b Implement Drag.Show() in Gambas, and consequently fix it in 'gb.gtk3'.
[GB.GTK]
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
* NEW: Drag.X and Drag.Y properties are now writable.

[GB.GTK3]
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
* NEW: Drag.X and Drag.Y properties are now writable.
* BUG: Finishing a drag & drop now correclty releases the button grab.

[GB.GUI.BASE]
* NEW: GridView: The padding of column headers is at least half of Desktop.Scale.
* NEW: ScrollArea: The Scroll() method returns TRUE now if no scrolling actually occured.
* BUG: TreeView: Item X property now correctly takes the TreeView padding into account.
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.

[GB.QT4]
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
* NEW: Drag.X and Drag.Y properties are now writable.

[GB.QT5]
* NEW: Drag.Show() and Drag.Hide() methods are now implemented in 'gb.gui.base'.
* NEW: Drag.X and Drag.Y properties are now writable.
2019-06-01 04:52:25 +02:00
gambas
0ab84aa34a Disable top-level menus shortcuts when the window menu bar is hidden.
[GB.FORM]
* BUG: MenuButton: Use selected background color when the MenuOnly property is set and the MenuButton has the focus.

[GB.GTK]
* NEW: Disable top-level menus shortcuts when the window menu bar is hidden.

[GB.GTK3]
* NEW: Disable top-level menus shortcuts when the window menu bar is hidden.

[GB.GUI.BASE]
* NEW: Add helper function for disabling/enabling top-level menu shortcuts.

[GB.QT4]
* NEW: Disable top-level menus shortcuts when the window menu bar is hidden.

[GB.QT5]
* NEW: Disable top-level menus shortcuts when the window menu bar is hidden.
2019-05-25 22:25:13 +02:00
gambas
eb2934e9fa Drawing text now respects right-to-left languages the same way on every drawing device.
[GB.QT4]
* BUG: Drawing text now respects right-to-left languages the same way on every drawing device.

[GB.QT5]
* BUG: Drawing text now respects right-to-left languages the same way on every drawing device.
2019-05-08 19:40:39 +02:00
gambas
5f4bcb012d Dialog.SelectDirectory() now correctly shows hidden files when Dialog.ShowHidden is TRUE.
[GB.QT4]
* BUG: Dialog.SelectDirectory() now correctly shows hidden files when Dialog.ShowHidden is TRUE.

[GB.QT5]
* BUG: Dialog.SelectDirectory() now correctly shows hidden files when Dialog.ShowHidden is TRUE.
2019-05-07 01:27:11 +02:00
gambas
a0bcf85bd4 Active file descriptor watches and active timers are now automatically transferred to the component declaring a custom event loop.
[INTERPRETER]
* BUG: Active file descriptor watches and active timers are now automatically transferred to the component declaring a custom event loop. Consequently, a process started before the declaration of the event loop will have its termination signal correctly catched.
* NEW: Use waitpid() instead of wait4().

[GB.GTK]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.

[GB.GTK3]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.

[GB.QT4]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.

[GB.QT5]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.
2019-03-12 03:46:30 +01:00
gambas
245427b08e * Get rid of many gcc warnings. 2019-01-02 00:48:58 +01:00
gambas
0706d6d170 Remove the QT4 TextBox selection bug workaround. It prevents the selection method from working in some cases.
[GB.QT4]
* BUG: Remove the QT4 TextBox selection bug workaround. It prevents the selection method from working in some cases.

[GB.QT5]
* BUG: Remove the QT4 TextBox selection bug workaround. It prevents the selection method from working in some cases.
2018-12-10 22:39:07 +01:00
gambas
44a3f5f664 Control.Parent now ignores the inner containers of Container controls made in Gambas.
[GB.GTK]
* NEW: Control.Parent now ignores the inner containers of Container controls made in Gambas.
* NEW: Control._Parent is the old Parent property renamed.

[GB.GTK3]
* NEW: Control.Parent now ignores the inner containers of Container controls made in Gambas.
* NEW: Control._Parent is the old Parent property renamed.

[GB.QT4]
* NEW: Control.Parent now ignores the inner containers of Container controls made in Gambas.
* NEW: Control._Parent is the old Parent property renamed.

[GB.QT5]
* NEW: Control.Parent now ignores the inner containers of Container controls made in Gambas.
* NEW: Control._Parent is the old Parent property renamed.
2018-11-19 23:21:37 +01:00
gambas
7759a19f3a Button automatic resize is not freezed anymore when one of its parent is in design mode.
[GB.QT4]
* BUG: Button automatic resize is not freezed anymore when one of its parent is in design mode.

[GB.QT5]
* BUG: Button automatic resize is not freezed anymore when one of its parent is in design mode.
2018-11-14 23:40:16 +01:00
gambas
3f002896b5 Panels controls got a smaller default size.
[GB.GTK]
* NEW: Panels controls got a smaller default size.

[GB.GTK3]
* NEW: Panels controls got a smaller default size.

[GB.QT4]
* NEW: Panels controls got a smaller default size.

[GB.QT5]
* NEW: Panels controls got a smaller default size.
2018-10-11 12:33:31 +02:00
gambas
63cf3a235d MouseWheel events on disabled controls are correctly propagated now.
[GB.QT4]
* NEW: Mouse.State has now flags for keyboard modifiers too.
* BUG: MouseWheel events on disabled controls are correctly propagated now.

[GB.QT5]
* NEW: Mouse.State has now flags for keyboard modifiers too.
* BUG: MouseWheel events on disabled controls are correctly propagated now.
2018-10-08 16:34:41 +02:00
gambas
51230b935d ScrollBar: Correctly handle mouse wheel events.
[GB.QT4]
* BUG: ScrollBar: Correctly handle mouse wheel events.

[GB.QT5]
* BUG: ScrollBar: Correctly handle mouse wheel events.
2018-10-04 12:17:10 +02:00
gambas
1bf70e1e75 PictureBox is now implemented in Gambas.
[GB.GTK]
* NEW: Remove PictureBox control.

[GB.GTK3]
* NEW: Remove PictureBox control.

[GB.GUI.BASE]
* NEW: PictureBox is now implemented in Gambas.
* NEW: PictureBox: Image is a new property that allows to display an Image instead of a Picture.
* NEW: PictureBox: Mode is a new property that defines how the image fills the control.

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

[GB.QT5]
* NEW: Remove PictureBox control.
2018-10-03 16:06:54 +02:00
gambas
0c4a0926a2 Fix mouse wheel events management again.
[GB.QT4]
* BUG: Fix mouse wheel events management again.

[GB.QT5]
* BUG: Fix mouse wheel events management again.
2018-09-28 17:59:17 +02:00
gambas
1f63103731 WebView: Correctly define the cache path.
[GB.QT4.WEBKIT]
* BUG: WebView: Correctly define the cache path.

[GB.QT5.WEBKIT]
* BUG: WebView: Correctly define the cache path.
2018-09-25 13:57:07 +02:00
gambas
6619f59263 Unify and fix the behaviour of the Container.Children property.
[GB.GTK]
* NEW: Container.Children now returns a real object that is a read-only array of references to all container children.
* NEW: Container.Children.Max is a new property that returns the number of container children minus one.

[GB.GTK3]
* NEW: Container.Children now returns a real object that is a read-only array of references to all container children.
* NEW: Container.Children.Max is a new property that returns the number of container children minus one.

[GB.QT4]
* NEW: Container.Children now returns a real object that is a read-only array of references to all container children.
* NEW: Container.Children.Max is a new property that returns the number of container children minus one.

[GB.QT5]
* NEW: Container.Children now returns a real object that is a read-only array of references to all container children.
* NEW: Container.Children.Max is a new property that returns the number of container children minus one.
2018-09-24 15:39:37 +02:00
gambas
7e6373982e WebSettings.Cache.Path now understands paths beginning with "~".
[GB.QT4.WEBKIT]
* BUG: WebSettings.Cache.Path now understands paths beginning with "~".

[GB.QT5.WEBKIT]
* BUG: WebSettings.Cache.Path now understands paths beginning with "~".
2018-09-22 13:07:18 +02:00
gambas
d2782ed91c WebView: Temporarily redirect stderr to /dev/null when creating the first WebView, to get rid of spurious libpng warnings on PNG files integrated inside the Qt WebKit library.
[GB.QT4.WEBKIT]
* BUG: WebView: Temporarily redirect stderr to /dev/null when creating the first WebView, to get rid of spurious libpng warnings on PNG files integrated inside the Qt WebKit library.

[GB.QT5.WEBKIT]
* BUG: WebView: Temporarily redirect stderr to /dev/null when creating the first WebView, to get rid of spurious libpng warnings on PNG files integrated inside the Qt WebKit library.
2018-09-19 20:51:13 +02:00
gambas
bf478f690c Workaround a QtWebkit but that made font size settings 3 points off.
[GB.QT4.WEBKIT]
* BUG: Workaround a QtWebkit but that made font size settings 3 points off.

[GB.QT5.WEBKIT]
* BUG: Workaround a QtWebkit but that made font size settings 3 points off.
2018-09-16 23:46:48 +02:00
gambas
f5e0d6ebbb Controls having a null size are now taken into by the arrangement routine, and are moved accordingly.
[GB.GTK]
* NEW: Controls having a null size are now taken into by the arrangement routine, and are moved accordingly.
* BUG: Set a cursor by trying all possible API, to be sure to find one existing.

[GB.GT3]
* NEW: Controls having a null size are now taken into by the arrangement routine, and are moved accordingly.
* BUG: Set a cursor by trying all possible API, to be sure to find one existing.

[GB.QT4]
* NEW: Controls having a null size are now taken into by the arrangement routine, and are moved accordingly.

[GB.QT5]
* NEW: Controls having a null size are now taken into by the arrangement routine, and are moved accordingly.
2018-09-15 22:29:21 +02:00
gambas
02a5a7e653 Fix mouse wheel scrolling on native widgets.
[GB.QT4]
* BUG: Fix mouse wheel scrolling on native widgets.

[GB.QT5]
* BUG: Fix mouse wheel scrolling on native widgets.
2018-09-13 13:50:13 +02:00
gambas
751059946c Remove ScrollView control, add a Change event to the DrawingArea control, and propagate MouseWheel events automatically.
[GB.QT4]
* NEW: ScrollView: Remove ScrollView control.
* NEW: DrawingArea: Change is a new event that is raised when the Application.Animations or Application.Shadows property changes.
* NEW: MouseWheel events are now automatically propagated to the parent control if they are not handled by the child.

[GB.QT5]
* NEW: ScrollView: Remove ScrollView control.
* NEW: DrawingArea: Change is a new event that is raised when the Application.Animations or Application.Shadows property changes.
* NEW: MouseWheel events are now automatically propagated to the parent control if they are not handled by the child.
2018-09-12 13:51:09 +02:00
gambas
d61741474f ScrollArea and all its children classes now can animate their scrolling.
[DEVELOPMENT ENVIRONMENT]
* NEW: Update Gambas fonts.
* NEW: Option dialog: Add an option to enable control animations. Move the toolbar size option to the 'Fonts' panel.

[GB.GTK]
* NEW: Application.Animations is a new property that enable or disable control animations.

[GB.GTK3]
* NEW: Application.Animations is a new property that enable or disable control animations.
* NEW: Control.Font is now implemented using GTK+ CSS.

[GB.GUI.BASE]
* NEW: ScrollArea: Animate scrolling if Application.Animations is set.

[GB.QT4]
* NEW: Application.Animations is a new property that enable or disable control animations.

[GB.QT5]
* NEW: Application.Animations is a new property that enable or disable control animations.
2018-09-05 21:19:57 +02:00
gambas
ee674d9068 Many fixes to the GTK+3 components, and rewrite the SpinBox control in Gambas.
[GB.GTK]
* NEW: Remove the native SpinBox implementation.
* BUG: Add specific fixes for breeze and oxygen themes.

[GB.GTK3]
* NEW: Remove the native SpinBox implementation.
* BUG: ComboBox: Fix rendering.
* BUG: ComboBox: Use a GtkBox instead of the deprecated GtkAlignment.
* BUG: Style: Fix some paint methods and metric properties.
* BUG: Add specific fixes for breeze and oxygen themes.

[GB.GUI.BASE]
* NEW: SpinBox: New implementation of the control in Gambas.
* BUG: ProgressBar: Fix rendering with GTK+ components.

[GB.QT4]
* NEW: Remove the native SpinBox implementation.
* NEW: RadioButton: Fill the widget when the background color is set.
* BUG: Style: Fix some metric properties.

[GB.QT5]
* NEW: Remove the native SpinBox implementation.
* NEW: RadioButton: Fill the widget when the background color is set.
* BUG: Style: Fix some metric properties.
2018-09-04 15:56:23 +02:00
gambas
9a4c951db4 Make the component compile again.
[GB.QT4.EXT]
* BUG: Make the component compile again.
2018-09-01 09:57:23 +02:00
gambas
83eed9707d Merge branch 'jit-with-c' 2018-06-13 00:45:19 +02:00
gambas
c671adfd6b Work continues on new JIT system.
[INTERPRETER]
* OPT: String searching (Instr, RInstr and Replace) has been made about 4x faster by searching the first occurence with memchr() and memrchr().

[GB.FORM.TERMINAL]
* BUG: Fix warning messages.

[GB.JIT]
* BUG: Fix byte, short and boolean pushing and popping routines.
* BUG: Fix string values referencing.
* BUG: Fix optional argument management.
* NEW: Optimization of bits management subroutines.

[GB.QT4]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.

[GB.QT5]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.
2018-06-11 18:56:39 +02:00
gambas
3454c0cd29 The Move() and Resize() methods now correctly update the contents of windows.
[GB.QT4]
* BUG: The Move() and Resize() methods now correctly update the contents of windows.

[GB.QT5]
* BUG: The Move() and Resize() methods now correctly update the contents of windows.
2018-06-01 16:01:51 +02:00