mirror of
https://github.com/zetaPRIME/libstarlight.git
synced 2025-06-26 21:52:47 +00:00
basic form test
This commit is contained in:
parent
6ade2e8081
commit
10ac977cb1
@ -94,7 +94,7 @@ void Application::_mainLoop() {
|
||||
forms.sort(Form::OrderedCompare);
|
||||
|
||||
// reconstruct ui container heirarchy
|
||||
bool otouch, otop;
|
||||
bool otouch = false, otop = false;
|
||||
formTouchScreen->RemoveAll();
|
||||
formTopScreen->RemoveAll();
|
||||
|
||||
|
@ -30,6 +30,8 @@ using starlight::ui::Form;
|
||||
// STATIC MEMBERS //
|
||||
////////////////////
|
||||
|
||||
unsigned int Form::nextShowCounter = 0;
|
||||
|
||||
bool Form::OrderedCompare(std::shared_ptr<Form>& f1, std::shared_ptr<Form>& f2) { // acts as < operator
|
||||
if (!f1->IsVisible()) return true;
|
||||
if (f1->priority < f2->priority) return true;
|
||||
@ -41,6 +43,13 @@ bool Form::OrderedCompare(std::shared_ptr<Form>& f1, std::shared_ptr<Form>& f2)
|
||||
// INSTANCE MEMBERS //
|
||||
//////////////////////
|
||||
|
||||
Form::Form(bool useDefaults) {
|
||||
if (useDefaults) {
|
||||
touchScreen = std::make_shared<UIContainer>(VRect(0, 0, 320, 240));
|
||||
topScreen = std::make_shared<UIContainer>(VRect(0, 0, 400, 240));
|
||||
}
|
||||
}
|
||||
|
||||
void Form::Open() {
|
||||
auto app = Application::Current();
|
||||
if (app == nullptr) return;
|
||||
|
@ -24,7 +24,7 @@ namespace starlight {
|
||||
|
||||
open = 1 << 30
|
||||
};
|
||||
typedef std::underlying_type<FormFlags>::type FormFlags_t;
|
||||
//typedef std::underlying_type<FormFlags>::type FormFlags_t;
|
||||
|
||||
class Form;
|
||||
template<class F>
|
||||
@ -52,19 +52,20 @@ namespace starlight {
|
||||
// INSTANCE MEMBERS //
|
||||
//////////////////////
|
||||
private:
|
||||
unsigned int showCounter;
|
||||
unsigned int showCounter = 0;
|
||||
|
||||
protected:
|
||||
//
|
||||
|
||||
public:
|
||||
int priority;
|
||||
unsigned int flags;
|
||||
int priority = 0;
|
||||
unsigned int flags = 0;
|
||||
|
||||
std::shared_ptr<UIContainer> touchScreen = nullptr;
|
||||
std::shared_ptr<UIContainer> topScreen = nullptr;
|
||||
|
||||
Form() { }
|
||||
Form(bool useDefaults);
|
||||
virtual ~Form() { }
|
||||
|
||||
void Open();
|
||||
|
@ -57,6 +57,15 @@ void Core::Init() {
|
||||
label->SetFont("default.12");
|
||||
btn.SetText("Clicked again!\nBunch of lines!\nNow testing scrollarea fling with some extra size!\n\n\nPotato.\nCalamari sandwich on rye with a side of octagonal pimento; a jar of butter?");
|
||||
btn.rect.size.y = 573;
|
||||
|
||||
auto form = std::make_shared<sl::ui::Form>(true);
|
||||
auto label = std::make_shared<sl::ui::Label>(VRect(0,0,320,0));
|
||||
label->autoSizeV = true;
|
||||
label->SetText("This is a form, coming in and nuking the non-form UI elements. Whoops.");
|
||||
form->topScreen->Add(label);
|
||||
form->Open();
|
||||
form->Show();
|
||||
if (!form->GetFlag(sl::ui::FormFlags::open)) btn.SetText("fuck.");
|
||||
};
|
||||
};
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user