Commit Graph

957 Commits

Author SHA1 Message Date
Markus Gans 1c3c687878 Adding the missing method getClientSize() 2020-04-28 01:46:26 +02:00
Markus Gans 0de0676092 A few inline and const changes 2020-04-26 20:45:57 +02:00
Markus Gans 159d086af4 macOS build fix 2020-04-25 02:32:33 +02:00
Markus Gans 2b1774e578 More internal use of const char* strings 2020-04-24 00:34:26 +02:00
Markus Gans 803e54d456 Further small code improvements 2020-04-20 01:01:20 +02:00
Markus Gans 88667f2cbb Fix for macOS build 2020-04-19 20:57:28 +02:00
Markus Gans 9da4f00115 Further small code improvements 2020-04-19 20:40:49 +02:00
Markus Gans d08dd8e9f4 Further small code improvements 2020-04-19 20:38:52 +02:00
Markus Gans 136b57eac6 Correction of some virtual methods 2020-04-18 13:33:42 +02:00
Markus Gans 6de04a3edd CWE-478: Addition of missing default case in the Switch statement 2020-04-17 10:53:47 +02:00
Markus Gans defc1714e4 CERT, OOP50-CPP: Avoids calling a virtual function from the constructor 2020-04-17 02:49:33 +02:00
Markus Gans fd92d7f4d8 Update comments for the copy assignment operator 2020-04-15 23:44:08 +02:00
Markus Gans 7d4de8e46f Improved event handling code 2020-04-15 23:17:42 +02:00
Markus Gans 1ff34f64e1 Better support of general arrow keys 2020-04-15 10:55:23 +02:00
Markus Gans 7a520dc944 Add destructor 2020-04-15 01:01:16 +02:00
Markus Gans 90b389035e Several small code improvements 2020-04-14 23:46:42 +02:00
Markus Gans 3bb001677f Several small code improvements 2020-04-13 12:40:11 +02:00
Markus Gans ac1ebfefad minor fixes 2020-04-10 22:13:13 +02:00
Markus Gans 20c3cf218e Dialogs can now be displayed without a border 2020-04-09 12:38:35 +02:00
Markus Gans bb52b6fd7e Correction of methods that were unnecessarily declared as virtual 2020-04-04 20:58:47 +02:00
Markus Gans 53f1059312 Minor bug fixes 2020-04-02 09:59:34 +02:00
Markus Gans 4c0404ac60 A small benchmakt test was added to the Rotozoomer example 2020-03-22 21:53:27 +01:00
Markus Gans 45218b0f61 Fixes keyboard input buffer problem when opening a modal dialog 2020-03-08 12:52:04 +01:00
Markus Gans b58936a6a2 Exit the move-resize-mode when the close confirmation dialog is displayed 2020-03-07 22:38:26 +01:00
Markus Gans 77638fcaa0 Fixes keyboard input buffer problem when opening a modal dialog 2020-03-07 21:32:18 +01:00
Markus Gans 925f106846 Unbuffered reading of keystrokes for better latency 2020-03-05 21:30:54 +01:00
Markus Gans e5902a6ee6 New command line switch "--no-terminal-data-request" 2020-02-25 23:42:31 +01:00
Markus Gans 3723d071a3 Updated Debian and rpm package files 2020-02-23 20:57:51 +01:00
Markus Gans b23974858e SGRoptimizer improved 2020-02-20 00:06:39 +01:00
Markus Gans 164487096c Some small code improvements 2020-02-19 21:59:13 +01:00
Markus Gans a33a9e1b6b Printing FStyle object to change attributes 2020-02-16 00:01:36 +01:00
Markus Gans 43bda37f71 Rename setTransShadow() to setColorOverlay() 2020-02-13 08:21:48 +01:00
Markus Gans 83a6ee497b Fix collapse() and expand() in FListViewItem() 2020-02-11 00:29:58 +01:00
Markus Gans dd625e0822 Adding a tty check for stdin 2020-02-09 21:58:17 +01:00
Markus Gans b810b51e65 Fix in FListViewIterator 2020-02-05 08:57:13 +01:00
Markus Gans 057c295af6 Fix uncaught exception 2020-02-02 23:57:18 +01:00
Markus Gans 60009d8f4b clear() and remove() were added to FListView 2020-02-02 22:34:27 +01:00
Markus Gans 06d65ed676 Fix metadata 2020-01-20 21:40:00 +01:00
Markus Gans eeac24aef2 Methods setText() and clearText() for FComboBox 2020-01-09 20:20:37 +01:00
Markus Gans c0b1dc5924 Add setCurrentItem() to the FComboBox widget class 2020-01-09 19:21:16 +01:00
Markus Gans fc1b9ebdf3 Small code improvements 2020-01-03 01:33:18 +01:00
Markus Gans d126c4996a Adding an ANSI X3.64 SGR optimizer 2019-12-31 06:32:51 +01:00
Markus Gans 23ddf5d6f2 Correction for height and width alignment in adjustSize() 2019-12-23 14:20:31 +01:00
Markus Gans 3a391f5fe5 Better setSize() implementation in some widgets 2019-12-23 03:53:32 +01:00
Markus Gans b7639f5301 Fixed the drawing of FLabel widget with the default size of 1×1 character 2019-12-20 19:36:18 +01:00
Markus Gans 867dabf637
Merge pull request #42 from grendello/fspinbox-inlines
Make FSPinBox::get{Prefix,Suffix} functions inline
2019-12-16 11:47:48 +01:00
Markus Gans 74d8585561 New widget class FComboBox to provide a dropdown list with an input field 2019-12-16 11:14:24 +01:00
Marek Habersack d34e839f83 Make FSPinBox::get{Prefix,Suffix} functions inline
Otherwise, if more than one file includes the header, we will have
duplicate symbols during link time.
2019-12-15 20:32:36 +01:00
Markus Gans cbe1179443 clang++ compile fix 2019-11-18 16:43:07 +01:00
Markus Gans 3de8e73281 Revision of FString number input stream 2019-11-18 01:18:15 +01:00
Markus Gans 8c434777bc Revision of FString number input stream 2019-11-17 22:06:07 +01:00
Markus Gans 5bb3f1ac9b Fixes the numerical streaming value for FLineEdit and FLabel 2019-11-16 22:33:21 +01:00
Markus Gans 7ba294c496 Fixes the numerical streaming value for FLineEdit and FLabel 2019-11-16 21:48:59 +01:00
Markus Gans 4540a6f455 Fixes the numerical streaming value for FLineEdit and FLabel 2019-11-16 19:57:45 +01:00
Markus Gans b3c367a168 Fixes the numerical streaming value for FLineEdit and FLabel 2019-11-16 19:10:08 +01:00
Markus Gans dedc1f3410 New Widget class FSpinBox to provide spin boxes 2019-11-16 15:16:44 +01:00
Markus Gans 18ec10ffd1 Update Travis CI coverity scan test 2019-11-07 02:48:27 +01:00
Markus Gans d76dcf2e9c Small NewFont midline fixes 2019-11-06 20:09:45 +01:00
Markus Gans 88d5c0d050 Improved display of the NewFont midline 2019-11-06 02:40:47 +01:00
Markus Gans b116fa5930 Newfont specialization for 8x16 and 9x16 pixel character 2019-11-03 23:34:47 +01:00
Markus Gans 1671a5ff3e Unicode support for 8x16graph font 2019-10-29 01:42:10 +01:00
Markus Gans ff39c85a33 Coverity scan compiler fix 2019-10-21 03:17:29 +02:00
Markus Gans 38d4fea995 Fix iterator container mismatch 2019-10-21 02:48:29 +02:00
Markus Gans 5ceee8b4c8 New method setInputType() in FLineEdit that allows to obscure password entries 2019-10-20 20:06:33 +02:00
Markus Gans 5e4a71dc0d Version 0.6.0 2019-10-17 01:13:18 +02:00
Markus Gans 7499f424dc Compile fix for some architectures 2019-10-14 01:44:24 +02:00
Markus Gans b0080b00cf More code cleanups 2019-10-08 04:37:19 +02:00
Markus Gans 937654710b Code cleaning 2019-10-06 22:35:00 +02:00
Markus Gans 66ff1ba208 Small fixes 2019-10-06 00:36:58 +02:00
Markus Gans a279a0981a Internal redesign of the callback call 2019-10-05 23:20:07 +02:00
Markus Gans 298755a0fe Replacing null-terminated wide strings with FString objects 2019-10-01 23:14:00 +02:00
Markus Gans 6b9336d6c1 Streaming into an FTextView() object 2019-09-29 22:28:58 +02:00
Markus Gans 8c67f64db4 Support for displaying full-width characters 2019-09-28 03:13:06 +02:00
Markus Gans e15f1a344a Minor code changes 2019-09-09 19:13:38 +02:00
Markus Gans bc3afa6235 Remove #pragma pack() directive lines 2019-09-08 02:04:24 +02:00
Markus Gans 81e00a22d3 Outsourcing the initialization data to a separate struct 2019-09-06 08:21:10 +02:00
Markus Gans d1fedfec9f Cygwin and Linux console do not use cp437 character encoding by default 2019-09-04 23:57:31 +02:00
Markus Gans 69db7417ad Removing public + protected data members from classes 2019-09-01 23:29:27 +02:00
Markus Gans 9a40890026 More use of direct initializations 2019-08-25 22:21:01 +02:00
Markus Gans 37ed970319 More use of direct initializations 2019-08-25 22:16:00 +02:00
Markus Gans 43de8d6150 add missing override 2019-08-18 21:46:38 +02:00
Markus Gans 8c90cd2a4c Fixes print() << FPoint() behavior in FScrollView 2019-08-18 21:36:10 +02:00
Markus Gans 248cf8a0ba Update VTerm information only in case of changes 2019-08-18 21:35:36 +02:00
Markus Gans ad2766e706 Solved problem detecting terminal size on quick changes 2019-08-18 02:04:44 +02:00
Markus Gans 44e157e493 Converts getHotkeyPos() for sharing into a non-member function 2019-08-11 20:07:39 +02:00
Markus Gans 5a43a018cf FRect has now got a scaleBy() method 2019-08-11 18:15:57 +02:00
Markus Gans bd81fdb069 set OpenBSD pitch and duration of the system speaker 2019-08-10 20:14:44 +02:00
Markus Gans 3c5c2aa69e Fixes the Cygwin build 2019-08-07 11:47:03 +02:00
Markus Gans 5257beb73a Small cleanups 2019-08-06 23:45:28 +02:00
Markus Gans 77b76b7a2a Reduce the number of interface parameters 2019-08-04 23:38:47 +02:00
Markus Gans aac2231898 remove debug output from code 2019-08-01 00:28:36 +02:00
Markus Gans 0e12be93cc Unit test for the move assignment operator and move constructor in FPoint, FSize and FRect 2019-07-31 23:57:35 +02:00
Markus Gans 92c120b79e The FTermFreeBSD unit test has been extended 2019-07-29 15:52:23 +02:00
Markus Gans 0ba913a23e small fixes 2019-07-29 02:34:58 +02:00
Markus Gans f78aba0395 Add unit test for the FTermFreeBSD class 2019-07-28 23:12:01 +02:00
Markus Gans 2b9c64a445 Reduce include entries in the header files 2019-07-21 23:31:21 +02:00
Markus Gans 8d9e92023a minor fixes 2019-07-14 23:21:49 +02:00
Markus Gans c49252ab45 Add a unit test for FTermOpenBSD to test the OpenBSD and NetBSD console 2019-07-14 23:05:54 +02:00
Markus Gans ff9673d262 Reduces the use of raw loops 2019-07-14 18:30:35 +02:00
Markus Gans 38df039235 Expanding the unit test for FTermLinux 2019-07-04 15:26:26 +02:00
Markus Gans 340d78e433 Expanding the Unit Test for FTermLinux 2019-07-01 01:07:54 +02:00
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 b9ef1200e8 Avoid drawing the scroll bars if the widget is non-visible 2019-06-02 19:14:06 +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 63366b7ef9
Merge pull request #34 from grendello/flistview_segfault
Fix a segfault when processing input to empty FListView
2019-05-27 08:31:06 +02:00
Markus Gans 622eb7089c debug switch build fix 2019-05-27 01:35:32 +02:00
Markus Gans 5e436e91dc Use the Singleton design pattern to get a single object instance via FTerm 2019-05-27 01:10:10 +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
Marek Habersack c4d9b33628 Fix a segfault when processing input to empty FListView
If the application has a list view with no items and the user clicks the widget
or sends any key (space, plus, minus etc) which acts on the items, the
application will segfault as the item returned from `getCurrentItem()` is
`nullptr` and there's no check made for this condition.

