Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# IGUIEnvironment.h

Go to the documentation of this file.

    00001 // Copyright (C) 2002-2010 Nikolaus Gebhardt
    00002 // This file is part of the "Irrlicht Engine".
    00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
    00004
    00005 #ifndef __I_GUI_ENVIRONMENT_H_INCLUDED__
    00006 #define __I_GUI_ENVIRONMENT_H_INCLUDED__
    00007
    00008 #include "IReferenceCounted.h"
    00009 #include "IGUISkin.h"
    00010 #include "rect.h"
    00011 #include "EMessageBoxFlags.h"
    00012 #include "IEventReceiver.h"
    00013 #include "IXMLReader.h"
    00014 #include "path.h"
    00015
    00016 namespace irr
    00017 {
    00018         class IOSOperator;
    00019         class IEventReceiver;
    00020
    00021         namespace io
    00022         {
    00023                 class IXMLWriter;
    00024                 class IReadFile;
    00025                 class IWriteFile;
    00026                 class IFileSystem;
    00027         } // end namespace io
    00028         namespace video
    00029         {
    00030                 class IVideoDriver;
    00031                 class ITexture;
    00032         } // end namespace video
    00033
    00034 namespace gui
    00035 {
    00036
    00037 class IGUIElement;
    00038 class IGUIFont;
    00039 class IGUISpriteBank;
    00040 class IGUIScrollBar;
    00041 class IGUIImage;
    00042 class IGUIMeshViewer;
    00043 class IGUICheckBox;
    00044 class IGUIListBox;
    00045 class IGUITreeView;
    00046 class IGUIImageList;
    00047 class IGUIFileOpenDialog;
    00048 class IGUIColorSelectDialog;
    00049 class IGUIInOutFader;
    00050 class IGUIStaticText;
    00051 class IGUIEditBox;
    00052 class IGUISpinBox;
    00053 class IGUITabControl;
    00054 class IGUITab;
    00055 class IGUITable;
    00056 class IGUIContextMenu;
    00057 class IGUIComboBox;
    00058 class IGUIToolBar;
    00059 class IGUIButton;
    00060 class IGUIWindow;
    00061 class IGUIElementFactory;
    00062
    00064 class IGUIEnvironment : public virtual IReferenceCounted
    00065 {
    00066 public:
    00067
    00069         virtual void drawAll() = 0;
    00070
    00072
    00077         virtual bool setFocus(IGUIElement* element) = 0;
    00078
    00080
    00081         virtual IGUIElement* getFocus() const = 0;
    00082
    00084
    00088         virtual bool removeFocus(IGUIElement* element) = 0;
    00089
    00091
    00093         virtual bool hasFocus(IGUIElement* element) const = 0;
    00094
    00096
    00097         virtual video::IVideoDriver* getVideoDriver() const = 0;
    00098
    00100
    00101         virtual io::IFileSystem* getFileSystem() const = 0;
    00102
    00104
    00105         virtual IOSOperator* getOSOperator() const = 0;
    00106
    00108         virtual void clear() = 0;
    00109
    00111
    00115         virtual bool postEventFromUser(const SEvent& event) = 0;
    00116
    00118
    00121         virtual void setUserEventReceiver(IEventReceiver* evr) = 0;
    00122
    00124
    00125         virtual IGUISkin* getSkin() const = 0;
    00126
    00128
    00140         virtual void setSkin(IGUISkin* skin) = 0;
    00141
    00143
    00148         virtual IGUISkin* createSkin(EGUI_SKIN_TYPE type) = 0;
    00149
    00150
    00152
    00158         virtual IGUIImageList* createImageList( video::ITexture* texture,
    00159                                         core::dimension2d<s32>  imageSize, bool useAlphaChannel ) = 0;
    00160
    00162
    00167         virtual IGUIFont* getFont(const io::path& filename) = 0;
    00168
    00170
    00175         virtual IGUIFont* addFont(const io::path& name, IGUIFont* font) = 0;
    00176
    00178
    00181         virtual IGUIFont* getBuiltInFont() const = 0;
    00182
    00184
    00188         virtual IGUISpriteBank* getSpriteBank(const io::path& filename) = 0;
    00189
    00191
    00194         virtual IGUISpriteBank* addEmptySpriteBank(const io::path& name) = 0;
    00195
    00197
    00204         virtual IGUIElement* getRootGUIElement() = 0;
    00205
    00207
    00215         virtual IGUIButton* addButton(const core::rect<s32>& rectangle,
    00216                 IGUIElement* parent=0, s32 id=-1, const wchar_t* text=0, const wchar_t* tooltiptext = 0) = 0;
    00217
    00219
    00229         virtual IGUIWindow* addWindow(const core::rect<s32>& rectangle, bool modal = false,
    00230                 const wchar_t* text=0, IGUIElement* parent=0, s32 id=-1) = 0;
    00231
    00233
    00239         virtual IGUIElement* addModalScreen(IGUIElement* parent) = 0;
    00240
    00242
    00256         virtual IGUIWindow* addMessageBox(const wchar_t* caption, const wchar_t* text=0,
    00257                 bool modal = true, s32 flags = EMBF_OK, IGUIElement* parent=0, s32 id=-1, video::ITexture* image=0) = 0;
    00258
    00260
    00268         virtual IGUIScrollBar* addScrollBar(bool horizontal, const core::rect<s32>& rectangle,
    00269                 IGUIElement* parent=0, s32 id=-1) = 0;
    00270
    00272
    00283         virtual IGUIImage* addImage(video::ITexture* image, core::position2d<s32> pos,
    00284                 bool useAlphaChannel=true, IGUIElement* parent=0, s32 id=-1, const wchar_t* text=0) = 0;
    00285
    00287
    00295         virtual IGUIImage* addImage(const core::rect<s32>& rectangle,
    00296                 IGUIElement* parent=0, s32 id=-1, const wchar_t* text=0) = 0;
    00297
    00299
    00307         virtual IGUICheckBox* addCheckBox(bool checked, const core::rect<s32>& rectangle,
    00308                 IGUIElement* parent=0, s32 id=-1, const wchar_t* text=0) = 0;
    00309
    00311
    00318         virtual IGUIListBox* addListBox(const core::rect<s32>& rectangle,
    00319                 IGUIElement* parent=0, s32 id=-1, bool drawBackground=false) = 0;
    00320
    00322
    00331         virtual IGUITreeView* addTreeView(const core::rect<s32>& rectangle,
    00332                 IGUIElement* parent=0, s32 id=-1, bool drawBackground=false,
    00333                 bool scrollBarVertical = true, bool scrollBarHorizontal = false) = 0;
    00334
    00336
    00343         virtual IGUIMeshViewer* addMeshViewer(const core::rect<s32>& rectangle,
    00344                         IGUIElement* parent=0, s32 id=-1, const wchar_t* text=0) = 0;
    00345
    00347
    00356         virtual IGUIFileOpenDialog* addFileOpenDialog(const wchar_t* title = 0,
    00357                 bool modal=true, IGUIElement* parent=0, s32 id=-1) = 0;
    00358
    00360
    00369         virtual IGUIColorSelectDialog* addColorSelectDialog(const wchar_t* title = 0,
    00370                 bool modal=true, IGUIElement* parent=0, s32 id=-1) = 0;
    00371
    00373
    00384         virtual IGUIStaticText* addStaticText(const wchar_t* text, const core::rect<s32>& rectangle,
    00385                 bool border=false, bool wordWrap=true, IGUIElement* parent=0, s32 id=-1,
    00386                 bool fillBackground = false) = 0;
    00387
    00389
    00403         virtual IGUIEditBox* addEditBox(const wchar_t* text, const core::rect<s32>& rectangle,
    00404                 bool border=true, IGUIElement* parent=0, s32 id=-1) = 0;
    00405
    00407
    00417         virtual IGUISpinBox* addSpinBox(const wchar_t* text, const core::rect<s32>& rectangle,
    00418                 bool border=true,IGUIElement* parent=0, s32 id=-1) = 0;
    00419
    00421
    00428         virtual IGUIInOutFader* addInOutFader(const core::rect<s32>* rectangle=0, IGUIElement* parent=0, s32 id=-1) = 0;
    00429
    00431
    00443         virtual IGUITabControl* addTabControl(const core::rect<s32>& rectangle,
    00444                 IGUIElement* parent=0, bool fillbackground=false,
    00445                 bool border=true, s32 id=-1) = 0;
    00446
    00448
    00458         virtual IGUITab* addTab(const core::rect<s32>& rectangle,
    00459                 IGUIElement* parent=0, s32 id=-1) = 0;
    00460
    00462
    00470         virtual IGUIContextMenu* addContextMenu(const core::rect<s32>& rectangle,
    00471                 IGUIElement* parent=0, s32 id=-1) = 0;
    00472
    00474
    00482         virtual IGUIContextMenu* addMenu(IGUIElement* parent=0, s32 id=-1) = 0;
    00483
    00485
    00493         virtual IGUIToolBar* addToolBar(IGUIElement* parent=0, s32 id=-1) = 0;
    00494
    00496
    00503         virtual IGUIComboBox* addComboBox(const core::rect<s32>& rectangle,
    00504                 IGUIElement* parent=0, s32 id=-1) = 0;
    00505
    00507
    00515         virtual IGUITable* addTable(const core::rect<s32>& rectangle,
    00516                 IGUIElement* parent=0, s32 id=-1, bool drawBackground=false) =0;
    00517
    00519
    00522         virtual IGUIElementFactory* getDefaultGUIElementFactory() const = 0;
    00523
    00525
    00529         virtual void registerGUIElementFactory(IGUIElementFactory* factoryToAdd) = 0;
    00530
    00532
    00533         virtual u32 getRegisteredGUIElementFactoryCount() const = 0;
    00534
    00536
    00538         virtual IGUIElementFactory* getGUIElementFactory(u32 index) const = 0;
    00539
    00541
    00546         virtual IGUIElement* addGUIElement(const c8* elementName, IGUIElement* parent=0) = 0;
    00547
    00549
    00552         virtual bool saveGUI(const io::path& filename, IGUIElement* start=0) = 0;
    00553
    00555
    00558         virtual bool saveGUI(io::IWriteFile* file, IGUIElement* start=0) = 0;
    00559
    00561
    00564         virtual bool loadGUI(const io::path& filename, IGUIElement* parent=0) = 0;
    00565
    00567
    00570         virtual bool loadGUI(io::IReadFile* file, IGUIElement* parent=0) = 0;
    00571
    00573         virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const =0;
    00574
    00576         virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0)=0;
    00577
    00579         virtual void writeGUIElement(io::IXMLWriter* writer, IGUIElement* node) =0;
    00580
    00582         virtual void readGUIElement(io::IXMLReader* reader, IGUIElement* node) =0;
    00583 };
    00584
    00585
    00586 } // end namespace gui
    00587 } // end namespace irr
    00588
    00589 #endif
    00590

| The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Oct 24 12:41:56 2010 by Doxygen (1.6.2)