From 14271a8d758c086e0762e7ad0d649dabc8848191 Mon Sep 17 00:00:00 2001 From: pixel Date: Fri, 16 Jul 2004 15:04:52 +0000 Subject: Structuring mogltk into PSX-Bundle, and commiting latest changes --- src/test.cc | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/test.cc b/src/test.cc index 45d758c..3219004 100644 --- a/src/test.cc +++ b/src/test.cc @@ -698,14 +698,48 @@ virtual int startup() throw (GeneralException) { new mogltk::widgets::Frame(sh, w, 10, 10, 600, 400); //new mogltk::widgets::MsgBox(sh, w, "Test", "Blablabla\nCeci est un test de la\nclasse MsgBox."); - mogltk::widgets::ContextMenu * c = new mogltk::widgets::ContextMenu(sh, w, 20, 20), * c2; - mogltk::widget * sm; - mogltk::rect r; + class tLabel : public mogltk::widgets::Label { + public: + tLabel(mogltk::shape * sh, mogltk::widget * father) : Label(sh, father, 250, 200, 16, 16, "I"), tick(0) { set_timed_event(500); } + virtual bool process_event(int mx, int my, mogltk::event_t event) { + if (Label::process_event(mx, my, event)) + return true; + + if (event == mogltk::E_TIMER) { + set_timed_event(500); + tick = (tick + 1) % 4; + switch (tick) { + case 0: + caption = "I"; + break; + case 1: + caption = "/"; + break; + case 2: + caption = "-"; + break; + case 3: + caption = "\\"; + break; + } + } + } + private: + int tick; + }; - sm = new mogltk::widgets::SmartBox(sh, w, 250, 300, 100, 70, "SmartBox"); - r = sm->GetDrawRect(); - new mogltk::widgets::Menu(sh, w); + mogltk::widgets::ContextMenu * c, * c2; + //c = new mogltk::widgets::ContextMenu(sh, w, 20, 20); + mogltk::widgets::Menu * sm; + new mogltk::widgets::SmartBox(sh, w, 250, 300, 100, 70, "SmartBox"); + sm = new mogltk::widgets::Menu(sh, w); + + sm->addnode("Toto", 0); + sm->addnode("Titi", 0); + sm->addnode("Tutu", 0); + +#if 0 c->addnode("Test", 0); c->addnode("Test2", 0); c->addline(); @@ -716,6 +750,20 @@ virtual int startup() throw (GeneralException) { c2->addnode("A sub", 0); c2->createsub("subsub")->addnode("Toto", 0); c2->SetEnabled(0, false); +#endif + + c = sm->createsub("Sub Menu"); + c->addnode("Blah1", 0); + c->addnode("Blah2", 0); + c->addnode("Blah3", 0); + c->addline(); + c2 = c->createsub("SubBlah"); + c2->addnode("SubBlah1", 0); + c2->addnode("SubBlah2", 0); + + sm->MoveOnTop(); + + new tLabel(sh, w); w->mainloop(); -- cgit v1.2.3