//---------------------------------------------------- // Constructor. Creates all of the widgets. // Add new widgets here //---------------------------------------------------- JetpackUI::JetpackUI() { // Initialize sprites = new Sprites(); animating = false; level_cache = NULL; // Create the main window m_mainWindow = new Fl_Double_Window(DEFAULT_WIDTH, DEFAULT_HEIGHT, "Jetpack"); m_mainWindow->user_data((void*)(this)); // record self to be used by static callback functions // install menu bar m_menubar_editor = new Fl_Menu_Bar(0, 0, DEFAULT_WIDTH, DEFAULT_MARGIN); m_menubar_editor->menu(menuitems_e); m_menubar_gamePlay = new Fl_Menu_Bar(0, 0, DEFAULT_WIDTH, DEFAULT_MARGIN); m_menubar_gamePlay->menu(menuitems_g); m_menubar_gamePlay->hide(); m_menubar_editor->show(); Fl_Group* group_f = new Fl_Group(0, DEFAULT_MARGIN, DEFAULT_WIDTH, DEFAULT_HEIGHT); LoadingMenu *loader = new LoadingMenu(0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, "Load Level", this); group_f->end(); group_f->hide(); Fl_Group* group_h = new Fl_Group(0, DEFAULT_MARGIN, DEFAULT_WIDTH, DEFAULT_HEIGHT); SavingMenu *saver = new SavingMenu(0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, "Save Level", this); group_h->end(); group_h->hide(); Fl_Group* group_g = new Fl_Group(0, DEFAULT_MARGIN, DEFAULT_WIDTH, DEFAULT_HEIGHT); // install editor view window Maestro *game = new Maestro(0, DEFAULT_MARGIN, DEFAULT_WIDTH, DEFAULT_HEIGHT - DEFAULT_MARGIN, this, ""); group_g->end(); group_g->hide(); Fl_Group* group_e = new Fl_Group(0, DEFAULT_MARGIN, DEFAULT_WIDTH, DEFAULT_HEIGHT); // install gameplay view window Editor *editor = new Editor(0, DEFAULT_MARGIN, DEFAULT_WIDTH, DEFAULT_HEIGHT - DEFAULT_MARGIN, ""); editor->m_UI = this; group_e->end(); //group_e->hide(); m_mainWindow->end(); //// Set dimensions m_nPaintWidth = m_nWidth = DEFAULT_WIDTH; m_nPaintHeight = m_nHeight = DEFAULT_HEIGHT - DEFAULT_MARGIN; m_editor_group = group_e; m_gamePlay_group = group_g; m_load_group = group_f; m_save_group = group_h; m_editor = editor; m_gamePlay = game; m_loader = loader; m_saver = saver; m_current = editor; m_mainWindow->iconize(); // IMPORTANT startAnimating(); Fl_Widget * icon = fl_message_icon(); icon->hide(); }
void preset_click (Fl_Button * o, void *) { int ok; char temp2[128]; long long kk = (long long) o->user_data (); int num = (int) kk; int tecla = Fl::event_key (); if (Fl::event_button () == 3) { Fl_Widget *w = gui.ob->child (num); if (strlen (Banco[num].Name) > 0) { Fl_Widget *m = fl_message_icon (); m->parent ()->copy_label ("goomf"); sprintf (temp2, "Overwrite? \"%s\"", w->label ()); ok = fl_choice (temp2, "No", "Yes", NULL); if (!ok) return; } strcpy (Name, gui.Pname->value ()); preset_to_bank (num); w->copy_label (gui.Pname->value ()); Haz_laristra (); Send_laristra (); } if ((Fl::event_button () == 1) || tecla == 32) { gui.PresetSelect->value (num); Put_Combi (num); gui.ready = 2; } }