Commit graph

964 commits

Author SHA1 Message Date
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
gambas
352bf8230d Fix use of QFont::setStyleName()
[GB.QT4]
* BUG: Don't use QFont::setStyleName() if Qt version is not at least 4.8.

[GB.QT5]
* BUG: Call QFont::setStyleName() last, as it may be buggy if Qt version is not at least 5.3.
2018-05-12 19:38:38 +02:00
gambas
c88b94cfbd Don't center modal forms if they have been explicitely moved.
[GB.QT4]
* BUG: Don't center modal forms if they have been explicitely moved.

[GB.QT5]
* BUG: Don't center modal forms if they have been explicitely moved.
2018-04-13 17:06:00 +02:00
gambas
cb9f245c3d ScrollView: The background and foreground colors are now applied to the entire widget.
[GB.QT4]
* NEW: ScrollView: The background and foreground colors are now applied to the entire widget.

[GB.QT5]
* NEW: ScrollView: The background and foreground colors are now applied to the entire widget.
2018-04-06 00:18:59 +02:00
gambas
15f0960ab7 Never disable the Qt GLib event loop, even on KDE.
[GB.QT4]
* NEW: Never disable the Qt GLib event loop, even on KDE.

[GB.QT5]
* NEW: Never disable the Qt GLib event loop, even on KDE.
2018-03-16 01:58:52 +01:00
gambas
b9de5d027c Workaround a new bug in QT5 that prevents some bold fonts from being seen.
[GB.QT5]
* BUG: Workaround a new bug in QT5 that prevents some bold fonts from being seen.
2018-03-08 02:35:09 +01:00
gambas
69abff8f73 Menu.Closed property now takes the menu proxy into account.
[GB.QT4]
* BUG: Menu.Closed property now takes the menu proxy into account.

[GB.QT5]
* BUG: Menu.Closed property now takes the menu proxy into account.
2018-03-06 23:35:59 +01:00
gambas
c6587f6116 Fix render of Slider controls with Breeze theme.
[GB.QT4]
* BUG: Fix render of Slider controls with Breeze theme.

[GB.QT5]
* BUG: Fix render of Slider controls with Breeze theme.
2018-03-03 03:12:24 +01:00
gambas
581167f60e Remove a debugging message.
[GB.QT5]
* BUG: Remove a debugging message.
2018-02-26 17:34:01 +01:00
gambas
6b7b59c476 Clipboard.HasChanged is a new property that returns if the clipboard contents has changed since the last call to Clipboard.Paste().
[GB.GTK]
* NEW: Clipboard.HasChanged is a new property that returns if the clipboard contents has changed since the last call to Clipboard.Paste().

[GB.GTK3]
* NEW: Clipboard.HasChanged is a new property that returns if the clipboard contents has changed since the last call to Clipboard.Paste().

[GB.QT4]
* NEW: Clipboard.HasChanged is a new property that returns if the clipboard contents has changed since the last call to Clipboard.Paste().

[GB.QT5]
* NEW: Clipboard.HasChanged is a new property that returns if the clipboard contents has changed since the last call to Clipboard.Paste().
2018-02-26 04:03:21 +01:00
gambas
c8d6b096e7 Get rid of spurious "selection too old" messages from Qt xcb platform plugin.
[GB.QT5]
* BUG: Get rid of spurious "selection too old" messages from Qt xcb platform plugin.
2018-02-23 21:50:18 +01:00
gambas
5969cc0062 Menu.Closed is a new property that returns if a popup menu is closed.
[GB.GTK]
* NEW: Menu.Closed is a new property that returns if a popup menu is closed.

[GB.GTK3]
* NEW: Menu.Closed is a new property that returns if a popup menu is closed.

[GB.QT4]
* NEW: Menu.Closed is a new property that returns if a popup menu is closed.

[GB.QT5]
* NEW: Menu.Closed is a new property that returns if a popup menu is closed.
2018-02-23 04:05:27 +01:00
gambas
09a0573e61 Replace my old sourceforge mail address by the new one.
[CONFIGURATION]
Replace my old sourceforge mail address by the new one.
2018-02-12 02:53:46 +01:00
gambas
066c25c7aa Image.FromString() and Picture.FromString() are two new methods that load an image from the contents of a string.
[GB.GTK]
* NEW: Image.FromString() and Picture.FromString() are two new methods that load an image from the contents of a string.

[GB.GTK3]
* NEW: Image.FromString() and Picture.FromString() are two new methods that load an image from the contents of a string.

[GB.IMAGE.IO]
* NEW: Image.FromString() and Picture.FromString() are two new methods that load an image from the contents of a string.

[GB.QT4]
* NEW: Image.FromString() and Picture.FromString() are two new methods that load an image from the contents of a string.

[GB.QT5]
* NEW: Image.FromString() and Picture.FromString() are two new methods that load an image from the contents of a string.
2018-01-06 17:05:49 +01:00
gambas
e3f941c7e2 Use a dedicated stream for locks, and ignore Application.Busy when displaying a message box.
[DEVELOPMENT ENVIRONMENT]
* OPT: Don't load the help browser form immediately to speed up IDE starting.

[INTERPRETER]
* NEW: Use a dedicated stream for locks, so that the File object returned by LOCK cannot be used for reading or writing the locked file.

[GB.GTK]
* NEW: Ignore Application.Busy when displaying a message box.

[GB.GTK3]
* NEW: Ignore Application.Busy when displaying a message box.

[GB.QT4]
* NEW: Ignore Application.Busy when displaying a message box.

[GB.QT5]
* NEW: Ignore Application.Busy when displaying a message box.
2017-12-18 13:02:39 +01:00
gambas
5e79f29fdc Fix some gcc compiler warnings.
[COMPILER]
* BUG: Fix some gcc warnings.

[GB.QT4]
* BUG: Clipboard.Paste() correctly converts image to ARGB premultiplied format.

[GB.QT5]
* BUG: Clipboard.Paste() correctly converts image to ARGB premultiplied format.

[GB.PCRE]
* BUG: Fix a gcc warning.
2017-11-10 20:35:27 +01:00
gambas
a048b76368 Define the parent window of a modal dialog the same way in all GUI components.
[GB.QT4]
* BUG: Define the parent window of a modal dialog the same way in all GUI components.

[GB.QT5]
* BUG: Define the parent window of a modal dialog the same way in all GUI components.

[GB.GTK]
* BUG: Define the parent window of a modal dialog the same way in all GUI components.

[GB.GTK3]
* BUG: Define the parent window of a modal dialog the same way in all GUI components.
2017-10-23 23:10:49 +02:00
gambas
a2e9261032 Fix minimum value of Font.Grade property in GTK+ components.
[GB.GTK]
* BUG: Fix minimum value of Font.Grade property.

[GB.GTK3]
* BUG: Fix minimum value of Font.Grade property.

[GB.QT4]
* BUG: Share Font.Grade minimum and maximum values between QT and GTK+ components.
2017-09-29 21:03:35 +02:00