Instead of checking whether current item `!= nullptr` just check whether the
item list is empty and avoid running any code at all in such case.
2019-05-26 23:35:39 +02:00
Markus Gans 75ec596323 macOS build fix 2019-05-17 22:52:01 +02:00
Markus Gans 66fe27e5bc macOS build fix 2019-05-17 22:44:44 +02:00
Markus Gans 6811b32e8a macOS build fix 2019-05-17 22:29:22 +02:00
Markus Gans fa66a7091e Move system calls to the new class FSystem 2019-05-17 15:48:09 +02:00
Markus Gans 5bd8590dee Revision of some comments 2019-04-28 20:57:08 +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 cc720dc7db Travis CI - Work around incomplete ca-chain of scan.coverity.com
See also
https://travis-ci.community/t/certificate-issue-during-coverity-build/3153
2019-04-26 23:48:38 +02:00
Markus Gans 7f206e88f0 Using namespace aliases finalcut::fc in some exemple programs 2019-04-26 21:06:04 +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 e3fb0c4a56 Drawing of the progress bar has been improved 2019-02-25 23:35:27 +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 bd4d8bd3a2 FFileDialog geometry fix 2019-01-27 22:19:33 +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 6a91738f48 Improvement in widget focusing 2019-01-07 05:03:00 +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 652dc67e6e Improved UTF-8 encoding for Cygwin 2019-01-03 21:38:19 +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 250c04cefd Small data type changes 2018-12-28 22:57:43 +01:00
Markus Gans 43f97a0d6a Add a "signals and callbacks" chapter into the first steps document 2018-12-28 08:09:05 +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 831e9fe05e Global use of FDataPtr for void* 2018-12-27 00:14:46 +01:00
Markus Gans 2a06915f1c Use constexpr for fixed values 2018-12-26 23:41:49 +01:00
Markus Gans 8e618812ac Bugfix in FTermDetection::getXTermColorName 2018-12-26 23:39:15 +01:00
Markus Gans 9a694ab267 New event FUserEvent for user-defined events 2018-12-24 18:11:16 +01:00
Markus Gans 81a4e72916 bool on -> bool enable 2018-12-22 23:50:10 +01:00
Markus Gans ac9ed260f5 some fixes 2018-12-22 15:33:23 +01:00
Markus Gans f6c21db7e7 Use of smart pointers 2018-12-20 01:41:04 +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 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 4046f05a0c Switched to the language standard C++11 2018-12-02 14:13:52 +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 6c4ba7af89 fkeyboard_test fix 2018-11-24 03:22:47 +01:00
Markus Gans ca90fb64bd Improved Sun Microsystems workstation console quirks 2018-11-24 02:59:56 +01:00
Markus Gans 820ef81377 bad_alloc_str in now usable in the entire namespace finalcut 2018-11-22 21:51:32 +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 167b7c97bc install fix with final/ftermdata.h 2018-11-20 21:11:04 +01:00
Markus Gans 2cb08ce928 checkable FListViewItem now shows the input cursor 2018-11-18 22:48:55 +01:00
Markus Gans 3953dc19fa FListViewItem now provides checkable list view items 2018-11-18 01:15:38 +01:00
Markus Gans e40a233d64 FColor fix 2018-11-13 02:51:41 +01:00
Markus Gans 9b3f30f006 Clicking on the column header in FListView now changes the sort order 2018-11-12 23:22:45 +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 9fc1910c18 strncpy boundary 2018-11-06 01:27:08 +01:00
Markus Gans baabf9546e FButton now uses the widget flags directly 2018-11-05 23:19:03 +01:00
Markus Gans f7a75247ef struct widget_flags is now a public type 2018-11-04 23:12:41 +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 deb62c2914 Moved FTerm debug access methods to FTermDebugData 2018-11-02 01:17:57 +01:00
Markus Gans c2df8ac7d9 Moved FTerm debug access methods to FTermDebugData 2018-11-01 21:29:54 +01:00
Markus Gans 4afa988232 Add the file faq.md 2018-11-01 00:49:13 +01:00
Markus Gans 77ad698c45 Looser coupling between examples and FTerm 2018-10-30 01:13:32 +01:00
Markus Gans c1b304e429 Looser coupling between examples and FTerm 2018-10-29 23:57:35 +01:00
Markus Gans 4d42804059 Don't print empty streams 2018-10-29 23:10:48 +01:00
Markus Gans d35c3c0cdc Setting the value can_change_color_palette in FTermcapQuirks 2018-10-29 21:12:03 +01:00
Markus Gans ce9d05ec7b Fix FListBox prevListItem() + nextListItem() 2018-10-29 19:10:42 +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