Commit Graph

236 Commits

Author SHA1 Message Date
Markus Gans 0c3668573d Speed up FString::setNumber() by using a decimal string lookup table 2017-04-17 01:03:14 +02:00
Markus Gans 09d6c2879d Fix unsigned integer underflow in FString::_insert() 2017-04-15 19:32:43 +02:00
Markus Gans cb2e2e2045 Open/NetBSD (wscons): Alt key generate Esc prefix 2017-04-14 23:55:44 +02:00
Markus Gans 2ec425480a Enable xterm "metaSendsEscape" switch 2017-04-11 00:30:27 +02:00
Markus Gans c6dba0b4ac Rename preprocessor macro names with leading underscore 2017-04-09 20:08:53 +02:00
Markus Gans 7ead64f2b8 Looking in /etc/ttys for the type of terminal 2017-04-08 02:40:22 +02:00
Markus Gans 0a581cb58b Change cursor style on a FreeBSD console 2017-04-06 01:31:21 +02:00
Markus Gans 7f134ccada New Method setInsertCursorStyle() 2017-04-05 22:25:20 +02:00
Markus Gans 6b5f033b7b Replace non-printable chars for Tera Term and Cygwin 2017-04-05 00:30:52 +02:00
Markus Gans 8de22dc903 Avoid non-printable ASCII codes < 0x1c on FreeBSD 2017-04-02 21:32:48 +02:00
Markus Gans 09eb75c14b Remap meta key to left alt on FreeBSD console 2017-04-02 13:31:00 +02:00
Markus Gans 0e5b1dfebd Remap meta key to left alt on FreeBSD console 2017-04-02 13:30:23 +02:00
Markus Gans bcfa7fb731 termcap "me" does not reset the alternate character set 2017-03-30 00:46:52 +02:00
Markus Gans d5b2c9dc99 Improved alternate character set for FreeBSD console 2017-03-28 08:50:37 +02:00
Markus Gans 48b2e6a816 compiles now under FreeBSD 2017-03-26 20:40:04 +02:00
Markus Gans ef5ca7d5f8 Add the "mouse" example 2017-03-19 17:18:07 +01:00
Markus Gans 05c61f1901 More constant character pointers 2017-03-17 22:59:06 +01:00
Markus Gans 06ec274d00 Corrects directly the input cursor position on window moving 2017-03-12 20:29:10 +01:00
Markus Gans 7ab1a6b353 Fixed bug in FString copy constructor 2017-03-12 01:26:08 +01:00
Markus Gans 4107227119 on-demand scroll bars for FButtonGroup 2017-03-12 00:29:56 +01:00
Markus Gans 56df867ef7 Improve input cursor positioning in FScrollView 2017-03-08 23:48:30 +01:00
Markus Gans bd06df8987 Corrected swapped top and left offset variables in the class FVTerm 2017-02-25 15:18:29 +01:00
Markus Gans 34961037f8 Fixes incorrect return value of FString::toString() 2017-02-24 23:31:56 +01:00
Markus Gans 7c11ba1707 FListBox saves data pointer in FListBoxItems 2017-02-24 00:30:07 +01:00
Markus Gans b35d225ff5 FButtonGroup now inherits from FScrollView 2017-02-20 00:00:53 +01:00
Markus Gans 3f8ed6e78e Allows a window to have more than one FScrollView widget 2017-02-18 23:37:10 +01:00
Markus Gans 09021d9c0a Check of the termcap capability U8 2017-02-07 17:15:01 +01:00
Markus Gans 36bba82e9f Allow to change the focus out from FScrollView 2017-01-28 22:03:15 +01:00
Markus Gans 59189160fd FScrollView now scrolls automatically to the focused widget 2017-01-26 00:31:07 +01:00
Markus Gans 51b1d18a84 FScrollView now allows client widget 2017-01-22 23:04:40 +01:00
Markus Gans 5cb7b77f4e Virtual window gets a preprocessing handler 2017-01-15 19:48:27 +01:00
Markus Gans 49e36e5203 Add scrollTo and scrollBy methods to FScrollView 2017-01-07 22:09:09 +01:00
Markus Gans 99ff28cbbe Add FScrollView arrow keys support 2017-01-03 19:02:04 +01:00
Markus Gans 87ca58b898 FScrollView now has on-demand scroll bars 2017-01-03 05:19:44 +01:00
Markus Gans b2e4a59f54 FScrollView provides a scrollable viewport to change area 2017-01-02 08:07:46 +01:00
Markus Gans 628bec0b29 Reduce public methods in FVTerm 2016-12-28 16:29:49 +01:00
Markus Gans 2c8d58f803 Avoid non-working tab-moves on Linux terminals with PC or VT100 encoding 2016-12-27 23:03:32 +01:00
Markus Gans 386e91563a Add the ability to stream text into a widget's virtual window with print() or *this 2016-12-26 01:15:32 +01:00
Markus Gans f67537fba4 Correct gpm detection in configure script 2016-12-22 12:27:11 +01:00
Markus Gans c4a8886da2 VTerm marks printed characters for a correct determination of unchanged characters 2016-12-22 02:02:40 +01:00
Markus Gans b9f3be782f Skipping the print of characters without changes 2016-12-18 23:34:11 +01:00
Markus Gans fedb5f64f3 Reduce the character output by using character erase and character repeat 2016-12-15 23:11:34 +01:00
Markus Gans e4284615db Accelerates text line drawing by clear with CSI sequences 2016-12-11 16:42:50 +01:00
Markus Gans b10cf800bd Restore window titl only if it could be read before 2016-11-29 00:23:45 +01:00
Markus Gans 4012cdb7b0 Version 0.3.0 2016-11-27 19:16:52 +01:00
Markus Gans 4da63ebcac Improvements for ansi terminal emulators 2016-11-27 00:41:34 +01:00
Markus Gans 8beed7b330 Add the opti-move test program 2016-11-26 15:18:44 +01:00
Markus Gans 5530c99d22 Increase speed on cygwin terminals 2016-11-20 21:15:43 +01:00
Markus Gans 082bbfbaa2 Improve tty settings 2016-11-20 18:26:15 +01:00
Markus Gans fc8ee51e72 Do not draw shadows on a linux console if not all characters are available 2016-11-13 22:08:40 +01:00
Markus Gans 04a483526f Optimized input cursor positioning for terminals without hidden cursor 2016-11-12 22:59:48 +01:00
Markus Gans 125c4b961b The use of xterm default colors now is configurable 2016-11-06 16:36:21 +01:00
Markus Gans e66f00ea92 Determine xterm maximum number of colors via OSC 4 2016-11-05 23:12:05 +01:00
Markus Gans b9cc271765 xterm should be able to use at least 16 colors 2016-11-03 23:26:19 +01:00
Markus Gans 75b452bf52 The class declaration now has a consistent order 2016-11-02 00:37:58 +01:00
Markus Gans 1613d5bb55 Refactor the VGA attribute controller access code 2016-10-17 08:44:38 +02:00
Markus Gans ff6deaf4ab Each virtual window gets its own virtual print cursor 2016-10-15 03:32:30 +02:00
Markus Gans 17b59cf50d Virtual windows can now store their own offset information 2016-10-14 13:02:35 +02:00
Markus Gans cae1a742ea Reduces in the code the number of friend classes 2016-10-13 02:16:51 +02:00
Markus Gans b668f7011c Separate the virtual terminal into a own class vterm 2016-10-11 04:57:36 +02:00
Markus Gans e14cd1af83 Remove some duplicate code 2016-10-09 02:06:06 +02:00
Markus Gans 8328af4132 Add the possibility to scroll text up and down in a virtual window 2016-10-08 02:54:32 +02:00
Markus Gans 605194b69e input cursor is now controlled by the vterm 2016-10-06 23:15:09 +02:00
Markus Gans 1231b9f65d FStatusBar and FMenuBar use now the always-on-top window option 2016-10-02 21:26:25 +02:00
Markus Gans 9ccc5a4f27 New FToolTip widget to show assisted information 2016-10-01 23:18:49 +02:00
Markus Gans c25ee14fe7 Move or resize a window with the arrow keys 2016-09-30 04:55:28 +02:00
Markus Gans c43a7f9bad The window size is now changeable with the mouse 2016-09-29 04:29:12 +02:00
Markus Gans 7369ed1a10 FLabel now transmits the Click events to the parent widget 2016-09-27 00:46:05 +02:00
Markus Gans 9475f34499 Replacing the widget position variables by FRect objects 2016-09-25 23:53:48 +02:00
Markus Gans e462db30a9 New zoom interaction-elements to maximize a FDialog 2016-09-11 16:48:39 +02:00
Markus Gans 6749164aca FButton, FDialog, FLineEdit and FProgressbar has now shadow as default 2016-09-04 18:31:31 +02:00
Markus Gans 3d0f046de9 clearFlatBorder() replace now a double flatline with a single flatline 2016-09-03 15:17:48 +02:00
Markus Gans 817e033d57 setGeometry assigns now the full widget size to the double_flatline_mask 2016-09-02 23:06:47 +02:00
Markus Gans 44cb96e732 incorrect parameter can now return an error message 2016-08-28 22:43:14 +02:00
Markus Gans 2904ed31b9 new inherit background option for characters 2016-08-27 23:23:42 +02:00
Markus Gans 98fbce5de6 Use the new transparent shadow option in drawShadow() 2016-08-25 01:54:10 +02:00
Markus Gans 7d0cf3383e Add a transparent example program + improve transparent shadow 2016-08-21 21:27:44 +02:00
Markus Gans f870506194 switchToPrevWindow() is looking for another window if no previous window was found 2016-08-21 00:16:34 +02:00
Markus Gans bbfbde465f Switch back to the own dialog when you closing a dialog menu 2016-08-20 22:27:23 +02:00
Markus Gans b08d064226 Screen characters now have a transparent and a transparent shadow option 2016-08-14 23:27:34 +02:00
Markus Gans 5606d66404 widget clearing updates now only non-covered characters 2016-08-06 21:43:39 +02:00
Markus Gans 303c402ada Add the windows example to show the window behavior 2016-07-31 20:28:45 +02:00
Markus Gans 0ad1228b1a Fix method setPos in the class FRect 2016-07-31 20:25:25 +02:00
Markus Gans d5685aaafc Remove dialog list item callback from the associated dialog window 2016-07-30 23:00:37 +02:00
Markus Gans 9b7918f2f6 Delete all callbacks from a widget, when it will be destroyed 2016-07-30 14:34:13 +02:00
Markus Gans 15793868fe Improvements for the window focus 2016-07-28 23:38:17 +02:00
Markus Gans a91d0566fc Improvements for the window focus 2016-07-27 04:55:10 +02:00
Markus Gans cb468c59d2 Improvements for the window focus 2016-07-25 23:50:57 +02:00
Markus Gans 4ba7af7cdc Remove callbacks and accelerator keys from FDialogListMenu on closing a dialog window 2016-07-24 20:18:23 +02:00
Markus Gans 3a822e3f3b Add a modifier key correction for the linux tty 2016-07-23 19:50:28 +02:00
Markus Gans c16d3dc3c5 Support to read meta+tab from keyboard 2016-07-17 20:30:00 +02:00
Markus Gans 75b6ac477e Switch to a specific dialog with meta + 1..9 2016-07-16 20:39:38 +02:00
Markus Gans ef201a1a33 Adding a dialog list with the entries in the chronological order of the generation 2016-07-14 23:55:22 +02:00
Markus Gans 9ef3bd3243 Bind accelerator key from the FMenuItem to the root widget 2016-07-14 00:12:16 +02:00
Markus Gans 2acda53224 Status and menu bar insert accelerator keys into root widget 2016-07-12 23:35:33 +02:00
Markus Gans fbb3c8ef11 FDialog focus fix 2016-07-10 03:51:20 +02:00
Markus Gans 07bcf76bf4 Remove obsolete code from FDialog destructor 2016-07-10 00:23:39 +02:00
Markus Gans 9766ee4b6f Better code readability: control structures (if/else, while, switch) are now separated by a blank line. 2016-07-09 00:01:59 +02:00
Markus Gans 2b40854e2f Stop terminal updates during processCloseWidget() is working 2016-07-06 23:11:49 +02:00
Markus Gans 71b5b16865 Add the new class FDialogListMenu to switch between dialog menus 2016-07-03 20:08:39 +02:00