Commit graph

5584 commits

Author SHA1 Message Date
Benoît Minisini
3ce6340a09 [INTERPRETER]
* NEW: GB.GetArrayType() is a new API that returns the datatype of the elements of an array class.


git-svn-id: svn://localhost/gambas/trunk@7746 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-15 21:11:19 +00:00
Benoît Minisini
95cbf332c6 [GB.DBUS]
* BUG: Correctly marshall arrays of classes (for example, String[][]).


git-svn-id: svn://localhost/gambas/trunk@7745 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-15 13:58:50 +00:00
Fabien Bodard
1513e0f40c [GB.TERMAPP]
* NEW: Continue control class writing


git-svn-id: svn://localhost/gambas/trunk@7744 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-13 21:44:45 +00:00
Benoît Minisini
20b5726463 [GB.FORM.TERMINAL]
* OPT: When interpreting the terminal output of a process, ignore every printable character sent before a full screen erase.
* OPT: Use a cache for line graphical characters.


git-svn-id: svn://localhost/gambas/trunk@7743 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-13 21:38:44 +00:00
Benoît Minisini
dd3d5c351b [GB.GTK]
* BUG: Remove use of g_mem_set_vtable() deprecated Glib API.
* BUG: Fix a warning on NULL constant use.
* BUG: Remove use of some GtkStatusIcon deprecated functions.

[GB.GTK3]
* BUG: Remove use of g_mem_set_vtable() deprecated Glib API.
* BUG: Fix a warning on NULL constant use.
* BUG: Don't use gtk_widget_reparent() deprecated function anymore.
* BUG: Remove use of some GtkStatusIcon deprecated functions.


git-svn-id: svn://localhost/gambas/trunk@7742 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-13 21:24:56 +00:00
Benoît Minisini
eb16cc10aa [INTERPRETER]
* BUG: Remove the redefinition of NULL constant in C++ sources.


git-svn-id: svn://localhost/gambas/trunk@7741 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-13 21:20:13 +00:00
Fabien Bodard
977023524e [GB.TERMAPP]
* NEW: Initial commit
  Create the base object structure.



git-svn-id: svn://localhost/gambas/trunk@7740 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-13 20:00:25 +00:00
Benoît Minisini
5366f3391e [INTERPRETER]
* BUG: Fix the GB.Every() API that does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@7739 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-13 19:57:48 +00:00
Benoît Minisini
df4069ed9c [GB.MEDIA.FORM]
* BUG: Fix some refresh bugs, except when using GTK+3, which still does not like MediaView.
* NEW: MediaView.Duration is a new property that returns the media duration in seconds.
* NEW: MediaView.Position is a new property that returns or sets the media current position in seconds.


git-svn-id: svn://localhost/gambas/trunk@7738 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-13 18:56:54 +00:00
Tobias Boege
446af60cc1 [GB.UTIL.WEB]
* NEW: Always initialise JSON.Null, so that an entry in a JSONCollection with value JSON.Null appears in the Encode() string.



git-svn-id: svn://localhost/gambas/trunk@7737 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-11 17:04:36 +00:00
Benoît Minisini
5ad88d32a5 [GB.GTK]
* BUG: The minimum and maximum values of ScrollBar and Slider controls now can be equal, to mimic QT components behaviour.

[GB.GTK3]
* BUG: The minimum and maximum values of ScrollBar and Slider controls now can be equal, to mimic QT components behaviour.


git-svn-id: svn://localhost/gambas/trunk@7736 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-11 00:02:59 +00:00
Benoît Minisini
f73ceed778 [INTERPRETER]
* NEW: Stream.Term.Width and Stream.Term.Height are two new properties that return the size of the terminal associated with the stream, if any.
* NEW: As soon as the terminal size is read on any stream with the previous properties, the SIGWINCH signal is watched, and the Application_Resize() public method of the startup class is called each time this signal is catched, meaning that the terminal has been resized.


git-svn-id: svn://localhost/gambas/trunk@7735 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-10 13:10:25 +00:00
Benoît Minisini
229928614e [GB.FORM.TERMINAL]
* BUG: Fix drawing of bold characters.
* OPT: Detect spaces to draw them a bit faster.


