[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.
[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.
[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.
[GB.QT4]
* BUG: TabStrip should not crash anymore with an undefined symbol.
[GB.QT5]
* BUG: TabStrip should not crash anymore with an undefined symbol.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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").
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
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"
[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.
[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.
[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.
[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'.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[GB.QT4.WEBKIT]
* BUG: WebSettings.Cache.Path now understands paths beginning with "~".
[GB.QT5.WEBKIT]
* BUG: WebSettings.Cache.Path now understands paths beginning with "~".
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.