summaryrefslogtreecommitdiff
path: root/tools/GUIEditor/CGUIAttributeEditor.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/GUIEditor/CGUIAttributeEditor.h')
-rw-r--r--tools/GUIEditor/CGUIAttributeEditor.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/tools/GUIEditor/CGUIAttributeEditor.h b/tools/GUIEditor/CGUIAttributeEditor.h
new file mode 100644
index 0000000..0bcdab5
--- /dev/null
+++ b/tools/GUIEditor/CGUIAttributeEditor.h
@@ -0,0 +1,54 @@
+#ifndef __C_GUI_ATTRIBUTE_EDITOR_H_INCLUDED__
+#define __C_GUI_ATTRIBUTE_EDITOR_H_INCLUDED__
+
+#include "IGUIElement.h"
+#include "CGUIPanel.h"
+#include "irrArray.h"
+#include "IAttributes.h"
+#include "EGUIEditTypes.h"
+
+namespace irr
+{
+namespace gui
+{
+
+ class CGUIAttribute;
+
+
+ class CGUIAttributeEditor : public CGUIPanel
+ {
+ public:
+
+ //! constructor
+ CGUIAttributeEditor(IGUIEnvironment* environment, s32 id, IGUIElement *parent=0);
+
+ //! destructor
+ ~CGUIAttributeEditor();
+
+ // gets the current attributes list
+ virtual io::IAttributes* getAttribs();
+
+ // update the attribute list after making a change
+ void refreshAttribs();
+
+ // save the attributes
+ void updateAttribs();
+
+ //! Returns the type name of the gui element.
+ virtual const c8* getTypeName() const
+ {
+ return GUIEditElementTypeNames[EGUIEDIT_ATTRIBUTEEDITOR];
+ }
+
+ private:
+
+ core::array<CGUIAttribute*> AttribList; // attributes editing controls
+ io::IAttributes* Attribs; // current attributes
+ CGUIPanel* Panel;
+ };
+
+} // end namespace gui
+} // end namespace irr
+
+#endif // __C_GUI_ATTRIBUTE_EDITOR_H_INCLUDED__
+