Magus - Gui wizzard

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Magus - Gui wizzard

Post by spookyboo »

My pet project has a name and is in a state of 'usable', so I assume it deserves its own thread.
MAGUS is a gui wizzard that offers a headstart if you want to build your own gui application (eg. an editor, worldbuilder, ...). The purpose of MAGUS is not to provide a visual programming environment. It is also not a replacement of Qt Builder. It is a tool to quickly generate a Gui framework with a few widgets wired together. The focus is on FAST.
Version 0.1 has the following features:
:arrow: Create new projects, based on predefined templates
:arrow: Edit/configure the project
:arrow: Save/open a project
:arrow: Generate the project as a Gui framework, with C++ files, images, projectfile: Currently, MAGUS only supports the generation of Qt Gui's
:arrow: Ogre3D integration
:arrow: Asset library: A Gui application for 3D tools needs additional widgets (properties, node editor, gizmo's...). To speed up development, MAGUS also includes an asset library with which property windows are created. There is a generic asset library with some core elements and specific asset classes for Ogre. Currently an asset widget for Camera, Entity and Material is provided. More to come.
:arrow: Iconset
:arrow: Manual (delivered as PDF in the /bin directory)
The zipfile (http://www.fxpression.com/temp/magus.zip) contains all sourcecode and a compiled (Windows exe) version of Magus. Please try it and comment.

Image
User avatar
c6burns
Beholder
Posts: 1512
Joined: Fri Feb 22, 2013 4:44 am
Location: Deep behind enemy lines
x 138

Re: Magus - Gui wizzard

Post by c6burns »

This project was always cool, but now that it has been named after the best character in Chrono Trigger it has risen to a new level ;)
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: Magus - Gui wizzard

Post by frostbyte »

sounds like a perfect solution for the new ogitor...
i had my doubts about this project and its purpose, but seeing where its headed i'm beginning to like it... :D
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Magus - Gui wizzard

Post by jacmoe »

Really cool project :)
And the timing is perfect - I need to create a couple of tools to test and try out different terrain engines/generators, so this would be a great starting point. Sort of like a 3d editor application wizard for Ogre.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: Magus - Gui wizzard

Post by frostbyte »

sounds like a perfect solution for the new ogitor...
new ogitor core became easy to extend and modify with OGF components system
now as for the ogitor editor....
it would be great if people can lets say extand/modify ogitor using a wizard( not everybody has or want to have qt knowledge )
i think this tool can provide this feature( extend/modify exitsing editor without knowlege of the gui framework... )
Last edited by frostbyte on Sat Feb 07, 2015 6:06 pm, edited 1 time in total.
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Magus - Gui wizzard

Post by jacmoe »

We have scripting in Ogitor - you should be able to create most, if not all, possible plugin types for the editor without breaking open a compiler. :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: Magus - Gui wizzard

Post by frostbyte »

We have scripting in Ogitor - you should be able to create most, if not all, possible plugin types for the editor without breaking open a compiler. :)
sounds good enough...as long as i don't need to know anything qt related... :wink:
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
User avatar
Herb
Orc
Posts: 412
Joined: Thu Jun 04, 2009 3:21 am
Location: Kalamazoo,MI
x 38

Re: Magus - Gui wizzard

Post by Herb »

This is great! Qt can be a giant pain in the butt to setup and there's just so much work to get a "framework" going. Downloading now... :)
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Magus - Gui wizzard

Post by jacmoe »

Nice work :)
I had to insert if(timeSinceLastFrame == 0) return; in this function because otherwise the program would crash after showing a modal dialog:

Code: Select all

void OgreManager::renderOgreWidgetsOneFrame(void)
{
    if (mRoot)
    {
        // Determine time since last frame
        int timeSinceLastFrame = 1;
        int startTime = 0;

        // Render an one frame
        startTime = mTimer->getMillisecondsCPU();
        mRoot->renderOneFrame();
        timeSinceLastFrame = (mTimer->getMillisecondsCPU() - startTime) / 1000.0f;
        if(timeSinceLastFrame == 0) return;

        // Update all QtOgreWidgets
        QMap<int, QOgre::Widget*>::iterator i;
        QOgre::Widget* item = 0;
        for (i = mQtOgreWidgetMap.begin(); i != mQtOgreWidgetMap.end(); ++i)
        {
            item = i.value();
            item->updateOgre(timeSinceLastFrame);
        }
    }
}
But I was impressed that it compiled and ran after I updated the Qt project with OGRE_HOME and added Boost to include and linker input :)
Also, it will indeed crash when resetting the layout.
But that's fun. Creating a skeleton application is not, so hurray for Magus!
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Magus - Gui wizzard

Post by jacmoe »

I also had to actually read the manual because I couldn't find the generated project! :D

<edit>
And you forgot to include the Qt platform plugin - Magus refused to run so I just built it myself.
</edit>
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Re: Magus - Gui wizzard

