2017-04-17 Markus Gans * Speed up FString::setNumber() by using a decimal string lookup table 2017-04-15 Markus Gans * Fix unsigned integer underflow in FString::_insert() 2017-04-14 Markus Gans * The Final Cut compiles also under OpenBSD * The alt key now always generates an esc prefix on an OpenBSD and a NetBSD console 2017-04-11 Markus Gans * Enable xterm "metaSendsEscape" switch 2017-04-09 Markus Gans * The Final Cut compiles now also under NetBSD * Rename preprocessor macro names with leading underscore 2017-04-08 Markus Gans * Looking in /etc/ttys for the type of terminal 2017-04-06 Markus Gans * Change cursor style on a FreeBSD console 2017-04-05 Markus Gans * Replace non-printable characters for Tera Term and Cygwin terminal directly at start-up. Special cases in the code are no longer necessary. * New Method setInsertCursorStyle() to change the appearance of a cursor 2017-04-02 Markus Gans * Remap the meta key to left alt key at runtime on the FreeBSD console for the accelerator key access (Console switching is still possible with Ctrl-Alt-F1 through Ctrl-Alt-F8) * Avoid non-printable ASCII codes < 0x1c on a FreeBSD console 2017-03-30 Markus Gans * Fixed bug: termcap "me" does not reset the alternate character set 2017-03-28 Markus Gans * Improved graphic charset pairs (vt100) for FreeBSD console 2017-03-26 Markus Gans * The Final Cut compiles now under FreeBSD * A new test program to show the termcap variables 2017-03-19 Markus Gans * Add the "mouse" example to illustrate mouse programming 2017-03-17 Markus Gans * More constant character pointers 2017-03-13 Markus Gans * Corrects directly the input cursor position on window moving 2017-03-12 Markus Gans * The FButtonGroup now has a scrolling area with on-demand scroll bars * Add the "choice" example to demonstrate the FButtonGroup auto-adjusting with on-demand scroll bars * FRect can now combine two FRect objects * The FButtonGroup got the possibility of index access to a child button. * Fixed bug in FString copy constructor 2017-03-08 Markus Gans * Improve input cursor positioning in FScrollView 2017-02-24 Markus Gans * Corrected swapped top and left offset variables in the class FVTerm 2017-02-24 Markus Gans * FListBox gets the option to save a data pointer for every FListBoxItem element * Fixes incorrect return value of FString::toString() 2017-02-19 Markus Gans * New FWidget methods setMinimumWidth(), setMinimumHeight(), setMaximumWidth() and setMaximumHeight() * FButtonGroup now inherits from FScrollView. This supports many buttons to be displayed in a smaller frame. 2017-02-18 Markus Gans * Allows a window to have more than one FScrollView widget 2017-02-07 Markus Gans * Uses termcap capability U8 to identify terminals that can't display vt100 line-drawing in UTF-8 mode 2017-01-28 Markus Gans * Allow to change the focus out from FScrollView to another widget 2017-01-26 Markus Gans * FScrollView now scrolls automatically to the focused widget 2017-01-22 Markus Gans * A FScrollView object can now have client widgets on the scrolling area 2017-01-15 Markus Gans * Virtual window gets a preprocessing handler. This allows a preprocessing method to be called before the vterm is updated. 2017-01-07 Markus Gans * Add scrollTo and scrollBy methods to FScrollView 2017-01-03 Markus Gans * FScrollView now has on-demand scroll bars * Arrow keys support for FScrollView viewport scrolling 2017-01-02 Markus Gans * The new FScrollView widget provides a scrollable viewport to change the area of interest * The scrollview example illustrates the use of FScrollView class 2016-12-28 Markus Gans * Reduce public methods in FVTerm 2016-12-27 Markus Gans * Avoid non-working tab-cursor-movements on Linux terminals with activated PC or VT100 encoding 2016-12-26 Markus Gans * Add the ability to stream text into a widget's virtual window with print() << '#' << 5; or *this << ... 2016-12-22 Markus Gans * VTerm marks printed characters for a correct determination of unchanged characters * Correct gpm detection in configure script 2016-12-18 Markus Gans * Only perform VTerm updates on terminal updates * Skipping the print of characters without changes * Combined scrollAreaForward and scrollAreaReverse with terminal scroll sequences 2016-12-15 Markus Gans * Reduce the character output by using character erase and character repeat 2016-12-11 Markus Gans * Accelerates text line drawing by clear with CSI sequences to begin or to end of the current line. 2016-11-29 Markus Gans * Restore the xterm window title and font only if it could be read before 2016-11-27 Markus Gans * Some minor bug fixes * Version 0.3.0 2016-11-26 Markus Gans * Improvements for ansi terminal emulators * Add the opti-move test program * Optimized the terminal clear screen 2016-11-20 Markus Gans * Increase speed on cygwin terminals * Improve tty settings 2016-11-13 Markus Gans * Do not draw shadows on a Linux console if not all characters are available 2016-11-12 Markus Gans * Better support for Linux terminals with 8 colors * Optimized input cursor positioning for terminals without hidden cursor * Switch locale name from "en_US" to "C" * Fix FString toLong() 2016-11-06 Markus Gans * The adjustment of xterm default colors now is configurable 2016-11-05 Markus Gans * Determine xterm maximum number of colors via OSC 4 * The method clearArea can now fill the background with certain character 2016-11-03 Markus Gans * xterm should be able to use at least 16 colors 2016-11-01 Markus Gans * The class declaration now has a consistent order 2016-10-17 Markus Gans * Refactor the VGA attribute controller access code 2016-10-15 Markus Gans * Each virtual window gets its own virtual print cursor 2016-10-14 Markus Gans * Virtual windows can now store their own offset information * Correct implementation of the move() method 2016-10-13 Markus Gans * Reduces in the code the number of friend classes 2016-10-11 Markus Gans * Separate the virtual terminal into a own class vterm 2016-10-09 Markus Gans * Remove some duplicate code 2016-10-08 Markus Gans * Add the possibility to scroll text up and down in a virtual window 2016-10-06 Markus Gans * The input cursor is now controlled by the virtual terminal 2016-10-02 Markus Gans * FStatusBar and FMenuBar use now the always-on-top window option 2016-10-01 Markus Gans * Add an always-on-top mode for window objects * New FToolTip widget to show assisted information 2016-09-30 Markus Gans * Using arrow keys to move or to resize a window 2016-09-28 Markus Gans * The size is now dynamically changeable with the mouse in a resizable window. 2016-09-26 Markus Gans * FLabel now transmits the Click events to the parent widget 2016-09-25 Markus Gans * Splitting gotoxy in printPos (local position) and printPosTerm (global terminal position) * Replacing the widget position variables by FRect objects * Rename getGeometryShadow() to getGeometryWithShadow() * Rename getGeometryGlobal() to getTermGeometry() * Rename getGeometryGlobalShadow() to getTermGeometryWithShadow() * Rename globalToLocalPos() to termToWidgetPos() * Rename getGlobalX() to getTermX() * Rename getGlobalY() to getTermY() * Rename getGlobalPos() to getTermPos() * setColor() without parameters sets the default widget colors * New methods setMinimumSize(), setMaximumSize(), setFixedSize() and setSize() 2016-09-12 Markus Gans * Activate the title bar menu with ctrl+^ 2016-09-11 Markus Gans * New zoom interaction-elements to maximize a FDialog 2016-09-08 Markus Gans * Different color when focusing the title bar button * Move clearArea() from FWidget to FTerm * Move setWidth(), setHeight() and setGeometry from FDialog to FWindow 2016-09-04 Markus Gans * FButton, FLineEdit and FProgressbar has shadow now enabled by default * FDialog has now transparent shadow as default 2016-09-03 Markus Gans * The method clearFlatBorder() replace now a double flatline with a single flatline * Add the possibility to set the double_flatline_mask for every position on all sides 2016-09-02 Markus Gans * Method setGeometry assigns now the full widget size to the double_flatline_mask (previously, it was the adjust size) 2016-08-28 Markus Gans * Remove obsolete code from FDialog * An incorrect parameter can now return an error message on program exit * Termcap S2 and S3 fallback only for the vte/gnome-terminal and the Linux terminal 2016-08-27 Markus Gans * A new inherit background option for characters * Use inherit background for the simple shadows * Updating the transparent example program 2016-08-25 Markus Gans * Use the new transparent shadow option in drawShadow() 2016-08-21 Markus Gans * Improved transparent shadow background * Add "transparent" example to demonstrate transparency 2016-08-20 Markus Gans * Switch back to the own dialog when you closing a dialog menu * switchToPrevWindow() is looking for another window if no previous window was found 2016-08-14 Markus Gans * Screen characters now have a transparent and a transparent shadow option 2016-07-31 Markus Gans * Rename setUpdateVTerm to updateVTerm * Rename clrscr to clearArea * The widget clearing method updates now only non-covered characters on the virtual terminal. 2016-07-31 Markus Gans * Resetting the local window widget focus at the end of the lifetime of a widget. * Fix method setPos in the class FRect * Add the windows example to show the window behavior 2016-07-30 Markus Gans * Delete all callbacks from a widget with delCallbacks() * Remove dialog list item callback from the associated window 2016-07-28 Markus Gans * Improvements for the window focus 2016-07-24 Markus Gans * Add missing null pointer check in FOptiAttr before dereferencing * Remove callbacks and accelerator keys from FDialogListMenu on closing of a dialog window * Execute accelerator keys only once * Improved window focus behavior 2016-07-23 Markus Gans * Add a modifier key correction for the Linux tty * Support to read meta+enter from keyboard 2016-07-16 Markus Gans * Support to read meta+tab from keyboard 2016-07-16 Markus Gans * Switch to a specific dialog with meta key + 1..9 * Add more meta key escape sequences (for putty) 2016-07-14 Markus Gans * Adding a dialog list with the entries in the chronological order of the generation 2016-07-13 Markus Gans * Bind accelerator key from the FMenuItem to the root widget 2016-07-12 Markus Gans * The status bar and the menu bar insert now the accelerator keys into the global scope of the root widget 2016-07-10 Markus Gans * Remove obsolete code from FDialog destructor * FDialog focus fix 2016-07-08 Markus Gans * Better code readability: control structures (if/else, while, switch) are now separated by a blank line. 2016-07-06 Markus Gans * Stop terminal updates during processCloseWidget() is working 2016-07-03 Markus Gans * Add the new class FDialogListMenu to switch between dialog menus * More consistent method names: rename parentWidget() to getParentWidget() 2016-06-27 Markus Gans * Fix the use-after-free bug for previous_widget 2016-06-26 Markus Gans * Bug fix for FWindow::activatePrevWindow() 2016-06-25 Markus Gans * Move processNextEvent() code into sub functions 2016-06-22 Markus Gans * Adding required updateTerminal() calls for FMenuBar 2016-06-19 Markus Gans * Clear status bar text in FMenuBar::leaveMenuBar() * Fixes some status bar update issues and focus problems 2016-06-18 Markus Gans * Improved status bar text updating at window change 2016-06-16 Markus Gans * Bug fix in FTerm updateVTerm() for updates from vdesktop * Bug fix in FDialog onWindowActive() for combined setFocus() and activateWindow() 2016-06-13 Markus Gans * Improved title bar menu integration 2016-06-12 Markus Gans * Add a title bar menu to close dialogs 2016-05-24 Markus Gans * Use nl_langinfo to determine the numeric thousands separator for Fstring::setFormatedNumber as default parameter 2016-05-22 Markus Gans * Fix for menus in modal dialogs 2016-05-16 Markus Gans * Improve adjustSize() * Implement adjustSizeGlobal() for all widgets * Don't focus menus with focusFirstChild() and focusLastChild() * Remove duplicate code 2016-05-01 Markus Gans * Better terminal identification 2016-04-30 Markus Gans * Improve 256 color terminal detection 2016-04-19 Markus Gans * Fix the missing typecast for SpecialCharacter in "ui.cpp" 2016-02-04 Markus Gans * KDE Konsole detection improved * OSC sequence support for GNU Screen and tmux 2016-01-31 Markus Gans * Better escape sequences readability through symbolic names like ESC, CSI or OSC 2016-01-24 Markus Gans * Moving widget flags into the class fc 2016-01-17 Markus Gans * Moving events into the class fc * Avoid height and width underflow in adjustSize() * Fix default color handling on Cygwin and Linux terminals 2016-01-10 Markus Gans * Better default color handling in FOptiAttr 2016-01-07 Markus Gans * Add the new class FOptiAttr to control video attributes and colors for output on terminals 2015-12-23 Markus Gans * Add video attribute support for dim (half-bright) and italic * An example program to test video attributes on your terminal 2015-12-20 Markus Gans * Add the possibility to switch off the cursor optimization for bad ANSI-terminal implementations like HyperTerminal (e.g. horizontal absolute position (ch) has there no function) * Now you can activate the menu with ctrl+space, too. (For terminals with no meta key support) 2015-12-20 Markus Gans * Bug fix in FTerm updateVTerm() for updates from vdesktop * Add raiseWindow() to FMenuBar::leaveMenuBar() * Fix allocation of null strings with the FString = operator * Fix for non printable characters in Cygwin and TeraTerm * Fix missing eat_newline_glitch (xn) in TeraTerm 2015-12-19 Markus Gans * Add delOwnTimer() for FObject * Close sub-menu on right and middle click * Version 0.2.0 2015-12-18 Markus Gans * Optimize menu example * More string types for FString relational operators 2015-12-16 Markus Gans * Avoid to show menus outside of the screen 2015-12-12 Markus Gans * Improve sub-sub-menu handling 2015-12-10 Markus Gans * PC encoding: Avoid to print ASCII sign 0x00..0x1f in xterm * Newfont Bullet sign 2015-12-08 Markus Gans * Add "menu" example to demonstrate the behavior from FMenuBar, FMenu, FMenuItem, FCheckMenuItem and FRadioMenuItem widgets. * Show status bar messages, if no keys are available. 2015-11-29 Markus Gans * Better handling of empty strings in FLineEdit and FButton * Add a sub-menu to the "ui.cpp" example 2015-11-25 Markus Gans * Small menu improvements 2015-11-24 Markus Gans * Improved mouse and keyboard handling in sub-menus 2015-11-22 Markus Gans * Add sub-menu support 2015-11-19 Markus Gans * Add the missing resetXTermHighlightBackground method 2015-11-15 Markus Gans * Add two new classes FCheckMenuItem and FRadioMenuItem for menu check marks and menu option marks (bullets) 2015-11-12 Markus Gans * Improve menu accelerator keys * Shows accelerator keys on the right side of the FMenu. 2015-11-08 Markus Gans * Activate the previous window in case if the menu is open and the mouse click has activated no window. 2015-11-07 Markus Gans * Improved menu focus handling * Menu supports newfont 2015-11-05 Markus Gans * Menu bar navigation without menu drop down 2015-11-03 Markus Gans * Improve keyboard shortcut handling in menus 2015-11-01 Markus Gans * First working version of an application menu, it uses the new classes FMenuBar, FMenu and FMenuItem (alpha state) 2015-10-29 Markus Gans * Support for the menu key 2015-10-23 Markus Gans * Color setting improvements 2015-10-22 Markus Gans * Make cursor visibility more standards compliant. 2015-10-18 Markus Gans * Hidden windows are now non-clickable 2015-10-17 Markus Gans * More faster header inline code * Improve getXTermFont() and getXTermTitle() * Newfont characters are now printable in FLabel, FMenuBar and FMenu. 2015-10-16 Markus Gans * Fixed: calculator behavior for negative values in trigonometric functions 2015-10-13 Markus Gans * Reduce the number of getParent() function calls for print operations 2015-10-11 Markus Gans * Improve attribute setting for bold, reverse and underline output * Better support for monochrom terminals 2015-10-10 Markus Gans * Deactivate a key from the status bar automatically after getting back from the callback. 2015-10-09 Markus Gans * Eliminate duplicate code 2015-10-06 Markus Gans * Refactoring FTerm::init() 2015-10-05 Markus Gans * Improve compatibility with initialize_color * Better support for TeraTerm 2015-10-02 Markus Gans * No terminal updates until input data is pending. This speeds up the window moving with the mouse on terminals with a high latency. * Use now the select command before read ENQ and SEC_DA 2015-09-29 Markus Gans * Some code improvements 2015-09-27 Markus Gans * Add methods getPos and setPos to FRect and FWidget 2015-09-24 Markus Gans * Add macro _METHOD_CALLBACK and _FUNCTION_CALLBACK to simplify the use callback functions * The callback data pointer is now predefined with NULL as default argument 2015-09-23 Markus Gans * Further code optimizations 2015-09-22 Markus Gans * Add the possibility to hide a virtual window * Some code optimizations 2015-09-18 Markus Gans * Fixed compile error on 32-bit architectures 2015-08-08 Markus Gans * Bug fix in FDialog (use GlobalPos to move) * Don't check mouse click position on title bar again while FDialog is in move 2015-07-26 Markus Gans * init() method for the FStatusKey constructor to avoid code duplication 2015-07-18 Markus Gans * Add multiple lines support for FLabel 2015-07-12 Markus Gans * Improve focusFirstChild() and focusLastChild() 2015-07-09 Markus Gans * Better contrast on 8 color terminals 2015-07-06 Markus Gans * Bug fix disable cursor on focus FSwitch * Hold down the mouse button displays FSwitch in a different color. 2015-07-04 Markus Gans * New class FSwitch * Add the watch example to demonstrate FSwitch * Version 0.1.1 2015-07-02 Markus Gans * Add a joined right-left-line character to the newfont * Use the object timer for the progress bar animation in the ui example program 2015-07-01 Markus Gans * Use the object timer for the click animation in FButton 2015-06-28 Markus Gans * Add exception handling for toLong() and toULong() in FString 2015-06-27 Markus Gans * Add toFloat(), toDouble() and setNumber(...) for floating point values to FString 2015-06-22 Markus Gans * Add a simple calculator with trigonometric functions 2015-06-21 Markus Gans * Add the possibility to draw double lines on overlapped flat lines for the 8x16graph font * Bug fix in FButton (mouse click with unsetClickAnimation()) 2015-06-20 Markus Gans * Add the possibility to change the colors from FButton 2015-06-15 Markus Gans * Add the possibility to turn off click animation on FButton 2015-06-14 Markus Gans * correction for the modifier letter small x in the character map 2015-06-12 Markus Gans * Add Some mathematical signs to the character map 2015-05-28 Markus Gans * Add keyword 'explicit' to some constructors 2015-05-25 Markus Gans * Add a Mandelbrot set program 2015-05-24 Markus Gans * Bug fix in FLineEdit (ypos from the label) * Bug fix in FDialog onWindowActive (status bar check) 2015-05-15 Markus Gans * Remove never read value from code * Add the possibility to use exec() from FMessageBox to enter and leave the main event loop correctly * Add a "hello world" example