git-svn-id: svn://localhost/gambas/trunk@7734 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-10 10:45:10 +00:00
Benoît Minisini
757c55146c [DEVELOPMENT ENVIRONMENT]
* BUG: ComboBox and ListBox List properties, and all other string array properties, are now correctly reset when cleared.


git-svn-id: svn://localhost/gambas/trunk@7733 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-09 13:37:05 +00:00
Benoît Minisini
3fed388e79 [GB.GUI.BASE]
* BUG: TreeView item Clear() method does not crash anymore.


git-svn-id: svn://localhost/gambas/trunk@7732 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-08 21:45:09 +00:00
Benoît Minisini
49b75202fe [GB.FORM.TERMINAL]
* NEW: Enable mouse support in TerminalView when -any- mouse mode is activated.
* NEW: Draw the terminal mouse with another cursor, and hide the X11 mouse cursor.
* BUG: Refresh the terminal before sending any terminal mouse event to the process.


git-svn-id: svn://localhost/gambas/trunk@7731 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-07 22:28:40 +00:00
Fabien Bodard
007abf12c3 [GB.FORM.TERMINAL]
* BUG: Found a workaround for the dblclick event.


git-svn-id: svn://localhost/gambas/trunk@7730 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-07 21:10:41 +00:00
Benoît Minisini
ad2a5315e4 [GB.QT4]
* BUG: Found a workaround for forcing Oxygen style to draw small push buttons correctly.

[GB.QT5]
* BUG: Found a workaround for forcing Oxygen style to draw small push buttons correctly.


git-svn-id: svn://localhost/gambas/trunk@7729 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-07 20:41:37 +00:00
Benoît Minisini
409bc82577 [GB.QT5]
* BUG: Quickly apply the Breeze style workarounds to the Oxygen style. Some work is still needed on small buttons. And other places for sure!


git-svn-id: svn://localhost/gambas/trunk@7728 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-07 09:10:28 +00:00
Fabien Bodard
f99a71e137 [GB.FORM.TERMINAL]
* NEW: Add filter for mouse events. All work fine but there is a problem
  on detecting dblClick. Gambas not emit all the mouseUp events.


git-svn-id: svn://localhost/gambas/trunk@7727 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-06 21:39:34 +00:00
Benoît Minisini
ebe3fdaf0c [INTERPRETER]
* BUG: Subst$() now does not crash anymore when its result is a void string.


git-svn-id: svn://localhost/gambas/trunk@7726 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-06 13:19:14 +00:00
Benoît Minisini
4bc919331c [GB.FORM.TERMINAL]
* BUG: Don't scroll to the cursor if a key is ignored by the terminal filter.
* NEW: Finish the graphical characters drawing routine.


git-svn-id: svn://localhost/gambas/trunk@7725 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-05 23:50:56 +00:00
Benoît Minisini
227e6a033a [GB.FORM.TERMINAL]
* NEW: Bold graphical line characters are supported now.


git-svn-id: svn://localhost/gambas/trunk@7724 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-05 21:56:55 +00:00
Fabien Bodard
cbac3825d9 [GB.FORM.TERMINAL]
* BUG: Re activate Fast mode.


git-svn-id: svn://localhost/gambas/trunk@7723 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-05 21:15:10 +00:00
Fabien Bodard
3dda8c8c71 [GB.FORM.TERMINAL]
* NEW: Write the mouse event filter function (not connected yet)


git-svn-id: svn://localhost/gambas/trunk@7722 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-05 21:07:17 +00:00
Benoît Minisini
dc0607ac4a [GB.DB.MYSQL]
* BUG: TINY(1) field are now correctly converted into Gambas booleans in all cases.


git-svn-id: svn://localhost/gambas/trunk@7721 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-05 21:02:58 +00:00
Benoît Minisini
27ae18d403 [GB.FORM.TERMINAL]
* NEW: TerminalView.Print() is a new method that allows to print characters into the terminal view.
* NEW: Draw line graphical characters manually, without using the font.


git-svn-id: svn://localhost/gambas/trunk@7720 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-05 13:03:17 +00:00
Benoît Minisini
10568e0876 [GB.FORM.TERMINAL]
* BUG: Fix drawing of characters not in the initial font cache.


