|
@@ -46,6 +46,7 @@
|
|
|
#include <guiRollover.h>
|
|
#include <guiRollover.h>
|
|
|
#include <guiButton.h>
|
|
#include <guiButton.h>
|
|
|
#include <guiFrame.h>
|
|
#include <guiFrame.h>
|
|
|
|
|
+#include <guiSign.h>
|
|
|
|
|
|
|
|
//From framework
|
|
//From framework
|
|
|
extern PT(GeomNode) geomnode;
|
|
extern PT(GeomNode) geomnode;
|
|
@@ -303,6 +304,7 @@ static void test6(GuiManager* mgr, Node* font) {
|
|
|
f1->manage(mgr, event_handler);
|
|
f1->manage(mgr, event_handler);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+/*
|
|
|
GuiManager* g_mgr;
|
|
GuiManager* g_mgr;
|
|
|
PT(GuiButton) b1;
|
|
PT(GuiButton) b1;
|
|
|
PT(GuiButton) b4;
|
|
PT(GuiButton) b4;
|
|
@@ -405,6 +407,70 @@ static void test7(GuiManager* mgr, Node* font) {
|
|
|
f1->recompute();
|
|
f1->recompute();
|
|
|
f1->manage(mgr, event_handler);
|
|
f1->manage(mgr, event_handler);
|
|
|
}
|
|
}
|
|
|
|
|
+*/
|
|
|
|
|
+
|
|
|
|
|
+GuiManager* g_mgr;
|
|
|
|
|
+PT(GuiSign) s1;
|
|
|
|
|
+PT(GuiSign) s4;
|
|
|
|
|
+PT(GuiSign) s5;
|
|
|
|
|
+PT(GuiFrame) f1;
|
|
|
|
|
+static bool frame_state = true;
|
|
|
|
|
+
|
|
|
|
|
+static void test8(GuiManager* mgr, Node* font) {
|
|
|
|
|
+ f1 = new GuiFrame("canids");
|
|
|
|
|
+ GuiLabel* l1 = GuiLabel::make_simple_text_label("dingo", font);
|
|
|
|
|
+ l1->set_foreground_color(0., 0., 0., 1.);
|
|
|
|
|
+ l1->set_background_color(1., 1., 1., 1.);
|
|
|
|
|
+ s1 = new GuiSign("dingo", l1);
|
|
|
|
|
+ s1->set_scale(0.1);
|
|
|
|
|
+ f1->add_item(s1);
|
|
|
|
|
+ GuiLabel* l2 = GuiLabel::make_simple_text_label("jackel", font);
|
|
|
|
|
+ l2->set_foreground_color(0., 0., 0., 1.);
|
|
|
|
|
+ l2->set_background_color(1., 1., 1., 1.);
|
|
|
|
|
+ GuiSign* s2 = new GuiSign("jackel", l2);
|
|
|
|
|
+ s2->set_scale(0.1);
|
|
|
|
|
+ f1->add_item(s2);
|
|
|
|
|
+ GuiLabel* l3 = GuiLabel::make_simple_text_label("hyena", font);
|
|
|
|
|
+ l3->set_foreground_color(0., 0., 0., 1.);
|
|
|
|
|
+ l3->set_background_color(1., 1., 1., 1.);
|
|
|
|
|
+ GuiSign* s3 = new GuiSign("jackel", l3);
|
|
|
|
|
+ s3->set_scale(0.1);
|
|
|
|
|
+ f1->add_item(s3);
|
|
|
|
|
+ GuiLabel* l4 = GuiLabel::make_simple_text_label("wolf", font);
|
|
|
|
|
+ l4->set_foreground_color(0., 0., 0., 1.);
|
|
|
|
|
+ l4->set_background_color(1., 1., 1., 1.);
|
|
|
|
|
+ s4 = new GuiSign("wolf", l4);
|
|
|
|
|
+ s4->set_scale(0.1);
|
|
|
|
|
+ f1->add_item(s4);
|
|
|
|
|
+ GuiLabel* l5 = GuiLabel::make_simple_text_label("fox", font);
|
|
|
|
|
+ l5->set_foreground_color(0., 0., 0., 1.);
|
|
|
|
|
+ l5->set_background_color(1., 1., 1., 1.);
|
|
|
|
|
+ s5 = new GuiSign("fox", l5);
|
|
|
|
|
+ s5->set_scale(0.1);
|
|
|
|
|
+ f1->pack_item(s2, GuiFrame::UNDER, s1);
|
|
|
|
|
+ f1->pack_item(s2, GuiFrame::LEFT, s1);
|
|
|
|
|
+ f1->pack_item(s3, GuiFrame::UNDER, s1);
|
|
|
|
|
+ f1->pack_item(s3, GuiFrame::RIGHT, s1);
|
|
|
|
|
+ f1->pack_item(s4, GuiFrame::UNDER, s1);
|
|
|
|
|
+ f1->pack_item(s4, GuiFrame::ALIGN_LEFT, s1);
|
|
|
|
|
+ float w, w1, w2;
|
|
|
|
|
+ w1 = l1->get_width();
|
|
|
|
|
+ w2 = l2->get_width();
|
|
|
|
|
+ w = (w1>w2)?w1:w2;
|
|
|
|
|
+ w2 = l3->get_width();
|
|
|
|
|
+ w = (w>w2)?w:w2;
|
|
|
|
|
+ w2 = l4->get_width();
|
|
|
|
|
+ w = (w>w2)?w:w2;
|
|
|
|
|
+ w2 = l5->get_width();
|
|
|
|
|
+ w = (w>w2)?w:w2;
|
|
|
|
|
+ l1->set_width(w);
|
|
|
|
|
+ l2->set_width(w);
|
|
|
|
|
+ l3->set_width(w);
|
|
|
|
|
+ l4->set_width(w);
|
|
|
|
|
+ l5->set_width(w);
|
|
|
|
|
+ f1->recompute();
|
|
|
|
|
+ f1->manage(mgr, event_handler);
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
static void setup_gui(void) {
|
|
static void setup_gui(void) {
|
|
|
GuiManager* mgr = GuiManager::get_ptr(main_win, mak);
|
|
GuiManager* mgr = GuiManager::get_ptr(main_win, mak);
|
|
@@ -422,7 +488,10 @@ static void setup_gui(void) {
|
|
|
// test 6
|
|
// test 6
|
|
|
// test6(mgr, font);
|
|
// test6(mgr, font);
|
|
|
// test 7
|
|
// test 7
|
|
|
- test7(mgr, font);
|
|
|
|
|
|
|
+ // test7(mgr, font);
|
|
|
|
|
+ // g_mgr = mgr;
|
|
|
|
|
+ // test 8
|
|
|
|
|
+ test8(mgr, font);
|
|
|
g_mgr = mgr;
|
|
g_mgr = mgr;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -434,6 +503,7 @@ static void event_2(CPT_Event) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+/*
|
|
|
// for test 7
|
|
// for test 7
|
|
|
static void event_3(CPT_Event) {
|
|
static void event_3(CPT_Event) {
|
|
|
if (frame_state) {
|
|
if (frame_state) {
|
|
@@ -452,6 +522,26 @@ static void event_3(CPT_Event) {
|
|
|
f1->recompute();
|
|
f1->recompute();
|
|
|
frame_state = !frame_state;
|
|
frame_state = !frame_state;
|
|
|
}
|
|
}
|
|
|
|
|
+*/
|
|
|
|
|
+
|
|
|
|
|
+// for test 8
|
|
|
|
|
+static void event_3(CPT_Event) {
|
|
|
|
|
+ if (frame_state) {
|
|
|
|
|
+ f1->remove_item(s4);
|
|
|
|
|
+ f1->add_item(s5);
|
|
|
|
|
+ f1->pack_item(s5, GuiFrame::UNDER, s1);
|
|
|
|
|
+ f1->pack_item(s5, GuiFrame::ALIGN_LEFT, s1);
|
|
|
|
|
+ s5->manage(g_mgr, event_handler);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ f1->remove_item(s5);
|
|
|
|
|
+ f1->add_item(s4);
|
|
|
|
|
+ f1->pack_item(s4, GuiFrame::UNDER, s1);
|
|
|
|
|
+ f1->pack_item(s4, GuiFrame::ALIGN_LEFT, s1);
|
|
|
|
|
+ s4->manage(g_mgr, event_handler);
|
|
|
|
|
+ }
|
|
|
|
|
+ f1->recompute();
|
|
|
|
|
+ frame_state = !frame_state;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
void gui_keys(EventHandler&) {
|
|
void gui_keys(EventHandler&) {
|
|
|
new RenderRelation( lights, dlight );
|
|
new RenderRelation( lights, dlight );
|