Magus - Gui wizzard
- spookyboo
- Silver Sponsor
- Posts: 1141
- Joined: Tue Jul 06, 2004 5:57 am
- x 151
- Contact:
Magus - Gui wizzard
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:
Create new projects, based on predefined templates
Edit/configure the project
Save/open a project
Generate the project as a Gui framework, with C++ files, images, projectfile: Currently, MAGUS only supports the generation of Qt Gui's
Ogre3D integration
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.
Iconset
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.
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:
Create new projects, based on predefined templates
Edit/configure the project
Save/open a project
Generate the project as a Gui framework, with C++ files, images, projectfile: Currently, MAGUS only supports the generation of Qt Gui's
Ogre3D integration
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.
Iconset
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.
Gui generator tool https://github.com/spookyboo/Magus ==> Windows binaries https://github.com/spookyboo/Magus_bin
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
- c6burns
- Beholder
- Posts: 1512
- Joined: Fri Feb 22, 2013 4:44 am
- Location: Deep behind enemy lines
- x 138
Re: Magus - Gui wizzard
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
-
- Orc Shaman
- Posts: 737
- Joined: Fri May 31, 2013 2:28 am
- x 65
Re: Magus - Gui wizzard
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...
i had my doubts about this project and its purpose, but seeing where its headed i'm beginning to like it...
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
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
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
Re: Magus - Gui wizzard
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.
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.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- Orc Shaman
- Posts: 737
- Joined: Fri May 31, 2013 2:28 am
- x 65
Re: Magus - Gui wizzard
new ogitor core became easy to extend and modify with OGF components systemsounds like a perfect solution for the new ogitor...
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
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
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
Re: Magus - Gui wizzard
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.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- Orc Shaman
- Posts: 737
- Joined: Fri May 31, 2013 2:28 am
- x 65
Re: Magus - Gui wizzard
sounds good enough...as long as i don't need to know anything qt related...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.
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
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
- Herb
- Orc
- Posts: 412
- Joined: Thu Jun 04, 2009 3:21 am
- Location: Kalamazoo,MI
- x 38
Re: Magus - Gui wizzard
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...
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
Re: Magus - Gui wizzard
Nice work
I had to insert if(timeSinceLastFrame == 0) return; in this function because otherwise the program would crash after showing a modal dialog:
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!
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);
}
}
}
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.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
- jacmoe
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
- Contact:
Re: Magus - Gui wizzard
I also had to actually read the manual because I couldn't find the generated project!
<edit>
And you forgot to include the Qt platform plugin - Magus refused to run so I just built it myself.
</edit>
<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.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
- spookyboo
- Silver Sponsor
- Posts: 1141
- Joined: Tue Jul 06, 2004 5:57 am
- x 151
- Contact:
Re: Magus - Gui wizzard
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)
Gui generator tool https://github.com/spookyboo/Magus ==> Windows binaries https://github.com/spookyboo/Magus_bin
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
- Herb
- Orc
- Posts: 412
- Joined: Thu Jun 04, 2009 3:21 am
- Location: Kalamazoo,MI
- x 38
Re: Magus - Gui wizzard
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.
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.
- spookyboo
- Silver Sponsor
- Posts: 1141
- Joined: Tue Jul 06, 2004 5:57 am
- x 151
- Contact:
Re: Magus - Gui wizzard
Eventually it should produce cmake, but there is only so much time
Gui generator tool https://github.com/spookyboo/Magus ==> Windows binaries https://github.com/spookyboo/Magus_bin
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
- Herb
- Orc
- Posts: 412
- Joined: Thu Jun 04, 2009 3:21 am
- Location: Kalamazoo,MI
- x 38
Re: Magus - Gui wizzard
@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.
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.
- spookyboo
- Silver Sponsor
- Posts: 1141
- Joined: Tue Jul 06, 2004 5:57 am
- x 151
- Contact:
Re: Magus - Gui wizzard
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, ...
Gui generator tool https://github.com/spookyboo/Magus ==> Windows binaries https://github.com/spookyboo/Magus_bin
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
- spookyboo
- Silver Sponsor
- Posts: 1141
- Joined: Tue Jul 06, 2004 5:57 am
- x 151
- Contact:
Re: Magus - Gui wizzard
Working on a node editor. Intermediate result:
Gui generator tool https://github.com/spookyboo/Magus ==> Windows binaries https://github.com/spookyboo/Magus_bin
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
-
- OGRE Retired Team Member
- Posts: 972
- Joined: Mon Jun 02, 2008 6:52 pm
- Location: Berlin
- x 65
Re: Magus - Gui wizzard
That's great, how did you do it?
I think Qt is really lacking a good node editor widget.
I think Qt is really lacking a good node editor widget.
-
- Halfling
- Posts: 87
- Joined: Mon Oct 11, 2010 6:39 pm
- x 12
Re: Magus - Gui wizzard
I love the node editor. Looks nice - and node editors are always cool.
Keep it up!
Keep it up!
- spookyboo
- Silver Sponsor
- Posts: 1141
- Joined: Tue Jul 06, 2004 5:57 am
- x 151
- Contact:
Re: Magus - Gui wizzard
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 ). 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)
@theSHEEEP: The QGraphicScene and QGraphicItem components are used for the node editor (and of course blood, sweat and tears)
Gui generator tool https://github.com/spookyboo/Magus ==> Windows binaries https://github.com/spookyboo/Magus_bin
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
-
- OGRE Expert User
- Posts: 1227
- Joined: Thu Dec 11, 2008 7:56 pm
- Location: Bristol, UK
- x 157
Re: Magus - Gui wizzard
Wow , looking really good. I am really looking forward to playing with this!
- spookyboo
- Silver Sponsor
- Posts: 1141
- Joined: Tue Jul 06, 2004 5:57 am
- x 151
- Contact:
Re: Magus - Gui wizzard
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:
Extend the node editor: Add compound node to add multiple nodes, fish eye zooming, ...
Update the texture dialog: Go faster to the destination dir, add a split to the window, ..
Add gradient editor
Simple Material Editor (sample application): http://www.fxpression.com/temp/SimpleMaterialEditor.zip
Plans for version 0.3:
Extend the node editor: Add compound node to add multiple nodes, fish eye zooming, ...
Update the texture dialog: Go faster to the destination dir, add a split to the window, ..
Add gradient editor
Gui generator tool https://github.com/spookyboo/Magus ==> Windows binaries https://github.com/spookyboo/Magus_bin
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
- spookyboo
- Silver Sponsor
- Posts: 1141
- Joined: Tue Jul 06, 2004 5:57 am
- x 151
- Contact:
Re: Magus - Gui wizzard
Node editor is pretty stable now. Most of the work is not visible, but I've added several features:
Multiple selection, including rubberband selection
Setting images in a node
Compounds, which make it possible to add multiple nodes to one node
Zooming
Fisheye view
Context menu with optional items (delete, center, zoom, collapse/expand all, ...)
Multiple selection, including rubberband selection
Setting images in a node
Compounds, which make it possible to add multiple nodes to one node
Zooming
Fisheye view
Context menu with optional items (delete, center, zoom, collapse/expand all, ...)
Gui generator tool https://github.com/spookyboo/Magus ==> Windows binaries https://github.com/spookyboo/Magus_bin
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
- boyamer
- Orc
- Posts: 459
- Joined: Sat Jan 24, 2009 11:16 am
- Location: Italy
- x 6
Re: Magus - Gui wizzard
Nicelly done, can you provide download link please or its always v0.2?
- spookyboo
- Silver Sponsor
- Posts: 1141
- Joined: Tue Jul 06, 2004 5:57 am
- x 151
- Contact:
Re: Magus - Gui wizzard
In a couple of days I will make a 0.25 version
Gui generator tool https://github.com/spookyboo/Magus ==> Windows binaries https://github.com/spookyboo/Magus_bin
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
HLMS editor https://github.com/spookyboo/HLMSEditor ==> Windows setup https://github.com/spookyboo/HLMSEditor ... e?raw=true
- boyamer
- Orc
- Posts: 459
- Joined: Sat Jan 24, 2009 11:16 am
- Location: Italy
- x 6
Re: Magus - Gui wizzard
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?