Commit graph

130 commits

Author SHA1 Message Date
Brian G
c08d2e058c [GB.FORM.TERMINAL]
* NEW :  Method ConnectTo which allows to connect terminal to a stream
  Pipe, etc. It takes as input the terminal input and output stream
  the interface is Public Sub ConnectTo ( $hOutputStream As Variant, $hInputStream As Variant ) As Boolean


git-svn-id: svn://localhost/gambas/trunk@8106 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-02-27 01:17:05 +00:00
Brian G
207dbcdfb5 [update]
- added pipe and stream support to terminal class
   


git-svn-id: svn://localhost/gambas/trunk@8105 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-02-26 09:31:12 +00:00
Benoît Minisini
1353c10803 [GB.FORM.TERMINAL]
* NEW: TerminalView: Ignore '[1034h' and '[1034l' sequences instead of displaying a warning message.


git-svn-id: svn://localhost/gambas/trunk@8100 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-02-18 17:20:06 +00:00
Benoît Minisini
44c593bed3 [CONFIGURATION]
* NEW: Add 'gb.term.form' to the list of components to compile.

[DEVELOPMENT ENVIRONMENT]
* NEW: Update Gambas font.
* NEW: Add 'gb.term.form' to the list of components.
* OPT: Optimize the automatic completion of identifiers.
* OPT: Optimize the automatic completion of event handlers.


git-svn-id: svn://localhost/gambas/trunk@8092 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-02-15 22:10:18 +00:00
Benoît Minisini
56dff64b8c [GB.FORM.TERMINAL]
* NEW: TerminalView: Raise a Resize event with the new terminal dimensions when the terminal is resized.

git-svn-id: svn://localhost/gambas/trunk@8091 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-02-15 21:09:29 +00:00
Benoît Minisini
a829f83b3a [GB.FORM.TERMINAL]
* BUG: Correctly draw blinking text.
* BUG: Vertical and horizontal bar graphical characters now has a minimum size of 1 pixel, otherwise the thinner ones may not be visible.


git-svn-id: svn://localhost/gambas/trunk@8084 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-02-04 11:14:27 +00:00
Benoît Minisini
ea52979946 [DEVELOPMENT ENVIRONMENT]
* NEW: Reset the output terminal when the debugged project ends.

[GB.FORM.TERMINAL]
* NEW: TerminalView.Reset() is a new method that resets the terminal state without clearing it.


git-svn-id: svn://localhost/gambas/trunk@7886 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-09-03 23:44:03 +00:00
Benoît Minisini
3d0be81f4e [GB.FORM.TERMINAL]
* BUG: TerminalView: Refresh process output every 250ms at least. Don't wait for the internal 64K buffer to be filled.


git-svn-id: svn://localhost/gambas/trunk@7860 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-08-21 14:52:00 +00:00
Benoît Minisini
dd61c608aa [GB.FORM.TERMINAL]
* NEW: TerminalView: Mouse wheel now scrolls the terminal if it has no requested mouse events.

[GB.WEB.FORM]
* BUG: WebButton: Setting Text and Image property now refreshes the control only if the value has actually changed.
* NEW: WebButton: Image property can be an absolute path.
* NEW: WebContainer: All containers are now "position: relative".
* BUG: WebLabel: Setting Text property now refreshes the control only if the value has actually changed.
* NEW: WebTable: ShowCheck is a new property, set by default. If not set, the first column of checkboxes or radiobuttons is hidden, and the table behaves a bit like a ListBox.
* BUG: WebUploadArea: Spurious Progress events are not raised anymore once the upload is finished.
* OPT: WebWindow: Windows are now positioned through a 2D translation instead of setting the top and left positions. That way, the browser won't recalculate its layout, and the window moves are faster. Especially on Firefox.
* NEW: Initial internal support for automatic completion.
* BUG: WebWindow: Deactivated window title is visible again.


git-svn-id: svn://localhost/gambas/trunk@7795 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-06-01 23:59:23 +00:00
Benoît Minisini
f57d3273fe [CONFIGURATION]
* NEW: Support for Haiku operating system.
* BUG: Add explicit dependencies on 'x11' and 'gl' pkg-config packages.

[GB.FORM]
* NEW: MaskBox: Use unicode large spaces instead of ASCII smal spaces.

[GB.UTIL.WEB]
* BUG: Fix collection generation in JSON.Encode().

[GB.WEB.FORM]
* NEW: WebImage: Add the Border property.
* NEW: WebImage: Image property now can be an absolute path.
* BUG: WebButton: Workaround Firefox not supporting flex on buttons.
* BUG: WebComboBox: Enabled property is now taken into account.
* BUG: WebUploadArea: The file name now keeps the uploaded file extension.


