Commit graph

1817 commits

Author SHA1 Message Date
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
Benoît Minisini
f42ffa0be6 [EXAMPLES]
* BUG: SmallWiki: Fix a deprecated link.

[GB.MARKDOWN]
* BUG: Fix generation of "[[ ... ]]" sections.

[GB.WEB.FORM]
* NEW: Add some help comments.


git-svn-id: svn://localhost/gambas/trunk@7662 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-23 21:37:35 +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
Benoît Minisini
3fbcee5fa6 [WIKI]
* BUG: A few style sheet fixes.
* NEW: Automatically convert examples to the "[[ code gambas ... ]] [[ result ... ]]" sequence.

[GB.EVAL.HIGHLIGHT]
* NEW: TextHighlighter.ToHTML() does not draw procedure separations anymore.

[GB.MARKDOWN]
* BUG: Fix simple table "[[ ... ]]" management.


git-svn-id: svn://localhost/gambas/trunk@7653 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-21 00:26:12 +00:00
Benoît Minisini
2c4aa9d851 [WIKI]
* NEW: Support for "[[ code ... ]]" and "[[ result ... ]]" sections.

[GB.EVAL.HIGHLIGHT]
* BUG: Remove dependencies on GUI components.

[GB.MARKDOWN]
* BUG: Fix support of "[[ code ... ]]" section.


git-svn-id: svn://localhost/gambas/trunk@7652 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-20 23:31:10 +00:00
Benoît Minisini
ab72d33833 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix a possible crash when starting a program without arguments.
* BUG: Fix compression of CSS files.

[GB.EVAL.HIGHLIGHT]
* NEW: CSS highlighter: Support for @media directive.
* NEW: Don't use the Color class.

[GB.FORM.EDITOR]
* BUG: TextEditor: Limits of collapsed procedures are correctly drawn now.

[GB.MARKDOWN]
* NEW: Support for code highlighting through the "[[ code <language> ... ]]" block.
* NEW: Markdown.Process() is new method that allows to process the contents of a specific "[[ ... ]]" block.

[GB.WEB.FORM]
* NEW: DateBox: Put that control in the "Chooser" group with the DateChooser.


git-svn-id: svn://localhost/gambas/trunk@7651 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-20 22:39:06 +00:00
Benoît Minisini
407d650817 [GB.FORM.EDITOR]
* NEW: TextEditor: Do not draw ending spaces on top of the indentation vertical lines.
* BUG: TextEditor: Correctly draw the first procedure limit.


git-svn-id: svn://localhost/gambas/trunk@7649 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-20 01:48:15 +00:00
Benoît Minisini
bc3224d896 [GB.FORM.EDITOR]
* NEW: TextEditor: Don't use bold text for displaying cursor information.

[GB.GUI.BASE]
* BUG: ScrollArea: Fix some number roundings in EnsureVisible() method.

[GB.WEB]
* OPT: Session: Use buffered i/o when loading or saving session.

[GB.WEB.FORM]
* NEW: DateChooser is a new control that implements a date chooser.
* NEW: DateBox is a new control that implements a date box with a popup calendar.
* NEW: WebForm.ShowPopup() is a new method that allows to use a form as a popup.
* BUG: WebComboBox: Fix design.
* NEW: WebControl: Support for properties storing a WebControl.
* NEW: WebExpander: Use standard arrow.
* NEW: Internal support for web controls that need custom style sheets or javascript libraries.
* NEW: WebForm: Close is new event that is raised when a form is closed.
* NEW: WebForm: Popup is a new property that tells if the form is currently used as a popup.
* NEW: WebForm: PopupParent is a new property that returns the control using that form as a popup.


git-svn-id: svn://localhost/gambas/trunk@7646 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-03-20 01:23:01 +00:00