Commit Graph

920 Commits

Author SHA1 Message Date
Markus Gans f20e036a9e Fixed event queue in FApplication 2020-05-21 14:53:51 +02:00
Markus Gans 5a60794b85 More direct access to the static FTerm functions 2020-05-16 22:24:36 +02:00
Markus Gans 379c45efb5 A little more clean code 2020-05-14 01:22:45 +02:00
Markus Gans 923822ca25 New class FLogger for logging 2020-05-13 23:47:14 +02:00
Markus Gans 4a8b863238 Cygwin build fix 2020-05-03 13:45:47 +02:00
Markus Gans 87777ad27c macOS build fix 2020-05-02 17:26:58 +02:00
Markus Gans d69b414094 macOS build fix 2020-05-02 17:18:40 +02:00
Markus Gans 5f447e8267 FTermcap is now null pointer resistant 2020-05-02 16:54:22 +02:00
Markus Gans 0be377a94a Moving all termcap functions into FTermcap 2020-05-02 05:28:30 +02:00
Markus Gans deccb4b74c Moving all termcap functions into FTermcap 2020-05-02 04:56:12 +02:00
Markus Gans a90cd1ad55 const type qualifiers and list initialization 2020-05-02 00:07:35 +02:00
Markus Gans 0fd6439f5a Static code for the special built-in key sequences 2020-04-29 02:24:48 +02:00
Markus Gans 4840978273 Static code for the special built-in key sequences 2020-04-29 00:37:29 +02:00
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