git-svn-id: svn://localhost/gambas/trunk@7719 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-05 01:05:52 +00:00
Benoît Minisini
d093273eaf [DEVELOPMENT ENVIRONMENT]
* BUG: Correctly detect virtual controls that need a parent or not.

[GB.FORM.TERMINAL]
* NEW: Support for graphical charset (used by alsamixer for example).
* BUG: Correctly initialize font cache. Better support for variable-width fonts.

[GB.WEB.FORM]
* NEW: Initial implementation of WebUploadButton, a new control that allows to select a file for uploading. Uploading by itself is not yet implemented yet.


git-svn-id: svn://localhost/gambas/trunk@7718 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-04 17:41:58 +00:00
Benoît Minisini
75901f6215 [GB.FORM.TERMINAL]
* BUG: Remove debugging code.


git-svn-id: svn://localhost/gambas/trunk@7717 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-03 14:08:32 +00:00
Benoît Minisini
130f127adb [GB.FORM.TERMINAL]
* NEW: Better suppor for variable-width fonts.
* BUG: Draw the terminal background everywhere, not just where there are characters.


git-svn-id: svn://localhost/gambas/trunk@7716 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-03 13:31:02 +00:00
Benoît Minisini
e6c400c46c [INTERPRETER]
* BUG: Fix 'gambas.h' header for new version of gcc.


git-svn-id: svn://localhost/gambas/trunk@7715 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-03 11:40:08 +00:00
Benoît Minisini
ff7bbe8a21 [DEVELOPMENT ENVIRONMENT]
* NEW: Add 'gb.form.terminal' to the component list.
* NEW: New component status icons.

[INTERPRETER]
* BUG: Correctly export Stream.Term description.
* NEW: Stream.Term.FlowControl is a new property that allows to set or retrieve if flow control is enabled on a terminal stream.

[GB.GTK]
* NEW: Change the name of 'NewChild' event argument.

[GB.GTK3]
* NEW: Change the name of 'NewChild' event argument.

[GB.QT4]
* NEW: Change the name of 'NewChild' event argument.

[GB.QT5]
* NEW: Change the name of 'NewChild' event argument.

[GB.FORM.TERMINAL]
* NEW: Support for the 'Set title' command.
* NEW: TerminalView now emits the Title event when the terminal requests a title change.
* NEW: Support for flow control. When output is suspended, the terminal contents becomes darker.
* BUG: Correctly update the scrollbar when switching between screens.


git-svn-id: svn://localhost/gambas/trunk@7714 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-03 10:54:21 +00:00
Benoît Minisini
da2825d82a [GB.FORM.TERMINAL]
* BUG: Fix screen refresh.
* NEW: Implement "Erase character" escape sequence.


git-svn-id: svn://localhost/gambas/trunk@7713 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-03 01:24:33 +00:00
Benoît Minisini
ff31478dab [GB.FORM.TERMINAL]
* BUG: Ensure the current line is visible and refreshed after a key has been pressed.


git-svn-id: svn://localhost/gambas/trunk@7712 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-02 19:08:10 +00:00
Benoît Minisini
55dba3f13b [GB.FORM.TERMINAL]
* NEW: TerminalView.Limit is 1000 lines by default. 0 means no limit again.
* OPT: Many little optimizations everywhere.
* BUG: Fix "Device status report" escape sequence detection.
* BUG: Fix bracketed paste string sent to the process.
* NEW: Clearing the screen now automatically scrolls the screen to the bottom.


git-svn-id: svn://localhost/gambas/trunk@7711 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-02 12:35:00 +00:00
Fabien Bodard
e513eae9f4 [GB.FORM.TERMINAL]
* NEW: Finish BraketedPaste Mode


git-svn-id: svn://localhost/gambas/trunk@7710 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-02 07:50:43 +00:00
Benoît Minisini
781882c601 [GB.FORM.TERMINAL]
* NEW: Implement "Insert space" escape sequence.
* NEW: Detect blink escape sequences.
* BUG: Fix Return and Enter key support.
* BUG: Fix selection on void lines.


git-svn-id: svn://localhost/gambas/trunk@7709 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-02 00:01:53 +00:00
Benoît Minisini
e2245b80ef [GB.FORM.TERMINAL]
* NEW: Support for blinking text.


