TGUI Versions Save

Cross-platform modern c++ GUI

v0.10-beta

2 years ago

Changelog:

  • Existing backends were rewritten
  • Added SFML/OpenGL backend (sfml-window + OpenGL >= 3.3)
  • Added GLFW/OpenGL backend (glfw3 + OpenGL >= 3.3 or GLES >= 2.0)
  • Added SDL_Renderer backend (SDL + SDL_ttf)
  • Added moveWithAnimation and resizeWithAnimation functions to Widget
  • Added case-insensitive variants of startsWith and endsWith to String
  • ClientSize of ChildWindow can now be a layout instead of only a constant
  • Typing in FileDialog now selects the first file starting with the typed letter
  • TextSize can now also be set in theme file
  • Tool tips are now shown on disabled widgets by default

v0.9.3

2 years ago

Changelog:

  • Added RoundedBorderRadius property to Panel renderer
  • Touch events didn't work in SDL backend
  • Default DistanceToSide in Tabs is now rounded to nearest integer
  • Adding widget to container no longer overwrites name if no name is given
  • Container::get now also searches inside SubwidgetContainer widgets
  • Renamed onAnimationFinish to onShowEffectFinish
  • Renamed ShowAnimationType to ShowEffectType
  • Loading BMP files didn't work
  • Scrollbar in Label didn't inherit opacity
  • showWithEffect/hideWithEffect didn't work properly is position was percentage

v0.9.2

2 years ago

Changelog:

  • Arrow keys can now be used to navigate TreeView
  • Control/shift now affect using arrow keys in multi-select ListView
  • Added Texture::setDefaultSmooth to choose default interpolation setting
  • String::split now takes an optional boolean to trim the returned values
  • Kerning calculation now takes bold text style into account (only if SFML >= 2.6)
  • Added setWidgetIndex and getWidgetIndex functions to container
  • Added String::contains function
  • saveWidgetsToFile now makes paths relative to the form path
  • Tool tips will no longer be displayed outside the window when close to the side
  • Exception is now thrown when loading a font fails
  • TabContainer can now create the panels internally
  • Button text was lost when copying button
  • Down state of button wasn't displayed properly anymore when a focus state existed
  • Image in BitmapButton was searched in wrong directory when loading from form file
  • Form files didn't load on Windows when path contained non-ANSI characters
  • Modification time in FileDialog was empty when MinGW compiler was used
  • Clipping in SDL backend was incorrect when view and viewport were changed
  • Opacity of color wheel wasn't set when making ColorPicker transparent

v0.9.1

3 years ago

