Crazy Eddie's Waffle Thread

Discussion regarding the development of CEGUI itself - as opposed to questions about CEGUI usage that should be in the help forums.

Moderators: CEGUI MVP, CEGUI Team

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Crazy Eddie's Waffle Thread

Postby CrazyEddie » Mon May 03, 2004 07:01

In this thread I'll post updates on what's been going on. This will give me a way of giving progress reports on stuff that is not 'big' enough to warrant an actual news entry.

As most people should know, the underlying system classes are very nearly finished, and the current task at hand is to write the individual window and widget classes. The system for doing this will be structured the same way as in the current Mk1 version – that is a base class that provides the functionality of the widget, and then multiple derived classes which provide the rendering for the widgets.

What I intend to do is finish writing the frame-window classes (that’s the frame window itself, a title-bar, and the push button classes), and then put a list of required things up here on the site so that anyone who wishes to contribute to the project can offer to write some of those parts – all contributed code will have to be written to some guidelines, and will be subject to my final approval before being included in the system.

I had intended having the frame window and related classes finished today, but over this weekend I got to messing around with the new Mandrake 10.0 Linux, and so have not actually done as much as I should on the GUI project. Mdk 10.0 is very nice though :).

With regards to the base classes, I have previously stated that I would not break the interface for these. Once the system is released that will hold 100%, at the moment I will change things if the system would benefit from the change. For example, I recently changed the name of some methods in the Window base class to be more consistent (in keeping with the aim to have the system easier to use, methods should have consistent naming, in this case there was setPosition() and getPos(), so all the the ‘Pos’ names have been changed to ‘Position’. I may or may not make further changes in the future.

Within a couple of weeks I hope to get the above mentioned window classes done, get the list up here on the site, and add the Ogre engine and OpenGL rendering interfaces. This will see the system well on its way to completion.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Crazy Eddie's Waffle Thread

Postby CrazyEddie » Wed May 05, 2004 13:42

Today I have fixed a couple of problems with clipping and the frame window. This was a side effect of removing the requirement for a separate 'client area window' to be attatched to a frame window, but to add that back in would have again complicated the method for adding child windows and widgets to a frame window, which is something I wanted to avoid.

Most stuff for the frame window is now done, I still have to add the title bar and close button controls though.

The frame window has min and max sizes, but I am going to promote these into the Window base class, as these settings are very important for the relative co-ordinates system to allow enforcement of min and max sizes for all windows and widgets.

I should have the finished frame window and associated parts in the CVS sometime on Friday (7th May). This commit will also include the beginings of the Tarahez Look widgets module.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Crazy Eddie's Waffle Thread

Postby CrazyEddie » Thu May 06, 2004 13:27

I've put the maximum and minimum size settings into the main Window class, along with some required checks so that the sizes are properly controled, and also so that the 'prefered relative' size is not lost when a size has to be constrained. This basically will allow windows and dialogs to have relative / dynamic layout - when you stretch a window, all the buttons and other widgets will be able to stretch with it to maintain the same basic layout (and the maximum / minimum sizes are resolution independant for relative mode too). To complete the frame window I've just got to add the title bar and close buttons. :-D

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Crazy Eddie's Waffle Thread

Postby CrazyEddie » Sun May 09, 2004 07:21

I haven't done anything much for a couple of days, but intend to get the base classes FrameWindow, Titlebar, Button, and PushButton, plus the Taharez Look classes TLFrameWindow, TLTitlebar, and TLButton done and into CVS sometime later today (possibly early tomorrow, just depends on what distractions I get).

User avatar
codar
Just popping in
Just popping in
Posts: 1
Joined: Wed Jan 12, 2005 12:06

Crazy Eddie's Waffle Thread

Postby codar » Sun May 09, 2004 09:34

Forum thread for my inane waffling

Paul we are watching you.Crazy Eddie's GUI System
really perfect. 8) I want to porting for Axiom. But I'am a VB.Net, C# programmer and I have nothing experience with C++ . :roll:
I'm compulsorily waiting this time.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Crazy Eddie's Waffle Thread

Postby CrazyEddie » Sun May 09, 2004 11:45

Paul we are watching you.

Ah, so I'm not paranoid afterall - there really are people watching me :-D

I want to porting for Axiom. But I'am a VB.Net, C# programmer and I have nothing experience with C++ . :roll:

Yeah, Chris and Marcus are working on the C#/Axiom port, I'm sure that once things are a bit further along they'll be glad of any help they can get, so any contributions you can make to either effort are always going to be welcomed by somebody :)

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Crazy Eddie's Waffle Thread

Postby CrazyEddie » Mon May 10, 2004 17:29

I have committed a load of stuff to the mk2 CVS module, this includes quite a few bug fixes and other enhancements to what I had already done, as well as the majority of the work for the Frame Window GUI element - this still needs some work though.

Addtionally, I have also added the ButtonBase and PushButton base classes. The current versions of these are basically the same as the old mk1 versions, so I will re-work these to be more consistant with the Mk2 system and to take advantage of the lower level facilities this as to offter (this is partly necessary and partly due to the desire to have a better system). This work, along with the Taharez Look derived Push Button class should be done tomorrow or Wednesday, then I'll make a start on the rendering interface for Ogre.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Crazy Eddie's Waffle Thread

Postby CrazyEddie » Wed May 12, 2004 12:26

What I am calling a 'first draft' of the frame window is completed and in CVS. This includes the 'Taharez Look' version (that I have been using in a test driver to test things with), everything is working okay at the moment.

Tomorrow or Friday I will post a list of the remaining widgets along with some simple guideline, and anyone who wishes to assist by creating a widget or two can contact me about that.

My next task is to create the renderer that will interface with the Ogre engine...

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Crazy Eddie's Waffle Thread

Postby CrazyEddie » Thu May 13, 2004 17:50

As per the news entry on the front page, I have posted the widget list and guidelines for development as previously stated (the article is HERE).

In keeping with these guidelines, some parts of the widgets already implemented will be moved around a little - this will mainly affect the push button, which has some label colour settings and some image settings which would be better off shared - otherwise the same things will be repeated over and over, in addition, I'd like to be able to provide access to some of those common parts via scripting, which will be made much easier if those bits are in the base class (then the scripting can access that functionality without having to know about every derived class that gets created).

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Crazy Eddie's Waffle Thread

Postby CrazyEddie » Fri May 14, 2004 13:54

Today I have done the Ogre version of the CEGUI::Texture class. Hopefully this weekend will see the first attempt at a GUI renderer implementation for all you Ogre people :D

User avatar
nfz
Not too shy to talk
Not too shy to talk
Posts: 27
Joined: Wed Jan 12, 2005 12:06

Crazy Eddie's Waffle Thread

Postby nfz » Mon May 17, 2004 13:21

Cool. I have been keeping an eye on cvs and doing some experimental builds. Looking good.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Crazy Eddie's Waffle Thread

Postby CrazyEddie » Mon May 17, 2004 13:29

:D Thanks.

In case you have not seen the thread relating to the Ogre stuff I did over the weekend, you can find it here:
http://www.ogre3d.org/phpBB2/viewtopic.php?t=4522

Will not be doing much else today, and nothing at all tomorrow. But I'll be back at it from Wednesday :)

User avatar
nfz
Not too shy to talk
Not too shy to talk
Posts: 27
Joined: Wed Jan 12, 2005 12:06

Crazy Eddie's Waffle Thread

Postby nfz » Tue May 18, 2004 01:46

oh yah, been watching like a hawk.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Crazy Eddie's Waffle Thread

Postby CrazyEddie » Wed May 19, 2004 18:56

I have added better general cursor support - every window now has a cursor property which can be set so that the cursor is automatically changed when the mouse is moved to that window. Additionally, a default cursor can be set which gets used for any window that does not set a cursor of it's own.

I have also added the required input processing so that clicks, double-clicks, and triple-clicks are properly generated - which in turn has enabled roll-up (shading) for frame windows (though this has highlighted some issues which will need fixing).

My local copy also has the cursor changes for sizing and moving of frame-windows in, though I need to work on this a bit more before I commit that to CVS.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Crazy Eddie's Waffle Thread

Postby CrazyEddie » Sat May 22, 2004 07:15

Yesterday I completed the Checkbox and Radio button widgets, and fixed a few more bugs in the Window base class. The Radio button is not in CVS yest, as before I commit that I want to bump some common button things into the ButtonBase base class which I will do today.

Also today I hope to get another one or two widgets completed, not sure which ones yet though :)


Return to “CEGUI Library Development Discussion”

Who is online

Users browsing this forum: No registered users and 3 guests