git-svn-id: svn://localhost/gambas/trunk@7708 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-01 23:22:39 +00:00
Fabien Bodard
d7740890c5 [GB.FORM.TERMINAL]
* NEW: Prepare for mouse events filters
* NEW: Add support for bracketed paste mode (not finished)
  https://cirw.in/blog/bracketed-paste



git-svn-id: svn://localhost/gambas/trunk@7707 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-01 21:57:25 +00:00
Fabien Bodard
f8cfb2052d [GB.FORM.TERMINAL]
* NEW: Support multiple parameters on Set Mode.
* BUG: Convert the return key in filter for application mode.


git-svn-id: svn://localhost/gambas/trunk@7706 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-01 20:12:29 +00:00
Benoît Minisini
864a452bb0 [GB.FORM.TERMINAL]
* NEW: Selected text is automatically copied to the secondary clipboard.
* NEW: The middle mouse button now paste the secondary clipboard.
* BUG: Automatic scrolling while selecting works correctly again.


git-svn-id: svn://localhost/gambas/trunk@7705 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-01 08:50:28 +00:00
Benoît Minisini
b0cd5108a4 [GB.FOM.TERMINAL]
* OPT: Delay the process output interpretation instead of the refresh. Better performances, and less flicker.


git-svn-id: svn://localhost/gambas/trunk@7704 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-01 07:30:19 +00:00
Benoît Minisini
34834e5fee [GB.FORM.TERMINAL]
* NEW: Move project files to the 'Project' directory.
* NEW: Remove an unused module.
* NEW: Take 'AppCursorKey' mode into account for a few keys.
* NEW: Take 'NewlineMode' mode into account for Return and Enter keys.
* NEW: Implement Shift+Return and Shift+Enter key sequences.


git-svn-id: svn://localhost/gambas/trunk@7703 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-01 06:46:40 +00:00
Benoît Minisini
ea743770ff [GB.FORM.TERMINAL]
* OPT: Compress/uncompress line attributes on demand.
* NEW: Implement "Scroll up", "Scroll down" and "Vertical line position" escape sequences.
* BUG: Fix "Hide cursor" and "Show cursor" interpretation.
* NEW: Draw cursor with transparency.


git-svn-id: svn://localhost/gambas/trunk@7702 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-04-01 05:55:14 +00:00
Benoît Minisini
d7e88bf641 [INTERPRETER]
* BUG: Fix a possible crash in String.Code().

[GB.FORM.TERMINAL]
* OPT: Compress the attribute array associated with each line.
* OPT: Drawing line routine uses the JIT compiler.



git-svn-id: svn://localhost/gambas/trunk@7701 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-31 19:06:03 +00:00
Fabien Bodard
0c158f7788 [GB.FORM.TERMINAL]
* NEW: Add filter for vertical cursor pos Y
* BUG: Add filter for normal character ESC [ m


git-svn-id: svn://localhost/gambas/trunk@7700 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-31 16:52:38 +00:00
Benoît Minisini
3ba017f5f0 [GB.FORM.TERMINAL]
* NEW: Support for up to 256 colors.
* NEW: Use brighter default colors for foreground.
* BUG: Fix font cache initialization for GTK+, by drawing printable characters only.


git-svn-id: svn://localhost/gambas/trunk@7699 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-31 16:43:38 +00:00
Benoît Minisini
79a4ea2a70 [INTERPRETER]
* BUG: Fix a crash on one error message thrown incorrectly.

[GB.FORM.TERMINAL]
* OPT: Optimize drawing routine. Still slow, but less flicker.
* NEW: TerminalView: Add a blink property that enables or disables cursor blink.

[GB.GTK]
* BUG: Use cairo_paint() instead of cairo_fill() when Paint.Operator is not Paint.OperatorOver. Is it a Cairo bug?

[GB.GTK3]
* BUG: Use cairo_paint() instead of cairo_fill() when Paint.Operator is not Paint.OperatorOver. Is it a Cairo bug?


git-svn-id: svn://localhost/gambas/trunk@7698 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-31 09:25:11 +00:00
Fabien Bodard
55b4ee5794 [GB.FORM.TERMINAL]
* BUG: Remove translator for TAB and SP


git-svn-id: svn://localhost/gambas/trunk@7697 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-30 22:21:26 +00:00