 |
Irrlicht 3D Engine
|
|
Go to the documentation of this file.
5 #ifndef __I_GUI_ENVIRONMENT_H_INCLUDED__
6 #define __I_GUI_ENVIRONMENT_H_INCLUDED__
47 class IGUIFileOpenDialog;
48 class IGUIColorSelectDialog;
56 class IGUIContextMenu;
61 class IGUIElementFactory;
122 virtual void clear() = 0;
174 bool useAlphaChannel ) = 0;
233 IGUIElement* parent=0,
s32 id=-1,
const wchar_t* text=0,
const wchar_t* tooltiptext = 0) = 0;
301 bool useAlphaChannel=
true,
IGUIElement* parent=0,
s32 id=-1,
const wchar_t* text=0) = 0;
315 IGUIElement* parent=0,
s32 id=-1,
const wchar_t* text=0,
bool useAlphaChannel=
true) = 0;
352 bool scrollBarVertical =
true,
bool scrollBarHorizontal =
false) = 0;
409 bool border=
false,
bool wordWrap=
true,
IGUIElement* parent=0,
s32 id=-1,
410 bool fillBackground =
false) = 0;
469 bool border=
true,
s32 id=-1) = 0;
virtual IGUISpinBox * addSpinBox(const wchar_t *text, const core::rect< s32 > &rectangle, bool border=true, IGUIElement *parent=0, s32 id=-1)=0
Adds a spin box.
virtual video::IVideoDriver * getVideoDriver() const =0
Returns the current video driver.
virtual void clear()=0
Removes all elements from the environment.
virtual IGUIContextMenu * addMenu(IGUIElement *parent=0, s32 id=-1)=0
Adds a menu to the environment.
virtual IGUIWindow * addWindow(const core::rect< s32 > &rectangle, bool modal=false, const wchar_t *text=0, IGUIElement *parent=0, s32 id=-1)=0
Adds an empty window element.
virtual IGUIFileOpenDialog * addFileOpenDialog(const wchar_t *title=0, bool modal=true, IGUIElement *parent=0, s32 id=-1, bool restoreCWD=false, io::path::char_type *startDir=0)=0
Adds a file open dialog.
virtual void deserializeAttributes(io::IAttributes *in, io::SAttributeReadWriteOptions *options=0)=0
Reads attributes of the gui environment.
virtual IGUIWindow * addMessageBox(const wchar_t *caption, const wchar_t *text=0, bool modal=true, s32 flags=EMBF_OK, IGUIElement *parent=0, s32 id=-1, video::ITexture *image=0)=0
Adds a message box.
virtual IGUIToolBar * addToolBar(IGUIElement *parent=0, s32 id=-1)=0
Adds a toolbar to the environment.
Default list box GUI element.
virtual IGUISpriteBank * addEmptySpriteBank(const io::path &name)=0
Adds an empty sprite bank to the manager.
virtual IGUIComboBox * addComboBox(const core::rect< s32 > &rectangle, IGUIElement *parent=0, s32 id=-1)=0
Adds a combo box to the environment.
virtual IGUIElement * addGUIElement(const c8 *elementName, IGUIElement *parent=0)=0
Adds a GUI element by its name.
virtual IGUITreeView * addTreeView(const core::rect< s32 > &rectangle, IGUIElement *parent=0, s32 id=-1, bool drawBackground=false, bool scrollBarVertical=true, bool scrollBarHorizontal=false)=0
Adds a tree view element.
virtual IGUIFont * addFont(const io::path &name, IGUIFont *font)=0
Adds an externally loaded font to the font list.
virtual IGUIImageList * createImageList(video::ITexture *texture, core::dimension2d< s32 > imageSize, bool useAlphaChannel)=0
Creates the image list from the given texture.
Interface providing methods for making it easier to write XML files.
char c8
8 bit character variable.
virtual IGUIStaticText * addStaticText(const wchar_t *text, const core::rect< s32 > &rectangle, bool border=false, bool wordWrap=true, IGUIElement *parent=0, s32 id=-1, bool fillBackground=false)=0
Adds a static text.
virtual void readGUIElement(io::IXMLReader *reader, IGUIElement *node)=0
reads an element
virtual void removeFont(IGUIFont *font)=0
remove loaded font
virtual bool saveGUI(const io::path &filename, IGUIElement *start=0)=0
Saves the current gui into a file.
Standard file chooser dialog.
virtual u32 getRegisteredGUIElementFactoryCount() const =0
Get amount of registered gui element factories.
virtual bool setFocus(IGUIElement *element)=0
Sets the focus to an element.
struct holding data describing options
virtual IGUICheckBox * addCheckBox(bool checked, const core::rect< s32 > &rectangle, IGUIElement *parent=0, s32 id=-1, const wchar_t *text=0)=0
Adds a checkbox element.
virtual IGUIElementFactory * getGUIElementFactory(u32 index) const =0
Get a gui element factory by index.
Interface providing read acess to a file.
Default tree view GUI element.
Multi or single line text label.
Interface of a Video Driver dependent Texture.
EGUI_SKIN_TYPE
Enumeration of available default skins.
virtual IGUISkin * getSkin() const =0
Returns pointer to the current gui skin.
virtual IGUIScrollBar * addScrollBar(bool horizontal, const core::rect< s32 > &rectangle, IGUIElement *parent=0, s32 id=-1)=0
Adds a scrollbar.
virtual IGUIButton * addButton(const core::rect< s32 > &rectangle, IGUIElement *parent=0, s32 id=-1, const wchar_t *text=0, const wchar_t *tooltiptext=0)=0
Adds a button element.
virtual bool removeFocus(IGUIElement *element)=0
Removes the focus from an element.
A skin modifies the look of the GUI elements.
signed int s32
32 bit signed variable.
Element for fading out or in.
virtual IGUIFont * getFont(const io::path &filename)=0
Returns pointer to the font with the specified filename.
The FileSystem manages files and archives and provides access to them.
virtual IGUIImage * addImage(video::ITexture *image, core::position2d< s32 > pos, bool useAlphaChannel=true, IGUIElement *parent=0, s32 id=-1, const wchar_t *text=0)=0
Adds an image element.
@ EMBF_OK
Flag for the ok button.
virtual IGUIEditBox * addEditBox(const wchar_t *text, const core::rect< s32 > &rectangle, bool border=true, IGUIElement *parent=0, s32 id=-1)=0
Adds an edit box.
Default moveable window GUI element with border, caption and close icons.
Base class of most objects of the Irrlicht Engine.
Interface providing write access to a file.
Specifies a 2 dimensional size.
virtual IGUIFont * getBuiltInFont() const =0
Returns the default built-in font.
SEvents hold information about an event. See irr::IEventReceiver for details on event handling.
virtual IGUIElement * getHovered() const =0
Returns the element which was last under the mouse cursor.
virtual IGUIElement * getFocus() const =0
Returns the element which holds the focus.
virtual bool loadGUI(const io::path &filename, IGUIElement *parent=0)=0
Loads the gui. Note that the current gui is not cleared before.
virtual void setUserEventReceiver(IEventReceiver *evr)=0
This sets a new event receiver for gui events.
The Operating system operator provides operation system specific methods and informations.
virtual IGUIElement * addModalScreen(IGUIElement *parent)=0
Adds a modal screen.
virtual IGUITabControl * addTabControl(const core::rect< s32 > &rectangle, IGUIElement *parent=0, bool fillbackground=false, bool border=true, s32 id=-1)=0
Adds a tab control to the environment.
Interface of an object which can receive events.
virtual IGUITable * addTable(const core::rect< s32 > &rectangle, IGUIElement *parent=0, s32 id=-1, bool drawBackground=false)=0
Adds a table to the environment.
Single line edit box for editing simple text.
Everything in the Irrlicht Engine can be found in this namespace.
virtual IGUIInOutFader * addInOutFader(const core::rect< s32 > *rectangle=0, IGUIElement *parent=0, s32 id=-1)=0
Adds an element for fading in or out.
virtual IGUISkin * createSkin(EGUI_SKIN_TYPE type)=0
Creates a new GUI Skin based on a template.
3d mesh viewing GUI element.
virtual IGUISpriteBank * getSpriteBank(const io::path &filename)=0
Returns pointer to the sprite bank with the specified file name.
virtual void registerGUIElementFactory(IGUIElementFactory *factoryToAdd)=0
Adds an element factory to the gui environment.
unsigned int u32
32 bit unsigned variable.
Single line edit box + spin buttons.
virtual io::IFileSystem * getFileSystem() const =0
Returns the file system.
virtual IGUIElementFactory * getDefaultGUIElementFactory() const =0
Get the default element factory which can create all built-in elements.
virtual void drawAll()=0
Draws all gui elements by traversing the GUI environment starting at the root node.
GUI element displaying an image.
virtual bool hasFocus(IGUIElement *element) const =0
Returns whether the element has focus.
virtual bool postEventFromUser(const SEvent &event)=0
Posts an input event to the environment.
GUI Environment. Used as factory and manager of all other GUI elements.
virtual IGUIElement * getRootGUIElement()=0
Returns the root gui element.
Default list box GUI element.
virtual void setSkin(IGUISkin *skin)=0
Sets a new GUI Skin.
A tab-page, onto which other gui elements could be added.
virtual void serializeAttributes(io::IAttributes *out, io::SAttributeReadWriteOptions *options=0) const =0
Writes attributes of the gui environment.
virtual IGUIListBox * addListBox(const core::rect< s32 > &rectangle, IGUIElement *parent=0, s32 id=-1, bool drawBackground=false)=0
Adds a list box element.
Interface to driver which is able to perform 2d and 3d graphics functions.
virtual IGUIContextMenu * addContextMenu(const core::rect< s32 > &rectangle, IGUIElement *parent=0, s32 id=-1)=0
Adds a context menu to the environment.
virtual IGUITab * addTab(const core::rect< s32 > &rectangle, IGUIElement *parent=0, s32 id=-1)=0
Adds tab to the environment.
Interface making it possible to dynamically create GUI elements.
Interface providing easy read access to a XML file.
Standard color chooser dialog.
Base class of all GUI elements.
virtual void writeGUIElement(io::IXMLWriter *writer, IGUIElement *node)=0
writes an element
virtual IGUIColorSelectDialog * addColorSelectDialog(const wchar_t *title=0, bool modal=true, IGUIElement *parent=0, s32 id=-1)=0
Adds a color select dialog.
Provides a generic interface for attributes and their values and the possiblity to serialize them.
virtual IOSOperator * getOSOperator() const =0
returns a pointer to the OS operator
virtual IGUIMeshViewer * addMeshViewer(const core::rect< s32 > &rectangle, IGUIElement *parent=0, s32 id=-1, const wchar_t *text=0)=0
Adds a mesh viewer. Not 100% implemented yet.