Commit Graph

520 Commits

Author SHA1 Message Date
Markus Gans 4cd92ea36e Add a unit test for FTermLinux with a Linux console emulation and a dedicated FSystem test instance 2019-06-19 16:28:55 +02:00
Markus Gans 52c5b412f7 Fixes problem with scroll bar view after first draw 2019-06-12 11:37:34 +02:00
Markus Gans 7c46d52ef4 Avoid drawing the scroll bars if the widget is non-visible 2019-06-02 19:11:17 +02:00
Markus Gans c93c0b6e33 Further segfault bug fixes in FListView 2019-05-27 09:55:29 +02:00
Markus Gans 22e47adbcb Use the Singleton design pattern to get a single object instance via FTerm 2019-05-27 00:50:11 +02:00
Markus Gans fa66a7091e Move system calls to the new class FSystem 2019-05-17 15:48:09 +02:00
Markus Gans 83fbc0a4f5 Use shrink_to_fit() to save memory space 2019-04-27 01:23:30 +02:00
Markus Gans ec502d208a Add the reserve() method to FListBox to increase the capacity of the list 2019-04-27 00:38:15 +02:00
Markus Gans 439b8310ef Add a "scroll view" chapter to the first steps document 2019-03-24 20:15:17 +01:00
Markus Gans 93f464f30e Add an lambda expression callback example to the first steps document 2019-02-28 02:18:30 +01:00
Markus Gans b0febda5b4 Added the 7-segment example 2019-02-24 20:21:12 +01:00
Markus Gans 2270f4cde5 Three new methods in FLineEdit 2019-02-24 00:25:36 +01:00
Markus Gans a3e3cf22d8 Add a "dynamic layout" Chapter into the first steps document 2019-02-07 23:05:50 +01:00
Markus Gans d91cd10311 Printing FColorPair to change foreground and background color 2019-01-30 12:17:48 +01:00
Markus Gans 96cdaa2450 Print function can set the cursor position with an FPoint 2019-01-27 13:44:13 +01:00
Markus Gans c4df64c5bc Refactoring of some methods in FVTerm and FDialog 2019-01-24 00:23:00 +01:00
Markus Gans eeb32bd66e More accurate interfaces through the strict use of FPoint() and FSize() 2019-01-21 03:42:18 +01:00
Markus Gans 4dcc573be7 New class FSize for storing dimensions 2019-01-16 16:00:15 +01:00
Markus Gans cb090e8aff A bit of refactoring 2019-01-12 09:11:22 +01:00
Markus Gans 016f15c860 Generalize hide() method 2019-01-11 22:16:59 +01:00
Markus Gans 60e64be37b Better widget visibility handling with the methods hide() and show() 2019-01-09 20:05:29 +01:00
Markus Gans 2b110d87d8 Use of initializer_list for FListBox, FListView and FTextView 2019-01-05 22:58:06 +01:00
Markus Gans a56ba6274e Use the final specifier 2019-01-04 02:18:54 +01:00
Markus Gans c365f07298 Better background color for all terminals with a fixed color palette 2019-01-03 20:56:09 +01:00
Markus Gans 838ba23c46 Integration of an output filter to replace missing characters 2019-01-03 07:36:18 +01:00
Markus Gans 4135215df5 Improved PC encoding for Cygwin and Linux 2019-01-02 03:00:07 +01:00
Markus Gans 719e9b0586 Use the override specifier 2018-12-31 06:18:39 +01:00
Markus Gans 0d1f6a5e51 Cygwin compiled fix for C++11 2018-12-30 04:24:46 +01:00
Markus Gans 3ad4652883 Replace redundant FString code with templates 2018-12-29 22:10:24 +01:00
Markus Gans bd3b2b31bb Adding horizontal and vertical scrollability checks in FTextView 2018-12-29 19:01:47 +01:00
Markus Gans 17540c9581 Add a "signals and callbacks" chapter into the first steps document 2018-12-28 07:46:28 +01:00
Markus Gans eb8ae63b72 Add a "event processing" chapter into the first steps document 2018-12-25 22:34:04 +01:00
Markus Gans 9a694ab267 New event FUserEvent for user-defined events 2018-12-24 18:11:16 +01:00
Markus Gans 602526686c Add a "memory management" Chapter into the first steps document 2018-12-20 01:41:47 +01:00
Markus Gans f3bdc3b410 Use of smart pointers 2018-12-19 22:04:02 +01:00
Markus Gans 554d26ca00 Reactivate the event queue 2018-12-17 02:06:22 +01:00
Markus Gans ae38a45a5e Improve FButton mouse click animation 2018-12-17 00:50:24 +01:00
Markus Gans b459d55ae8 term-attributes now used a vector of lambda expressions to print the effects 2018-12-16 00:11:25 +01:00
Markus Gans fd924233c3 Code reduction by using of Range-based for loop 2018-12-15 22:10:31 +01:00
Markus Gans cef13611d1 Use of the C++11 auto specifier in the program code 2018-12-15 00:50:09 +01:00
Markus Gans 6ce8c5cb27 Use nullptr instead of 0 to initialize a pointer values 2018-12-10 01:48:26 +01:00
Markus Gans fe0c22abe4 Deactivate copy constructor and assignment operator with "= delete" 2018-12-09 22:04:55 +01:00
Markus Gans 7ef9b154b9 Better handling of the scrollbar maximum 2018-12-09 18:24:31 +01:00
Markus Gans 9ba1b77069 Easier handling of fc::SpecialCharacter 2018-12-06 02:28:24 +01:00
Markus Gans 3537152c28 Use delegated constructors and in-class default member initializers 2018-12-03 03:22:36 +01:00
Markus Gans 635d7c691e Improved gpm wheel mouse support 2018-12-01 21:28:25 +01:00
Markus Gans c3847b6b05 Correct vertical scrollbar position after sorting in FListView 2018-11-27 01:32:21 +01:00
Markus Gans 7f5901d237 Fix compiler warning on non-x86 architectures 2018-11-25 16:27:13 +01:00
Markus Gans 541f127088 Version 0.5.0 2018-11-25 04:48:57 +01:00
Markus Gans 642e61b6e1 Namespace fix in FTermFreeBSD and FTermOpenBSD 2018-11-25 01:20:51 +01:00
Markus Gans c15cb0ba24 memory management + handling environment variables with numbers 2018-11-24 23:43:09 +01:00
Markus Gans ca90fb64bd Improved Sun Microsystems workstation console quirks 2018-11-24 02:59:56 +01:00
Markus Gans f6df9585f5 The integer type of FPoint and FRect changed from short to int 2018-11-21 22:15:14 +01:00
Markus Gans 1f64843fb6 New type FKey for key inputs 2018-11-21 20:07:08 +01:00
Markus Gans 801147161d FAQ update 2018-11-18 22:50:45 +01:00
Markus Gans 3953dc19fa FListViewItem now provides checkable list view items 2018-11-18 01:15:38 +01:00
Markus Gans b451f0047a Clicking on the column header in FListView now changes the sort order 2018-11-12 22:40:16 +01:00
Markus Gans d39e85d4c5 FListView now has a sort indicator (▼/▲) to display the sort order 2018-11-10 00:53:57 +01:00
Markus Gans cd8e4f78ae Use new type FColor for color values 2018-11-07 22:06:58 +01:00
Markus Gans baabf9546e FButton now uses the widget flags directly 2018-11-05 23:19:03 +01:00
Markus Gans 5a356664b2 The widget flags are now stored in a bit field 2018-11-04 23:00:06 +01:00
Markus Gans 1f8d16791a New method rgb2ColorIndex() to converts a 24-bit RGB color to a 256-color compatible approximation 2018-11-03 01:32:51 +01:00
Markus Gans c2df8ac7d9 Moved FTerm debug access methods to FTermDebugData 2018-11-01 21:29:54 +01:00
Markus Gans d35c3c0cdc Setting the value can_change_color_palette in FTermcapQuirks 2018-10-29 21:12:03 +01:00
Markus Gans 7a2abc9421 Fix FListBox prevListItem() 2018-10-29 02:59:41 +01:00
Markus Gans 5d134793cf FTerm is now a data member of FVTerm 2018-10-29 00:45:45 +01:00
Markus Gans 98bff1e45b Adding the capacity() method to the FString class 2018-10-27 00:13:31 +02:00
Markus Gans 96edb762c7 Building Fix for a negative value check for gcc < 4.8 2018-10-26 07:43:23 +02:00
Markus Gans 540291b410 Moving static attributes from FApplication to FWidget 2018-10-21 21:06:52 +02:00
Markus Gans 94e00051c5 Changed more variables from int to std::size_t 2018-10-17 22:12:52 +02:00
Markus Gans de4be23a04 FString fix for 32-bit architectures 2018-10-15 01:34:57 +02:00
Markus Gans cfc1c4ef25 change from int to std::size_t for width or height 2018-10-14 06:25:33 +02:00
Markus Gans 3fd5abfa1a Avoid using dynamic_cast in source code 2018-10-13 00:32:14 +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 ef21076bbd Some small code splits 2018-10-09 00:33:26 +02:00
Markus Gans 0b51df32b5 Move all termcap code into FTermcap 2018-10-08 04:14:20 +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 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 11ba43fa0f Move time event processing from FApplication to FObject 2018-09-27 03:02:07 +02:00
Markus Gans affdf6fe11 The FListViewItem class now has a getData() and a setData() method 2018-09-26 19:25:15 +02:00
Markus Gans dc4b4eec6b Add a first steps document 2018-09-24 04:17:15 +02:00
Markus Gans 4ad8335556 Stricter use of the keyword virtual 2018-09-24 04:02:35 +02:00
Markus Gans b0039e78c4 The entire library source code is now encapsulated under the namespace finalcut 2018-09-20 23:59:01 +02:00
Markus Gans 7b2257e538 finalcut.spec 2018-09-20 04:59:04 +02:00
Markus Gans 26cd5118e6 Added pkg-config file finalcut.pc 2018-09-20 04:47:51 +02:00
Markus Gans 0029c41bad Implement a ttytype test for the FTermDetection unit test 2018-09-16 19:33:40 +02:00
Markus Gans fc62f9cfe1 Added unit test for FTermDetection with a terminal simulation 2018-09-14 22:42:56 +02:00
Markus Gans 0a5d5aa59c Removes the deprecated keyword "register" 2018-09-12 22:51:15 +02:00
Markus Gans fc45c3c1a5 Some small code improvements 2018-09-02 22:46:01 +02:00
Markus Gans 076598c988 Fix mouse wheel behavior over horizontal scroll bars in FTextView 2018-09-02 13:48:04 +02:00
Markus Gans 627ee0f094 Compiles now with newer gcc 2018-09-02 00:43:27 +02:00
Markus Gans c38775f878 Fixed a problem for a non-debug compilation 2018-09-01 19:06:17 +02:00
Markus Gans 0c3be5e726 Added unit test for FTermcapQuirks 2018-08-09 00:04:00 +02:00
Markus Gans 8c575e0aad Handling of keys that are substrings of other keys 2018-07-29 23:49:11 +02:00
Markus Gans d4a163065d Added Keypad [/], [*], [-], [+] support 2018-07-29 13:25:16 +02:00
Markus Gans 0e86de5c81 Fix 4 bytes UTF-8 keyboard input 2018-07-27 12:16:43 +02:00
Markus Gans cbbb5aad0a Added unit test for FKeyboard 2018-07-22 23:07:49 +02:00
Markus Gans 76f978c511 Fix Parameter passing in term::init_OptiAttr 2018-07-15 23:27:03 +02:00
Markus Gans c36da9e799 Keyboard functions are now in a separate class 2018-07-15 19:52:59 +02:00
Markus Gans e36a786bc7 Extension of the unit test of FOptiMove 2018-07-08 14:48:45 +02:00
Markus Gans bdb30c5a96 Struct to pass the FOptiMove environment 2018-07-01 14:48:53 +02:00
Markus Gans 03c3c79946 Struct to pass the FOptiAttr environment 2018-06-25 00:14:53 +02:00
Markus Gans 32097d4bf0 Added special console options for FreeBSD, NetBSD and OpenBSD 2018-06-17 23:25:32 +02:00
Markus Gans 231c30f740 Linux functions from FTerm moved into the FTermLinux class 2018-06-12 16:37:48 +02:00
Markus Gans 0927e4e1fb Move FreeBSD, NetBSD and OpenBSD functions to separate classes 2018-05-27 19:43:18 +02:00
Markus Gans b05873babb Methods outsourcing from FTerm to FTermXTerminal 2018-05-20 15:15:42 +02:00
Markus Gans a41f8a611c Some protected data members in FTerm moved to private 2018-05-06 21:41:55 +02:00
Markus Gans 808434313c Fix resetColorMap in FTerm 2018-05-03 04:54:51 +02:00
Markus Gans 3a8689561a Outsourcing of data from FTerm to the classes FTermios, FTermDetection and FTermcapQuirks 2018-05-02 12:31:21 +02:00
Markus Gans b619f6bec5 Placing the terminal types in FTerm in a separate structur 2018-04-19 01:55:17 +02:00
Markus Gans 06627f6737 Stream support for FPoint and FRect 2018-04-16 02:24:37 +02:00
Markus Gans bbacc369ec Fake-reverse bugfix in FOptiAttr 2018-04-15 19:55:50 +02:00
Markus Gans 149ca23541 Added unit test for FOptiAttr 2018-04-12 00:34:25 +02:00
Markus Gans 2f89a8e454 Remove Cygwin bold color quirks fix in FOptiAttr 2018-04-11 21:41:22 +02:00
Markus Gans 356879bc1a Improvement in class FOptiAttr 2018-04-08 16:32:02 +02:00
Markus Gans 392203e6fa Optimized character set switching in FOptiAttr 2018-04-02 22:04:29 +02:00
Markus Gans 1da4eeb224 Added unit test for FOptiMove 2018-03-30 22:56:55 +02:00
Markus Gans b2ef430954 Unit tests update 2018-03-29 01:27:57 +02:00
Markus Gans 67bc999513 Added unit test for the mouse classes 2018-03-25 14:24:21 +02:00
Markus Gans 3a652a0d9e Added unit test for FObject 2018-03-17 14:16:12 +01:00
Markus Gans 380d3d625c Added unit test for FRect 2018-03-13 01:04:46 +01:00
Markus Gans d2a688fdc2 Added unit test for FPoint 2018-03-11 19:20:36 +01:00
Markus Gans 9da31a7d7b Unit tests for the FString class completed 2018-03-10 16:24:39 +01:00
Markus Gans a00f052e4d First CppUnit tests implemented 2018-02-25 21:42:18 +01:00
Markus Gans 1435d9d362 Generalize mouse event passing in FMenuItem 2018-02-22 01:15:57 +01:00
Markus Gans 4778de5c52 Refactoring FTerm::init_encoding 2018-02-19 23:02:54 +01:00
Markus Gans 9426657c43 Refactoring FTerm::init_termcaps 2018-02-19 01:36:38 +01:00
Markus Gans 4322e957c9 Refactoring FDialog::initDialogMenu 2018-02-18 22:45:49 +01:00
Markus Gans 69956ce76f Avoid scroll bar overshooting 2018-02-18 21:50:24 +01:00
Markus Gans 4da8982f42 Generalize scroll functions in FTextView 2018-02-17 19:12:48 +01:00
Markus Gans d8a6c25ce0 Refactoring of some functions 2018-02-11 23:41:23 +01:00
Markus Gans 2af1b1d0d4 Refactoring FOptiMove::verticalMove and FOptiMove::horizontalMove 2018-02-10 17:35:09 +01:00
Markus Gans 2ef3d84829 Avoids flickering when redrawing a focused widget 2018-02-03 00:04:24 +01:00
Markus Gans 7424dd74b4 Refactoring FMessageBox::init and FFileDialog::init 2018-01-31 23:37:03 +01:00
Markus Gans bce4021f45 Refactoring FSwitch::drawCheckButton and FWidget::redraw 2018-01-31 00:17:00 +01:00
Markus Gans 10275c0953 Refactoring FLabel::draw and FFileDialog::readDir 2018-01-30 00:11:58 +01:00
Markus Gans 7eb6bfa587 Refactoring FApplication::processKeyboardEvent 2018-01-28 19:54:52 +01:00
Markus Gans 213407e3a5 UTF-8 fix for Solaris 2018-01-25 09:32:29 +01:00
Markus Gans ac8ac70b9c The color palette redefinition now has its own class 2018-01-24 23:02:45 +01:00
Markus Gans 421314e89a Fixes compiler errors for latest Cygwin versions 2018-01-24 00:25:32 +01:00
Markus Gans 97f8d998a7 Fixes compiler errors for latest Cygwin versions 2018-01-22 19:47:20 +01:00
Markus Gans ec63b0039e The Final Cut can now also be compiled under Cygwin 2018-01-21 16:21:41 +01:00
Markus Gans 48cdd9bb0a Mouse functions are now in a separate class 2018-01-14 21:21:08 +01:00
Markus Gans 3419e9e908 Refactoring FVTerm::restoreVTerm 2018-01-05 00:49:00 +01:00
Markus Gans f53efc90c5 Refactoring FOptiMove::relativeMove 2018-01-03 22:58:07 +01:00
Markus Gans 9bb22e7d7b Refactoring attribute settings in FOptiAttr 2018-01-03 20:06:22 +01:00
Markus Gans 76d72208e5 Refactoring FTerm::parseKeyString and timeout settings 2018-01-03 08:42:10 +01:00