// generated by Fast Light User Interface Designer (fluid) version 1.0106

#include <iostream>
// using std::cout;
using std::endl;

#include "fgadmin.h"
#include <FL/fl_ask.H>

inline void FGAdminUI::cb_main_window_i(Fl_Double_Window*, void*) {
  fl_alert("Use the Quit button to exit fgadmin");
}
void FGAdminUI::cb_main_window(Fl_Double_Window* o, void* v) {
  ((FGAdminUI*)(o->user_data()))->cb_main_window_i(o,v);
}

inline void FGAdminUI::cb_quit_b_i(Fl_Button*, void*) {
  quit();
}
void FGAdminUI::cb_quit_b(Fl_Button* o, void* v) {
  ((FGAdminUI*)(o->parent()->parent()->user_data()))->cb_quit_b_i(o,v);
}

inline void FGAdminUI::cb_source_b_i(Fl_Button*, void*) {
  select_install_source();
refresh_lists();
}
void FGAdminUI::cb_source_b(Fl_Button* o, void* v) {
  ((FGAdminUI*)(o->parent()->parent()->parent()->user_data()))->cb_source_b_i(o,v);
}

inline void FGAdminUI::cb_install_b_i(Fl_Button*, void*) {
  install_selected();
}
void FGAdminUI::cb_install_b(Fl_Button* o, void* v) {
  ((FGAdminUI*)(o->parent()->parent()->parent()->user_data()))->cb_install_b_i(o,v);
}

inline void FGAdminUI::cb_source_sel_all_i(Fl_Button*, void*) {
  install_box->check_all();
}
void FGAdminUI::cb_source_sel_all(Fl_Button* o, void* v) {
  ((FGAdminUI*)(o->parent()->parent()->parent()->user_data()))->cb_source_sel_all_i(o,v);
}

inline void FGAdminUI::cb_source_desel_all_i(Fl_Button*, void*) {
  install_box->check_none();
}
void FGAdminUI::cb_source_desel_all(Fl_Button* o, void* v) {
  ((FGAdminUI*)(o->parent()->parent()->parent()->user_data()))->cb_source_desel_all_i(o,v);
}

inline void FGAdminUI::cb_dest_b_i(Fl_Button*, void*) {
  select_install_dest();
refresh_lists();
}
void FGAdminUI::cb_dest_b(Fl_Button* o, void* v) {
  ((FGAdminUI*)(o->parent()->parent()->parent()->user_data()))->cb_dest_b_i(o,v);
}

inline void FGAdminUI::cb_remove_b_i(Fl_Button*, void*) {
  remove_selected();
}
void FGAdminUI::cb_remove_b(Fl_Button* o, void* v) {
  ((FGAdminUI*)(o->parent()->parent()->parent()->user_data()))->cb_remove_b_i(o,v);
}

inline void FGAdminUI::cb_dest_sel_all_i(Fl_Button*, void*) {
  remove_box->check_all();
}
void FGAdminUI::cb_dest_sel_all(Fl_Button* o, void* v) {
  ((FGAdminUI*)(o->parent()->parent()->parent()->user_data()))->cb_dest_sel_all_i(o,v);
}

inline void FGAdminUI::cb_dest_desel_all_i(Fl_Button*, void*) {
  remove_box->check_none();
}
void FGAdminUI::cb_dest_desel_all(Fl_Button* o, void* v) {
  ((FGAdminUI*)(o->parent()->parent()->parent()->user_data()))->cb_dest_desel_all_i(o,v);
}

FGAdminUI::FGAdminUI() {
  Fl_Double_Window* w;
  { Fl_Double_Window* o = main_window = new Fl_Double_Window(465, 435, "FlightGear Admin Wizard");
    w = o;
    o->callback((Fl_Callback*)cb_main_window, (void*)(this));
    { Fl_Group* o = new Fl_Group(5, 405, 455, 25);
      { Fl_Button* o = quit_b = new Fl_Button(375, 405, 85, 25, "Quit");
        o->callback((Fl_Callback*)cb_quit_b);
      }
      { Fl_Progress* o = progress = new Fl_Progress(5, 405, 365, 25);
        o->color(FL_BACKGROUND_COLOR);
        o->selection_color((Fl_Color)175);
        Fl_Group::current()->resizable(o);
      }
      o->end();
    }
    { Fl_Group* o = new Fl_Group(5, 5, 460, 390);
      { Fl_Group* o = new Fl_Group(5, 5, 225, 390);
        { Fl_Button* o = source_b = new Fl_Button(5, 5, 225, 25, "Select Scenery Source ...");
          o->callback((Fl_Callback*)cb_source_b);
        }
        source_text = new Fl_Input(5, 35, 225, 25);
        { Fl_Check_Browser* o = install_box = new Fl_Check_Browser(5, 95, 225, 240, "Select Files to Install");
          Fl_Group::current()->resizable(o);
        }
        { Fl_Button* o = install_b = new Fl_Button(20, 360, 195, 35, "Install Selected Files");
          o->labelfont(1);
          o->callback((Fl_Callback*)cb_install_b);
        }
        { Fl_Button* o = source_sel_all = new Fl_Button(5, 65, 110, 25, "Select all");
          o->callback((Fl_Callback*)cb_source_sel_all);
        }
        { Fl_Button* o = source_desel_all = new Fl_Button(120, 65, 110, 25, "Deselect all");
          o->callback((Fl_Callback*)cb_source_desel_all);
        }
        o->end();
      }
      { Fl_Group* o = new Fl_Group(230, 5, 230, 390);
        { Fl_Button* o = dest_b = new Fl_Button(235, 5, 225, 25, "Select Install Destination ...");
          o->callback((Fl_Callback*)cb_dest_b);
        }
        dest_text = new Fl_Input(235, 35, 225, 25);
        { Fl_Check_Browser* o = remove_box = new Fl_Check_Browser(235, 95, 225, 240, "Select Files to Remove");
          Fl_Group::current()->resizable(o);
        }
        { Fl_Button* o = remove_b = new Fl_Button(250, 360, 195, 35, "Remove Selected Files");
          o->labelfont(1);
          o->callback((Fl_Callback*)cb_remove_b);
        }
        { Fl_Button* o = dest_sel_all = new Fl_Button(235, 65, 110, 25, "Select all");
          o->callback((Fl_Callback*)cb_dest_sel_all);
        }
        { Fl_Button* o = dest_desel_all = new Fl_Button(350, 65, 110, 25, "Deselect all");
          o->callback((Fl_Callback*)cb_dest_desel_all);
        }
        o->end();
      }
      o->end();
      Fl_Group::current()->resizable(o);
    }
    o->end();
  }
}
