aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/irrlicht-1.8/tools/GUIEditor/CGUIAttributeEditor.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libraries/irrlicht-1.8/tools/GUIEditor/CGUIAttributeEditor.cpp240
1 files changed, 120 insertions, 120 deletions
diff --git a/libraries/irrlicht-1.8/tools/GUIEditor/CGUIAttributeEditor.cpp b/libraries/irrlicht-1.8/tools/GUIEditor/CGUIAttributeEditor.cpp
index 45913b6..6d61f17 100644
--- a/libraries/irrlicht-1.8/tools/GUIEditor/CGUIAttributeEditor.cpp
+++ b/libraries/irrlicht-1.8/tools/GUIEditor/CGUIAttributeEditor.cpp
@@ -1,120 +1,120 @@
1 1
2#include "CGUIAttributeEditor.h" 2#include "CGUIAttributeEditor.h"
3#include "IGUIEnvironment.h" 3#include "IGUIEnvironment.h"
4#include "IFileSystem.h" 4#include "IFileSystem.h"
5#include "IVideoDriver.h" 5#include "IVideoDriver.h"
6#include "IAttributes.h" 6#include "IAttributes.h"
7#include "IGUIFont.h" 7#include "IGUIFont.h"
8#include "IGUIScrollBar.h" 8#include "IGUIScrollBar.h"
9#include "CGUIEditWorkspace.h" 9#include "CGUIEditWorkspace.h"
10#include "CGUIAttribute.h" 10#include "CGUIAttribute.h"
11#include "CGUIStringAttribute.h" 11#include "CGUIStringAttribute.h"
12 12
13namespace irr 13namespace irr
14{ 14{
15namespace gui 15namespace gui
16{ 16{
17 17
18using namespace core; 18using namespace core;
19using namespace io; 19using namespace io;
20 20
21CGUIAttributeEditor::CGUIAttributeEditor(IGUIEnvironment* environment, s32 id, IGUIElement *parent) : 21CGUIAttributeEditor::CGUIAttributeEditor(IGUIEnvironment* environment, s32 id, IGUIElement *parent) :
22 CGUIPanel(environment, parent, id, rect<s32>(0, 0, 100, 100)), 22 CGUIPanel(environment, parent, id, rect<s32>(0, 0, 100, 100)),
23 Attribs(0), Panel(0) 23 Attribs(0), Panel(0)
24{ 24{
25 #ifdef _DEBUG 25 #ifdef _DEBUG
26 setDebugName("CGUIAttributeEditor"); 26 setDebugName("CGUIAttributeEditor");
27 #endif 27 #endif
28 28
29 // create attributes 29 // create attributes
30 Attribs = environment->getFileSystem()->createEmptyAttributes(Environment->getVideoDriver()); 30 Attribs = environment->getFileSystem()->createEmptyAttributes(Environment->getVideoDriver());
31 31
32 calculateClientArea(); 32 calculateClientArea();
33 resizeInnerPane(); 33 resizeInnerPane();
34 34
35 // refresh attrib list 35 // refresh attrib list
36 refreshAttribs(); 36 refreshAttribs();
37 37
38 IGUIScrollBar* sb = getVScrollBar(); 38 IGUIScrollBar* sb = getVScrollBar();
39 core::rect<s32> r = sb->getRelativePosition(); 39 core::rect<s32> r = sb->getRelativePosition();
40 r.LowerRightCorner.Y -= 16; 40 r.LowerRightCorner.Y -= 16;
41 sb->setRelativePosition(r); 41 sb->setRelativePosition(r);
42} 42}
43 43
44CGUIAttributeEditor::~CGUIAttributeEditor() 44CGUIAttributeEditor::~CGUIAttributeEditor()
45{ 45{
46 for (u32 i=0; i<AttribList.size(); ++i) 46 for (u32 i=0; i<AttribList.size(); ++i)
47 { 47 {
48 AttribList[i]->remove(); 48 AttribList[i]->remove();
49 AttribList[i]->drop(); 49 AttribList[i]->drop();
50 } 50 }
51 AttribList.clear(); 51 AttribList.clear();
52 52
53 Attribs->drop(); 53 Attribs->drop();
54} 54}
55 55
56 56
57IAttributes* CGUIAttributeEditor::getAttribs() 57IAttributes* CGUIAttributeEditor::getAttribs()
58{ 58{
59 return Attribs; 59 return Attribs;
60} 60}
61 61
62void CGUIAttributeEditor::refreshAttribs() 62void CGUIAttributeEditor::refreshAttribs()
63{ 63{
64 // clear the attribute list 64 // clear the attribute list
65 u32 i; 65 u32 i;
66 for (i=0; i<AttribList.size(); ++i) 66 for (i=0; i<AttribList.size(); ++i)
67 { 67 {
68 AttribList[i]->remove(); 68 AttribList[i]->remove();
69 AttribList[i]->drop(); 69 AttribList[i]->drop();
70 } 70 }
71 AttribList.clear(); 71 AttribList.clear();
72 72
73 position2di top(10, 5); 73 position2di top(10, 5);
74 rect<s32> r(top.X, top.Y, 74 rect<s32> r(top.X, top.Y,
75 getClientArea().getWidth() - 10, 75 getClientArea().getWidth() - 10,
76 5 + Environment->getSkin()->getFont()->getDimension(L"A").Height); 76 5 + Environment->getSkin()->getFont()->getDimension(L"A").Height);
77 77
78 // add attribute elements 78 // add attribute elements
79 u32 c = Attribs->getAttributeCount(); 79 u32 c = Attribs->getAttributeCount();
80 for (i=0; i<c; ++i) 80 for (i=0; i<c; ++i)
81 { 81 {
82 82
83 // try to create attribute 83 // try to create attribute
84 stringc str = Attribs->getAttributeTypeString(i); 84 stringc str = Attribs->getAttributeTypeString(i);
85 str += "_attribute"; 85 str += "_attribute";
86 CGUIAttribute* n = (CGUIAttribute*)Environment->addGUIElement(str.c_str(), 0); 86 CGUIAttribute* n = (CGUIAttribute*)Environment->addGUIElement(str.c_str(), 0);
87 87
88 // if this doesn't exist, use a string editor 88 // if this doesn't exist, use a string editor
89 if (!n) 89 if (!n)
90 n = (CGUIAttribute*)Environment->addGUIElement("string_attribute", 0); 90 n = (CGUIAttribute*)Environment->addGUIElement("string_attribute", 0);
91 91
92 if (n) 92 if (n)
93 { 93 {
94 AttribList.push_back(n); 94 AttribList.push_back(n);
95 n->setParentID(getID()); 95 n->setParentID(getID());
96 n->grab(); 96 n->grab();
97 } 97 }
98 98
99 // We can't set "this" as parent above as we need functionality 99 // We can't set "this" as parent above as we need functionality
100 // of the overloaded addChild which isn't called in the constructor. 100 // of the overloaded addChild which isn't called in the constructor.
101 // (that's a general Irrlicht messup with too fat constructors) 101 // (that's a general Irrlicht messup with too fat constructors)
102 addChild(n); 102 addChild(n);
103 103
104 AttribList[i]->setSubElement(true); 104 AttribList[i]->setSubElement(true);
105 AttribList[i]->setRelativePosition(r); 105 AttribList[i]->setRelativePosition(r);
106 AttribList[i]->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT); 106 AttribList[i]->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
107 AttribList[i]->setAttrib(Attribs, i); 107 AttribList[i]->setAttrib(Attribs, i);
108 r += position2di(0, AttribList[i]->getRelativePosition().getHeight() + 5); 108 r += position2di(0, AttribList[i]->getRelativePosition().getHeight() + 5);
109 } 109 }
110} 110}
111 111
112void CGUIAttributeEditor::updateAttribs() 112void CGUIAttributeEditor::updateAttribs()
113{ 113{
114 for (u32 i=0; i<AttribList.size(); ++i) 114 for (u32 i=0; i<AttribList.size(); ++i)
115 AttribList[i]->updateAttrib(false); 115 AttribList[i]->updateAttrib(false);
116} 116}
117 117
118} // namespace gui 118} // namespace gui
119} // namespace irr 119} // namespace irr
120 120