|
- // generated by Fast Light User Interface Designer (fluid) version 1.0300
-
- #include "external/zynaddsubfx/UI/BankUI.h"
- //Copyright (c) 2002-2005 Nasca Octavian Paul
- //License: GNU GPL version 2 or later
-
- void BankUI::cb_Close_i(Fl_Button*, void*) {
- bankuiwindow->hide();
- }
- void BankUI::cb_Close(Fl_Button* o, void* v) {
- ((BankUI*)(o->parent()->user_data()))->cb_Close_i(o,v);
- }
-
- void BankUI::cb_New_i(Fl_Button*, void*) {
- const char *dirname;
-
- dirname=fl_input("New empty Bank:");
- if (dirname==NULL) return;
-
- osc->write("/bank/newbank", "s", dirname);
- refreshmainwindow();
- }
- void BankUI::cb_New(Fl_Button* o, void* v) {
- ((BankUI*)(o->parent()->user_data()))->cb_New_i(o,v);
- }
-
- void BankUI::cb_banklist_i(BankList*, void*) {
- refreshmainwindow();
- }
- void BankUI::cb_banklist(BankList* o, void* v) {
- ((BankUI*)(o->parent()->user_data()))->cb_banklist_i(o,v);
- }
-
- void BankUI::cb_Refresh_i(Fl_Button*, void*) {
- rescan_for_banks();
- banklist->value(0);
- }
- void BankUI::cb_Refresh(Fl_Button* o, void* v) {
- ((BankUI*)(o->parent()->user_data()))->cb_Refresh_i(o,v);
- }
-
- void BankUI::cb_Search_i(Fl_Input* o, void*) {
- std::string str = o->value();
- update_search(str);
- }
- void BankUI::cb_Search(Fl_Input* o, void* v) {
- ((BankUI*)(o->parent()->user_data()))->cb_Search_i(o,v);
- }
-
- Fl_Osc_Window* BankUI::make_window() {
- { bankuiwindow = new Fl_Osc_Window(785, 575, "Bank");
- bankuiwindow->box(FL_FLAT_BOX);
- bankuiwindow->color(FL_BACKGROUND_COLOR);
- bankuiwindow->selection_color(FL_BACKGROUND_COLOR);
- bankuiwindow->labeltype(FL_NO_LABEL);
- bankuiwindow->labelfont(0);
- bankuiwindow->labelsize(14);
- bankuiwindow->labelcolor(FL_FOREGROUND_COLOR);
- bankuiwindow->user_data((void*)(this));
- bankuiwindow->align(Fl_Align(FL_ALIGN_TOP));
- bankuiwindow->when(FL_WHEN_RELEASE);
- { new Fl_Box(0, 0, 0, 0);
- bankuiwindow->init(osc, "/");
- } // Fl_Box* o
- { Fl_Button* o = new Fl_Button(705, 546, 70, 24, "Close");
- o->box(FL_THIN_UP_BOX);
- o->callback((Fl_Callback*)cb_Close);
- } // Fl_Button* o
- { bankview = new BankView(5, 34, 772, 491);
- bankview->box(FL_ENGRAVED_FRAME);
- bankview->color(FL_BACKGROUND_COLOR);
- bankview->selection_color(FL_BACKGROUND_COLOR);
- bankview->labeltype(FL_NORMAL_LABEL);
- bankview->labelfont(0);
- bankview->labelsize(14);
- bankview->labelcolor(FL_FOREGROUND_COLOR);
- bankview->align(Fl_Align(FL_ALIGN_TOP));
- bankview->when(FL_WHEN_RELEASE);
- bankview->end();
- } // BankView* bankview
- { BankViewControls* o = modeselect = new BankViewControls(5, 528, 425, 42);
- modeselect->box(FL_ENGRAVED_BOX);
- modeselect->color(FL_BACKGROUND_COLOR);
- modeselect->selection_color(FL_BACKGROUND_COLOR);
- modeselect->labeltype(FL_NORMAL_LABEL);
- modeselect->labelfont(0);
- modeselect->labelsize(14);
- modeselect->labelcolor(FL_FOREGROUND_COLOR);
- modeselect->align(Fl_Align(FL_ALIGN_TOP));
- modeselect->when(FL_WHEN_RELEASE);
- o->box(FL_UP_BOX);
- modeselect->end();
- } // BankViewControls* modeselect
- { Fl_Button* o = new Fl_Button(685, 5, 93, 25, "New Bank...");
- o->labelfont(1);
- o->labelsize(11);
- o->callback((Fl_Callback*)cb_New);
- o->align(Fl_Align(FL_ALIGN_WRAP));
- } // Fl_Button* o
- { Fl_Osc_Check* o = new Fl_Osc_Check(705, 529, 60, 15, "auto close");
- o->tooltip("automatically close the bank window if the instrument is loaded");
- o->box(FL_NO_BOX);
- o->down_box(FL_DOWN_BOX);
- o->color(FL_BACKGROUND_COLOR);
- o->selection_color(FL_FOREGROUND_COLOR);
- o->labeltype(FL_NORMAL_LABEL);
- o->labelfont(0);
- o->labelsize(10);
- o->labelcolor(FL_FOREGROUND_COLOR);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- o->when(FL_WHEN_RELEASE);
- o->init("config/cfg.BankUIAutoClose");
- } // Fl_Osc_Check* o
- { BankList* o = banklist = new BankList(5, 8, 220, 20);
- banklist->box(FL_UP_BOX);
- banklist->down_box(FL_BORDER_BOX);
- banklist->color(FL_BACKGROUND_COLOR);
- banklist->selection_color(FL_SELECTION_COLOR);
- banklist->labeltype(FL_NORMAL_LABEL);
- banklist->labelfont(1);
- banklist->labelsize(14);
- banklist->labelcolor(FL_FOREGROUND_COLOR);
- banklist->textfont(1);
- banklist->textsize(11);
- banklist->callback((Fl_Callback*)cb_banklist);
- banklist->align(Fl_Align(FL_ALIGN_CENTER));
- banklist->when(FL_WHEN_RELEASE);
- bankview->init(osc, modeselect, npart);
- o->init("bank/bank_select");
- } // BankList* banklist
- { Fl_Button* o = new Fl_Button(230, 8, 105, 20, "Refresh bank list");
- o->tooltip("Refresh the bank list (rescan)");
- o->box(FL_THIN_UP_BOX);
- o->color(FL_LIGHT1);
- o->labelsize(11);
- o->callback((Fl_Callback*)cb_Refresh);
- } // Fl_Button* o
- { Fl_Input* o = new Fl_Input(460, 8, 105, 20, "Search by name: ");
- o->tooltip("Enter text to search for");
- o->box(FL_THIN_UP_BOX);
- o->color(FL_LIGHT1);
- o->labelsize(11);
- o->callback((Fl_Callback*)cb_Search);
- o->when(FL_WHEN_CHANGED);
- } // Fl_Input* o
- bankuiwindow->end();
- } // Fl_Osc_Window* bankuiwindow
- return bankuiwindow;
- }
-
- BankUI::BankUI(int *npart_, Fl_Osc_Interface *osc_) {
- npart=npart_;
- osc =osc_;
- make_window();
- }
-
- BankUI::~BankUI() {
- bankuiwindow->hide();
- delete bankuiwindow;
- }
-
- void BankUI::show() {
- bankuiwindow->show();
- }
-
- void BankUI::hide() {
- bankuiwindow->hide();
- }
-
- void BankUI::init(Fl_Valuator *cbwig_) {
- cbwig=cbwig_;
- bankview->cbwig(cbwig);
- rescan_for_banks();
- }
-
- void BankUI::process() {
- }
-
- void BankUI::refreshmainwindow() {
- bankview->refresh();
- }
-
- void BankUI::rescan_for_banks() {
- banklist->clear();
- osc->write("/bank/rescan");
- if (banklist->size() == 0)
- banklist->add(" ");
- }
-
- void BankUI::update_search(std::string search_string) {
- if (search_string.empty()) {
- refreshmainwindow();
- } else {
- osc->write("/bank/search", "s", search_string.c_str());
- }
- }
|