Changelog:

  • Added new SpinControl widget (combination of EditBox and SpinButton) (PR #135)
  • Added new TabContainer widget (combination of Tabs with Panel below) (PR #139)
  • Holding down arrow on SpinButton will now keep chaning the value (PR #137)
  • Added insertItem function to ListView (PR #138)
  • Up and down arrows now change selected item in ListBox and ListView (PR #146)
  • Horizontal scrollbar can now depend on item width in ListView (PR #147)
  • Added support to copy selected ListView items to clipboard (PR #148)
  • Add setTextSize for SubwidgetContainer (PR #149)
  • Added SDL/OpenGL backend as alternative for default SFML backend
  • Rewrote signal system again, b->connect("Pressed",...) is now b->onPress(...)
  • Added new FileDialog widget
  • Added new ToggleButton widget
  • Added new SeparatorLine widget
  • Added support for setting mouse cursor + use them on resizable child windows
  • Added timers and optional gui.mainLoop()
  • Added experimental setOrigin, setScale and setRotation functions to Widget
  • Added ThumbWithinTrack to Slider renderer to have thumb align with track on sides
  • Added DoubleClick signal to Panel
  • Added ViewChanged signal to GuiBase
  • Added hover and selected border colors for Tabs
  • Added TextureSelectedTrack property to RangeSlider renderer
  • Added String::fromNumberRounded to convert float to string with a fixed amount of decimals
  • Added startsWith and endsWith helper functions to String
  • Added RoundedBorderRadius property to button renderer
  • Separators can be added to MenuBar by inserting menu items with "-" string
  • ListBox and ListView can now store user data in their items
  • ListView icons can be given a fixed size to rescale all icons to requested size
  • Replaced all std::string and sf::String by tgui::String
  • Replaced Text, Color, Rect and Vector2 classes from SFML with own versions
  • Replaced sf::Text::Style with tgui::TextStyle
  • Replaced setView in Gui by view/viewport setters with absolute or relative values
  • Added onClosing signal to ChildWindow to have a better way to abort closing it
  • Signal names, renderer names and widget/renderer properties are now case-sensitive
  • Added setWidth and setHeight helper functions
  • Added getCheckedRadioButton to RadioButtonGroup
  • Textures are now smooth by default
  • Size of ChildWindow now includes borders and title bar
  • When setView is not called on Gui, view will now scale with window size
  • Menus of menu bar are now always on top of all other widgets
  • Swapped padding and alignment parameters of addWidget in Grid
  • Moved uncheckRadioButtons from Container to RadioButtonGroup
  • Theme::setDefault now takes a shared_ptr or a filename as parameter
  • Changed return type of addItem in ListBox/ComboBox to return index of the item
  • Changed Knob value type from int to float
  • Changed default value of ChangeItemOnScroll in ComboBox to false
  • Changed default value of ExpandDirection in ComboBox to Automatic
  • Changed default value of ScrollbarPolicy in Label to Automatic
  • Renamed TextBox to TextArea
  • Renamed getMenuList in MenuBar to getMenus
  • Renamed mouseOnWidget to isMouseOnWidget
  • Renamed TextStyle class to TextStyles and TextStyles::Style enum to TextStyle
  • Default scroll amount in ScrollablePanel now depends on global text size
  • Gui::getFont now returns the global font if no font was set in the Gui
  • Container now translates the widget position before calling draw function
  • Dragging scrollbar inside child window didn't work when mouse left child window
  • Selected part of RangeSlider wasn't drawn when using textures
  • Removed all code that was marked as deprecated
  • Binding left and top in layouts now works correctly when the origin is changed
  • Some other small changes that weren't added to the changelog

v0.8.9

3 years ago

Changelog:

  • ColorPicker widget added (PR #145)
  • Added sortWidgets to Container to update the z-order of all widgets (PR #141)
  • Added getWidgetBelowMouseCursor to Gui and getWidgetAtPosition to Container/Gui
  • Added moveWidgetForward/moveWidgetBackward to Container to move widget one step in z-order
  • Added parameter to focusNextWidget/focusPreviousWidget in Container to not look recursively
  • Added enableSkipDrawingWidgetsOutsideView() to ScrollablePanel to enable optimization
  • Tabs::remove didn't recalculate the tabs width
  • SubwidgetContainer wasn't being compiled into the library
  • Text orientation in Button wasn't updated when size changed
  • Text position in EditBox didn't update when increasing width if text didn't fit before

v0.9-rc

3 years ago

Changelog:

  • Up and down arrows now change selected item in ListBox and ListView (PR #146)
  • Horizontal scrollbar can now depend on item width in ListView (PR #147)
  • Added support to copy selected ListView items to clipboard (PR #148)
  • Add setTextSize for SubwidgetContainer (PR #149)
  • SDL backend is now compatible with OpenGL 4.1 and OpenGL ES 3.0
  • Added new FileDialog widget
  • Added new ToggleButton widget
  • Added new SeparatorLine widget
  • Added RoundedBorderRadius property to button renderer
  • Added String::fromNumberRounded to convert float to string with a fixed amount of decimals
  • Added startsWith and endsWith helper functions to String
  • Added TextureSelectedTrack property to RangeSlider renderer
  • Selected part of RangeSlider wasn't drawn when using textures
  • Search resources in form file relative to form file path
  • Print warning for invalid layout strings
  • Binding left and top in layouts now works correctly when the origin is changed

v0.9-beta

3 years ago
  • Added new SpinControl widget (combination of EditBox and SpinButton) (PR #135)
  • Added new TabContainer widget (combination of Tabs with Panel below) (PR #139)
  • Holding down arrow on SpinButton will now keep chaning the value (PR #137)
  • Added insertItem function to ListView (PR #138)
  • Added support for setting mouse cursor + use them on resizable child windows
  • Added timers and optional gui.mainLoop()
  • Added experimental setOrigin, setScale and setRotation functions to Widget
  • Added ThumbWithinTrack to Slider renderer to have thumb align with track on sides
  • Added DoubleClick signal to Panel
  • Added ViewChanged signal to GuiBase
  • Added hover and selected border colors for Tabs
  • ListBox and ListView can now store user data in their items
  • Rewrote signal system again, b->connect("Pressed",...) is now b->onPress(...)
  • Replaced all std::string and sf::String by tgui::String
  • Replaced Text, Color, Rect and Vector2 classes from SFML with own versions
  • Replaced sf::Text::Style with tgui::TextStyle
  • Replaced setView in Gui by view/viewport setters with absolute or relative values
  • Added onClosing signal to ChildWindow to have a better way to abort closing it
  • Signal names, renderer names and widget/renderer properties are now case-sensitive
  • Added setWidth and setHeight helper functions
  • Added getCheckedRadioButton to RadioButtonGroup
  • Textures are now smooth by default
  • Size of ChildWindow now includes borders and title bar
  • When setView is not called on Gui, view will now scale with window size
  • Menus of menu bar are now always on top of all other widgets
  • Swapped padding and alignment parameters of addWidget in Grid
  • Moved uncheckRadioButtons from Container to RadioButtonGroup
  • Theme::setDefault now takes a shared_ptr or a filename as parameter
  • Changed return type of addItem in ListBox/ComboBox to return index of the item
  • Changed Knob value type from int to float
  • Changed default value of ChangeItemOnScroll in ComboBox to false
  • Changed default value of ExpandDirection in ComboBox to Automatic
  • Changed default value of ScrollbarPolicy in Label to Automatic
  • Renamed TextBox to TextArea
  • Renamed getMenuList in MenuBar to getMenus
  • Renamed mouseOnWidget to isMouseOnWidget
  • Renamed TextStyle class to TextStyles and TextStyles::Style enum to TextStyle
  • Default scroll amount in ScrollablePanel now depends on global text size
  • Gui::getFont now returns the global font if no font was set in the Gui
  • Container now translates the widget position before calling draw function
  • Dragging scrollbar inside child window didn't work when mouse left child window
  • Removed all code that was marked as deprecated

v0.8.8

3 years ago

Changelog:

  • Added RightClicked signal to TreeView (PR #125)
  • Changed the keyboard shortcuts in EditBox and TextBox for macOS
  • Added getIndexById and getIdByIndex to ListBox
  • Added global setEditCursorBlinkRate function
  • Added renderer properties in ComboBox for disabled state
  • Added bind functions to layouts to bind to inner size
  • Added getFocusedChild() and getFocusedLeaf() to Container and Gui
  • Made updateTime() in Gui public and let it return whether something changed
  • Picture had wrong size when loading from file with a relative size
  • String to float conversion could fail since 0.8.6 when C locale was changed

v0.8.7

4 years ago

Changelog:

  • TextBox can now have a default text that is displayed when it is empty (PR #117)
  • Added SignalManager class to connect signals by widget name (even if widget not loaded yet) (PR #112)
  • Added setTextSize function to Widget and Gui to allow changing text sizes globally
  • Improved TextureManager to only load image once if different parts of image are requested
  • Index as optional parameter in SignalItem (which was added in 0.8.6) didn't actually work yet
  • MenuItemClicked signal is now also emitted when clicking on menu that has no menu items
  • Added option to not replace existing widgets when loading widgets from file
  • Added isAnimationPlaying function to Widget (for the show and hide animations)
  • Fixed linking issues when compiling TGUI as a static library while dynamically linking SFML
  • MousePressed signal in ListBox is now send after the selected item changed instead of before

v0.8.6

4 years ago

Changelog:

  • Added sort function to ListView to sort data based on values in a chosen column (PR #107)
  • Added function to Slider to disallow changing the value by scrolling the mouse wheel (PR #104)
  • Added support for text outline in Label and Button widgets
  • Added SelectionChanged signal to TextBox
  • Added getSelectionStart and getSelectionEnd functions to TextBox
  • Added mousePressed and mouseReleased to respond to different mouse buttons in custom widgets
  • Added focusable property to widgets
  • Added TextureBackground property to Label, Panel and ChildWindow renderers
  • Added VerticalScrollAmount and HorizontalScrollAmount to ScrollablePanel
  • Added functions to set and get scrollbar values in widgets that have a scrollbar
  • Added right mouse clicked signals to ClickableWidget (base class for several widgets) and Panel
  • Added HeaderClicked signal to ListView
  • Addded Signals namespace with strings for signals of all widgets
  • Added VerticalScroll property to Slider, Scrollbar and SpinButton, for more intuitive usage
  • Added SubwidgetContainer class that should simplify combining widgets for a custom widget
  • Added view to Canvas
  • Added MultiSelect option to ListView
  • PDB files are now included for Visual Studio builds
  • Renamed TimeToDisplay to InitialDelay in ToolTip
  • SignalItem (used by ListBox and ComboBox) can now have the item index as optional parameter
  • Container widgets didn't pass right click event to child widgets
  • Widget state was incorrect when starting a show/hide animation while another was still busy
  • Disabling tabs widget caused selected tab to be deselected
  • Vertical alignment in Label didn't work correctly when there was a scrollbar
  • Knob never responded to mouse events on places where the background texture was transparent
  • Text color wasn't updated in MenuBar when disabling and re-enabling widget
  • Unicode text wasn't properly handled when loading/saving widgets from/to a widget file
  • Fixed potential crash when creating a ProgressBar
  • ListView clipped content in expanded column