|
- // generated by Fast Light User Interface Designer (fluid) version 1.0300
-
- #include "external/zynaddsubfx/UI/PresetsUI.h"
-
- void PresetsUI_::refresh() {
- ;
- }
-
- PresetsUI_::~PresetsUI_() {
- ;
- }
-
- void PresetsUI::cb_copybrowse_i(Fl_Browser* o, void*) {
- int val=o->value();
- if (val!=0){
- presetname->cut(0,presetname->maximum_size());
- presetname->insert(o->text(val));
- };
- }
- void PresetsUI::cb_copybrowse(Fl_Browser* o, void* v) {
- ((PresetsUI*)(o->parent()->user_data()))->cb_copybrowse_i(o,v);
- }
-
- void PresetsUI::cb_copypbutton_i(Fl_Button*, void*) {
- const char *tmp=presetname->value();
- if (tmp!=NULL) {
- if (strlen(tmp)>0){
- if(arraymode)
- osc->write("/presets/copy", "ssi", url.c_str(), tmp, arrayidx);
- else
- osc->write("/presets/copy", "ss", url.c_str(), tmp);
- copywin->hide();
- };
- };
- }
- void PresetsUI::cb_copypbutton(Fl_Button* o, void* v) {
- ((PresetsUI*)(o->parent()->user_data()))->cb_copypbutton_i(o,v);
- }
-
- void PresetsUI::cb_copybutton_i(Fl_Button*, void*) {
- if(arraymode)
- osc->write("/presets/copy", "si", url.c_str(), arrayidx);
- else
- osc->write("/presets/copy", "s", url.c_str());
- copywin->hide();
- }
- void PresetsUI::cb_copybutton(Fl_Button* o, void* v) {
- ((PresetsUI*)(o->parent()->user_data()))->cb_copybutton_i(o,v);
- }
-
- void PresetsUI::cb_Cancel_i(Fl_Button*, void*) {
- copywin->hide();
- }
- void PresetsUI::cb_Cancel(Fl_Button* o, void* v) {
- ((PresetsUI*)(o->parent()->user_data()))->cb_Cancel_i(o,v);
- }
-
- void PresetsUI::cb_presetname_i(Fl_Input* o, void*) {
- const char *tmp=o->value();
- if (tmp==NULL) tmp="";
- if (strlen(tmp)>0) {
- copybutton->deactivate();
- copypbutton->activate();
- } else {
- copybutton->activate();
- copypbutton->deactivate();
- };
- }
- void PresetsUI::cb_presetname(Fl_Input* o, void* v) {
- ((PresetsUI*)(o->parent()->user_data()))->cb_presetname_i(o,v);
- }
-
- void PresetsUI::cb_pastebrowse_i(Fl_Browser* o, void*) {
- if (o->value()==0) {
- pastepbutton->deactivate();
- deletepbutton->deactivate();
- }else{
- pastepbutton->activate();
- deletepbutton->activate();
- };
- }
- void PresetsUI::cb_pastebrowse(Fl_Browser* o, void* v) {
- ((PresetsUI*)(o->parent()->user_data()))->cb_pastebrowse_i(o,v);
- }
-
- void PresetsUI::cb_pastepbutton_i(Fl_Button*, void*) {
- int n=pastebrowse->value()-1;
- if (n>=0){
- if(arraymode)
- osc->write("/presets/paste", "ssi", url.c_str(), files[n].c_str(), arrayidx);
- else
- osc->write("/presets/paste", "ss", url.c_str(), files[n].c_str());
- }
- pastewin->hide();
- pui->refresh();
- }
- void PresetsUI::cb_pastepbutton(Fl_Button* o, void* v) {
- ((PresetsUI*)(o->parent()->user_data()))->cb_pastepbutton_i(o,v);
- }
-
- void PresetsUI::cb_pastebutton_i(Fl_Button*, void*) {
- if(arraymode)
- osc->write("/presets/paste", "si", url.c_str(), arrayidx);
- else
- osc->write("/presets/paste", "s", url.c_str());
- pastewin->hide();
- pui->refresh();
- }
- void PresetsUI::cb_pastebutton(Fl_Button* o, void* v) {
- ((PresetsUI*)(o->parent()->user_data()))->cb_pastebutton_i(o,v);
- }
-
- void PresetsUI::cb_Cancel1_i(Fl_Button*, void*) {
- pastewin->hide();
- }
- void PresetsUI::cb_Cancel1(Fl_Button* o, void* v) {
- ((PresetsUI*)(o->parent()->user_data()))->cb_Cancel1_i(o,v);
- }
-
- void PresetsUI::cb_deletepbutton_i(Fl_Button*, void*) {
- int n=pastebrowse->value()-1;
-
- if (n>=0) {
- osc->write("/presets/delete", "s", files[n].c_str());
- }
- rescan(url);
- }
- void PresetsUI::cb_deletepbutton(Fl_Button* o, void* v) {
- ((PresetsUI*)(o->parent()->user_data()))->cb_deletepbutton_i(o,v);
- }
-
- PresetsUI::PresetsUI(Fl_Osc_Interface *osc_):listmodel(osc_), datamodel(osc_) {
- osc = osc_;
- arraymode = false;
- make_window();
- listmodel.callback = [this](Osc_ListModel::list_t list) {
- copybrowse->clear();
- pastebrowse->clear();
- files.clear();
- printf("adding entries<%s>...\n", datamodel.value.c_str());
- if(datamodel.value.empty())
- return;
- for(unsigned i=0;i<list.size();++i){
- std::string type = std::get<2>(list[i]);
- std::string comp = datamodel.value.substr(1);
- if(arraymode)
- comp += "n";
- bool same = comp == type;
- same |= strstr(type.c_str(), "Plfo") && strstr(comp.c_str(), "Plfo");
- if(!same)
- continue;
- files.push_back(std::get<0>(list[i]));
- copybrowse->add(std::get<1>(list[i]).c_str());
- pastebrowse->add(std::get<1>(list[i]).c_str());
- }};
- datamodel.callback = [this](Osc_DataModel::value_t val) {
- printf("Value = %s\n", val.c_str());
- copytypetext->label(val.c_str());
- pastetypetext->label(val.c_str());
- listmodel.doUpdate("/presets/scan-for-presets");
- };
- }
-
- PresetsUI::~PresetsUI() {
- copywin->hide();delete(copywin);
- pastewin->hide();delete(pastewin);
- }
-
- Fl_Double_Window* PresetsUI::make_window() {
- { copywin = new Fl_Double_Window(265, 430, "Copy to Clipboard/Preset");
- copywin->box(FL_THIN_UP_BOX);
- copywin->color((Fl_Color)238);
- copywin->user_data((void*)(this));
- { copybrowse = new Fl_Browser(10, 25, 245, 320);
- copybrowse->type(1);
- copybrowse->callback((Fl_Callback*)cb_copybrowse);
- } // Fl_Browser* copybrowse
- { copypbutton = new Fl_Button(145, 355, 110, 20, "Copy to Preset");
- copypbutton->box(FL_THIN_UP_BOX);
- copypbutton->callback((Fl_Callback*)cb_copypbutton);
- } // Fl_Button* copypbutton
- { copybutton = new Fl_Button(25, 385, 90, 35, "Copy to Clipboard");
- copybutton->box(FL_THIN_UP_BOX);
- copybutton->callback((Fl_Callback*)cb_copybutton);
- copybutton->align(Fl_Align(192));
- } // Fl_Button* copybutton
- { Fl_Button* o = new Fl_Button(160, 385, 80, 35, "Cancel");
- o->box(FL_THIN_UP_BOX);
- o->callback((Fl_Callback*)cb_Cancel);
- o->align(Fl_Align(192));
- } // Fl_Button* o
- { Fl_Box* o = new Fl_Box(10, 5, 40, 15, "Type:");
- o->labelsize(11);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- } // Fl_Box* o
- { copytypetext = new Fl_Box(50, 5, 205, 15);
- copytypetext->box(FL_FLAT_BOX);
- copytypetext->color((Fl_Color)238);
- copytypetext->labelfont(1);
- copytypetext->labelsize(11);
- copytypetext->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- } // Fl_Box* copytypetext
- { presetname = new Fl_Input(10, 355, 130, 20);
- presetname->callback((Fl_Callback*)cb_presetname);
- presetname->when(FL_WHEN_CHANGED);
- } // Fl_Input* presetname
- copywin->set_modal();
- copywin->end();
- } // Fl_Double_Window* copywin
- { pastewin = new Fl_Double_Window(265, 430, "Paste from Clipboard/Preset");
- pastewin->box(FL_THIN_UP_BOX);
- pastewin->color((Fl_Color)238);
- pastewin->user_data((void*)(this));
- { pastebrowse = new Fl_Browser(10, 25, 245, 320);
- pastebrowse->type(2);
- pastebrowse->callback((Fl_Callback*)cb_pastebrowse);
- } // Fl_Browser* pastebrowse
- { pastepbutton = new Fl_Button(10, 355, 160, 20, "Paste from Preset");
- pastepbutton->box(FL_THIN_UP_BOX);
- pastepbutton->callback((Fl_Callback*)cb_pastepbutton);
- } // Fl_Button* pastepbutton
- { pastebutton = new Fl_Button(25, 385, 90, 35, "Paste from Clipboard");
- pastebutton->box(FL_THIN_UP_BOX);
- pastebutton->callback((Fl_Callback*)cb_pastebutton);
- pastebutton->align(Fl_Align(192));
- } // Fl_Button* pastebutton
- { Fl_Button* o = new Fl_Button(160, 385, 80, 35, "Cancel");
- o->box(FL_THIN_UP_BOX);
- o->callback((Fl_Callback*)cb_Cancel1);
- o->align(Fl_Align(192));
- } // Fl_Button* o
- { pastetypetext = new Fl_Box(55, 5, 200, 15);
- pastetypetext->box(FL_FLAT_BOX);
- pastetypetext->color((Fl_Color)238);
- pastetypetext->labelfont(1);
- pastetypetext->labelsize(11);
- pastetypetext->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- } // Fl_Box* pastetypetext
- { Fl_Box* o = new Fl_Box(15, 5, 40, 15, "Type:");
- o->labelsize(11);
- o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
- } // Fl_Box* o
- { deletepbutton = new Fl_Button(180, 355, 75, 20, "Delete");
- deletepbutton->box(FL_THIN_UP_BOX);
- deletepbutton->callback((Fl_Callback*)cb_deletepbutton);
- } // Fl_Button* deletepbutton
- pastewin->set_modal();
- pastewin->end();
- } // Fl_Double_Window* pastewin
- return pastewin;
- }
-
- void PresetsUI::paste(std::string url_, PresetsUI_ *pui, int idx) {
- url = url_;
- this->pui=pui;
- bool but=(Fl::event_button()!=FL_LEFT_MOUSE);
- pastepbutton->deactivate();
- deletepbutton->deactivate();
- arraymode = true;
- arrayidx = idx;
-
- if(but) {
- osc->write("/presets/paste", "si", url.c_str(), idx);
- pui->refresh();
- } else {
- rescan(url_);
- pastewin->show();
- }
- }
-
- void PresetsUI::copy(std::string url_, int idx) {
- copybutton->activate();
- copypbutton->deactivate();
- arraymode = true;
- arrayidx = idx;
- url = url_;
- this->pui=NULL;
- bool but=(Fl::event_button()!=FL_LEFT_MOUSE);
- presetname->cut(0,presetname->maximum_size());
-
- if(but) {
- osc->write("/presets/copy", "si", url_.c_str(), idx);
- } else {
- rescan(url_);
- copywin->show();
- }
- }
-
- void PresetsUI::copy(std::string url_) {
- copybutton->activate();
- copypbutton->deactivate();
- arraymode = false;
-
- url = url_;
- this->pui=NULL;
- bool but=(Fl::event_button()!=FL_LEFT_MOUSE);
- presetname->cut(0,presetname->maximum_size());
-
- if(but) {
- osc->write("/presets/copy", "s", url_.c_str());
- } else {
- rescan(url_);
- copywin->show();
- };
- }
-
- void PresetsUI::paste(std::string url_, PresetsUI_ *pui) {
- url = url_;
- this->pui=pui;
- bool but=(Fl::event_button()!=FL_LEFT_MOUSE);
- pastepbutton->deactivate();
- deletepbutton->deactivate();
- arraymode = false;
-
- if(but) {
- osc->write("/presets/paste", "s", url.c_str());
- pui->refresh();
- } else {
- rescan(url_);
- pastewin->show();
- };
- }
-
- void PresetsUI::rescan(std::string url) {
- copybrowse->clear();
- pastebrowse->clear();
-
- printf("Datamodel Update...");
- datamodel.doUpdate(url+"preset-type");
- }
- PresetsUI *presetsui;
|