summaryrefslogtreecommitdiff
path: root/tools/GUIEditor/CGUIEditWindow.h
diff options
context:
space:
mode:
authorMirrorbot <mirrorbot@cogarr.net>2025-12-27 17:53:06 -0600
committerMirrorbot <mirrorbot@cogarr.net>2025-12-27 17:53:06 -0600
commit71e94ee161447b84c0eaabf6567f8fa62262cd3e (patch)
tree391064cc6173a6fe75069af2fdc1978af12f623e /tools/GUIEditor/CGUIEditWindow.h
downloadirrlicht-71e94ee161447b84c0eaabf6567f8fa62262cd3e.tar.gz
irrlicht-71e94ee161447b84c0eaabf6567f8fa62262cd3e.tar.bz2
irrlicht-71e94ee161447b84c0eaabf6567f8fa62262cd3e.zip
Inital commitHEADmaster
Diffstat (limited to 'tools/GUIEditor/CGUIEditWindow.h')
-rw-r--r--tools/GUIEditor/CGUIEditWindow.h88
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__
+