IMS2  Pre-Alpha
An Orbiter add-on to allow on-runtime construction of spacecraft from predefined modules
GUI_Module Class Reference

Default module GUI element. More...

Inheritance diagram for GUI_Module:
GUI_ScrollablePage GUI_Page GUI_BaseElement

Public Member Functions

 GUI_Module (GUImanager *vesselgui, IMS_Module *_module)
 
- Public Member Functions inherited from GUI_ScrollablePage
 GUI_ScrollablePage (RECT mRect, int _id, GUI_ElementStyle *_style, GUI_ElementStyle *_scrollbarstyle=NULL)
 
void SetContentHeight (int cheight)
 Manually sets the height of the content in pixel, which influences the scrollrange. More...
 
void CalculateScrollRange ()
 Calculates the scrollrange for the scrollbar based on the children.
 
- Public Member Functions inherited from GUI_Page
 GUI_Page (RECT mRect, int _id, GUI_ElementStyle *_style, bool drawbackground=false)
 
- Public Member Functions inherited from GUI_BaseElement
 GUI_BaseElement (RECT _rect, int _id, GUI_ElementStyle *_style)
 
virtual void Draw (SURFHANDLE _tgt, RECT &drawablerect, int xoffset=0, int yoffset=0)
 Draws the element and its children to a SURFHANDLE. More...
 
virtual bool Update ()
 Checks if this element or any of its children need to be redrawn. More...
 
int ProcessMouse (GUI_MOUSE_EVENT _event, int _x, int _y)
 Checks if the element or any of its children have been clicked. More...
 
void GetRect (RECT &mRect)
 Copies the elements rect to the passed reference. More...
 
GUI_ElementStyleGetStyle ()
 
int GetWidth ()
 
int GetHeight ()
 
int GetId ()
 
GUI_ELEMENT_TYPE GetType ()
 
virtual void SetVisible (bool _visible)
 Sets if the elements and its children are drawn or not. More...
 
bool GetVisible ()
 
virtual void SetFixed (bool fixed)
 
bool GetFixed ()
 
virtual void SetNoBlit (bool noblit)
 
bool GetNoBlit ()
 
SURFHANDLE GetSurface ()
 
void AddPlugin (GUIplugin *plugin)
 Adds a GUIplugin as a child of this element. More...
 
void RemovePlugin (GUIplugin *plugin)
 Unplugs a plugin from this element. More...
 

Protected Member Functions

RECT setRect (GUImanager *vesselgui)
 
- Protected Member Functions inherited from GUI_ScrollablePage
virtual void DrawChildren (SURFHANDLE _tgt, RECT &drawablerect, int xoffset=0, int yoffset=0)
 Draws all direct children of this element, and tells them to draw theirs. More...
 
virtual void DrawMe (SURFHANDLE _tgt, int xoffset, int yoffset, RECT &drawablerect)
 Draws this element. More...
 
virtual void AddChild (GUI_BaseElement *child)
 Adds a child to this element. More...
 
virtual int ProcessChildren (GUI_MOUSE_EVENT _event, int _x, int _y)
 Forwards event to its children. More...
 
- Protected Member Functions inherited from GUI_Page
bool ProcessMe (GUI_MOUSE_EVENT _event, int _x, int _y)
 Processes events for this element. More...
 
void reSize ()
 Forces the page to stretch its size to include all current children. More...
 
- Protected Member Functions inherited from GUI_BaseElement
virtual bool updateMe ()
 used for checking whether this element needs a redraw although it didn't have any user input More...
 
virtual bool updateChildren ()
 checks if any of the children need a redraw More...
 
void calculateBlitData (int xoffset, int yoffset, RECT &drawablerect, BLITDATA &OUT_blitdata)
 Calculates the positional and dimensional data needed for blitting, both for source as well as target surface. More...
 
void calculateMyDrawableRect (RECT &drawablerect_parent, int xoffset, int yoffset, RECT &OUT_mydrawablerect)
 calculates the real drawable rect of this element considering the drawable rect of the parent. More...
 

Protected Attributes

IMS_Modulemodule
 The IMS_Module instance containing this GUI-element.
 
map< int, IMS_ModuleFunction_Base * > modulefunctions
 Maps the gui UID of an element to the modulefunction it represents.
 
- Protected Attributes inherited from GUI_ScrollablePage
GUI_ScrollBarscrollbar
 Stores a pointer to the scrollbar element.
 
- Protected Attributes inherited from GUI_Page
bool expandwithchildren = false
 If true, the page will expand its own size when a child is added that does not fit. This is merely used to avoid clipping problems. If the page is set to draw a background, there will be problems!
 
- Protected Attributes inherited from GUI_BaseElement
GUI_ELEMENT_TYPE type
 The type of this element.
 
RECT rect
 Rect the element should draw on, relative to parent.
 
int width
 The width of the element.
 
int height
 The height of the element.
 
int id
 The locally unique identifier of the element.
 
SURFHANDLE src = NULL
 Source surface to draw the element on. When the element is drawn on the panel, it will be blitted from this surface.
 
bool noBlitting = false
 Some elements might not have to blit themselves because they are static part of the background. This is not the same as !visible, as the element still processes events and still draws children, it just doesn't draw itself.
 
vector< GUI_BaseElement * > children
 List containing all direct children of this element.
 
vector< GUIplugin * > plugins
 List containing all GUIplugins currently pluged into this element.
 
GUI_fontfont
 The font used by this element.
 
GUI_ElementStylestyle
 The style used by this element.
 
bool visible
 Whether the element is visible or not (if false, element and any of its children will neither draw nor process events)
 
bool isfixed = false
 Whether the element retains a fixed position in a scrolling frame.
 

Detailed Description

Default module GUI element.

Displays a list of modulefunctions and their respective controls when selected

Constructor & Destructor Documentation

GUI_Module::GUI_Module ( GUImanager vesselgui,
IMS_Module _module 
)

Constructor.

Parameters
vesselguiThe GUImanager instance of the vessel containing the module containing this GUI-element
_moduleThe IMS_Module instance containing this GUI-element

Member Function Documentation

RECT GUI_Module::setRect ( GUImanager vesselgui)
protected

Sets the rectangle of this GUI to fit inside the parent. Must be called before the SURFHANDLE for this GUI-element is created, which means it must be called as a constructor argument.

Parameters
vesselguiThe GUImanager instance of the vessel containing this module containing this GUI-element

The documentation for this class was generated from the following files: