uiBasis:: uiBasis( Fl_Group &tabs, const BasisInfo &bi ) : name( bi.name ), group( new Fl_Group( tabs.x(), tabs.y()+24, tabs.w(), tabs.h()-24, bi.name.c_str() ) ), input() { //-------------------------------------------------------------------------- // record the new tab //-------------------------------------------------------------------------- tabs.add(group); group->labelfont( FL_COURIER ); group->labelsize( 14 ); static const int bh = 23; //-------------------------------------------------------------------------- // create the parameters //-------------------------------------------------------------------------- const int h = group->h(); const size_t nb = bi.param.size(); const int hfree = h - nb * bh; const int hskip = hfree/(nb+1); int y = group->y(); const int x = group->x() + 8; for( size_t i=1; i <= nb; ++i ) { y += hskip; const string ¶m = bi.param[i]; Fl_Input *box = new Fl_Input(x,y,100,bh,param.c_str()); box->input_type(FL_FLOAT_INPUT); box->labeltype( FL_NORMAL_LABEL ); box->align(FL_ALIGN_RIGHT); box->labelfont(FL_HELVETICA); box->labelsize(12); box->textsize(12); box->textfont(FL_HELVETICA); group->add(box); box->value("0.0"); y += bh; input.push_back(box); box->callback(ChangeCB); box->when(FL_WHEN_RELEASE); } }
SwitchParamWidget::SwitchParamWidget(TuileWidget* widget, MidiOscSwitchTuile* switchTuile): TuileParamWidget(widget, switchTuile), m_switchTuile(switchTuile) { m_selectInput = new Fl_Simple_Counter(0, 0, 50, 20, "Selected Child"); m_selectInput->align(FL_ALIGN_TOP|FL_ALIGN_LEFT); m_selectInput->callback(statTuileSwitchInputs,this); m_selectInput->labelsize(12); m_selectInput->step(1); m_selectInput->bounds(0,10); Fl_Group *tmpGroup = new Fl_Group(0,0,80,20,""); tmpGroup->end(); tmpGroup->add(m_selectInput); tmpGroup->resizable(false); add(tmpGroup); end(); }
Scheme_Object* spark_fltk_group::add(int argc, Scheme_Object** argv) { DEFAULT_RET_INIT; Fl_Group* group = _get_fl_group(argc, argv, 0); if (group) { Fl_Widget* widget = spark_fltk::_get_widget(argc, argv, 1); if (widget) { group->add(widget); _ret_ = scheme_true; } } DEFAULT_RET_FINISH; }
gChannel *Keyboard::addChannel(char side, Channel *ch) { Fl_Group *group; gClick *add; if (side == 0) { group = gChannelsL; add = addChannelL; } else { group = gChannelsR; add = addChannelR; } gChannel *gch = NULL; if (ch->type == CHANNEL_SAMPLE) gch = (gSampleChannel*) new gSampleChannel( group->x(), group->y() + group->children() * 24, group->w(), 20, (SampleChannel*) ch); else gch = (gMidiChannel*) new gMidiChannel( group->x(), group->y() + group->children() * 24, group->w(), 20, (MidiChannel*) ch); group->add(gch); group->size(group->w(), group->children() * 24); add->position(group->x(), group->y()+group->h()); fixRightColumn(); redraw(); return gch; }
KeyboardPluginGUI::KeyboardPluginGUI(int w, int h,KeyboardPlugin *o,ChannelHandler *ch,const HostInfo *Info) : SpiralPluginGUI(w,h,o,ch), m_Last(-1), m_Oct(4) { Fl_Scroll *Scroll = new Fl_Scroll(2,20,w-4,h-20); Fl_Group *Group = new Fl_Group(0,20,500,h-40); Group->box(FL_FLAT_BOX); Group->user_data(this); Scroll->add(Group); int KeyWidth=10,Note,Pos=0,Count=0; for (int n=0; n<NUM_KEYS; n++) { m_Num[n]=n; Note = n%12; if (Note!=1 && Note!=3 && Note!=6 && Note!=8 && Note!=10) { Pos=Count*KeyWidth; Count++; m_Key[n] = new Fl_Button(Pos,20,KeyWidth,50,""); m_Key[n]->box(FL_THIN_UP_BOX); m_Key[n]->labelsize(10); m_Key[n]->when(FL_WHEN_CHANGED); if (Note==0) { int Num=n/12; sprintf(m_Label[n],"%d",Num); m_Key[n]->label(m_Label[n]); m_Key[n]->align(FL_ALIGN_BOTTOM|FL_ALIGN_INSIDE); } m_Key[n]->color(FL_WHITE); m_Key[n]->selection_color(FL_WHITE); m_Key[n]->callback((Fl_Callback*)cb_Key, &m_Num[n]); Group->add(m_Key[n]); } } Count=0; for (int n=0; n<NUM_KEYS; n++) { Note = n%12; if (Note==1 || Note==3 || Note==6 || Note==8 || Note==10) { m_Key[n] = new Fl_Button(Pos+5,20,KeyWidth,30,""); m_Key[n]->box(FL_THIN_UP_BOX); m_Key[n]->labelsize(10); m_Key[n]->when(FL_WHEN_CHANGED); m_Key[n]->color(FL_BLACK); m_Key[n]->selection_color(FL_BLACK); m_Key[n]->callback((Fl_Callback*)cb_Key, &m_Num[n]); Group->add(m_Key[n]); } else { Pos=Count*KeyWidth; Count++; } } Group->position(-100,20); Group->end(); Scroll->end(); }