diff options
| author | Mirrorbot <mirrorbot@cogarr.net> | 2025-12-27 17:53:06 -0600 |
|---|---|---|
| committer | Mirrorbot <mirrorbot@cogarr.net> | 2025-12-27 17:53:06 -0600 |
| commit | 71e94ee161447b84c0eaabf6567f8fa62262cd3e (patch) | |
| tree | 391064cc6173a6fe75069af2fdc1978af12f623e /tools/GUIEditor/CGUIEditWindow.h | |
| download | irrlicht-master.tar.gz irrlicht-master.tar.bz2 irrlicht-master.zip | |
Diffstat (limited to 'tools/GUIEditor/CGUIEditWindow.h')
| -rw-r--r-- | tools/GUIEditor/CGUIEditWindow.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/tools/GUIEditor/CGUIEditWindow.h b/tools/GUIEditor/CGUIEditWindow.h new file mode 100644 index 0000000..4b1d72f --- /dev/null +++ b/tools/GUIEditor/CGUIEditWindow.h @@ -0,0 +1,88 @@ +#ifndef __C_GUI_EDITOR_H_INCLUDED__
+#define __C_GUI_EDITOR_H_INCLUDED__
+
+
+#include "IGUIWindow.h"
+#include "CGUIAttributeEditor.h"
+//#include "IGUIStaticText.h"
+#include "IGUIButton.h"
+#include "IGUITreeView.h"
+#include "irrArray.h"
+#include "IAttributes.h"
+#include "EGUIEditTypes.h"
+
+namespace irr
+{
+namespace gui
+{
+ class CGUIEditWindow : public IGUIWindow
+ {
+ public:
+
+ //! constructor
+ CGUIEditWindow(IGUIEnvironment* environment, core::rect<s32> rectangle, IGUIElement *parent);
+
+ //! destructor
+ ~CGUIEditWindow();
+
+ //! this part draws the window
+ virtual void draw();
+ //! handles events
+ virtual bool OnEvent(const SEvent &event);
+
+ //! change selection
+ virtual void setSelectedElement(IGUIElement *sel);
+
+ //! get draggable
+ virtual bool isDraggable() const;
+
+ //! get draggable
+ virtual void setDraggable(bool draggable);
+
+ // not used
+ virtual core::rect<s32> getClientRect() const;
+ virtual IGUIButton* getCloseButton() const;
+ virtual IGUIButton* getMinimizeButton() const;
+ virtual IGUIButton* getMaximizeButton() const;
+ virtual void setDrawBackground(bool draw) { }
+ virtual bool getDrawBackground() const { return true; }
+ virtual void setDrawTitlebar(bool draw) { }
+ virtual bool getDrawTitlebar() const { return true; }
+
+ IGUITreeView* getTreeView() const;
+ CGUIAttributeEditor* getAttributeEditor() const;
+ CGUIAttributeEditor* getOptionEditor() const;
+ CGUIAttributeEditor* getEnvironmentEditor() const;
+
+ //! Returns the type name of the gui element.
+ virtual const c8* getTypeName() const
+ {
+ return GUIEditElementTypeNames[EGUIEDIT_GUIEDITWINDOW];
+ }
+
+ void updateTree();
+ private:
+
+ void addChildrenToTree(IGUIElement* parentElement, IGUITreeViewNode* treenode);
+ IGUITreeViewNode* getTreeNode(IGUIElement* element, IGUITreeViewNode* searchnode);
+ // for dragging the window
+ bool Dragging;
+ bool IsDraggable;
+ bool Resizing;
+ core::position2d<s32> DragStart;
+
+ IGUIElement* SelectedElement; // current selected element
+
+ CGUIAttributeEditor* AttribEditor; // edits the current attribute
+ CGUIAttributeEditor* OptionEditor; // edits the options for the window
+ CGUIAttributeEditor* EnvEditor; // edits attributes for the environment
+ IGUITreeView* TreeView; // tree view of all elements in scene
+ IGUIButton* ResizeButton;
+
+ };
+
+} // end namespace gui
+} // end namespace irr
+
+#endif // __C_GUI_EDITOR_H_INCLUDED__
+
|
