Commit Graph

349 Commits

Author SHA1 Message Date
Markus Gans cfc1c4ef25 change from int to std::size_t for width or height 2018-10-14 06:25:33 +02:00
Markus Gans fea78841b9 FKeyboard now uses references for keyboard buffer passing 2018-10-11 03:46:37 +02:00
Markus Gans b854224eb5 Terminal detection for newer vte libraries (>= 0.53.0) 2018-10-09 16:04:21 +02:00
Markus Gans 0b51df32b5 Move all termcap code into FTermcap 2018-10-08 04:14:20 +02:00
Markus Gans 9662c09618 empty string test fix 2018-10-05 06:19:52 +02:00
Markus Gans 8e2c32ebdc Remove redundant program code from FString 2018-10-05 05:15:54 +02:00
Markus Gans c8abcce79a dding a unit test for the FTermData class 2018-10-04 00:44:21 +02:00
Markus Gans d5e345ab68 Reduce the use of the new operators in the examples 2018-10-03 22:23:55 +02:00
Markus Gans f19b4811ae Small optimizations 2018-10-02 01:03:44 +02:00
Markus Gans 8407a9d2b6 Extract FTerm data members into the data class FTermData 2018-10-01 22:27:54 +02:00
Markus Gans 851e3db49c FListView now has the ability to sort by columns 2018-09-28 06:45:02 +02:00
Markus Gans 64c525fc79 Add time event processing unit test 2018-09-27 03:53:51 +02:00
Markus Gans 11ba43fa0f Move time event processing from FApplication to FObject 2018-09-27 03:02:07 +02:00
Markus Gans 9671586be0 Build fix for non linux in FKeyboard::keyCorrection 2018-09-26 18:01:44 +02:00
Markus Gans 4ad8335556 Stricter use of the keyword virtual 2018-09-24 04:02:35 +02:00
Markus Gans be7e8072fe autoconf settings 2018-09-22 01:11:05 +02:00
Markus Gans 4df1aafcd0 Makefile modification 2018-09-21 07:06:18 +02:00
Markus Gans a00f052e4d First CppUnit tests implemented 2018-02-25 21:42:18 +01:00
Markus Gans 81e585e299 Add test directory 2018-02-24 19:37:20 +01:00
Markus Gans ab26baa47c All include files were moved to a separate directory 2017-09-17 21:30:04 +02:00
Markus Gans 4df0418aee FObject has received the iterator child access methods begin() and end() 2017-09-17 01:50:41 +02:00
Markus Gans 0e4ba28544 Fix byte access in data type char_data 2017-09-15 01:31:02 +02:00
Markus Gans 0ce3868e74 Fix handling of negative numbers in FString::toLong() 2017-09-11 22:50:07 +02:00
Markus Gans dc3c5d19e4 Some code improvements 2017-09-11 03:06:02 +02:00
Markus Gans 1cd1e521c3 Wrong UTF-8 string length fixed when attaching to FString 2017-09-09 22:03:17 +02:00
Markus Gans f941da79e7 Type definition exported into a separate header file 2017-09-07 23:35:24 +02:00
Markus Gans 5f7737bf64 Improve code readability through spaces between the operands and the operators 2017-08-27 09:50:30 +02:00
Markus Gans 3f8b9d774b Rename fapp.{cpp,h} to fapplication.{cpp,h} 2017-08-24 00:47:35 +02:00
Markus Gans 48e737818c Some code changes for GCC 7 2017-08-11 10:50:39 +02:00
Markus Gans 55070bfc39 Advanced streaming functionality for FTermBuffer and FVTerm::print() 2017-08-06 17:02:19 +02:00
Markus Gans ba17c529ff New methods to set and get FListViewItem and FListView text for a column 2017-08-01 00:56:12 +02:00
Markus Gans 0240d782ca Possibility for a FListView column to set the alignment 2017-07-28 22:18:42 +02:00
Markus Gans d8c41b879d New Widget class FListView to allow a multi-column data view 2017-07-18 23:50:51 +02:00
Markus Gans b0b5282c9a FString::rtrim() and FString::left() now return an FString object with the correct character length 2017-06-26 23:35:34 +02:00
Markus Gans b4b95f7b45 Recalculate the horizontal FListBox scroll bar size on lazy conversion 2017-05-20 22:43:55 +02:00
Markus Gans baea344b3c FListBox: Import of data from a container via "lazy conversion" during item print 2017-05-19 22:47:13 +02:00
Markus Gans b3505af040 FListBox: Import of data from a container via "lazy conversion" during item print 2017-05-19 22:16:50 +02:00
Markus Gans ca7ba6ae7e Data import from a standard container in FListBox 2017-04-23 18:54:46 +02:00
Markus Gans a7a11083d5 FString allocates no new memory if the size sufficient 2017-04-17 22:49:42 +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 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 0e5b1dfebd Remap meta key to left alt on FreeBSD console 2017-04-02 13:30:23 +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 e66171ee73 More constant character pointers 2017-03-17 23:22:13 +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 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 7c11ba1707 FListBox saves data pointer in FListBoxItems 2017-02-24 00:30:07 +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 a67eeaa94f Small makefile fix 2017-02-06 02:21:40 +01:00
Markus Gans dbbf811993 Better monochrome support in scrollview example 2017-01-28 23:20:38 +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 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 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 b9f3be782f Skipping the print of characters without changes 2016-12-18 23:34:11 +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 33c03cf6fc Optimized the terminal clear screen 2016-11-26 18:40:50 +01:00
Markus Gans 1895dc001b Optimized the terminal clear screen 2016-11-26 18:15:31 +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 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 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 17b59cf50d Virtual windows can now store their own offset information 2016-10-14 13:02:35 +02:00
Markus Gans b668f7011c Separate the virtual terminal into a own class vterm 2016-10-11 04:57:36 +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 a2d69f5e7b Fix: Dereference of null pointer in transparent.cpp 2016-10-02 21:42:14 +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 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 fa037ee3ec Fix meta key + 1..9 dialog switch in transparent.cpp 2016-09-05 19:14:51 +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 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 bd1b9e7c90 Add a transparent example program 2016-08-21 21:29:04 +02:00
Markus Gans 7d0cf3383e Add a transparent example program + improve transparent shadow 2016-08-21 21:27:44 +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 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 7d6d5cf71f Fix: Dereference of null pointer in FOptiAttr 2016-07-24 13:51:36 +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 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 8ffa221e5f Fixes some status bar update issues and focus problems 2016-06-19 23:18:53 +02:00
Markus Gans 4e447a6096 Improved status bar text updating at window change 2016-06-18 19:10:41 +02:00
Markus Gans 0146ae9d99 Use nl_langinfo to determine the numeric thousands separator 2016-05-24 22:30:01 +02:00
Markus Gans 9df9eb5961 Improve adjustSize() 2016-05-16 21:11:32 +02:00
Markus Gans 01be1a5c37 Fix the missing typecast for SpecialCharacter in ui.cpp 2016-04-19 22:05:42 +02:00
Markus Gans 9c378151a3 TODO update 2016-02-07 22:02:38 +01:00
Markus Gans 4dca45036e OSC sequence support for GNU Screen and tmux 2016-02-04 01:27:15 +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 8ba652eb07 code improvement 2016-01-10 07:08:55 +01:00
Markus Gans df5e7e7ccf code improvement 2016-01-10 06:47:40 +01:00
Markus Gans 9bc6ec6f96 Better default color handling 2016-01-10 00:56:52 +01:00
Markus Gans e5003ac8d1 New class FOptiAttr to control video attributes and colors 2016-01-08 02:19:38 +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 6b789b16a0 Add video attribute support for dim (half-bright) and italic 2015-12-24 02:34:30 +01:00
Markus Gans 27d8b515f1 Some bug fixes 2015-12-20 23:27:33 +01:00
Markus Gans 54c45a6501 Version 0.2.0 2015-12-19 22:01:48 +01:00
Markus Gans 7dc30f7c70 Version 0.2.0 2015-12-19 20:51:04 +01:00
Markus Gans 16a2477b74 Add delOwnTimer() for FObject 2015-12-19 20:49:01 +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 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 fb8d3df421 Menu supports newfont 2015-11-08 02:01:35 +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 2b3a7d3a4c Fixed: calculator behavior for negative values in trigonometric functions 2015-10-17 05:13:14 +02:00
Markus Gans 70f5b545a5 Better support for monochrom terminals 2015-10-11 21:56:16 +02:00
Markus Gans eb05f1c1ed coding style 2015-10-10 04:01:22 +02:00
Markus Gans 6a92b4a956 Deactivate status bar key automatically 2015-10-10 03:14:14 +02:00
Markus Gans 2ba6b0bcf7 Some code improvements 2015-10-01 04:44:26 +02:00
Markus Gans 3ca644669d Some code improvements 2015-10-01 03:48:58 +02:00
Markus Gans fa05774a13 Some code improvements 2015-09-30 22:39:02 +02:00
Markus Gans 69e30eae49 Simplify default arguments 2015-09-27 16:45:28 +02:00
Markus Gans 2afa9907ac Add an inheritance diagram in every class header 2015-09-25 21:37:19 +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 53a3db9980 Rename string.cpp to string-operations.cpp 2015-09-24 16:21:39 +02:00
Markus Gans 26e9f75242 Further code optimizations 2015-09-24 00:41:43 +02:00
Markus Gans 9f4b7348c5 Change compile order in Makefile (string.cpp at the end) 2015-09-22 22:35:34 +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 fa6666f368 use now the autoconf config.h 2015-08-22 18:53:52 +02:00
Markus Gans df6636bf60 Remove setVisibleCursor() from the FToggleButton class constructor 2015-08-11 00:11:07 +02:00
Markus Gans 3cdaff6fe0 Makefile.in 2015-08-10 21:50:27 +02:00
Markus Gans b4ce9a1896 Makefile.in 2015-08-10 00:56:32 +02:00
Markus Gans 543e0a3194 Makefile.in 2015-08-10 00:38:57 +02:00
Markus Gans 4ec8a3dda4 Class FLabel: Add multiple lines support 2015-07-18 21:31:26 +02:00
Markus Gans 8b195f7783 Improve focusFirstChild() and focusLastChild() 2015-07-12 21:50:03 +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 2350242db0 Makefile update 2015-07-09 02:15:12 +02:00
Markus Gans 554cdc3042 watch.cpp code cleanup 2015-07-07 23:15:32 +02:00
Markus Gans 412462d2a9 Makefile.in update 2015-07-06 23:21:44 +02:00
Markus Gans 71050832ac Bug fix disable cursor on focus FSwitch 2015-07-06 22:43:56 +02:00
Markus Gans cef8ec0916 Class FSwitch: disable cursor on focus 2015-07-06 10:50:46 +02:00
Markus Gans 91497fbb4c version 0.1.1 2015-07-04 23:35:34 +02:00
Markus Gans a125118845 Add a .gitignore update 2015-07-04 23:10:52 +02:00
Markus Gans 1d8ea40500 Add a watch example to demonstrate the functionality of FSwitch 2015-07-04 23:05:28 +02:00
Markus Gans f282e3de3a fc::Fkey_return -> fc::Fkey_enter 2015-07-03 20:33:54 +02:00
Markus Gans 796c86da6f ui example: improve progress bar object timer 2015-07-02 21:27:19 +02:00
Markus Gans e956c3ad1f ui example: improve progress bar object timer 2015-07-02 21:21:18 +02:00
Markus Gans 5d8bbf2cd9 ui example: use the object timer for the progress bar animation 2015-07-02 01:00:30 +02:00
Markus Gans f4f1629809 Class FButton: use the object timer for the click animation 2015-07-01 22:34:40 +02:00
Markus Gans 65626b98a2 Class FString: improve integer exception handling 2015-06-30 09:29:49 +02:00
Markus Gans 97cefa927f Class FString: improve floating point exception handling 2015-06-30 00:25:36 +02:00
Markus Gans 21e9e0d397 Class FString: improve floating point exception handling 2015-06-30 00:21:50 +02:00
Markus Gans 36d1163343 Use LC_CTYPE instead of LC_ALL in the FString() example 2015-06-28 20:39:21 +02:00
Markus Gans e9a04bcf29 Class FString: add exception handling for toLong() and toULong() 2015-06-28 20:23:39 +02:00
Markus Gans 24091534e5 Simplify Makefile.gcc and Makefile.clang for the example programs 2015-06-28 19:32:03 +02:00
Markus Gans f9001e59de Class FString: Add toFloat(), toDouble() and setNumber(...) for floating point values 2015-06-27 23:00:12 +02:00
Markus Gans 77c6fa4eee Add fc::Fkey_erase for backspace 2015-06-22 17:03:50 +02:00
Markus Gans c6518823c4 Improve trigonometric function zero-crossing 2015-06-22 02:01:50 +02:00
Markus Gans e6ac1abda1 Add a simple calculator with trigonometric functions 2015-06-22 00:28:06 +02:00
Markus Gans 215f213bad Add the possibility to draw double lines on overlapped flat lines for the 8x16graph font 2015-06-21 23:27:10 +02:00
Markus Gans 83aa986646 Use class methods for with and height instead of protected class attributes. 2015-06-08 20:43:19 +02:00
Markus Gans 56fb44b8cc Makefile update 2015-06-08 20:42:17 +02:00
Markus Gans 7789ee4fba Add keyword 'explicit' to some constructors 2015-05-27 02:25:13 +02:00
Markus Gans 1ebd703f05 Remove eol spaces 2015-05-26 23:15:49 +02:00
Markus Gans d26f9134fc code finishing 2015-05-26 23:08:46 +02:00
Markus Gans 8f1e52a362 Optimize input-dialog for 80x24 terminals 2015-05-26 22:55:53 +02:00
Markus Gans 5c6a8dfc54 Add a Mandelbrot set program 2015-05-25 23:39:09 +02:00
Markus Gans fe19574153 Correcting the filename in comment 2015-05-24 19:54:02 +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 f8da6b6743 * Makefile.am update
* add a assertion in FMessageBox
2015-05-20 21:27:08 +02:00
Markus Gans 3e64259fdf Add a FDialog example 2015-05-20 21:05:23 +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 b915d21550 * 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:02:33 +02:00
Markus Gans 11f207a8b2 initial upload 2015-05-03 21:07:50 +02:00