SFML community forums

General => Feature requests => Topic started by: lubos on August 19, 2007, 04:29:54 pm

Title: Gui package
Post by: lubos on August 19, 2007, 04:29:54 pm
are there any plans for something like gui package? or its up to user to create own one? can you publish something like road-map on home page?
thanks  :)
Title: Gui package
Post by: Laurent on August 19, 2007, 04:39:41 pm
Yes, the GUI package has been started, but as it's not the priority it's hard to tell when it can be finished.

I'd like to give a road-map, but it's really hard to do as I work on SFML during my free-time and I keep the new stuff for later, after I fix every bug and add the most important features :)
Title: Gui package
Post by: lubos on August 19, 2007, 04:54:56 pm
right.  :D
also,
1. did u think of creating a forum for presenting peoples projects build on sflm? i know its too early right now, but it could be nice so new users can look what sfml can do in action  :D
2. it is possible to draw 2d primitives? like circle?

thanks for taking time  :P
Title: Gui package
Post by: Laurent on August 19, 2007, 07:18:50 pm
1. Of course ;) But as you said, it's just too early.

2. No, but you can add it easily if you want. Maybe one day I'll add a "drawing" package, to provide functions for drawing 2D shapes like lines, circles, etc.
Title: Gui package
Post by: DrEvil on November 23, 2007, 09:30:30 am
I've implemented guichan  (http://guichan.sourceforge.net/)on top of SFML, which is a nice and very lightweight GUI library. It's not a fully skinnable and complex GUI system, but it's perfect for my needs. It has most of the normal GUI widgets(buttons, text boxes, text fields, radio buttons, check boxes, drop downs, windows, etc), and it's really easy to extend and add to, fast, and free of dependencies.

Heres some screens of my current usage.
http://www.omni-bot.com/wiki/index.php?title=Debug_Window
Title: Gui package
Post by: Srejv on December 17, 2007, 11:06:57 pm
Quote from: "DrEvil"
I've implemented guichan  (http://guichan.sourceforge.net/)on top of SFML, which is a nice and very lightweight GUI library. It's not a fully skinnable and complex GUI system, but it's perfect for my needs. It has most of the normal GUI widgets(buttons, text boxes, text fields, radio buttons, check boxes, drop downs, windows, etc), and it's really easy to extend and add to, fast, and free of dependencies.

Heres some screens of my current usage.
http://www.omni-bot.com/wiki/index.php?title=Debug_Window


Have you got any example code?  :roll:
Title: Gui package
Post by: Laurent on April 13, 2008, 09:00:03 am
Thanks for the good feedback ;)

Some bad news for you (sorry) : the GUI package is currently no longer under development ; I still don't know if I'm going to implement my own library from scratch, or use something existing. One thing is sure : I still have a lot to do before thinking about it :(
Title: Gui package
Post by: kolofsson on April 13, 2008, 09:52:38 pm
What's a GUI package? Does it mean components like scrollbars, buttons, tables, menus, labels etc?
Title: Gui package
Post by: Daazku on April 14, 2008, 02:01:05 am
Ya.
Title: Gui package
Post by: Laurent on April 14, 2008, 03:17:51 am
Quote
Sadly I would think that starting from scratch would be the only way to avoid the incredible bloat and complexity that comes with most GUI packages.

I think your approach to problem solving and over all design would produce a truly fantastic, and simple to use GUI.

That's what I'd like to achieve ;)

Quote
Btw, are you looking for contributors? I wouldn't mind helping out where I can.

For the C++ code not really, but any help on everything else (binding / port / package / ...) would be very useful to me and SFML :)
Title: Gui package
Post by: eleinvisible on April 16, 2008, 02:47:51 pm
https://mollyrocket.com/forums/viewtopic.php?t=134 If you're going to make a GUI package, try something like that. I know it does not fit into the object oriented theme, but it sure is simple and effective (for simple things).


Also a good reference:
http://sol.gfxile.net/imgui/
Title: Gui package
Post by: Laurent on April 17, 2008, 03:35:59 am
Interesting links, thanks :)
Title: Gui package
Post by: fixus971 on May 16, 2008, 01:34:34 am
Hi.
I hard study many forum/sites/..
but after a month my game (like Monopoly with.. and..) is waiting for a GUI solution.
I found SFML at the last and I see it's good and want to left Allegro and start with SFML but I need more examples.
I see Pong and others but I need a GUI.
I read that someone implemented Guichan / IMGUI on top of SFML
but I can't found 3 row of example code or post about this.
IMGUI attract me but now I don't see activity.

Can you suggest me something please?  :roll:
Title: Gui package
Post by: fixus971 on May 17, 2008, 12:39:19 pm
:lol: Hi

I need to know how to implement a GUI (CEGUI or Guichan) with SFML