git-svn-id: svn://localhost/gambas/trunk@7786 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-24 16:18:48 +00:00
Benoît Minisini
8b0f227a66 [GB.FORM.TERMINAL]
* BUG: Fix two inverted escape sequences: "\e[48;5;<color>m" and "\e[38;5;<color>m".


git-svn-id: svn://localhost/gambas/trunk@7784 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-22 21:10:21 +00:00
Benoît Minisini
811bbb9745 [DEVELOPMENT ENVIRONMENT]
* BUG: Give fous to the terminal when the program is started.
* NEW: Connection editor: Add "select all" and "unselect all" buttons to the DataView.

[GB.DB.FORM]
* BUG: DataView: Allow selection unless the current record is a new record.

[GB.FORM.TERMINAL]
* BUG: TerminalView: Reset() method resets more things.
* BUG: TerminalView: Flush the output buffer when the running process ends.

[GB.UTIL]
* BUG: Date.FromUnixTime() now correctly ignores the current timezone.

[GB.UTIL.WEB]
* OPT: JSON.Encode() is now a lot faster, thanks to Alexander Kuiper.

[GB.WEB.FORM]
* BUG: WebDateBox: Fix "_Similar" property.
* BUG: WebComboBox: Fix "_Similar" property.
* NEW: WebDateBox: Value is now a synonymous for the Date property.


git-svn-id: svn://localhost/gambas/trunk@7772 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-13 12:38:58 +00:00
Benoît Minisini
698f02d200 [DEVELOPMENT ENVIRONMENT]
* BUG: The terminal output now works as expected when the project is running.

[WIKI]
* BUG: The '@classes' special command now detect the class descriptions in non-english languages correctly.

[GB.FORM.TERMINAL]
* BUG: TerminalView: The top right character can be selected now.
* BUG: TerminalView: Goto() method now ensures that the cursor is visible.
* NEW: TerminalView: Count is a new property that returns the number of lines in the terminal (not the screen height).


git-svn-id: svn://localhost/gambas/trunk@7762 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-05 11:21:55 +00:00
Benoît Minisini
1fe49aaff4 [DEVELOPMENT ENVIRONMENT]
* NEW: Farm client: Allow to ignore missing components when installing a software.

[GB.FORM]
* BUG: TerminalView: Better scrollbar layout. Put the scrollbar on the left for right-to-left written languages.

[GB.NET.CURL]
* BUG: Closing a CURL stream object does not raise an error anymore. It just does nothing.


git-svn-id: svn://localhost/gambas/trunk@7752 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-03 01:07:39 +00:00
Benoît Minisini
0b928f80ef [DEVELOPMENT ENVIRONMENT]
* NEW: Use terminal emulator control from gb.form.terminal as console output.
* NEW: You cannot search into the terminal output directly anymore.
* NEW: A button that opens the terminal output content inside a new IDE editor tab, so that you can search inside, or do anything you want.

[WIKI]
* NEW: A command-line option to generate offline help.

[GB.FORM.TERMINAL]
* NEW: TerminalView: ShowScrollBar is a new property that makes the vertical scrollbar always visible.
* NEW: TerminalView: Exec() and Shell() methods now take the environment as an optional argument.
* NEW: TerminalView: Text is a new read-only property that returns the terminal contents.

[GB.WEB.FORM]
* BUG: WebButton: Take the Width and Height properties into account correctly.
* BUG: WebComboBox: The List property now can take a null value without crashing.
* OPT: WebControl: Setting most of properties without changing their value now does nothing.
* BUG: WebLabel: The Alignment property is correctly declared now.
* NEW: WebProgressBar: A new control that displays a progress bar.
* NEW: WebTable: Select is a new event that is raised when the WebTable selection changes.
* NEW: WebUploadArea: A new container that selects a local file when the user clicks on it, and that allows to upload it to the server.


git-svn-id: svn://localhost/gambas/trunk@7750 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-05-02 22:00:53 +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
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
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
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
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
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
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
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
Benoît Minisini
82b52bdf3b [GB.FORM.TERMINAL]
* NEW: Support for inserting and deleting lines.
* NEW: Support for hide and show cursor.
* NEW: Disable history in alternate screen.
* NEW: New way of drawing text. Slower, but interesting. It can handle variable-width fonts like fixed-width fonts. Does not work yet with GTK+. Apparently cairo drawing operators behave strangely compated to the QT ones.
* BUG: TerminalView: Fix EnsureVisible() method.


