Commit Graph

744 Commits

Author SHA1 Message Date
Markus Gans b6ffa0f190 Avoid using dynamic_cast in source code 2018-10-13 00:39:48 +02:00
Markus Gans 3fd5abfa1a Avoid using dynamic_cast in source code 2018-10-13 00:32:14 +02:00
Markus Gans dbaebf0efc Out-of-bounds fix for FMouse 2018-10-11 11:40:28 +02:00
Markus Gans fea78841b9 FKeyboard now uses references for keyboard buffer passing 2018-10-11 03:46:37 +02:00
Markus Gans a274dd8b5e Prevent unnecessary screen flushing in command line help 2018-10-09 20:21:43 +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 19239df5d1 Remove more redundant program code from FString 2018-10-05 19:24:00 +02:00
Markus Gans ca9bdad88a Fix va_start format passing 2018-10-05 05:35:33 +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 03bd7bd6da FMenuItem delete its entry from the parent object 2018-10-03 22:21:30 +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 ef02e06fa5 Final Cut logo update 2018-09-30 20:07:22 +02:00
Markus Gans 8ea63da899 FListView sort bug fix for negative numbers 2018-09-28 06:53:27 +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 9671586be0 Build fix for non linux in FKeyboard::keyCorrection 2018-09-26 18:01:44 +02:00
Markus Gans 1eff94aead Remove indirect virtual call from constructor in FToggleButton::FToggleButton 2018-09-24 04:50:47 +02:00
Markus Gans 5f4fb835f3 Remove indirect virtual call from constructor in FToggleButton::FToggleButton 2018-09-24 04:50:09 +02:00
Markus Gans 4ad8335556 Stricter use of the keyword virtual 2018-09-24 04:02:35 +02:00
Markus Gans fcefd8251c Consistent use of size_t in FTermLinux::setScreenFont 2018-09-22 04:08:24 +02:00
Markus Gans 368f74c497 Remove virtual call from constructor in FToggleButton::FToggleButton 2018-09-22 03:20:58 +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 68720529ca Makefile modification 2018-09-21 06:19:25 +02:00
Markus Gans f00f5417b6 mv include src 2018-09-21 06:03:51 +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 6b5b4a1677 FTermDetection used now COLORFGBG 2018-09-18 06:04:27 +02:00
Markus Gans 0a244298b1 replace execvp with system 2018-09-18 04:22:14 +02:00
Markus Gans f3bc5b35f4 move_buf <-> move_ptr 2018-09-18 03:37:44 +02:00
Markus Gans fec12f5d64 Fix mkdir time of check to time of use (TOCTOU) issue 2018-09-18 03:09:14 +02:00
Markus Gans b97fa7c61f Fix too large argument size 2018-09-16 19:43:57 +02:00
Markus Gans 0029c41bad Implement a ttytype test for the FTermDetection unit test 2018-09-16 19:33:40 +02:00
Markus Gans 5543157de5 Remove dead code 2018-09-15 02:25:30 +02:00
Markus Gans 103b4b3681 Replace kill() with waitpid() 2018-09-15 01:54:02 +02:00
Markus Gans 0433a47ec1 Added unit test for FTermDetection with a terminal simulation 2018-09-15 00:06:54 +02:00
Markus Gans 55d3e2a638 Added unit test for FTermDetection with a terminal simulation 2018-09-14 23:33:03 +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 9f0ed5bb26 Compiles now with newer gcc 2018-09-02 03:57:57 +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 5a77460e63 FKeyboardTest fixes 2018-07-23 02:23:10 +02:00
Markus Gans 885993c3bd FKeyboardTest fixes 2018-07-23 01:48:29 +02:00
Markus Gans eef7ec0aa1 Coverity Scan make check fix 2018-07-23 00:26:32 +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 85e5e04ab2 Keyboard functions are now in a separate class 2018-07-15 20:01:15 +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 ff3142c4aa Fixed for color > 16 2018-06-12 22:53:11 +02:00
Markus Gans 61c5fa01cb non Linux compile fix 2018-06-12 17:03:29 +02:00
Markus Gans 555e93e058 vga2ansi maps negative values to 0 2018-06-12 17:01:47 +02:00
Markus Gans 231c30f740 Linux functions from FTerm moved into the FTermLinux class 2018-06-12 16:37:48 +02:00
Markus Gans 4b82af367f Fixed dereferenced null pointer 2018-05-27 23:06:49 +02:00
Markus Gans 9e46fbb4f9 Fixed dereferenced null pointer 2018-05-27 22:58:22 +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 73ba1bc219 Strict use of fc::colornames in FOptiAttr 2018-04-15 20:48:25 +02:00
Markus Gans bbacc369ec Fake-reverse bugfix in FOptiAttr 2018-04-15 19:55:50 +02:00
Markus Gans 81c7a7e65a Unit tests update 2018-04-13 00:08:03 +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 9978c7e341 Unit tests update 2018-04-05 12:47:32 +02:00
Markus Gans 283b22a907 Unit tests update 2018-04-05 01:27:03 +02:00
Markus Gans f05b850fbf Unit tests update 2018-04-02 23:14:58 +02:00
Markus Gans 17a6e5b889 Unit tests update 2018-04-02 22:47:39 +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 dff46376bf Unit tests update 2018-03-30 00:12:20 +02:00
Markus Gans b2ef430954 Unit tests update 2018-03-29 01:27:57 +02:00
Markus Gans 75e7fb05c2 Unit tests update 2018-03-28 00:03:57 +02:00
Markus Gans 67bc999513 Added unit test for the mouse classes 2018-03-25 14:24:21 +02:00
Markus Gans c114c14830 Unit tests update 2018-03-25 03:40:20 +02:00
Markus Gans 6af2cc883a Unit tests update 2018-03-23 22:01:38 +01:00
Markus Gans 0ba27ce365 Unit tests update 2018-03-23 00:26:30 +01:00
Markus Gans 3716e48045 Unit tests update 2018-03-21 22:57:55 +01:00
Markus Gans 565efb6814 Unit tests update 2018-03-21 22:51:59 +01:00
Markus Gans 9e3bb7e48f Unit tests update 2018-03-21 00:29:51 +01:00
Markus Gans 9fe0bc3241 Unit tests update 2018-03-21 00:16:55 +01:00
Markus Gans 8dd23d1673 Unit tests update 2018-03-21 00:02:43 +01:00
Markus Gans d1b57fe94c .travis.yml 2018-03-18 16:20:12 +01:00
Markus Gans b1a532aefc .travis.yml 2018-03-18 15:45:04 +01:00
Markus Gans 3a3717fa7a Unit tests update 2018-03-18 15:03:07 +01:00
Markus Gans 3a652a0d9e Added unit test for FObject 2018-03-17 14:16:12 +01:00
Markus Gans d22ff10a28 Unit tests update 2018-03-16 01:05:45 +01:00
Markus Gans 1d21c0ded9 Unit tests update 2018-03-15 00:01:31 +01:00
Markus Gans 12aeafb3d1 Unit tests update 2018-03-14 23:56:44 +01:00
Markus Gans 61f2a4677c Unit tests update 2018-03-14 00:53:28 +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 46c03bb7bb Unit tests update 2018-03-10 13:17:57 +01:00
Markus Gans 16bbda2099 Unit tests update 2018-03-10 05:27:55 +01:00
Markus Gans c270b39698 Unit tests update 2018-03-09 00:37:31 +01:00
Markus Gans 27cefbf99b Unit tests update 2018-03-08 17:57:17 +01:00
Markus Gans a0bf6bd00c Unit tests update 2018-03-07 00:48:06 +01:00
Markus Gans 4241c7afaf Unit tests update 2018-03-06 00:48:43 +01:00
Markus Gans 7f5dc3bfe2 Unit tests update 2018-03-05 22:26:44 +01:00
Markus Gans dfbe632d26 Unit tests update 2018-03-05 21:27:30 +01:00
Markus Gans d97f03027e Unit tests update 2018-03-05 03:15:16 +01:00
Markus Gans 2459126924 Unit tests update 2018-03-05 00:25:05 +01:00
Markus Gans f343945ff7 Unit tests update 2018-03-03 22:24:57 +01:00
Markus Gans 2bc3fe4dd1 Unit tests update 2018-03-02 00:02:54 +01:00
Markus Gans b51d7a399c Unit tests update 2018-03-01 01:05:32 +01:00
Markus Gans f42175c8da Unit tests update 2018-03-01 00:00:30 +01:00
Markus Gans 74629b9ffb Unit tests update 2018-02-28 23:52:34 +01:00
Markus Gans 8d946b073d Unit tests update 2018-02-28 00:18:49 +01:00
Markus Gans 1d6526fe1b Unit tests update 2018-02-27 01:03:33 +01:00
Markus Gans 91f6e566f4 Unit tests update 2018-02-27 00:55:51 +01:00
Markus Gans 3f0f262bc8 Unit tests update 2018-02-27 00:45:02 +01:00
Markus Gans 68a63061ef build.sh 2018-02-25 22:48:18 +01:00
Markus Gans f89258fa84 libcppunit-dev 2018-02-25 21:49:04 +01:00
Markus Gans a00f052e4d First CppUnit tests implemented 2018-02-25 21:42:18 +01:00
Markus Gans 67f2cbcf76 Update Better Code Hub config 2018-02-24 19:19:28 +01:00
Markus Gans e0f4872d6e Refactoring of some functions 2018-02-24 18:13:42 +01:00
Markus Gans 1435d9d362 Generalize mouse event passing in FMenuItem 2018-02-22 01:15:57 +01:00
Markus Gans 8bc40459e0 Refactoring FListView scroll bar callbacks 2018-02-20 23:35:10 +01:00
Markus Gans 4778de5c52 Refactoring FTerm::init_encoding 2018-02-19 23:02:54 +01:00
Markus Gans aa18e5b5ba Refactoring FScrollView::init 2018-02-19 23:02:19 +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 0f16b51e04 Refactoring FListView::onMouseMove 2018-02-18 21:49:58 +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 c2d7f8b8ee Refactoring of some functions 2018-02-08 00:25:51 +01:00
Markus Gans d1083b6a95 Refactoring of some functions 2018-02-04 19:42:30 +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 1fc960f672 UTF-8 fix for Solaris 2018-01-25 09:31:59 +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 d84132816f The Final Cut can now also be compiled under Cygwin 2018-01-21 16:25:19 +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 2d9103c102 macOS build fix 2018-01-16 16:16:29 +01:00
Markus Gans 460dff3291 Mouse functions are now in a separate class 2018-01-14 22:39:17 +01:00
Markus Gans afe15753f7 Mouse functions are now in a separate class 2018-01-14 22:24:15 +01:00
Markus Gans 8addcbbcb7 Mouse functions are now in a separate class 2018-01-14 21:53:45 +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
Markus Gans 06bfb8bc64 Refactoring of secondary device attributes parsing 2018-01-02 20:38:45 +01:00
Markus Gans 2e64c0da32 Refactoring of the FMenuBar mouse event handler 2017-12-31 03:25:50 +01:00
Markus Gans 3b90af9efb Replace the switch-case in the calculator example by an STL map with method pointers 2017-12-30 21:27:17 +01:00
Markus Gans 61f824f54d Refactoring of the FListBox mouse event handler 2017-12-30 03:54:05 +01:00
Markus Gans a880684432 Refactoring of the FDialog mouse event handler 2017-12-29 02:10:05 +01:00
Markus Gans 260bf9ac91 fix FScrollbar initialize the variable 'z' 2017-12-28 00:00:56 +01:00
Markus Gans 9bd711dc0e Generalize scroll functions in FScrollView 2017-12-27 23:51:32 +01:00
Markus Gans b91f76710b fix wrong inline 2017-12-27 01:51:28 +01:00
Markus Gans c41ecde590 Some methods refactored + new FDialog methods 2017-12-27 01:38:28 +01:00
Markus Gans fd5404ba57 Refactoring FButton::draw + Passing more strings by reference 2017-12-25 21:17:08 +01:00
Markus Gans b886143701 (de)allocation functions in FTerm 2017-12-21 00:45:04 +01:00
Markus Gans ff1fe44132 Refactoring FMenuBar::drawItems 2017-12-21 00:25:58 +01:00
Markus Gans ef5970b09c Refactoring FMenu::drawItems 2017-12-19 02:06:27 +01:00
Markus Gans ec57ec6f74 The Final Cut now also compiles under Solaris 2017-12-17 01:06:53 +01:00
Markus Gans c10a88008c Add Sun Microsystems workstation console support 2017-12-14 00:35:10 +01:00
Markus Gans fd75f5af42 Refactoring of the FMenu mouse event handler 2017-12-10 15:36:02 +01:00
Markus Gans a173f2bc1e More individual arithmetic operations methods in the calculator example 2017-12-08 23:51:56 +01:00
Markus Gans 6921171616 Refactoring FApplication::processKeyboardEvent 2017-12-05 23:55:12 +01:00
Markus Gans 6d3231a498 Refactoring FApplication::processMouseEvent 2017-12-05 01:03:59 +01:00
Markus Gans 937cd8a0f0 Fix dereference before null check in FVTerm::updateVTerm 2017-12-03 21:34:07 +01:00
Markus Gans 212172f522 Refactoring FListBox::drawList and FListBox::onKeyPress 2017-12-03 21:06:21 +01:00
Markus Gans 8c970c88dd non build linux fix 2017-12-02 19:06:27 +01:00
Markus Gans 1f8894b801 Refactoring FApplication::linuxModifierKeyCorrection and FVTerm::updateVTerm 2017-12-02 18:52:51 +01:00
Markus Gans abf89f1538 Refactoring FVTerm::updateTerminalLine 2017-11-30 02:38:55 +01:00
Markus Gans 6be608ba57 Improved code alignment 2017-11-26 22:37:18 +01:00
Markus Gans 6ef36ac7f7 Splitting FOptiMove::moveCursor into sub-functions 2017-11-26 19:00:04 +01:00
Markus Gans 64aa8d18b8 Splitting quirks in serperate methods 2017-11-25 18:37:40 +01:00
Markus Gans 0c45d7d8bc Color palette defined for 8 colors 2017-11-24 23:57:41 +01:00
Markus Gans 607294c71a Refactor some functions 2017-11-24 00:28:25 +01:00
Markus Gans 3ced63510c Remove duplicated code from FOptiAttr::changeAttribute 2017-11-23 00:59:58 +01:00
Markus Gans 051fbab046 Remove duplicated code in FVTerm::print 2017-11-22 23:56:21 +01:00