Commit Graph

371 Commits

Author SHA1 Message Date
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
Markus Gans 0c4b3a3a14 Fix the use-after-free bug for previous_widget 2016-06-27 23:08:32 +02:00
Markus Gans a179e190f9 Bug fix for FWindow::activatePrevWindow() 2016-06-26 16:08:03 +02:00
Markus Gans e29e58acb6 Move processNextEvent() code into sub functions 2016-06-25 14:33:43 +02:00
Markus Gans 396525d80f Adding required updateTerminal() calls for FMenuBar 2016-06-22 00:48:33 +02:00
Markus Gans 7dd7455b23 Fixes some status bar update issues and focus problems 2016-06-19 20:32:03 +02:00
Markus Gans 4e447a6096 Improved status bar text updating at window change 2016-06-18 19:10:41 +02:00
Markus Gans 203c50f4e6 Bug fix in FDialog onWindowActive() for combined setFocus() and activateWindow() 2016-06-16 22:50:34 +02:00
Markus Gans 07fbe91cea Bug fix in FTerm updateVTerm() for updates from vdesktop 2016-06-16 00:39:01 +02:00
Markus Gans 28c4a61997 Improved title bar menu integration 2016-06-13 22:44:15 +02:00
Markus Gans b576b8dcad Add a title bar menu to close dialogs 2016-06-12 23:06:58 +02:00
Markus Gans 0146ae9d99 Use nl_langinfo to determine the numeric thousands separator 2016-05-24 22:30:01 +02:00
Markus Gans 6ff2fb0b32 Fix for menus in modal dialogs 2016-05-22 19:18:16 +02:00
Markus Gans dcfd7c6246 Remove duplicate code 2016-05-16 23:36:13 +02:00
Markus Gans 8ca888b063 Don't focus menus with focusFirstChild() and focusLastChild() 2016-05-16 23:26:04 +02:00
Markus Gans e6c4fc9882 Improve adjustSize() 2016-05-16 21:12:18 +02:00
Markus Gans f77c2b3ff1 Better terminal identification 2016-05-01 21:45:27 +02:00
Markus Gans ed518a8e2d Improve 256 color terminal detection 2016-04-30 12:52:18 +02:00
Markus Gans 01be1a5c37 Fix the missing typecast for SpecialCharacter in ui.cpp 2016-04-19 22:05:42 +02:00
Markus Gans 4dca45036e OSC sequence support for GNU Screen and tmux 2016-02-04 01:27:15 +01:00
Markus Gans ffff3aa5ca Better escape sequences readability 2016-01-31 21:06:29 +01:00
Markus Gans 56e5847d41 Moving widget flags into the class fc 2016-01-24 14:53:09 +01:00
Markus Gans e35340114b Avoid height and width underflow in adjustSize 2016-01-17 23:37:52 +01:00
Markus Gans b21fe6a405 moving events into the class fc 2016-01-17 02:57:08 +01:00
Markus Gans 9bc6ec6f96 Better default color handling 2016-01-10 00:56:52 +01:00
Markus Gans 49629a995a New class FOptiAttr to control video attributes and colors 2016-01-08 01:00:05 +01:00
Markus Gans 4a697e7c9a example program to test video attributes 2015-12-24 02:37:01 +01:00
Markus Gans 33fbbd3bc6 activate the menu with ctrl+space 2015-12-21 18:48:38 +01:00
Markus Gans a1b7e34d7d Fix missing eat_newline_glitch (xn) in TeraTerm 2015-12-21 01:10:32 +01:00
Markus Gans 27d8b515f1 Some bug fixes 2015-12-20 23:27:33 +01:00
Markus Gans 7dc30f7c70 Version 0.2.0 2015-12-19 20:51:04 +01:00
Markus Gans 9cc95d952b Optimize menu example 2015-12-18 21:48:27 +01:00
Markus Gans cc58f61480 Avoid to show menus outside of the screen 2015-12-16 23:57:14 +01:00
Markus Gans 8099c16b57 Improve sub-sub-menu handling 2015-12-12 00:50:59 +01:00
Markus Gans 700c10ef1f Newfont Bullet sign 2015-12-11 06:04:29 +01:00
Markus Gans 7207eaa0ff Add "menu" example 2015-12-08 21:05:00 +01:00
Markus Gans ae62812335 Better handling of empty strings in FLineEdit and FButton + sub-menu example 2015-11-29 15:58:36 +01:00
Markus Gans 70dd5af0fb Small menu improvements 2015-11-25 22:10:23 +01:00
Markus Gans 692f8248e1 Improved mouse and keyboard handling in sub-menus 2015-11-24 23:40:41 +01:00
Markus Gans 101c9fcc74 Add sub-menu support 2015-11-22 21:41:18 +01:00
Markus Gans 0c0453eb79 Add new classes FCheckMenuItem and FRadioMenuItem 2015-11-15 19:46:33 +01:00
Markus Gans ca60b762a7 Shows accelerator keys on the right side of the FMenu 2015-11-12 23:14:12 +01:00
Markus Gans 6fd2e7c650 Improve menu accelerator keys 2015-11-12 01:33:16 +01:00
Markus Gans df83751be2 Improved the window focus behavior on leave the menu 2015-11-08 21:50:41 +01:00
Markus Gans fb8d3df421 Menu supports newfont 2015-11-08 02:01:35 +01:00
Markus Gans b05a20943a Improved menu focus handling 2015-11-07 23:16:09 +01:00
Markus Gans a41de9496f Menu bar navigation without menu drop down 2015-11-05 23:25:21 +01:00
Markus Gans 8f3fab4bf5 Improve keyboard shortcut handling in menus 2015-11-04 00:14:23 +01:00
Markus Gans 18a7d991ff First working version of an application menu 2015-11-01 22:45:23 +01:00
Markus Gans 60fe968ce0 Support for the menu key 2015-10-29 21:10:50 +01:00
Markus Gans b9fa26965a Color setting improvements 2015-10-23 23:57:00 +02:00
Markus Gans 7e961d40c3 Make cursor visibility more standards compliant 2015-10-23 00:24:20 +02:00
Markus Gans a478bf6a2a Hidden windows are now non-clickable 2015-10-19 00:07:07 +02:00
Markus Gans 5708ac5699 Newfont characters are now printable in FLabel, FMenuBar and FMenu 2015-10-17 21:05:49 +02:00
Markus Gans 24e52e968e Improve getXTermFont() and getXTermTitle() 2015-10-17 20:39:08 +02:00
Markus Gans 56a6878f46 More faster header inline code 2015-10-17 19:40:43 +02:00
Markus Gans 2b3a7d3a4c Fixed: calculator behavior for negative values in trigonometric functions 2015-10-17 05:13:14 +02:00
Markus Gans 62890f6ecc Reduce the number of getParent() function calls for print operations 2015-10-14 04:06:26 +02:00
Markus Gans 70f5b545a5 Better support for monochrom terminals 2015-10-11 21:56:16 +02:00
Markus Gans a41727c4fc Improve attribute setting for bold, reverse and underline output 2015-10-11 04:09:58 +02:00
Markus Gans 6a92b4a956 Deactivate status bar key automatically 2015-10-10 03:14:14 +02:00
Markus Gans a20f3e6ab5 Eliminate duplicate code 2015-10-09 01:23:49 +02:00
Markus Gans d13dfbcb9d Refactoring FTerm::init() 2015-10-07 02:36:38 +02:00
Markus Gans e4ec5cb8ff Improve compatibility with initialize_color + better TeraTerm support 2015-10-06 05:09:18 +02:00
Markus Gans a640d8e91f No terminal updates until input data is pending 2015-10-03 01:45:13 +02:00
Markus Gans fa05774a13 Some code improvements 2015-09-30 22:39:02 +02:00
Markus Gans 2a44a415f3 Add methods getPos and setPos to FRect and FWidget 2015-09-27 16:00:13 +02:00
Markus Gans 9740350abd Add macro _METHOD_CALLBACK and _FUNCTION_CALLBACK to simplify the use callback functions. The callback data pointer is now predefined with NULL as default argument. 2015-09-24 19:01:27 +02:00
Markus Gans 26e9f75242 Further code optimizations 2015-09-24 00:41:43 +02:00
Markus Gans 3e03f87a6c Add the possibility to hide a virtual window 2015-09-22 22:12:31 +02:00
Markus Gans a5197c6c64 Some code optimizations 2015-09-22 04:18:20 +02:00
Markus Gans 89f6d718f3 Some code optimizations 2015-09-20 05:44:50 +02:00
Markus Gans fea7624124 fixed compile error on 32-bit architectures 2015-09-18 21:38:26 +02:00
Markus Gans b7a0dadd7b * Bug fix in FDialog (use GlobalPos to move)
* Don't check mouse click position on titlebar again while FDialog is in move
2015-08-08 23:40:32 +02:00
Markus Gans 5fd38b0496 Use correct ISO date in the ChangeLog 2015-07-27 16:59:20 +02:00
Markus Gans 44c8be0224 init() method for the FStatusKey constructor to avoid code duplication 2015-07-26 18:24:10 +02:00
Markus Gans 4ec8a3dda4 Class FLabel: Add multiple lines support 2015-07-18 21:31:26 +02:00
Markus Gans 0485138c33 Improve focusFirstChild() and focusLastChild() 2015-07-12 21:49:30 +02:00
Markus Gans 58bd749463 Better contrast on 8 color terminals 2015-07-09 23:29:51 +02:00
Markus Gans bcce95be01 Class FSwitch: Hold down the mouse button displays the switch in a different color. 2015-07-06 23:17:12 +02:00
Markus Gans 7844923d79 ChangeLog update 2015-07-06 12:25:16 +02:00
Markus Gans 5c6a8dfc54 Add a Mandelbrot set program 2015-05-25 23:39:09 +02:00
Markus Gans 475f1011de Add an input field example 2015-05-24 19:15:03 +02:00
Markus Gans 1d940dda14 upload 2015-05-23 13:35:12 +02:00
Markus Gans f0c152095c add .gitignore 2015-05-23 13:30:22 +02:00
Markus Gans a982670af6 * Remove never read value from code
* Add the possibility to use exec() from FMessageBox to enter and leave the main event loop correctly
* Add a "hello world" example
2015-05-16 00:14:42 +02:00
Markus Gans 11f207a8b2 initial upload 2015-05-03 21:07:50 +02:00