Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: TGUI: GUI library for SFML  (Read 83059 times)

0 Members and 1 Guest are viewing this topic.

texus

  • Hero Member
  • *****
  • Posts: 505
    • View Profile
    • TGUI
    • Email
Re: TGUI: GUI library for SFML
« Reply #45 on: October 25, 2016, 02:58:44 pm »
No, I'm too busy with TGUI and university assignments that I don't even have time for other projects :)
TGUI: C++ SFML GUI

texus

  • Hero Member
  • *****
  • Posts: 505
    • View Profile
    • TGUI
    • Email
Re: TGUI: GUI library for SFML
« Reply #46 on: February 12, 2017, 01:16:11 am »
TGUI 0.7.3 has been released.

Because 0.8 is still going to be in development for a long time, I decided to make the creation of widgets slightly easier in 0.7. There are now static create functions similar to the ones in 0.8-dev (although in 0.7 they are only needed when not using a theme, in 0.8-dev themes are handled differently and you always create widgets like this).

Basically the following line
auto button = std::make_shared<tgui::Button>();

can now finally be written as follows in 0.7 as well:
auto button = tgui::Button::create();
TGUI: C++ SFML GUI

texus

  • Hero Member
  • *****
  • Posts: 505
    • View Profile
    • TGUI
    • Email
Re: TGUI: GUI library for SFML
« Reply #47 on: August 05, 2018, 11:13:33 pm »
TGUI 0.8.0 has been released!

An experimental gui builder has been added (again, since the form builder used to exist in early TGUI versions but was removed in 0.7 as the API wasn't stable enough yet to maintain it). This time it should be here to stay.


Other changes include:
- Global default text size for more consistent texts in widgets
- A theme can be made the default to use it for all new widgets
- Renderers are decoupled from widgets, making them truly shared
- BitmapButton widget to have an icon next to the button caption
- RangeSlider widget to have two thumbs on a slider
- ScrollablePanel widget to have a Panel with automatic scrollbars
- Panel widget was split in Group, RadioButtonGroup and Panel widgets
- HorizontalLayout, VerticalLayout and HorizontalWrap to arrange widgets
- Relative layouts were improved

Many more improvements have been made, but I didn't keep track of them and I'm not going to read through a 120.000 lines long diff file or read all 543 commit messages :)
TGUI: C++ SFML GUI

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11008
    • View Profile
    • development blog
    • Email
Re: TGUI: GUI library for SFML
« Reply #48 on: August 06, 2018, 12:12:48 am »
Awesome work! :)

I should really give it try sometime.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

Ruckamongus

  • Jr. Member
  • **
  • Posts: 70
    • View Profile
Re: TGUI: GUI library for SFML
« Reply #49 on: August 06, 2018, 02:54:45 am »
Awesome, texus. I'm really glad to see 0.8dev become the main branch! I've been away from TGUI for a while but always come back to it when I have interface needs! So when is 0.9dev branch opening? :D

texus

  • Hero Member
  • *****
  • Posts: 505
    • View Profile
    • TGUI
    • Email
Re: TGUI: GUI library for SFML
« Reply #50 on: August 06, 2018, 08:30:17 am »
There shouldn't be a 0.9-dev branch for quite a while.
Usually by the time a new branch becomes stable, I already planned to rewrite certain parts in the next version or I even already started development of the new version locally. This is not the case this time. New features should still be added to 0.8 as long as possible.
I'm currently not spending a lot of time programming, only when bugfixes need to be made, so there may not be any really big changes in the near future for 0.8 either.
TGUI: C++ SFML GUI

texus

  • Hero Member
  • *****
  • Posts: 505
    • View Profile
    • TGUI
    • Email
Re: TGUI: GUI library for SFML
« Reply #51 on: January 28, 2019, 08:03:26 pm »
A lot of new features have been added to TGUI in the last 6 months:


TGUI 0.8.1

MenuBar got support for submenus and for disabling menu items.




TGUI 0.8.2

A new TreeView widget was added.



Changing the text styles in the ChatBox widget also became possible.




TGUI 0.8.3

TGUI 0.8.3 brought several new features, the biggest one being the ListView which has been the most requested widget for quite a while.



Label also got a vertical scrollbar, TextBox got the option to use a horizontal scrollbar (as alternative to the default word-wrapping) and EditBox got the ability to set a fixed suffix behind the string (e.g. for displaying units).




Further releases

Currently there are no plans yet for what will be added in 0.8.4, it could be another release bringing new features but it could also be the start of a period with mostly bugfixes.

The changes made in the last patch releases make it clear that TGUI isn't following SemVer, that however doesn't mean that I don't care about compatibility. The TGUI 0.8.x branch will continue to be backwards compatible with earlier TGUI 0.8.x releases, but an exception to this rule is being added. Since neither the TreeView nor the ListView class received any feedback or testing during development other than my own tests, I do not want to guarantee 100% API stability for these classes. I will however still try to keep things compatible for these two widgets.
TGUI: C++ SFML GUI

