Toolbar.hpp
Code: Select all
#ifndef TOOLBAR_H
#define TOOLBAR_H
class Toolbar : public IGUIElement
{
public:
Toolbar(IGUIEnvironment*,IGUIElement*, s32, wchar_t*, core::rect<s32>);
virtual ~Toolbar();
void draw();
void UpdateSize();
void ToggleDraw();
private:
IGUIEnvironment *gui;
core::rect<s32> position;
bool Draw;
int Size;
IGUIListBox *StaticMeshesList;
IGUIListBox *StaticMeshesList2;
};
#endif // TOOLBAR_H
Code: Select all
#include "../Include/Toolbar.hpp"
Toolbar::Toolbar(IGUIEnvironment* g,IGUIElement* parent, s32 id, wchar_t* titletext, core::rect<s32> position):IGUIElement(EGUIET_ELEMENT,g,parent,id,position),gui(g)
{
this->position = position;
Draw = true;
Size = 300;
StaticMeshesList = gui->addListBox(core::rect<int>(), this, STATIC_MESH_LIST, true);
StaticMeshesList->addItem(L"item");
StaticMeshesList->addItem(L"item");
StaticMeshesList->addItem(L"item");
StaticMeshesList->addItem(L"item");
StaticMeshesList->addItem(L"item");
StaticMeshesList->addItem(L"item");
StaticMeshesList->addItem(L"item");
StaticMeshesList->addItem(L"item");
StaticMeshesList->addItem(L"item");
StaticMeshesList->addItem(L"item");
StaticMeshesList2 = gui->addListBox(core::rect<int>(), this, STATIC_MESH_LIST, true);
StaticMeshesList2->addItem(L"item");
StaticMeshesList2->addItem(L"item");
StaticMeshesList2->addItem(L"item");
StaticMeshesList2->addItem(L"item");
StaticMeshesList2->addItem(L"item");
StaticMeshesList2->addItem(L"item");
StaticMeshesList2->addItem(L"item");
StaticMeshesList2->addItem(L"item");
StaticMeshesList2->addItem(L"item");
StaticMeshesList2->addItem(L"item");
}
Toolbar::~Toolbar()
{
//dtor
}
void Toolbar::ToggleDraw(){
Draw = !Draw;
}
void Toolbar::UpdateSize(){
int Width = gui->getVideoDriver()->getScreenSize().Width;
int Height = gui->getVideoDriver()->getScreenSize().Height;
position.LowerRightCorner.Y = Height-19;
position.LowerRightCorner.X = Width;
position.UpperLeftCorner.X = Width-Size;
position.UpperLeftCorner.Y = 19;
StaticMeshesList->setRelativePosition(core::rect<int>(0,0,190,140)+core::vector2d<int>(position.UpperLeftCorner.X+4,position.UpperLeftCorner.Y+24));
StaticMeshesList2->setRelativePosition(core::rect<int>(0,0,190,140)+core::vector2d<int>(position.UpperLeftCorner.X+4,position.UpperLeftCorner.Y+400));
}
void Toolbar::draw()
{
if(Draw){
int BorderSize = 1;
gui->getVideoDriver()->draw2DRectangle(video::SColor(255,100,100,100),core::rect<s32>(position.UpperLeftCorner+vector2di(0,0),position.LowerRightCorner+vector2di(BorderSize,0)));
gui->getVideoDriver()->draw2DRectangle(video::SColor(255,212,85,0),core::rect<s32>(position.UpperLeftCorner+vector2di(BorderSize,BorderSize),position.LowerRightCorner+vector2di(0,-BorderSize)));//orange
int temp = 0;
core::list<IGUIElement*>::Iterator it = Children.begin();
for (; it != Children.end(); ++it){
(*it)->draw();
std::cout<< temp++ << "\n";
}
StaticMeshesList->draw();
StaticMeshesList2->draw();
}
}
Sorry if this is an obvious question, but I can't figure it out
also I don't often post on the forums so I often don't provide enough information, sorry if I did that as well.