void NBEditor::updateProperties() { IGUIElement* prop = state->menu->sidebar->getElementFromId(ENB_GUI_PROP); Node* node = state->project->GetCurrentNode(); if (!prop || !node) { return; } NodeBox* nb = node->GetCurrentNodeBox(); if (!nb) { return; } try { irr::core::stringc name = prop->getElementFromId(ENB_GUI_PROP_NAME)->getText(); nb->name = str_replace(std::string(name.c_str(), name.size()), ' ', '_'); nb->one.X = wcstod(prop->getElementFromId(ENB_GUI_PROP_X1)->getText(), NULL); nb->one.Y = wcstod(prop->getElementFromId(ENB_GUI_PROP_Y1)->getText(), NULL); nb->one.Z = wcstod(prop->getElementFromId(ENB_GUI_PROP_Z1)->getText(), NULL); nb->two.X = wcstod(prop->getElementFromId(ENB_GUI_PROP_X2)->getText(), NULL); nb->two.Y = wcstod(prop->getElementFromId(ENB_GUI_PROP_Y2)->getText(), NULL); nb->two.Z = wcstod(prop->getElementFromId(ENB_GUI_PROP_Z2)->getText(), NULL); node->remesh(); load_ui(); } catch (void* e) { state->device->getGUIEnvironment()->addMessageBox(L"Update failed", L"Please check that the properties contain only numbers."); } }
GtkWidget* create_window_training_camp (void) { GtkWidget *window_training_camp; GtkBuilder *builder; builder = load_ui(file_find_support_file("bygfoot_training.glade", TRUE)); window_training_camp = GTK_WIDGET (gtk_builder_get_object (builder, "window_training_camp")); /* Store pointers to all widgets, for use by lookup_widget(). */ GTK_HOOKUP_OBJECT (window_training_camp, builder, "tf_costs"); GTK_HOOKUP_OBJECT (window_training_camp, builder, "rb_camp1"); GTK_HOOKUP_OBJECT (window_training_camp, builder, "rb_camp2"); GTK_HOOKUP_OBJECT (window_training_camp, builder, "rb_camp3"); GTK_HOOKUP_OBJECT (window_training_camp, builder, "l_costs"); GTK_HOOKUP_OBJECT (window_training_camp, builder, "l_recreation"); GTK_HOOKUP_OBJECT (window_training_camp, builder, "l_training"); GTK_HOOKUP_OBJECT (window_training_camp, builder, "l_camp_points"); GTK_HOOKUP_OBJECT (window_training_camp, builder, "hs_recreation"); GTK_HOOKUP_OBJECT (window_training_camp, builder, "hs_training"); GTK_HOOKUP_OBJECT (window_training_camp, builder, "hs_camp_points"); GTK_HOOKUP_OBJECT (window_training_camp, builder, "checkbutton_save"); /* free memory used by GtkBuilder object */ g_object_unref (G_OBJECT (builder)); return window_training_camp; }
static FFTHDCALL int gui_worker(void *param) { ffui_init(); ffui_wnd_initstyle(); if (0 != load_ui()) goto err; wmain_init(); wabout_init(); wuri_init(); if (gg->conf.autosave_playlists) corecmd_add(LOADLISTS, NULL); FF_WRITEONCE(gg->state, 1); dbglog("entering UI loop"); ffui_run(); dbglog("exited UI loop"); corecmd_add(A_ONCLOSE, NULL); goto done; err: FF_WRITEONCE(gg->state, 1); gg->load_err = 1; done: ffui_uninit(); return 0; }
GtkWidget* create_window_startup (void) { GtkWidget *window_startup; GtkBuilder *builder; builder = load_ui(file_find_support_file("bygfoot_misc.glade", TRUE)); window_startup = GTK_WIDGET (gtk_builder_get_object (builder, "window_startup")); /* Store pointers to all widgets, for use by lookup_widget(). */ GTK_HOOKUP_OBJECT (window_startup, builder, "combo_country"); GTK_HOOKUP_OBJECT (window_startup, builder, "treeview_startup"); GTK_HOOKUP_OBJECT (window_startup, builder, "combobox_start_league"); GTK_HOOKUP_OBJECT (window_startup, builder, "button_add_player"); GTK_HOOKUP_OBJECT (window_startup, builder, "treeview_users"); GTK_HOOKUP_OBJECT (window_startup, builder, "entry_player_name"); GTK_HOOKUP_OBJECT (window_startup, builder, "team_selection_ok"); GTK_HOOKUP_OBJECT (window_startup, builder, "radiobutton_team_def_load"); GTK_HOOKUP_OBJECT (window_startup, builder, "radiobutton_team_def_names"); GTK_HOOKUP_OBJECT (window_startup, builder, "checkbutton_randomise_teams"); /* free memory used by GtkBuilder object */ g_object_unref (G_OBJECT (builder)); return window_startup; }
GtkWidget* create_window_stadium (void) { GtkWidget *window_stadium; GtkBuilder *builder; builder = load_ui(file_find_support_file("bygfoot_misc.glade", TRUE)); window_stadium = GTK_WIDGET (gtk_builder_get_object (builder, "window_stadium")); /* Store pointers to all widgets, for use by lookup_widget(). */ GTK_HOOKUP_OBJECT (window_stadium, builder, "label_capacity"); GTK_HOOKUP_OBJECT (window_stadium, builder, "label_stadium_status"); GTK_HOOKUP_OBJECT (window_stadium, builder, "label_average_attendance"); GTK_HOOKUP_OBJECT (window_stadium, builder, "label_stadium_name"); GTK_HOOKUP_OBJECT (window_stadium, builder, "spin_ticket_price"); GTK_HOOKUP_OBJECT (window_stadium, builder, "progressbar_safety"); GTK_HOOKUP_OBJECT (window_stadium, builder, "progressbar_average_attendance"); GTK_HOOKUP_OBJECT (window_stadium, builder, "spinbutton_capacity"); GTK_HOOKUP_OBJECT (window_stadium, builder, "spinbutton_safety"); GTK_HOOKUP_OBJECT (window_stadium, builder, "label_costs_capacity"); GTK_HOOKUP_OBJECT (window_stadium, builder, "label_costs_safety"); GTK_HOOKUP_OBJECT (window_stadium, builder, "label_duration_capacity"); GTK_HOOKUP_OBJECT (window_stadium, builder, "label_duration_safety"); GTK_HOOKUP_OBJECT (window_stadium, builder, "label_costs_capacity"); GTK_HOOKUP_OBJECT (window_stadium, builder, "label_costs_safety"); GTK_HOOKUP_OBJECT (window_stadium, builder, "label_duration_capacity"); GTK_HOOKUP_OBJECT (window_stadium, builder, "label_duration_safety"); /* free memory used by GtkBuilder object */ g_object_unref (G_OBJECT (builder)); return window_stadium; }
/* When this is called we know that the frontend is in sync with the * simulator which has just sent the frontend a ui-update that has * been applied and so we can apply edits without fear of conflicting * with the simulator... */ static void ui_load_cb(rig_frontend_t *frontend, void *user_data) { rig_slave_t *slave = user_data; rut_closure_disconnect_FIXME(slave->ui_load_closure); slave->ui_load_closure = NULL; load_ui(slave); }
bool NBEditor::OnEvent(const irr::SEvent &event){ if (event.EventType == EET_GUI_EVENT){ if (event.GUIEvent.EventType == EGET_BUTTON_CLICKED){ switch (event.GUIEvent.Caller->getID()){ case GUI_PROJ_NEW_BOX: { Node* node = GetState()->project->GetCurrentNode(); if (node){ printf("Clicked add nb!\n"); node->addNodeBox(); load_ui(); } } break; case GUI_PROJ_DELETE_BOX: { Node* node = GetState()->project->GetCurrentNode(); IGUIListBox* lb = (IGUIListBox*) GetState()->Menu()->GetSideBar()->getElementFromId(GUI_SIDEBAR_LISTBOX); if (node && node->GetNodeBox(lb->getSelected())){ printf("Clicked delete nb!\n"); node->deleteNodebox(lb->getSelected()); load_ui(); } } break; } }else if (event.GUIEvent.EventType == EGET_LISTBOX_CHANGED){ Node* node = GetState()->project->GetCurrentNode(); IGUIListBox* lb = (IGUIListBox*) GetState()->Menu()->GetSideBar()->getElementFromId(GUI_SIDEBAR_LISTBOX); if (node && lb && node->GetNodeBox(lb->getSelected())){ node->select(lb->getSelected()); load_ui(); } } } return false; }
GtkWidget* create_window_font_sel (void) { GtkWidget *window_font_sel; GtkBuilder *builder; builder = load_ui(file_find_support_file("bygfoot_misc.glade", TRUE)); window_font_sel = GTK_WIDGET (gtk_builder_get_object (builder, "window_font_sel")); /* Store pointers to all widgets, for use by lookup_widget(). */ /* free memory used by GtkBuilder object */ g_object_unref (G_OBJECT (builder)); return window_font_sel; }
void NBEditor::load() { IGUIStaticText* sidebar = state->menu->sidebar; IGUIEnvironment* guienv = state->device->getGUIEnvironment(); if (sidebar) { sidebar->setText(L"Node Box Tool"); IGUIStaticText* t = guienv->addStaticText(L"No node selected", rect<s32>(20, 30, 140, 100), false, true, sidebar, ENB_GUI_MAIN_MSG); IGUIListBox* lb = guienv->addListBox(rect<s32>(20, 30, 230, 128), sidebar, ENB_GUI_MAIN_LISTBOX, true); if (lb) { lb->setVisible(false); IGUIButton* b1 = guienv->addButton(rect<s32>(0, 100, 50, 125), lb, GUI_PROJ_NEW_BOX, L"+", L"Add a node box"); IGUIButton* b2 = guienv->addButton(rect<s32>(60, 100, 110,125), lb, GUI_PROJ_DELETE_BOX, L"-", L"Delete node box"); b1->setNotClipped(true); b2->setNotClipped(true); } // Create nodebox properties t = guienv->addStaticText(L"Properties", rect<s32>(0, 170, 120, 190), false, true, sidebar, ENB_GUI_PROP); t->setVisible(false); // Add name properties box guienv->addStaticText(L"Name:", rect<s32>(10, 30, 50, 50), false, true, t)->setNotClipped(true); guienv->addEditBox(L"", rect<s32>(60, 30, 210, 50), true, t, ENB_GUI_PROP_NAME)->setNotClipped(true); // Add positioning addXYZ(t, guienv, vector2di(10, 60), ENB_GUI_PROP_X1); addXYZ(t, guienv, vector2di(10, 160), ENB_GUI_PROP_X2); // 60 // Add buttons guienv->addButton(rect<s32>(30, 250, 100, 280), t, ENB_GUI_PROP_UPDATE, L"Update", L"")->setNotClipped(true); guienv->addButton(rect<s32>(110, 250, 180, 280), t, ENB_GUI_PROP_REVERT, L"Revert", L"")->setNotClipped(true); } load_ui(); }
GtkWidget* create_window_sponsors (void) { GtkWidget *window_sponsors; GtkBuilder *builder; builder = load_ui(file_find_support_file("bygfoot_misc.glade", TRUE)); window_sponsors = GTK_WIDGET (gtk_builder_get_object (builder, "window_sponsors")); /* Store pointers to all widgets, for use by lookup_widget(). */ GTK_HOOKUP_OBJECT (window_sponsors, builder, "treeview_sponsors"); /* free memory used by GtkBuilder object */ g_object_unref (G_OBJECT (builder)); return window_sponsors; }
void NBEditor::load(){ IGUIStaticText* sidebar = GetState()->Menu()->GetSideBar(); IGUIEnvironment* guienv = GetState()->GetDevice()->getGUIEnvironment(); sidebar->setText(L"Node boxes"); IGUIStaticText* t = guienv->addStaticText(L"No node selected",rect<s32>(20,30,140,100),false,true,sidebar,GUI_SIDEBAR_LABEL); if (t) t->setVisible(false); IGUIListBox* lb = guienv->addListBox(rect<s32>(20,30,230,128),sidebar,GUI_SIDEBAR_LISTBOX,true); if (lb){ lb->setVisible(false); IGUIButton* b = guienv->addButton(rect<s32>(20-20,130-30,70-20,155-30),lb,GUI_PROJ_NEW_BOX,L"+",L"Add a node box"); IGUIButton* c = guienv->addButton(rect<s32>(80-20,130-30,130-20,155-30),lb,GUI_PROJ_DELETE_BOX,L"-",L"Delete node box"); b->setNotClipped(true); c->setNotClipped(true); } load_ui(); }
GtkWidget* create_window_live (void) { GtkWidget *window_live; GtkBuilder *builder; builder = load_ui(file_find_support_file("bygfoot_misc.glade", TRUE)); window_live = GTK_WIDGET (gtk_builder_get_object (builder, "window_live")); /* Store pointers to all widgets, for use by lookup_widget(). */ GTK_HOOKUP_OBJECT (window_live, builder, "button_live_close"); GTK_HOOKUP_OBJECT (window_live, builder, "button_pause"); GTK_HOOKUP_OBJECT (window_live, builder, "button_resume"); GTK_HOOKUP_OBJECT (window_live, builder, "eventbox_poss0"); GTK_HOOKUP_OBJECT (window_live, builder, "eventbox_poss1"); GTK_HOOKUP_OBJECT (window_live, builder, "hscale_area"); GTK_HOOKUP_OBJECT (window_live, builder, "image_lg_boost"); GTK_HOOKUP_OBJECT (window_live, builder, "image_lg_opp_boost"); GTK_HOOKUP_OBJECT (window_live, builder, "image_lg_opp_style"); GTK_HOOKUP_OBJECT (window_live, builder, "image_lg_style"); GTK_HOOKUP_OBJECT (window_live, builder, "label_lg_avskill"); GTK_HOOKUP_OBJECT (window_live, builder, "label_lg_formation"); GTK_HOOKUP_OBJECT (window_live, builder, "progressbar_live"); GTK_HOOKUP_OBJECT (window_live, builder, "scrolledwindow9"); GTK_HOOKUP_OBJECT (window_live, builder, "spinbutton_speed"); GTK_HOOKUP_OBJECT (window_live, builder, "spinbutton_verbosity"); GTK_HOOKUP_OBJECT (window_live, builder, "treeview_commentary"); GTK_HOOKUP_OBJECT (window_live, builder, "treeview_lg_opponent"); GTK_HOOKUP_OBJECT (window_live, builder, "treeview_result"); GTK_HOOKUP_OBJECT (window_live, builder, "treeview_stats"); GTK_HOOKUP_OBJECT (window_live, builder, "eventbox_lg_style"); GTK_HOOKUP_OBJECT (window_live, builder, "eventbox_lg_boost"); /* free memory used by GtkBuilder object */ g_object_unref (G_OBJECT (builder)); return window_live; }
bool NBEditor::OnEvent(const irr::SEvent &event) { if (event.EventType == EET_GUI_EVENT) { if (event.GUIEvent.EventType == EGET_BUTTON_CLICKED) { switch (event.GUIEvent.Caller->getID()) { case GUI_PROJ_NEW_BOX: { Node* node = state->project->GetCurrentNode(); if (node) { node->addNodeBox(); load_ui(); } break; } case GUI_PROJ_DELETE_BOX: { Node* node = state->project->GetCurrentNode(); IGUIListBox* lb = (IGUIListBox*) state->menu->sidebar->getElementFromId(ENB_GUI_MAIN_LISTBOX); if (node && node->GetNodeBox(lb->getSelected())){ node->deleteNodebox(lb->getSelected()); load_ui(); } break; } case ENB_GUI_PROP_REVERT: fillProperties(); break; case ENB_GUI_PROP_UPDATE: updateProperties(); break; } } else if (event.GUIEvent.EventType == EGET_LISTBOX_CHANGED) { Node* node = state->project->GetCurrentNode(); IGUIListBox* lb = (IGUIListBox*) state->menu->sidebar->getElementFromId(ENB_GUI_MAIN_LISTBOX); if (node && lb && node->GetNodeBox(lb->getSelected())){ node->select(lb->getSelected()); } load_ui(); } } else if (event.EventType == EET_KEY_INPUT_EVENT && !event.KeyInput.PressedDown) { if (event.KeyInput.Key == KEY_RETURN) { updateProperties(); return false; } if ( state->device->getGUIEnvironment()->getFocus() && state->device->getGUIEnvironment()->getFocus()->getType() == EGUIET_EDIT_BOX) { return false; } if (event.KeyInput.Key == KEY_INSERT) { Node *node = state->project->GetCurrentNode(); if (node) { node->addNodeBox(); load_ui(); } } else if (event.KeyInput.Key == KEY_DELETE) { Node* node = state->project->GetCurrentNode(); IGUIListBox* lb = (IGUIListBox*) state->menu->sidebar->getElementFromId(ENB_GUI_MAIN_LISTBOX); if (node && node->GetNodeBox(lb->getSelected())) { node->deleteNodebox(lb->getSelected()); } load_ui(); } else if (event.KeyInput.Key == KEY_DOWN) { IGUIListBox* lb = (IGUIListBox*) state->menu->sidebar->getElementFromId(ENB_GUI_MAIN_LISTBOX); Node* node = state->project->GetCurrentNode(); if (node) { int idx = node->GetId(); if (lb && idx < node->boxes.size() - 1){ node->select(idx + 1); } } load_ui(); } else if (event.KeyInput.Key == KEY_UP) { IGUIListBox* lb = (IGUIListBox*) state->menu->sidebar->getElementFromId(ENB_GUI_MAIN_LISTBOX); Node* node = state->project->GetCurrentNode(); if (node) { int idx = node->GetId(); if (lb && idx > 0) { node->select(idx - 1); } } load_ui(); } } return false; }