@@ -45,6 +45,7 @@ ExampleBrowserWindow::ExampleBrowserWindow() : UIWindow(L"Example Browser", 320,
4545 templateContainer->getRootNode ()->toggleCollapsed ();
4646
4747 templateContainer->getRootNode ()->addEventListener (this , UITreeEvent::SELECTED_EVENT);
48+ templateContainer->getRootNode ()->addEventListener (this , UITreeEvent::EXECUTED_EVENT);
4849
4950 vector<OSFileEntry> templates = OSBasics::parseFolder (RESOURCE_PATH" Standalone/Examples/Lua" , false );
5051 for (int i=0 ; i < templates.size (); i++) {
@@ -104,12 +105,21 @@ void ExampleBrowserWindow::handleEvent(Event *event) {
104105 }
105106 }
106107
107- if (event->getEventType () == " UITreeEvent" && event->getEventCode () == UITreeEvent::SELECTED_EVENT) {
108- if (event->getDispatcher () == templateContainer->getRootNode ()) {
109- UITreeEvent *treeEvent = (UITreeEvent*) event;
110- ExampleTemplateUserData *data = (ExampleTemplateUserData *)treeEvent->selection ->getUserData ();
111- if (data->type == 1 )
112- templateFolder = data->templateFolder ;
108+ if (event->getEventType () == " UITreeEvent" ) {
109+ if (event->getDispatcher () == templateContainer->getRootNode ()) {
110+ UITreeEvent *treeEvent = (UITreeEvent*)event;
111+ if (event->getEventCode () == UITreeEvent::SELECTED_EVENT){
112+ ExampleTemplateUserData *data = (ExampleTemplateUserData *)treeEvent->selection ->getUserData ();
113+ if (data->type == 1 )
114+ templateFolder = data->templateFolder ;
115+ }
116+ if (event->getEventCode () == UITreeEvent::EXECUTED_EVENT){
117+ UITree *node = treeEvent->selection ;
118+ if (node) {
119+ ExampleTemplateUserData *data = (ExampleTemplateUserData*)node->getUserData ();
120+ dispatchEvent (new UIEvent (), UIEvent::OK_EVENT);
121+ }
122+ }
113123 }
114124 }
115125
0 commit comments