git-svn-id: svn://localhost/gambas/trunk@7696 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-30 22:04:11 +00:00
Fabien Bodard
da4868a408 [GB.FORM.TERMINAL]
* NEW: Implement special keys translation.



git-svn-id: svn://localhost/gambas/trunk@7695 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-30 21:31:41 +00:00
Fabien Bodard
812467fbe0 [GB.FORM.TERMINAL]
* NEW: Add terminal type report


git-svn-id: svn://localhost/gambas/trunk@7694 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-30 20:36:02 +00:00
Benoît Minisini
589786c601 [GB.FORM.TERMINAL]
* BUG: Fix "Erase end of line" command.


git-svn-id: svn://localhost/gambas/trunk@7693 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-29 22:42:35 +00:00
Fabien Bodard
02128f960c [GB.FORM.TERMINAL]
* NEW: Change the attribute parsing, now attributes with multiple parameters
  are allowed. Note that the color management need to be improved to support
  colors value > to 256 and RGB colors.
  


git-svn-id: svn://localhost/gambas/trunk@7691 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-29 21:12:40 +00:00
Benoît Minisini
e459de75a8 [GB.FORM.TERMINAL]
* BUG: Fix text and attribute insertion.


git-svn-id: svn://localhost/gambas/trunk@7690 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-29 13:01:00 +00:00
Benoît Minisini
46822f31d6 [GB.FORM.TERMINAL]
* NEW: Make debugging messages conditonal.
* NEW: TerminalView: Use a DrawingArea instead of a ScrollArea, and a vertical scrollbar that hides automatically.


git-svn-id: svn://localhost/gambas/trunk@7689 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-29 12:33:24 +00:00
Benoît Minisini
0ea9aeb379 [GB.FORM.TERMINAL]
* BUG: Fix process output management when an UTF-8 character is cut.
* NEW: Implement Newline mode, Wrap mode and Insert mode.
* BUG: Fix cursor moves commands.
* NEW: Implement "Delete char" command.
* NEW: Use bold font instead of drawing the text twice.
* BUG: Correctly handle vector fonts with non-integer character width.
* NEW: Disable blinking cursor and add a lot of messages for debugging.


git-svn-id: svn://localhost/gambas/trunk@7688 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-29 11:44:20 +00:00
Benoît Minisini
64bbe678bc [GB.FORM.TERMINAL]
* BUG: Fix parsing of escape sequences.
* NEW: Add support for cursor moves.


git-svn-id: svn://localhost/gambas/trunk@7686 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-28 21:41:36 +00:00
Fabien Bodard
ca80c015c4 [GB.FORM.TERMINAL]
* NEW: Console class that make use of vt100 escape code more easy.
* NEW: Attributes class that manage use of vt100 characters attributes.


git-svn-id: svn://localhost/gambas/trunk@7685 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-28 21:34:14 +00:00
Fabien Bodard
277f2249ed [GB.FORM.TERMINAL]
* BUG: Oups


git-svn-id: svn://localhost/gambas/trunk@7684 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-28 16:28:18 +00:00
Benoît Minisini
aba697b313 [GB.FORM.TERMINAL]
* NEW: Implement switch between normal screen and alternate screen.


git-svn-id: svn://localhost/gambas/trunk@7683 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-28 16:27:32 +00:00
Fabien Bodard
5299756f22 [GB.FORM.TERMINAL]
* NEW: Continue


git-svn-id: svn://localhost/gambas/trunk@7682 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-28 16:22:03 +00:00
Fabien Bodard
85a119f682 [GB.FORM.TERMINAL]
* NEW: Remove my old implementation.
* NEW: Begin to add some class to help testing.


git-svn-id: svn://localhost/gambas/trunk@7681 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-28 16:08:50 +00:00
Fabien Bodard
aa44a876a8 [GB.FORM.TERMINAL]
* BUG: Invert Foreground and Background on 256 mode. But i don't know why.


git-svn-id: svn://localhost/gambas/trunk@7680 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-27 17:32:09 +00:00
Fabien Bodard
a6e5567815 [GB.FORM.TERMINAL]
* NEW: Add support for 256 colors



git-svn-id: svn://localhost/gambas/trunk@7679 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-27 17:15:22 +00:00
Fabien Bodard
83e2087c06 [GB.FORM.TERMINAL]
* NEW: Add filter for color 90-97 and 100-107


git-svn-id: svn://localhost/gambas/trunk@7678 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-27 14:48:30 +00:00
Fabien Bodard
e0265cfac2 [GB.FORM.TERMINAL]
* NEW: Finish the VT100 Escape codes list.