roccio

  • Jr. Member
  • **
  • Posts: 64
    • View Profile
    • Email
Re: TGUI: GUI library for SFML
« Reply #52 on: January 29, 2019, 07:26:46 am »
thanks, i really like tgui and use it all the time. one thing needed is the gui builder, or just an example on how to add all the gauges

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11008
    • View Profile
    • development blog
    • Email
Re: TGUI: GUI library for SFML
« Reply #53 on: January 29, 2019, 08:36:05 am »
Nice to see all the progress! :)
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

texus

  • Hero Member
  • *****
  • Posts: 505
    • View Profile
    • TGUI
    • Email
Re: TGUI: GUI library for SFML
« Reply #54 on: January 29, 2019, 07:00:50 pm »
Quote
one thing needed is the gui builder, or just an example on how to add all the gauges
What do you mean with adding all the gauges?

Files created by the gui builder can be imported in code by executing
gui.loadWidgetsFromFile("form.txt");

The gui builder still needs a lot of work, it has been neglected a bit since it was released. This might be something that I could improve in the next version.
TGUI: C++ SFML GUI

roccio

  • Jr. Member
  • **
  • Posts: 64
    • View Profile
    • Email
Re: TGUI: GUI library for SFML
« Reply #55 on: January 30, 2019, 01:53:01 pm »
Quote
one thing needed is the gui builder, or just an example on how to add all the gauges
What do you mean with adding all the gauges?

Files created by the gui builder can be imported in code by executing
gui.loadWidgetsFromFile("form.txt");

The gui builder still needs a lot of work, it has been neglected a bit since it was released. This might be something that I could improve in the next version.

Sorry I was unclear.
What I was talking about is just how to add widgets in the gui builder itself. As an example I need to add the TABS widget, what are the files that need to update in the guibuilder project?

texus

  • Hero Member
  • *****
  • Posts: 505
    • View Profile
    • TGUI
    • Email
Re: TGUI: GUI library for SFML
« Reply #56 on: January 30, 2019, 07:30:15 pm »
The biggest work would be creating a new TabsProperties.hpp file inside the "include" directory (the one inside the "gui-builder" directory obviously). You can have a look at other widgets (e.g. "ListBoxProperties.hpp") for examples on how this file should look. The properties needed in "updateProperty" can be found in the Tabs::load function from src/TGUI/Widgets/Tabs.cpp while the properties in the "initProperties" function also include the ones found in the Tabs::rendererChanged function.

Once you have that file, the last few changes are easy:
- Include TabsProperties.hpp in GuiBuilder.cpp

- Add the following in the GuiBuilder constructor:
m_widgetProperties["Tabs"] = std::make_unique<TabsProperties>();

- In GuiBuilder::loadToolbox, add the following to the creation of the "widgets" variable:
{"Tabs", []{ return tgui::Tabs::create(); }}

- You also need to add a file called "Tabs.png" to the resources/widget-icons folder.
TGUI: C++ SFML GUI

billarhos

  • Newbie
  • *
  • Posts: 17
    • View Profile
Re: TGUI: GUI library for SFML
« Reply #57 on: February 15, 2019, 08:02:31 am »
Some photos displaying the usage of TGUI library


texus

  • Hero Member
  • *****
  • Posts: 505
    • View Profile
    • TGUI
    • Email
Re: TGUI: GUI library for SFML
« Reply #58 on: April 06, 2019, 07:08:50 pm »
TGUI 0.8.5 has been released.

SVG support
It is now possible to uses SVG images:


Improved Gui Builder
The Gui Builder hadn't changed much since its release with 0.8.0, but many improvements have been added to it now. Just to mention a few:
- New start screen
- Keyboard shortcuts
- Properties now have types
- Right click popup menu
- Shows lines when widgets are aligned
- Widget hierarchy window (this was contributed)
- More widgets

« Last Edit: October 13, 2023, 02:25:46 pm by texus »
TGUI: C++ SFML GUI

meta_leap

  • Newbie
  • *
  • Posts: 6
    • View Profile
    • Email
Re: TGUI: GUI library for SFML
« Reply #59 on: December 05, 2023, 08:17:00 am »
Good to see this is alive & kicking!

No kidding. Came here searching for SFML GUI, saw "last post 2019" and automatically thought "ah, yet-another-Thing-of-the-Past" but then the tiny footnote: "last edited Oct '23". And the repo shows an impressive lack of unresolved issues, no old open stale PRs (0 open, 85 merged — kudos!) and also: fresh Releases from only just a few weeks ago! All good news to me. Attempting adoption today   :P

Yeehah, just to save any similar-searchers like me with an over-tendency to reflexively dismiss "aged threads" as equiv to "abandon-ware" — not always the case  =)