I see many forum and:
http://www.sfml-dev.org/forum/viewtopic.php?t=31&highlight=gui
http://www.cegui.org.uk/wiki/index.php/The_Beginner_Guide_to_Getting_CEGUI_Rendering

After a first response on SFML forum about CeGui, I can't found other.

Now, I'm an old developer (Spectrum and all others)
but I'm not expert of C++, SFML and other library mixing at the moment.

I continuously find code examples because I don't understand very well English but understand well source code of program.
but don't found good examples.. only pieces.  :cry:

I don't ask help usually if not need.. I don't want to stress you.

Can you help me with some code example or web pages so start use GUI in SFML, please?? :?:

Many-Thanks, Fixus   8)
Title: Comunity Wiky: "Using CEGUI In SFML"
Post by: fixus971 on August 08, 2008, 03:17:50 pm
:P I found this great article in
Comunity Wiky: "Using CEGUI In SFML"
http://www.sfml-dev.org/wiki/en/tutorials/cegui?DokuWiki=6f8bfc9ea2881c26c782024885403b91

Now I'm trying to use it with Code::Blocks
 but get some compiler problem as:
Code: [Select]
Include\GUIManager.h|5|openglrenderer.h: No such file or directory|

I just setup search directory as explained in article.

Now, I fonud missed file in:
Quote
CEGUI\RendererModules\OpenGLGUIRenderer


And now get other error:
Code: [Select]
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|24|undefined reference to `CEGUI::OpenGLRenderer::OpenGLRenderer(unsigned int, int, int, CEGUI::ImageCodec*)'|


Thanks for any info
Title: Gui package
Post by: Kreeg on August 08, 2008, 05:20:58 pm
You mean you couldn't find this file ? If it's the case, have you checked if the file is not missing ?
Title: Gui package
Post by: pamaury on August 08, 2008, 06:31:24 pm
I know it"s a bit late but I have implemented an immediate mode GUI for SFML a few weeks ago, see the wiki. It's based on the molly rock's concept so feel free to use and improve it if you want.
Title: Gui package
Post by: fixus971 on August 08, 2008, 07:50:42 pm
Hi Pamaury. Thanks but I just try your IMGUI and I need more and more complete interface.

x Kreeg: I found file but now I have a strage error
Code: [Select]

E:\E\P\sfmlCEGUI\src\GUIManager.cpp|24|undefined reference to `CEGUI::OpenGLRenderer::OpenGLRenderer(unsigned int, int, int, CEGUI::ImageCodec*)'|


I imported vc project/solution using codeblocks and add search directories

Other errors:

Code: [Select]
||=== sfmlCEGUI, Debug Win32 ===|
E:\E\P\CEGUI\include\CEGUIEvent.h|210|warning: unused parameter 'other'|
.......................................
obj\Debug Win32\src\GUIManager.o||In function `ZN10GUIManager10InitializeEPN2sf12RenderWindowE':|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|24|undefined reference to `CEGUI::OpenGLRenderer::OpenGLRenderer(unsigned int, int, int, CEGUI::ImageCodec*)'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|25|undefined reference to `CEGUI::System::System(CEGUI::Renderer*, CEGUI::ResourceProvider*, CEGUI::XMLParser*, CEGUI::ScriptModule*, CEGUI::String const&, CEGUI::String const&)'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|25|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|25|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|25|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|25|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|26|undefined reference to `CEGUI::SchemeManager::loadScheme(CEGUI::String const&, CEGUI::String const&)'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|26|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|26|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|26|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|26|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|27|undefined reference to `CEGUI::FontManager::createFont(CEGUI::String const&, CEGUI::String const&)'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|27|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|27|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|27|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|27|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|29|undefined reference to `CEGUI::System::setDefaultMouseCursor(CEGUI::String const&, CEGUI::String const&)'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|29|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|29|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|29|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|29|undefined reference to `CEGUI::String::~String()'|
obj\Debug Win32\src\GUIManager.o||In function `ZN10GUIManager11handleEventERN2sf5EventE':|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|45|undefined reference to `CEGUI::System::injectChar(unsigned int)'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|47|undefined reference to `CEGUI::System::injectKeyDown(unsigned int)'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|49|undefined reference to `CEGUI::System::injectKeyUp(unsigned int)'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|51|undefined reference to `CEGUI::System::injectMousePosition(float, float)'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|53|undefined reference to `CEGUI::System::injectMouseButtonDown(CEGUI::MouseButton)'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|55|undefined reference to `CEGUI::System::injectMouseButtonUp(CEGUI::MouseButton)'|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|57|undefined reference to `CEGUI::System::injectMouseWheelChange(float)'|
obj\Debug Win32\src\GUIManager.o||In function `ZN10GUIManager4DrawEv':|
E:\E\P\sfmlCEGUI\src\GUIManager.cpp|64|undefined reference to `CEGUI::System::renderGUI()'|
obj\Debug Win32\src\GUIManager.o||In function `ZNSt4pairISt17_Rb_tree_iteratorIS_IKN2sf3Key4CodeEN5CEGUI3Key4ScanEEEbEC1ERKS9_RKb':|
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\include\c++\3.4.5\bits\stl_tree.h:(.text$_ZNK5CEGUI6String5c_strEv[CEGUI::String::c_str() const]+0xd)||undefined reference to `CEGUI::String::build_utf8_buff() const'|
 unsigned int)]+0x14)||undefined reference to `CEGUI::String::grow(unsigned int)'|
::getSingleton()]+0x8)||undefined reference to `CEGUI::Singleton<CEGUI::SchemeManager>::ms_Singleton'|
::getSingleton()]+0x2c)||undefined reference to `CEGUI::Singleton<CEGUI::SchemeManager>::ms_Singleton'|
::getSingleton()]+0x8)||undefined reference to `CEGUI::Singleton<CEGUI::FontManager>::ms_Singleton'|
::getSingleton()]+0x2c)||undefined reference to `CEGUI::Singleton<CEGUI::FontManager>::ms_Singleton'|
::getSingletonPtr()]+0x4)||undefined reference to `CEGUI::Singleton<CEGUI::WindowManager>::ms_Singleton'|
obj\Debug Win32\src\App.o||In function `ZN3App10InitializeEv':|
E:\E\P\sfmlCEGUI\src\App.cpp|24|undefined reference to `CEGUI::WindowManager::createWindow(CEGUI::String const&, CEGUI::String const&, CEGUI::String const&)'|
E:\E\P\sfmlCEGUI\src\App.cpp|24|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\App.cpp|24|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\App.cpp|24|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\App.cpp|24|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\App.cpp|24|undefined reference to `CEGUI::String::~String()'|
obj\Debug Win32\src\App.o:E:\E\P\sfmlCEGUI\src\App.cpp|24|more undefined references to `CEGUI::String::~String()' follow|
obj\Debug Win32\src\App.o||In function `ZN3App10InitializeEv':|
E:\E\P\sfmlCEGUI\src\App.cpp|25|undefined reference to `CEGUI::Window::setMinSize(CEGUI::UVector2 const&)'|
E:\E\P\sfmlCEGUI\src\App.cpp|26|undefined reference to `CEGUI::Window::setSize(CEGUI::UVector2 const&)'|
E:\E\P\sfmlCEGUI\src\App.cpp|27|undefined reference to `CEGUI::Window::setPosition(CEGUI::UVector2 const&)'|
E:\E\P\sfmlCEGUI\src\App.cpp|28|undefined reference to `CEGUI::Window::setText(CEGUI::String const&)'|
E:\E\P\sfmlCEGUI\src\App.cpp|28|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\App.cpp|28|undefined reference to `CEGUI::String::~String()'|
E:\E\P\sfmlCEGUI\src\App.cpp|29|undefined reference to `CEGUI::FrameWindow::EventCloseClicked'|
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build finished: 50 errors, 89 warnings ===|
Title: Gui package
Post by: Wizzard on August 08, 2008, 10:20:51 pm
Did you link the correct libraries? If you're using Code::Blocks with GCC, you might need to play with the order of the libraries too. In VC++ I don't think order matters.
Title: Gui package
Post by: fixus971 on August 08, 2008, 11:50:09 pm
Thanks Wizzard!
but no results..

 :cry:

I'm try to link the correct libraries in correct order.
sfml libraries as in a my previous project:


I think that the problem was in CEgui: 9 libraries..
how can I found correct order?
Title: Gui package
Post by: fixus971 on September 17, 2008, 11:26:39 am
Hi, I'm steel working on SFML and CeGUI using example in SFML Wiki and is ok but now I changed it to use "TaharezLook.scheme" and get strange error.
      
Code: [Select]
CEGUI::SchemeManager::getSingleton().loadScheme("TaharezLook.scheme");

VC9 stop on load scheme with "Eccezione non gestita a 0x7c812aeb in Fixopoly_Debug.exe: Eccezione di Microsoft C++: CEGUI::InvalidRequestException nella posizione di memoria 0x001266b8."

I try to compare that 2 schemes (normal/TaharezLook) but dont found particular changes or needed files.

I try to copy in bin dir many files of original TaharezLook Cegui scheme but without any result.

I try also to look at Cegui example that use TaharezLook but don't found nothing.

Now Cegui site is offline..

Can you tell me somethings? Thanks.
Title: Gui package
Post by: fixus971 on September 17, 2008, 01:43:08 pm
OK-Resolved!

I found in "CEGUI.log" that it can't found a font file.

Now run all well with new style.