Working GUI Reference for you...
by amaranthia · in Torque Game Builder · 10/22/2006 (12:59 am) · 12 replies
I scoured the forums and articles for information about the TGB GUIs and compiled a reference for everyone. Besides definitions, the reference contains the default settings for each GUI and if available, links to helpful tutorials.
TGB GUI Reference
Lots of sections need to be covered and some areas need to be tech edited by someone who knows the product pretty well. I did my best, but I'm still learning.
If possible, could someone tell me what the following GUIs are for?
GuiConsoleEditCtrl ()
GuiConsoleTextCtrl ()
GuiControlArrayControl ()
GuiDragAndDropControl () (is this an object that can be dragged and dropped?)
GuiInspector ()
TGB GUI Reference
Lots of sections need to be covered and some areas need to be tech edited by someone who knows the product pretty well. I did my best, but I'm still learning.
If possible, could someone tell me what the following GUIs are for?
GuiConsoleEditCtrl ()
GuiConsoleTextCtrl ()
GuiControlArrayControl ()
GuiDragAndDropControl () (is this an object that can be dragged and dropped?)
GuiInspector ()
#2
10/22/2006 (3:32 am)
Damn nice work. Thanks for putting in such an effort. :)
#3
Sorry, I don't know what any of those are. I suspect that GuiInspector is also a part of the Level Builder but I'm not sure what its function is..(inspecting?? lol)
10/22/2006 (8:07 pm)
Holy junk, this is going to be useful. THANK YOU!!! ;D Sorry, I don't know what any of those are. I suspect that GuiInspector is also a part of the Level Builder but I'm not sure what its function is..(inspecting?? lol)
#4
10/23/2006 (1:02 pm)
You're welcome. Also, feel free to add to it!
#5
This should be included with the standard documentation in the next release.
10/23/2006 (1:25 pm)
Just wanted to add another big word of thanks!This should be included with the standard documentation in the next release.
#6
GuiDragAndDropControl appears to me, to be a GUI control that can be dragged and dropped, it generates the following callback "onControlDropped" and this can be handled in TorqueScript -- the control responds to down, up and dragged events -- the 'up' event generates the previously mentioned callback, the down event appears to snag the control to the mouse (automatically follows the mouse) and the drag event appears to also make the control follow the mouse (as the 'down' event is cancelled once a 'dragged' event occurs (they conflict with each other as 'dragged' implies 'down')
This is just a quick review of the controls last few methods in the C++, and how it 'appears' to function according to the source -- some experimentation is most likely in order to ensure actual usage (could be the reverse)
GuiInspector is located in the 'gui/editor' directory of the engine source, so is most likely specific to the Level Builder and it contains a series of C++ Classes that make up the actual control, it contains a DataBlock Class, a Group class, Field, Dynamic Field, etc, etc .. all of these are defined as GuiInspectDataBlock, GuiInspectorGroup, etc classes -- I would assume this control is useless within a game, as the 'Inspector' portion of it's name implies it 'inspects' thing, most likely the state of the controls within it ?
02/03/2007 (5:06 pm)
All GUI's starting with 'GuiConsole' are specific to the ConsoleDlg GUI (ie; the '~' console) -- they are basically just modified versions of existing GUI objects that are tuned or tweaked specifically to provide the Console it's look, feel and functionality.GuiDragAndDropControl appears to me, to be a GUI control that can be dragged and dropped, it generates the following callback "onControlDropped" and this can be handled in TorqueScript -- the control responds to down, up and dragged events -- the 'up' event generates the previously mentioned callback, the down event appears to snag the control to the mouse (automatically follows the mouse) and the drag event appears to also make the control follow the mouse (as the 'down' event is cancelled once a 'dragged' event occurs (they conflict with each other as 'dragged' implies 'down')
This is just a quick review of the controls last few methods in the C++, and how it 'appears' to function according to the source -- some experimentation is most likely in order to ensure actual usage (could be the reverse)
GuiInspector is located in the 'gui/editor' directory of the engine source, so is most likely specific to the Level Builder and it contains a series of C++ Classes that make up the actual control, it contains a DataBlock Class, a Group class, Field, Dynamic Field, etc, etc .. all of these are defined as GuiInspectDataBlock, GuiInspectorGroup, etc classes -- I would assume this control is useless within a game, as the 'Inspector' portion of it's name implies it 'inspects' thing, most likely the state of the controls within it ?
#7
I added a class hierarchy to the head, showing all of the subclasses of GuiControl in a hierachical arrangement. I intend to gradually add documentation and example code as I learn about these classes.
As many of you know, the TGB reference is the root document for TGB, including its classes, and has the ambition of being the "Complete script reference to TGB". It is, however, rather incomplete right now. I added a Class Hierarchy to this document as well, and it shows how many of the classes forming TGB lack documentation anywhere.
We also need documentation for the Profiles (instances of GuiControlProfile). You can see a list of the profiles supplied with TGB when you run the Gui Editor; they appear in two different menus in the Inspector, in the Parent group and in the ToolTip group. I have a preliminary list of profiles with their characteristics and will post as time permits.
02/11/2007 (7:39 pm)
Kudos to Amaranthia for creating the TGB_GUI_Overview!I added a class hierarchy to the head, showing all of the subclasses of GuiControl in a hierachical arrangement. I intend to gradually add documentation and example code as I learn about these classes.
As many of you know, the TGB reference is the root document for TGB, including its classes, and has the ambition of being the "Complete script reference to TGB". It is, however, rather incomplete right now. I added a Class Hierarchy to this document as well, and it shows how many of the classes forming TGB lack documentation anywhere.
We also need documentation for the Profiles (instances of GuiControlProfile). You can see a list of the profiles supplied with TGB when you run the Gui Editor; they appear in two different menus in the Inspector, in the Parent group and in the ToolTip group. I have a preliminary list of profiles with their characteristics and will post as time permits.
#8
02/11/2007 (8:22 pm)
Evan, I was just using the reference last night and I saw the additions. I was so excited that someone else added something!!! Thanks for taking part of it so that we can get it finished. As a former technical/programmer writer (I'm full-time indie now), I've got a special love for documentation. :D
#9
Recent items:
TGB_GUI_Overview now shows the class hierarchy for each class. All classes refered to are links to the documentation for that class, so as we write these docs, amaranthia's Overview will evolve into a table of contents of sorts.
Class GuiControlProfile, including a list of all (46) of the member variables to be found in a Profile, and a list of all of the profiles bundled with TGB (there are over 100). I am currently working on a tutorial that will help people understand how these member fields affect their GuiControl of interest. You enter the classname of the control, you tweak the field of the profile, and you see the resulting effect on your control. Should be quite useful.
Class GuiControl, including a list of all the class methods and all of the member fields pertaining to this class. I am currently working on a tutorial for GuiControl where all of its methods and fields are exercised. The code implementing this tutorial will be a concrete illustration of how to work with the control in your TorqueScript code. And since these same Methods and Member Fields are present in every subclass of GuiControl, the information will be useful to many. Please take a look at this document and think about how your own expertise can be added to the picture!
Class SimSet. One of my favorite classes, its functionality is crucial to all GuiControls as well as to t2dSceneGraph and lots of other classes.
It has been a long day!
02/13/2007 (4:43 pm)
I have added much more in the last 24 hours. Anyone who is trying to master Gui building should start with amaranthia's work and, hopefully, add to it. Recent items:
TGB_GUI_Overview now shows the class hierarchy for each class. All classes refered to are links to the documentation for that class, so as we write these docs, amaranthia's Overview will evolve into a table of contents of sorts.
Class GuiControlProfile, including a list of all (46) of the member variables to be found in a Profile, and a list of all of the profiles bundled with TGB (there are over 100). I am currently working on a tutorial that will help people understand how these member fields affect their GuiControl of interest. You enter the classname of the control, you tweak the field of the profile, and you see the resulting effect on your control. Should be quite useful.
Class GuiControl, including a list of all the class methods and all of the member fields pertaining to this class. I am currently working on a tutorial for GuiControl where all of its methods and fields are exercised. The code implementing this tutorial will be a concrete illustration of how to work with the control in your TorqueScript code. And since these same Methods and Member Fields are present in every subclass of GuiControl, the information will be useful to many. Please take a look at this document and think about how your own expertise can be added to the picture!
Class SimSet. One of my favorite classes, its functionality is crucial to all GuiControls as well as to t2dSceneGraph and lots of other classes.
It has been a long day!
#10
02/13/2007 (6:13 pm)
Holy macaroni! this is awesome!
#11
Evan is right on with this--SimSets are the container class of choice for 90-ish% of all container needs.
There are very few cases where, for example, an array should be used over a SimSet, for quite a few reasons--not the least of which is that SimSets are updated dynamically whenever a member is deleted out from underneath them--something that you must handle on your own with any other type of container, such as arrays.
For what it's worth, arrays are a concept that have been around for quite a long time, and are the primary means of storing data in many previous game builder tools, so most people simply want to use them all the time.
This is not a good practice in my personal and professional opinion when using TGB--you should take the time to learn how SimSets can be used for various tasks, and adjust your thinking whenever possible--you won't regret it in the long run!
02/14/2007 (10:27 am)
Great work on the reference all, thanks a ton!Quote:
Class SimSet. One of my favorite classes, its functionality is crucial to all GuiControls as well as to t2dSceneGraph and lots of other classes.
Evan is right on with this--SimSets are the container class of choice for 90-ish% of all container needs.
There are very few cases where, for example, an array should be used over a SimSet, for quite a few reasons--not the least of which is that SimSets are updated dynamically whenever a member is deleted out from underneath them--something that you must handle on your own with any other type of container, such as arrays.
For what it's worth, arrays are a concept that have been around for quite a long time, and are the primary means of storing data in many previous game builder tools, so most people simply want to use them all the time.
This is not a good practice in my personal and professional opinion when using TGB--you should take the time to learn how SimSets can be used for various tasks, and adjust your thinking whenever possible--you won't regret it in the long run!
#12
@amaranthia, you got it started. I and everyone else is in your debt.
@Stephen, I found your comments so germane that I quoted you in the SimSet docs.
02/14/2007 (5:19 pm)
Thanks for your kind comments! @amaranthia, you got it started. I and everyone else is in your debt.
@Stephen, I found your comments so germane that I quoted you in the SimSet docs.
Torque Owner Michael \"Evic\" Wales
Right now, TGE owners have all the goods. Those of us with TGE need to do some scouring and editing and get these valuable resources (in reference to TorqueScript and other engine features that are shared) over to our TGB buddies.
Let's make the TGB TDN that vain of GG - let's make TGB documenation the example.