git-svn-id: svn://localhost/gambas/trunk@7677 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-27 10:07:17 +00:00
Fabien Bodard
2fdd19cf4a [GB.FORM.TERMINAL]
* NEW: Finish the VT100 Escape codes list.


git-svn-id: svn://localhost/gambas/trunk@7676 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-27 10:02:53 +00:00
Benoît Minisini
83f67ca164 [GB.FORM.TERMINAL]
* BUG: Move flags from terminal filter to terminal screen.
* NEW: Moving the cursor ensures that it is visible (i.e. not flashing).


git-svn-id: svn://localhost/gambas/trunk@7675 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-27 09:18:17 +00:00
Benoît Minisini
342848f9e1 [INTERPRETER]
* NEW: Stream.Term.Echo is a new property that allows to enable or disable the terminal echo mode.

[GB.FORM.EDITOR]
* NEW: Screen management splitted from TerminalView. TerminalView has two screens now. Switch between screens is not implemented yet.


git-svn-id: svn://localhost/gambas/trunk@7674 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-27 08:54:02 +00:00
Fabien Bodard
d4848d2d9c [GB.FORM.TERMINAL]
* NEW: VT100 standart definitions file (not full)


git-svn-id: svn://localhost/gambas/trunk@7673 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-27 08:36:00 +00:00
Benoît Minisini
30a282abd0 [GB.FORM.TERMINAL]
* BUG: Fix interpretation of Background and Foreground escape sequences.


git-svn-id: svn://localhost/gambas/trunk@7672 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-26 14:03:45 +00:00
Benoît Minisini
1f81033b96 [GB.FORM.TERMINAL]
* BUG: Fix "set attribute" escape characters analyze.
* BUG: Remove Bright attribute, it was actually the same as Bold.


git-svn-id: svn://localhost/gambas/trunk@7671 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-26 13:45:50 +00:00
Benoît Minisini
bc4bc17b6c [GB.FORM.TERMINAL]
* NEW: TerminalView: Terminal resize is now sent to the running process terminal.


git-svn-id: svn://localhost/gambas/trunk@7670 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-26 13:10:10 +00:00
Benoît Minisini
159f039e02 [GB.FORM.TERMINAL]
* NEW: Support for XTERM "set window title" sequence.
* NEW: Rename "Underline" attribute as "Underscore".
* NEW: Support for "set attribute" escape sequences.
* BUG: TerminalView: Fix selection behaviour.


git-svn-id: svn://localhost/gambas/trunk@7668 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-26 11:10:21 +00:00
Benoît Minisini
0e52f6d63b [GB.FORM.TERMINAL]
* NEW: A icon for TerminalView.
* NEW: Initial VT100 terminal filter.
* NEW: TerminalView: Exec() and Shell() are two new methods to run a process inside the virtual terminal. Process input management is not implemented, and process output support is rudimentary.


git-svn-id: svn://localhost/gambas/trunk@7667 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-26 10:08:12 +00:00
Benoît Minisini
5d0151fe32 [GB.FORM.TERMINAL]
* NEW: TerminalView: Automatic support of control characters. Only the ESC sequences have to be implemented in the terminal emulator.


git-svn-id: svn://localhost/gambas/trunk@7666 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-25 15:25:43 +00:00
Benoît Minisini
625888d44d [INTERPRETER]
* NEW: Timer: The constructor now takes the delay as optional parameter. And if that delay is specified, the timer is automatically started.

[GB.FORM.TERMINAL]
* NEW: TerminalView: internal control that only deals with displaying the terminal contents.


git-svn-id: svn://localhost/gambas/trunk@7664 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-25 13:06:09 +00:00
Fabien Bodard
fe098f5964 [GB.FORM.TERMINAL]
* NEW: Rewriting the componant base. Initial commit.



git-svn-id: svn://localhost/gambas/trunk@7656 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-22 12:23:18 +00:00
Fabien Bodard
401b05bfa9 [GB.FORM.TERMINAL]
* NEW: Adding some new classes, now I can begin the developement
  of the screen part.


git-svn-id: svn://localhost/gambas/trunk@7182 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-12 20:19:19 +00:00
Fabien Bodard
84b7875611 [GB.FORM.TERMINAL]
* NEW: First commit, nothing usable for now, I just started to write the emulator,
  which already represents a large number of lines of code, but the most complex work 
  was to understand how the entire virtual terminal. Thank you to all available sources,
  Xterm, Rxvt, Konsole. I hope to arrive at the end to implement all the functions of VT102.


git-svn-id: svn://localhost/gambas/trunk@7178 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-07-11 20:59:45 +00:00