Post by spookyboo »

Fixed the bug and added the platform plugin. I've tested it on another machine, so the exe should run now (http://www.fxpression.com/temp/magus.zip)
User avatar
Herb
Orc
Posts: 412
Joined: Thu Jun 04, 2009 3:21 am
Location: Kalamazoo,MI
x 38

Re: Magus - Gui wizzard

Post by Herb »

Well, downloaded and started playing with it. Pretty sweet, but noticed it's all qt project file based. Not sure if there's any interest in doing a cmake based project generation? :?:

I'm going to try and port the generated project to cmake next and see how it goes. I have another ogre/qt project I can steal some cmake helper scripts from to start. Like to see a quick way to get a framework up that I can use cross-platform as I develop both on windows and ubuntu linux.
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Re: Magus - Gui wizzard

Post by spookyboo »

Eventually it should produce cmake, but there is only so much time :?
User avatar
Herb
Orc
Posts: 412
Joined: Thu Jun 04, 2009 3:21 am
Location: Kalamazoo,MI
x 38

Re: Magus - Gui wizzard

Post by Herb »

@spookyboo - Yeah, I understand that fact.

Was having some compile issues with the qt pro file, so ported the magus output to cmake for a quick editor test without much issue. Was able to whip up the cmake code in a lunch hour. It's a great starting point as you said to quick iterate on it and now have it running on Linux. 8)
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Re: Magus - Gui wizzard

Post by spookyboo »

Almost finished a curve property/editor widget (still needs some polishing). Add/delete points, select them (point/rubberband), move selected points or move the whole grid, zoom in/out, fit horizontal/vertical, ...

Image
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Re: Magus - Gui wizzard

Post by spookyboo »

Working on a node editor. Intermediate result:
Image
TheSHEEEP
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 972
Joined: Mon Jun 02, 2008 6:52 pm
Location: Berlin
x 65

Re: Magus - Gui wizzard

Post by TheSHEEEP »

That's great, how did you do it?
I think Qt is really lacking a good node editor widget.
My site! - Have a look :)
Also on Twitter - extra fluffy
Germanunkol
Halfling
Posts: 87
Joined: Mon Oct 11, 2010 6:39 pm
x 12

Re: Magus - Gui wizzard

Post by Germanunkol »

I love the node editor. Looks nice - and node editors are always cool.

Keep it up!
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Re: Magus - Gui wizzard

Post by spookyboo »

A simple material editor. It is created as an example application to show how to use the widgets (the material editor is working, but no save and load and omits a lot of other features :D ). Took me one evening to construct. I will update the manual and create a 0.2 version of Magus (including the material editor example code).
@theSHEEEP: The QGraphicScene and QGraphicItem components are used for the node editor (and of course blood, sweat and tears)

Image
al2950
OGRE Expert User
OGRE Expert User
Posts: 1227
Joined: Thu Dec 11, 2008 7:56 pm
Location: Bristol, UK
x 157

Re: Magus - Gui wizzard

Post by al2950 »

Wow :shock: , looking really good. I am really looking forward to playing with this!
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Re: Magus - Gui wizzard

Post by spookyboo »

Magus application V0.2: http://www.fxpression.com/temp/magus_V0.2.zip
Simple Material Editor (sample application): http://www.fxpression.com/temp/SimpleMaterialEditor.zip
Plans for version 0.3:
:arrow: Extend the node editor: Add compound node to add multiple nodes, fish eye zooming, ...
:arrow: Update the texture dialog: Go faster to the destination dir, add a split to the window, ..
:arrow: Add gradient editor
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Re: Magus - Gui wizzard

Post by spookyboo »

Node editor is pretty stable now. Most of the work is not visible, but I've added several features:
:arrow: Multiple selection, including rubberband selection
:arrow: Setting images in a node
:arrow: Compounds, which make it possible to add multiple nodes to one node
:arrow: Zooming
:arrow: Fisheye view
:arrow: Context menu with optional items (delete, center, zoom, collapse/expand all, ...)

Image
User avatar
boyamer
Orc
Posts: 459
Joined: Sat Jan 24, 2009 11:16 am
Location: Italy
x 6

Re: Magus - Gui wizzard

Post by boyamer »

Nicelly done, can you provide download link please or its always v0.2?
User avatar
spookyboo
Silver Sponsor
Silver Sponsor
Posts: 1141
Joined: Tue Jul 06, 2004 5:57 am
x 151
Contact:

Re: Magus - Gui wizzard

Post by spookyboo »

In a couple of days I will make a 0.25 version :wink:
User avatar
boyamer
Orc
Posts: 459
Joined: Sat Jan 24, 2009 11:16 am
Location: Italy
x 6

Re: Magus - Gui wizzard

Post by boyamer »

Why don't you open a repository on github and have commits there? This would be good for you and users can open bugs there?
Post Reply