Commit Graph

920 Commits

Author SHA1 Message Date
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
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 c4e333bc8b Fix the build on CentOS 6 2018-10-24 08:51:38 +02:00
Markus Gans e359d16417 Some code formatting 2018-10-24 00:16:45 +02:00
Markus Gans 3678d52766 Small code fixes 2018-10-22 01:26:24 +02:00
Markus Gans 540291b410 Moving static attributes from FApplication to FWidget 2018-10-21 21:06:52 +02:00
Markus Gans 689199efe2 createBlankArray + destroyBlankArray 2018-10-20 22:50:35 +02:00
Markus Gans 258380ae57 Changed more variables from int to std::size_t 2018-10-18 23:50:06 +02:00
Markus Gans 94e00051c5 Changed more variables from int to std::size_t 2018-10-17 22:12:52 +02:00
Markus Gans 4fac4627cd FString fix for 32-bit architectures 2018-10-15 01:51:09 +02:00
Markus Gans de4be23a04 FString fix for 32-bit architectures 2018-10-15 01:34:57 +02:00
Markus Gans 6b753c54ed Add #pragma pack to FString 2018-10-14 20:15:52 +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 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