Finalcut Versions Save

A text-based widget toolkit

0.9.0

11 months ago

What's new:

  • Switched to the C++14 language standard
  • Strict use of trailing return type
  • The virtual window management has been completely rewritten and is now much faster
  • The way a widget gets focus has been changed. Sending focus events is no longer a separate step
  • Reduced number of cycles to save CPU time
  • Speed up parsing of UTF-8 input
  • Added a ring buffer to hold unprocessed keyboard and mouse input. Benefits: pre-allocated memory and no expensive data copying or clearing
  • The output buffer queue has also been replaced with a ring buffer to improve performance
  • Key sequences are now identified using a hash map to speed up escape sequence searches
  • Speed up the drawing of shadows and boxes
  • Text highlighting (color and style) for the FTextView widget
  • FDialogListMenu is now automatically enabled and disabled depending on the number of dialogs
  • FFileDialog now shows the file filter in the title bar
  • Virtual windows can now also be moved up from the virtual terminal area
  • FLineEdit and FTextView widgets now have additional public methods for more control
  • FLineEdit can set the alignment (left, center, or right) for the content of the entry
  • Individual columns can now be shown and hidden in FListView
  • Widget flags are now grouped in a hierarchical structure
  • New methods removeColumn() and removeAllColumns() for the FListView to remove columns
  • The terminal output class (derived from FOutput) can now be changed using the constructor of the FVTerm class
  • A new example demonstrates parallax scrolling with multi-layered stars
  • A new example to view X PixMap (XPM) images in a terminal
  • FObject now supports reverse iterators
  • The application is now notified when the focus changes in the terminal window through the new onTermFocusIn() and onTermFocusOut() event methods
  • FDialog size and position changes are now executed immediately before terminal output to redraw mouse-based changes just before output

0.8.0

2 years ago

What's new:

  • Support for combined unicode characters
  • An FDialog object is now minimizable
  • Better support for kitty terminals
  • FINAL CUT now runs on GNU Hurd
  • Faster key string parsing
  • All buttons in the title bar are now hideable
  • Dynamic adjustment of the refresh rate from 5 to 60 Hz
  • A generic output queue for strings, control characters, and control sequences
  • A specific padding print method sends all control codes to the terminal
  • Wide strings get converted to UTF-8 text before pushing them to the output buffer to speed up the character output.
  • Widgets now have the virtual method initLayout() to initialize the layout before the first drawing on the terminal
  • Correct processing of multiple SIGWINCH signals sent by the gnome-terminal under Wayland.
  • Prevent flickering on terminal scrolling, resizing and redrawing via ctrl-l
  • Change timer from timeval to std::chrono::time_point
  • The source code components are now better structured by several subdirectories

0.7.1

3 years ago
  • Bugfix: The cursor position was not changed anymore if there was no change to the content
  • Forcing a direct update for faster terminal output

0.7.0

3 years ago

What's new:

  • FWidgetColors and FColorPalette now have virtual methods so you can easily create your own color theme.
  • FINAL CUT now has a dark theme
  • FStyle objects for manipulating video attributes in output streams
  • New widget class FSpinBox to provide spin boxes
  • New widget class FComboBox to provide a dropdown list with an input field
  • New widget FBusyIndicator to indicate background activity
  • New class FStringStream implements input and output operations on FString based streams
  • FLineEdit can obscure password inputs
  • Unicode support for 8x16graph font
  • The new SGRoptimizer makes it possible to combine several consecutive parameters
  • A lazy initialization that is executed when show() is called
  • The new class FLogger for logging, which can be redirected to different I/O channels. std::clog now streams everything to the FLogger object
  • A new callback backend was implemented, which allows to call functions with an arbitrary number of arguments
  • The generic data type FDataPtr is now deprecated and was completely replaced by the template class FData
  • Many code improvements...

0.6.0

4 years ago

What's new:

  • Switch the entire code base to C++11
  • The Cygwin and Linux console does not use cp437 character encoding by default anymore
  • print() can now get an FPoint object as an argument to change the cursor position
  • By printing the new FColorPair object, you can change the foreground and background color together
  • PC speaker control for the FreeBSD, NetBSD and OpenBSD consoles
  • FLineEdit is now able to define a character input filter via regular expression (regex)

0.5.1

4 years ago

0.5.0

5 years ago

0.4.0

6 years ago

0.3.0

7 years ago

0.2.0b

8 years ago