本文整理汇总了C++中Fl_Check_Button::callback方法的典型用法代码示例。如果您正苦于以下问题:C++ Fl_Check_Button::callback方法的具体用法?C++ Fl_Check_Button::callback怎么用?C++ Fl_Check_Button::callback使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Fl_Check_Button
的用法示例。
在下文中一共展示了Fl_Check_Button::callback方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Init
void Init() {
cWindow = new Fl_Window(400, 420, 300, 70, "Connect to Host");
bInput = new Fl_Input(50, 0, 150, 30, "Host: ");
checkbx = new Fl_Check_Button(50, 40, 100, 14, " Scaling");
checkbx->align(FL_ALIGN_LEFT);
checkbx->callback(setscale, this);
connectbtn = new Fl_Button(200, 0, 80, 30, "Connect");
connectbtn->callback(try_connect_frm, this);
cWindow->end();
cWindow->show();
}
示例2: update
/*
Called everytime we click the refresh button. This will request all participants
and update the UI.
*/
void SelectorGUI::update(){
int x = 40;
int y = 10;
int dy = 20;
int i = 0;
int len = 0;
swindow->clear();
swindow->redraw();
swindow->begin();
len = GetParticipants(pList);
for(i; i < len; i ++){
ssrcList[i] = (char*)pList[i].ssrc;
Fl_Check_Button* b = new Fl_Check_Button(x, y, 300, 30, pList[i].name);
b->callback(static_selectCB, (void*) pList[i].ssrc);
b->type(102);
y = y + dy;
}
swindow->end();
swindow->redraw();
}
示例3: strdup
// add a parameter number to the tree
Fl_Widget *onelabGroup::_addParameterWidget(onelab::number &p, int ww, int hh, Fl_Tree_Item *n, bool highlight, Fl_Color c)
{
char *path = strdup(getPath(n).c_str());
_treeStrings.push_back(path);
// enumeration (display choices as value labels, not numbers)
if(p.getChoices().size() &&
p.getChoices().size() == p.getValueLabels().size()){
Fl_Choice *but = new Fl_Choice(1, 1, ww, hh);
std::vector<Fl_Menu_Item> menu;
std::map<double, std::string> labels(p.getValueLabels());
for(std::map<double, std::string>::iterator it = labels.begin();
it != labels.end(); it++){
char *str = strdup(it->second.c_str());
_treeStrings.push_back(str);
Fl_Menu_Item menuItem = {str, 0, 0, 0, 0};
if(highlight) menuItem.labelcolor(c);
menu.push_back(menuItem);
}
Fl_Menu_Item it = {0};
menu.push_back(it);
but->copy(&menu[0]);
for(unsigned int i = 0; i < p.getChoices().size(); i++){
if(p.getValue() == p.getChoices()[i]){
but->value(i);
break;
}
}
but->callback(onelab_number_choice_cb, (void*)path);
but->align(FL_ALIGN_RIGHT);
if(p.getReadOnly()) but->deactivate();
return but;
}
// check box (boolean choice)
if(p.getChoices().size() == 2 &&
p.getChoices()[0] == 0 && p.getChoices()[1] == 1){
n->labelsize(FL_NORMAL_SIZE + 2);
Fl_Check_Button *but = new Fl_Check_Button(1, 1, ww / _widgetLabelRatio, hh);
but->box(FL_FLAT_BOX);
but->color(_tree->color());
but->value(p.getValue());
but->callback(onelab_number_check_button_cb, (void*)path);
if(highlight) but->color(c);
if(p.getReadOnly()) but->deactivate();
return but;
}
// non-editable value
if(p.getReadOnly()){
outputRange *but = new outputRange(1, 1, ww, hh);
//TODO but->callback(onelab_number_output_range_cb, (void*)path);
but->value(p.getValue());
but->align(FL_ALIGN_RIGHT);
but->graph(p.getAttribute("Graph"));
if(highlight) but->color(c);
return but;
}
// general number input
inputRange *but = new inputRange(1, 1, ww, hh, onelab::parameter::maxNumber(),
p.getAttribute("ReadOnlyRange") == "1");
but->value(p.getValue());
but->minimum(p.getMin());
but->maximum(p.getMax());
but->step(p.getStep());
but->choices(p.getChoices());
but->loop(p.getAttribute("Loop"));
but->graph(p.getAttribute("Graph"));
but->callback(onelab_number_input_range_cb, (void*)path);
but->when(FL_WHEN_RELEASE | FL_WHEN_ENTER_KEY);
but->align(FL_ALIGN_RIGHT);
if(highlight) but->color(c);
return but;
}
示例4: pickGroupProperty
void ModelerUserInterface::pickGroupProperty(GroupProperty* group) {
// Remove the event listeners for old controls
// TODO: we really need to have a PropertyEditor class that handles this
// automatically...
if (currentGroup) {
PropertyList* props = currentGroup->getProperties();
for (PropertyList::iterator iter = props->begin();
iter != props->end();
iter++)
{
if (RangeProperty* prop = dynamic_cast<RangeProperty*>(*iter)) {
prop->unlisten((SignalListener)updateRangeSlider);
} else if (RGBProperty* prop = dynamic_cast<RGBProperty*>(*iter)) {
prop->unlisten((SignalListener)updateColorChooser);
} else if (BooleanProperty* prop = dynamic_cast<BooleanProperty*>(*iter)) {
prop->unlisten((SignalListener)updateCheckbox);
} else if (ChoiceProperty* prop = dynamic_cast<ChoiceProperty*>(*iter)) {
prop->unlisten((SignalListener)updateChoice);
}
}
// Clear out the old controls
m_controlsPack->clear();
currentGroup = NULL;
}
// Reset the scrollbar
m_controlsScroll->position(0, 0);
// If there's no group, exit
if (!group) {
m_controlsScroll->redraw();
return;
}
// Constants for slider dimensions
const int packWidth = m_controlsPack->w();
const int textHeight = 20;
const int sliderHeight = 20;
const int chooserHeight = 100;
const int buttonHeight = 20;
// Show them
// For each control, add appropriate objects to the user interface
currentGroup = group;
PropertyList* props = group->getProperties();
for (PropertyList::iterator iter = props->begin();
iter != props->end();
iter++)
{
// Ignore it if it's a group property (those belong in the tree).
if (dynamic_cast<GroupProperty*>(*iter))
continue;
// And now we'll create a UI element for the property.
// The big if-statement below uses dynamic_cast<PropertyType*>(ptr),
// to see if a property has a given type. dynamic_cast will
// return 0 if ptr is not of type PropertyType.
// Add a slider if the property is a RangeProperty
if (RangeProperty* prop = dynamic_cast<RangeProperty*>(*iter)) {
// Add the label
Fl_Box *box = new Fl_Box(0, 0, packWidth, textHeight, (*iter)->getName());
box->labelsize(14);
box->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
box->box(FL_FLAT_BOX); // otherwise, Fl_Scroll messes up (ehsu)
m_controlsPack->add(box);
// Add the slider
Fl_Value_Slider *slider = new Fl_Value_Slider(0, 0, packWidth, sliderHeight);
slider->type(1);
slider->range(prop->getMin(), prop->getMax());
slider->step(prop->getStep());
slider->value(prop->getValue());
m_controlsPack->add(slider);
// Use the step size to determine the number of decimal places
// shown in the slider's label.
if (prop->getStep() > 0) {
slider->precision((int)-log(prop->getStep()));
}
// Have the slider notify the program when it changes
slider->callback((Fl_Callback*)SliderCallback, (void*) prop);
// Have the property notify the slider when it changes
prop->listen((SignalListener)updateRangeSlider, (void*) slider);
// Add a color picker if the property is an RGB property
} else if (RGBProperty* prop = dynamic_cast<RGBProperty*>(*iter)) {
// Add the label
Fl_Box *box = new Fl_Box(0, 0, packWidth, textHeight, (*iter)->getName());
box->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
box->labelsize(14);
box->box(FL_FLAT_BOX); // otherwise, Fl_Scroll messes up (ehsu)
m_controlsPack->add(box);
//.........这里部分代码省略.........
示例5: make_formant_window
Fl_Double_Window* FilterUI::make_formant_window() {
{ formantparswindow = new Fl_Double_Window(700, 205, "Formant Filter Parameters");
formantparswindow->user_data((void*)(this));
{ Fl_Group* o = new Fl_Group(485, 47, 105, 113);
o->box(FL_THIN_UP_BOX);
{ Fl_Counter* o = new Fl_Counter(545, 80, 40, 15, "Formant ");
o->type(1);
o->labelfont(1);
o->labelsize(10);
o->minimum(0);
o->maximum(127);
o->step(1);
o->textsize(10);
o->callback((Fl_Callback*)cb_Formant);
o->align(FL_ALIGN_LEFT);
o->bounds(0,FF_MAX_FORMANTS-1);
o->value(nformant);
} // Fl_Counter* o
{ Fl_Counter* o = new Fl_Counter(545, 55, 40, 20, "Vowel no.");
o->type(1);
o->labelfont(1);
o->labelsize(10);
o->minimum(0);
o->maximum(127);
o->step(1);
o->textfont(1);
o->textsize(11);
o->callback((Fl_Callback*)cb_Vowel);
o->align(FL_ALIGN_LEFT);
o->bounds(0,FF_MAX_VOWELS-1);
o->value(nvowel);
} // Fl_Counter* o
{ formantparsgroup = new Fl_Group(490, 105, 95, 50);
formantparsgroup->box(FL_ENGRAVED_FRAME);
{ formant_freq_dial = new WidgetPDial(495, 115, 25, 25, "freq");
formant_freq_dial->tooltip("Formant frequency");
formant_freq_dial->box(FL_ROUND_UP_BOX);
formant_freq_dial->color(FL_BACKGROUND_COLOR);
formant_freq_dial->selection_color(FL_INACTIVE_COLOR);
formant_freq_dial->labeltype(FL_NORMAL_LABEL);
formant_freq_dial->labelfont(0);
formant_freq_dial->labelsize(10);
formant_freq_dial->labelcolor(FL_FOREGROUND_COLOR);
formant_freq_dial->maximum(127);
formant_freq_dial->step(1);
formant_freq_dial->callback((Fl_Callback*)cb_formant_freq_dial);
formant_freq_dial->align(FL_ALIGN_BOTTOM);
formant_freq_dial->when(FL_WHEN_CHANGED);
} // WidgetPDial* formant_freq_dial
{ formant_q_dial = new WidgetPDial(525, 115, 24, 25, "Q");
formant_q_dial->tooltip("Formant\'s Q");
formant_q_dial->box(FL_ROUND_UP_BOX);
formant_q_dial->color(FL_BACKGROUND_COLOR);
formant_q_dial->selection_color(FL_INACTIVE_COLOR);
formant_q_dial->labeltype(FL_NORMAL_LABEL);
formant_q_dial->labelfont(0);
formant_q_dial->labelsize(10);
formant_q_dial->labelcolor(FL_FOREGROUND_COLOR);
formant_q_dial->maximum(127);
formant_q_dial->step(1);
formant_q_dial->callback((Fl_Callback*)cb_formant_q_dial);
formant_q_dial->align(FL_ALIGN_BOTTOM);
formant_q_dial->when(FL_WHEN_CHANGED);
} // WidgetPDial* formant_q_dial
{ formant_amp_dial = new WidgetPDial(555, 115, 24, 25, "amp");
formant_amp_dial->tooltip("Formant amplitude");
formant_amp_dial->box(FL_ROUND_UP_BOX);
formant_amp_dial->color(FL_BACKGROUND_COLOR);
formant_amp_dial->selection_color(FL_INACTIVE_COLOR);
formant_amp_dial->labeltype(FL_NORMAL_LABEL);
formant_amp_dial->labelfont(0);
formant_amp_dial->labelsize(10);
formant_amp_dial->labelcolor(FL_FOREGROUND_COLOR);
formant_amp_dial->maximum(127);
formant_amp_dial->step(1);
formant_amp_dial->callback((Fl_Callback*)cb_formant_amp_dial);
formant_amp_dial->align(FL_ALIGN_BOTTOM);
formant_amp_dial->when(FL_WHEN_CHANGED);
} // WidgetPDial* formant_amp_dial
formantparsgroup->end();
} // Fl_Group* formantparsgroup
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(590, 47, 100, 113);
o->box(FL_THIN_UP_BOX);
{ Fl_Counter* o = new Fl_Counter(595, 62, 55, 20, "Seq.Size");
o->type(1);
o->labelfont(1);
o->labelsize(10);
o->minimum(0);
o->maximum(127);
o->step(1);
o->textfont(1);
o->textsize(11);
o->callback((Fl_Callback*)cb_Seq);
o->align(FL_ALIGN_TOP_LEFT);
o->bounds(1,FF_MAX_SEQUENCE-1);
o->value(pars->Psequencesize);
} // Fl_Counter* o
{ Fl_Counter* o = new Fl_Counter(595, 97, 40, 15, "S.Pos.");
//.........这里部分代码省略.........
示例6: make_window
Fl_Double_Window* make_window() {
Fl_Double_Window* w;
{Fl_Double_Window* o = new Fl_Double_Window(560, 489);
w = o;
o->type(241);
{Fl_Box* o = imbox = new Fl_Box(5, 30, 385, 455);
o->box(FL_ENGRAVED_BOX);
o->align(FL_ALIGN_CLIP);
Fl_Group::current()->resizable(o);
}
{Fl_Box* o = filename_box = new Fl_Box(5, 5, 385, 20, "No file loaded...");
o->box(FL_THIN_DOWN_BOX);
o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
}
{Fl_Group* o = new Fl_Group(395, 5, 160, 480);
o->box(FL_THIN_DOWN_BOX);
{Fl_Button* o = new Fl_Button(10, 10, 140, 25, "Load File");
o->box(FL_THIN_UP_BOX);
o->callback((Fl_Callback*)cb_Load);
}
{Fl_Button* o = new Fl_Button(10, 40, 140, 25, "Exit");
o->box(FL_THIN_UP_BOX);
o->callback((Fl_Callback*)cb_Exit);
}
new Fl_Divider(10, 75, 140, 15, "label");
{Fl_Button* o = new Fl_Button(10, 100, 140, 25, "Fit To Box");
o->type(Fl_Button::TOGGLE);
o->box(FL_THIN_UP_BOX);
o->callback((Fl_Callback*)cb_Fit);
}
{Fl_Button* o = new Fl_Button(10, 130, 140, 25, "Tile");
o->type(Fl_Button::TOGGLE);
o->box(FL_THIN_UP_BOX);
o->callback((Fl_Callback*)cb_Tile);
}
{Fl_Choice* o = filter_choice = new Fl_Choice(10, 335, 140, 25, "Filter:"); o->begin();
o->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
o->tooltip("Choose filter");
{Fl_Item* o = new Fl_Item("None");
o->user_data((void*)(0));
}
{Fl_Item* o = new Fl_Item("Brightness");
o->user_data((void*)(FILTER_BRIGHTNESS));
}
{Fl_Item* o = new Fl_Item("Contrast");
o->user_data((void*)(FILTER_CONTRAST));
}
{Fl_Item* o = new Fl_Item("Grayscale");
o->user_data((void*)(FILTER_GRAYSCALE));
}
{Fl_Item* o = new Fl_Item("Gamma");
o->user_data((void*)(FILTER_GAMMA));
}
{Fl_Item* o = new Fl_Item("Fore Blend");
o->user_data((void*)(FILTER_FOREBLEND));
}
{Fl_Item* o = new Fl_Item("Back Blend");
o->user_data((void*)(FILTER_BACKBLEND));
}
o->end();
}
{Fl_Box* o = new Fl_Box(10, 160, 140, 160);
o->parent()->resizable(o);
}
{Fl_Value_Slider* o = Rslider = new Fl_Value_Slider(25, 380, 125, 15, "R");
o->type(Fl_Value_Slider::HORIZONTAL);
o->label_size(10);
o->text_size(10);
o->minimum(-3);
o->maximum(3);
o->value(1);
o->slider_size(5);
o->align(FL_ALIGN_LEFT);
o->tooltip("Red value for filter");
}
{Fl_Value_Slider* o = Gslider = new Fl_Value_Slider(25, 400, 125, 15, "G");
o->type(Fl_Value_Slider::HORIZONTAL);
o->label_size(10);
o->text_size(10);
o->minimum(-3);
o->maximum(3);
o->value(1);
o->slider_size(5);
o->align(FL_ALIGN_LEFT);
o->tooltip("Green value for filter");
}
{Fl_Value_Slider* o = Bslider = new Fl_Value_Slider(25, 420, 125, 15, "B");
o->type(Fl_Value_Slider::HORIZONTAL);
o->label_size(10);
o->text_size(10);
o->minimum(-3);
o->maximum(3);
o->value(1);
o->slider_size(5);
o->align(FL_ALIGN_LEFT);
o->tooltip("Blue value for filter");
}
{Fl_Button* o = new Fl_Button(10, 445, 140, 25, "Apply");
o->box(FL_THIN_UP_BOX);
o->callback((Fl_Callback*)cb_Apply);
//.........这里部分代码省略.........
示例7: main
int main (int argc, char **argv) {
Fl_Window* w;
fl_init_locale_support("ewmconf", PREFIX"/share/locale");
readConfiguration();
{Fl_Window* o = new Fl_Window(320, 370, _("Window manager settings"));
w = o;
{Fl_Tabs* o = new Fl_Tabs(2, 5, 318, 325);
o->color((Fl_Color)16);
{Fl_Group* o = new Fl_Group(1, 29, 316, 295, _("&Titlebar"));
o->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
{Fl_Choice* o = new Fl_Choice(83, 13, 105, 22, _("Text align:")); o->begin();
o->callback((Fl_Callback*)cb_Text);
new Fl_Item(_("Left"));
new Fl_Item(_("Right"));
new Fl_Item(_("Center"));
o->value(title_align);
o->end();
}
{Fl_Value_Input* o = new Fl_Value_Input(243, 13, 60, 22, _("Height:"));
o->minimum(10);
o->maximum(50);
o->step(1);
o->value(20);
o->callback((Fl_Callback*)cb_Height);
o->value(title_height);
}
{Fl_Button* o = titlebarLabelColorButton = new Fl_Button(85, 55, 60, 20, _("Titlebar label color: "));
o->box(FL_DOWN_BOX);
o->callback((Fl_Callback*)cb_titlebarLabelColorButton);
o->align(132);
o->color((Fl_Color)title_normal_color_text);
}
{Fl_Button* o = titlebarColorButton = new Fl_Button(85, 120, 60, 20, _("Titlebar color: "));
o->box(FL_DOWN_BOX);
o->callback((Fl_Callback*)cb_titlebarColorButton);
o->align(132);
o->color((Fl_Color) title_normal_color);
}
{Fl_Group* o = new Fl_Group(153, 45, 160, 110);
{Fl_Button* o = titlebarActiveLabelColorButton = new Fl_Button(90, 10, 60, 20, _("Titlebar active label color: "));
o->box(FL_DOWN_BOX);
o->callback((Fl_Callback*)cb_titlebarActiveLabelColorButton);
o->align(132);
o->color((Fl_Color) title_active_color_text);
}
{Fl_Button* o = titlebarActiveColorButton = new Fl_Button(90, 75, 60, 20, _("Titlebar active color: "));
o->box(FL_DOWN_BOX);
o->callback((Fl_Callback*)cb_titlebarActiveColorButton);
o->align(132);
o->color((Fl_Color)title_active_color);
}
o->end();
}
{Fl_Choice* o = titlebarDrawGrad = new Fl_Choice(85, 157, 163, 23, _("Box type:")); o->begin();
o->callback((Fl_Callback*)cb_titlebarDrawGrad);
o->align(132);
new Fl_Item(_("Flat"));
new Fl_Item(_("Horizontal shade"));
new Fl_Item(_("Thin down"));
new Fl_Item(_("Up box"));
new Fl_Item(_("Down box"));
new Fl_Item(_("Plastic"));
o->value(title_draw_grad);
o->end();
}
{Fl_Check_Button* o = useThemeButton = new Fl_Check_Button(8, 220, 300, 20, _("&Use theme"));
o->callback((Fl_Callback*)cb_useThemeButton);
o->value(use_theme);
}
{Fl_Input* o = themePathInput = new Fl_Input(65, 247, 210, 23, _("Path:"));
o->callback((Fl_Callback*)cb_themePathInput);
o->deactivate();
themePathInput->value(theme_path);
}
{Fl_Button* o = browse_btn = new Fl_Button(280, 247, 25, 23, _("..."));
o->callback((Fl_Callback*)cb_browse_btn);
o->deactivate();
}
{Fl_Divider* o = new Fl_Divider(8, 190, 300, 25, _("label"));
o->color((Fl_Color)16);
}
{Fl_Divider* o = new Fl_Divider(8, 85, 297, 25, _("label"));
o->color((Fl_Color)16);
}
o->end();
}
{Fl_Group* o = new Fl_Group(3, 20, 310, 305, _("&Resizing"));
o->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
o->hide();
{Fl_Check_Button* o = animateButton = new Fl_Check_Button(10, 10, 300, 20, _("Animate size changes"));
o->value(1);
o->callback((Fl_Callback*)cb_animateButton);
o->value(animate);
}
{Fl_Value_Slider* o = animateSlider = new Fl_Value_Slider(70, 35, 235, 20, _("Speed:"));
o->type(Fl_Value_Slider::HORIZONTAL|Fl_Slider::TICK_ABOVE);
o->box(FL_DOWN_BOX);
o->text_size(10);
o->minimum(5);
//.........这里部分代码省略.........
示例8: make_window
Fl_Double_Window* UserInterface::make_window() {
Fl_Double_Window* w;
{ Fl_Double_Window* o = m_mainWindow = new Fl_Double_Window(797, 595, "Mesh viewer");
w = o;
o->user_data((void*)(this));
{ Fl_Group* o = new Fl_Group(0, 22, 125, 506, "Camera controls");
o->box(FL_ENGRAVED_BOX);
{ Fl_Slider* o = m_sldZoom = new Fl_Slider(16, 29, 95, 25, "Zoom");
o->tooltip("Zoom camera in and out");
o->type(1);
o->minimum(0.0001);
o->maximum(0.999);
o->step(0.01);
o->value(0.5);
o->slider_size(0.040404);
o->callback((Fl_Callback*)cb_m_sldZoom);
}
{ Fl_Roller* o = m_rolRotAmt = new Fl_Roller(45, 333, 75, 20, "Rot. ");
o->tooltip("Set rotation amount for key (j,k,i,m,r,R)");
o->type(1);
o->value(0.2);
o->callback((Fl_Callback*)cb_m_rolRotAmt);
o->align(FL_ALIGN_LEFT);
}
{ Fl_Dial* o = m_dialSpin = new Fl_Dial(74, 91, 31, 30, "Spin");
o->tooltip("Spin camera");
o->step(0.05);
o->callback((Fl_Callback*)cb_m_dialSpin);
}
{ Fl_Adjuster* o = m_adjXTrans = new Fl_Adjuster(5, 223, 105, 17, "Move horiz");
o->tooltip("Pan left/right");
o->minimum(-5);
o->maximum(5);
o->callback((Fl_Callback*)cb_m_adjXTrans);
}
{ Fl_Adjuster* o = m_adjYTrans = new Fl_Adjuster(5, 257, 105, 17, "Move vertical");
o->tooltip("Camera up/down");
o->minimum(-5);
o->maximum(5);
o->callback((Fl_Callback*)cb_m_adjYTrans);
}
{ Fl_Adjuster* o = m_adjInOut = new Fl_Adjuster(5, 296, 105, 17, "In/Out");
o->tooltip("Move camera in and out");
o->minimum(-5);
o->maximum(5);
o->callback((Fl_Callback*)cb_m_adjInOut);
}
{ Fl_Roller* o = m_rolTransAmt = new Fl_Roller(45, 358, 75, 15, "Trans.");
o->tooltip("Change translation amount");
o->type(1);
o->maximum(10);
o->value(0.1);
o->callback((Fl_Callback*)cb_m_rolTransAmt);
o->align(FL_ALIGN_LEFT);
}
{ Fl_Button* o = new Fl_Button(24, 378, 65, 25, "Reset");
o->tooltip("Reset camera");
o->callback((Fl_Callback*)cb_Reset);
}
{ Fl_Roller* o = m_rolUpDown = new Fl_Roller(15, 68, 20, 70, "Up/down");
o->tooltip("Rotate the camera up/down");
o->minimum(-1);
o->step(0.01);
o->callback((Fl_Callback*)cb_m_rolUpDown);
}
{ Fl_Roller* o = m_rolLeftRight = new Fl_Roller(16, 158, 85, 20, "Rot left/rignt");
o->tooltip("Rotate left to right");
o->type(1);
o->minimum(-1);
o->step(0.01);
o->callback((Fl_Callback*)cb_m_rolLeftRight);
}
{ Fl_Button* o = new Fl_Button(5, 194, 35, 25, "Zero");
o->tooltip("Zero trans sliders");
o->callback((Fl_Callback*)cb_Zero);
}
{ Fl_Check_Button* o = new Fl_Check_Button(0, 462, 20, 25, "IBar");
o->down_box(FL_DOWN_BOX);
o->value(1);
o->callback((Fl_Callback*)cb_IBar);
}
{ Fl_Check_Button* o = new Fl_Check_Button(0, 483, 25, 20, "Center obj");
o->down_box(FL_DOWN_BOX);
o->callback((Fl_Callback*)cb_Center);
}
o->end();
}
{ JofGTIBar* o = m_view = new JofGTIBar(135, 3, 560, 557);
Fl_Group::current()->resizable(o);
}
o->end();
}
return w;
}
示例9: make_mods_window
Fl_Double_Window* make_mods_window() {
if(mods_window != nullptr) {
delete (Fl_Double_Window*)mods_window;
mods_window = nullptr;
}
std::shared_ptr<AppendAIPatch> aip = std::dynamic_pointer_cast<AppendAIPatch>(mods->get("aip"));
Fl_Double_Window* w;
{ Fl_Double_Window* o = new Fl_Double_Window(264, 340, "Special Mods");
w = o;
{ new DoneButton(5, 310, 255, 25, "Close Window");
} // Fl_Button* o
{ Fl_Check_Button* o = new ModCheckbox("dpos", 5, 10, 255, 15, "Dark ice caves and hell are possible");
o->down_box(FL_DOWN_BOX);
} // Fl_Check_Button* o
{ Fl_Check_Button* o = new ModCheckbox("alld", 5, 30, 255, 15, "All levels are dark");
o->down_box(FL_DOWN_BOX);
} // Fl_Check_Button* o
{ Fl_Check_Button* o = new ModCheckbox("smlt", 5, 50, 255, 15, "End Timer is not set to 99 minutes");
o->down_box(FL_DOWN_BOX);
}
{ Fl_Check_Button* o = new ModCheckbox("pret", 5, 70, 255, 15, "Display precise timer");
o->down_box(FL_DOWN_BOX);
}
{
{
init_appendai_choices();
init_appendai_list();
}
{ Fl_Check_Button* o = new Fl_Check_Button(5, 172+40, 255, 15, "Piranhas unaffected (anti-crash)");
o->callback(unstable_check_callback);
if(aip->ignored_entities().size() > 0) {
o->value(true);
}
else {
o->value(false);
}
}
}
std::shared_ptr<ShopContentsPatch> som = std::dynamic_pointer_cast<ShopContentsPatch>(mods->get("smo"));
{ Fl_Group* o = new Fl_Group(5, 190+25+40, 255, 45, "Shop Mods");
{ Fl_Check_Button* o = new ShopItemCheckbox(ITEM_JETPACK, 10, 195+25+40, 75, 15, "Jetpack");
o->down_box(FL_DOWN_BOX);
} // Fl_Check_Button* o
{ Fl_Check_Button* o = new ShopItemCheckbox(ITEM_TELEPORTER, 85, 195+25+40, 90, 15, "Teleporter");
o->down_box(FL_DOWN_BOX);
} // Fl_Check_Button* o
{ Fl_Check_Button* o = new ShopItemCheckbox(ITEM_COMPASS, 175, 195+25+40, 83, 15, "Compass");
o->down_box(FL_DOWN_BOX);
} // Fl_Check_Button* o
{ Fl_Check_Button* o = new ShopItemCheckbox(ITEM_MATTOCK, 10, 215+25+40, 85, 15, "Mattock");
o->down_box(FL_DOWN_BOX);
}
{ Fl_Check_Button* o = new ShopItemCheckbox(ITEM_BOMB_BOX, 85, 215+25+40, 110, 15, "Bomb Box");
o->down_box(FL_DOWN_BOX);
}
{ Fl_Check_Button* o = new Fl_Check_Button(175, 215+25+40, 110, 15, "1-2 Only");
o->down_box(FL_DOWN_BOX);
if(som->valid()) {
o->value(som->levels() == 4);
o->callback(shop_only12_callback);
}
else {
o->deactivate();
}
} // Fl_Check_Button* o
o->box(FL_UP_FRAME);
o->end();
} // Fl_Group* o
o->end();
} // Fl_Double_Window* o
mods_window = w;
return w;
}
示例10: main
int main(int argc, char **argv) {
fl_open_display();
/* start daemon if not started */
xscreensaver_run_daemon(fl_display);
SaverPrefs* sp = xscreensaver_read_config();
main_win = new Fl_Double_Window(340, 445, _("Screensaver options"));
/* so ESC does not interrupt running process */
main_win->callback(close_cb);
main_win->begin();
/* monitor */
Fl_Box* b1 = new Fl_Box(120, 163, 100, 15);
b1->box(FL_BORDER_BOX);
Fl_Box* b2 = new Fl_Box(65, 10, 210, 158);
b2->box(FL_THIN_UP_BOX);
Fl_Box* b3 = new Fl_Box(78, 20, 184, 138);
b3->color(FL_BLACK);
b3->box(FL_DOWN_BOX);
/* preview window in 'b3' box */
preview_win = new Fl_Double_Window(80, 22, 180, 134);
preview_win->color(FL_BLACK);
preview_win->begin();
/* if failed to load any screensaver */
if(!sp) {
Fl_Box* b4 = new Fl_Box(0, 0, 180, 134, _("No screensavers found"));
b4->labelcolor(FL_GRAY);
b4->align(FL_ALIGN_INSIDE | FL_ALIGN_WRAP);
}
preview_win->end();
Fl_Box* b4 = new Fl_Box(95, 173, 146, 14);
b4->box(FL_THIN_UP_BOX);
Fl_Group* g1 = new Fl_Group(10, 215, 320, 45, _("Screensaver"));
g1->box(FL_ENGRAVED_BOX);
g1->align(FL_ALIGN_TOP_LEFT);
g1->begin();
Fl_Choice* saver_list = new Fl_Choice(19, 225, 180, 25);
saver_list->down_box(FL_BORDER_BOX);
saver_list->add("(None)", 0, 0);
if(sp) {
int sel = 0;
saver_list->callback((Fl_Callback*)choice_cb, sp);
/* fix possible error */
if(sp->curr_hack >= sp->hacks.size())
sp->curr_hack = 0;
HackListIter it = sp->hacks.begin(), it_end = sp->hacks.end();
for(int i = 1; it != it_end; ++it, i++) {
saver_list->add((*it)->name.c_str(), 0, 0);
/*
* Check real hack index number against current one and let it match
* position in our Fl_Choice list. Note that first item is '(None)'
* so 'i' starts from 1
*/
if(sp->mode != SAVER_OFF && (*it)->sindex == sp->curr_hack)
sel = i;
}
saver_list->value(sel);
}
timeout_val = new Fl_Spinner(275, 226, 45, 25, _("Timeout:"));
timeout_val->tooltip(_("Idle time in minutes after screensaver is started"));
timeout_val->range(1, 500);
if(sp)
timeout_val->value(sp->timeout);
else
timeout_val->value(1);
g1->end();
Fl_Group* g2 = new Fl_Group(10, 290, 320, 110, _("Power management"));
g2->box(FL_ENGRAVED_BOX);
g2->align(FL_ALIGN_TOP_LEFT);
g2->begin();
Fl_Check_Button* denabled = new Fl_Check_Button(20, 299, 180, 26, _("Enabled"));
denabled->down_box(FL_DOWN_BOX);
denabled->tooltip(_("Enable or disable Display Power Management Signaling support"));
if(sp) {
denabled->callback((Fl_Callback*)dpms_enable_cb, sp);
denabled->value(sp->dpms_enabled);
} else {
denabled->value(1);
}
Fl_Box* energy_image = new Fl_Box(20, 341, 75, 49);
energy_image->image(image_energy);
standby_val = new Fl_Spinner(275, 301, 45, 24, _("Standby:"));
standby_val->tooltip(_("Minutes for standby"));
//.........这里部分代码省略.........
示例11: _editor
void editor::_editor() {
//create the window
keepUserdat=new std::vector<std::pair<unsigned,int64_t>>;
luaCallback=new std::vector<std::pair<std::string,int64_t>>;
startLuaConf();
menu = new Fl_Menu_Bar(0,0,800,24);//Create menubar, items..
lua_getglobal(Lconf,"generateMenu");
runLuaFunc(Lconf,0,1);
{ unsigned menucnt;
std::vector<Fl_Menu_Item> tmp;
if(!(menucnt=lua_rawlen(Lconf,-1))) {
fl_alert("generateMenu must return a table");
exit(1);
}
for(unsigned i=1; i<=menucnt; ++i) {
lua_rawgeti(Lconf,-1,i);
unsigned len=lua_rawlen(Lconf,-1);
if(len) {
Fl_Menu_Item mi{0};
lua_rawgeti(Lconf,-1,1);
char*txt=(char*)luaL_optstring(Lconf,-1,0);
if(txt)
txt=strdup(txt);
mi.text=txt;
lua_pop(Lconf,1);
if(len>=2) {
lua_rawgeti(Lconf,-1,2);
mi.shortcut_=luaL_optinteger(Lconf,-1,0);
lua_pop(Lconf,1);
} else
mi.shortcut_=0;
int64_t userdat;
if(len>=4) {
lua_rawgeti(Lconf,-1,4);
userdat=luaL_optinteger(Lconf,-1,0);
lua_pop(Lconf,1);
} else
userdat=0;
if(len>=3) {
lua_rawgeti(Lconf,-1,3);
if(lua_type(Lconf,-1)==LUA_TSTRING) {
luaCallback->emplace_back(std::make_pair(lua_tostring(Lconf,-1),userdat));
mi.callback_=callLuaCB;
mi.user_data_=&(*luaCallback)[luaCallback->size()-1];
} else if(lua_type(Lconf,-1)==LUA_TNUMBER) {
int64_t lcall=lua_tointeger(Lconf,-1);
if(lcall>0) {
keepUserdat->emplace_back(std::make_pair(lcall-1,userdat));
mi.callback_=callCFuncLua;
mi.user_data_=&(*keepUserdat)[keepUserdat->size()-1];
} else
mi.callback_=0;
} else {
fl_alert("Error invalid type for callback %s",lua_typename(Lconf,lua_type(Lconf,-1)));
exit(1);
}
lua_pop(Lconf,1);
} else {
mi.callback_=0;
mi.user_data_=0;
}
if(len>=5) {
lua_rawgeti(Lconf,-1,5);
mi.flags=luaL_optinteger(Lconf,-1,0);
lua_pop(Lconf,1);
} else
mi.flags=0;
tmp.emplace_back(mi);
} else
tmp.emplace_back(Fl_Menu_Item{0});
lua_pop(Lconf,1);
}
unsigned cidx=0,lidx=0;
for(unsigned i=0; i<menucnt; ++i) { //While resizing the vector the addresses may have changed.
lua_rawgeti(Lconf,-1,i+1);
unsigned len=lua_rawlen(Lconf,-1);
if(len>=3) {
lua_rawgeti(Lconf,-1,3);
if(lua_type(Lconf,-1)==LUA_TSTRING) {
tmp[i].user_data_=&(*luaCallback)[lidx++];
} else if(lua_type(Lconf,-1)==LUA_TNUMBER) {
int64_t lcall=lua_tointeger(Lconf,-1);
if(lcall>0)
tmp[i].user_data_=&(*keepUserdat)[cidx++];
}
lua_pop(Lconf,1);
}
lua_pop(Lconf,1);
}
lua_pop(Lconf,1);
menu->copy(tmp.data());
}
tile_placer_tile_offset_y=default_tile_placer_tile_offset_y;
true_color_box_x=default_true_color_box_x;
true_color_box_y=default_true_color_box_y;
tile_edit_truecolor_off_x=default_tile_edit_truecolor_off_x;
tile_edit_truecolor_off_y=default_tile_edit_truecolor_off_y;
std::fill(tabsHidden,&tabsHidden[shareAmtPj],false);
{
//.........这里部分代码省略.........
示例12: make_window
Fl_Double_Window* IntersectionInterface::make_window() {
Fl_Double_Window* w;
{ Fl_Double_Window* o = m_intersectionWindow = new Fl_Double_Window(420, 265, "Intersection UI");
w = o;
o->user_data((void*)(this));
{ Fl_Group* o = new Fl_Group(5, 25, 145, 30);
o->end();
}
{ Fl_Choice* o = m_iShapeType = new Fl_Choice(5, 25, 145, 30, "Object type");
o->down_box(FL_BORDER_BOX);
o->align(FL_ALIGN_TOP_LEFT);
o->menu(menu_m_iShapeType);
}
{ Fl_Value_Slider* o = m_dXAt = new Fl_Value_Slider(5, 75, 200, 25, "At x pos");
o->type(5);
o->minimum(-1.5);
o->maximum(1.5);
o->callback((Fl_Callback*)cb_m_dXAt);
o->align(FL_ALIGN_TOP_LEFT);
}
{ Fl_Value_Slider* o = m_dYAt = new Fl_Value_Slider(5, 115, 200, 25, "At y pos");
o->type(5);
o->minimum(-1.5);
o->maximum(1.5);
o->callback((Fl_Callback*)cb_m_dYAt);
o->align(FL_ALIGN_TOP_LEFT);
}
{ Fl_Value_Slider* o = m_dZAt = new Fl_Value_Slider(5, 155, 200, 25, "At z pos");
o->type(5);
o->minimum(-1.5);
o->maximum(1.5);
o->callback((Fl_Callback*)cb_m_dZAt);
o->align(FL_ALIGN_TOP_LEFT);
}
{ Fl_Value_Slider* o = m_dTheta = new Fl_Value_Slider(5, 195, 200, 25, "Vec theta");
o->type(5);
o->maximum(360);
o->step(1);
o->callback((Fl_Callback*)cb_m_dTheta);
o->align(FL_ALIGN_TOP_LEFT);
}
{ Fl_Value_Slider* o = m_dPhi = new Fl_Value_Slider(5, 235, 200, 25, "Vec phi");
o->type(5);
o->minimum(-90);
o->maximum(90);
o->step(1);
o->value(45);
o->callback((Fl_Callback*)cb_m_dPhi);
o->align(FL_ALIGN_TOP_LEFT);
}
{ Fl_Button* o = new Fl_Button(330, 25, 85, 25, "Write test");
o->callback((Fl_Callback*)cb_Write);
}
{ Fl_Value_Slider* o = m_dXRot = new Fl_Value_Slider(215, 75, 200, 25, "View rotation");
o->type(5);
o->maximum(360);
o->step(1);
o->callback((Fl_Callback*)cb_m_dXRot);
o->align(FL_ALIGN_TOP_LEFT);
}
{ Fl_Value_Slider* o = m_dYRot = new Fl_Value_Slider(215, 115, 200, 25, "View height");
o->type(5);
o->minimum(-90);
o->maximum(90);
o->step(1);
o->callback((Fl_Callback*)cb_m_dYRot);
o->align(FL_ALIGN_TOP_LEFT);
}
{ Fl_Check_Button* o = m_bGrid = new Fl_Check_Button(215, 155, 25, 25, "Show grid");
o->down_box(FL_DOWN_BOX);
o->value(1);
o->callback((Fl_Callback*)cb_m_bGrid);
}
{ Fl_Check_Button* o = m_bRay = new Fl_Check_Button(215, 195, 25, 25, "Show ray");
o->down_box(FL_DOWN_BOX);
o->value(1);
o->callback((Fl_Callback*)cb_m_bRay);
}
{ Fl_Check_Button* o = m_bRayShadow = new Fl_Check_Button(215, 235, 25, 25, "Show ray shadow");
o->down_box(FL_DOWN_BOX);
o->value(1);
o->callback((Fl_Callback*)cb_m_bRayShadow);
}
m_iSeed = new Fl_Value_Input(240, 30, 85, 20, "Seed");
o->end();
o->resizable(o);
}
return w;
}
示例13: make_codingstyle_window
Fl_Window* make_codingstyle_window() {
Fl_Window* w;
{Fl_Window* o = new Fl_Window(310, 255);
w = o;
o->shortcut(0xff1b);
{Fl_Tabs* o = new Fl_Tabs(0, 0, 303, 220);
o->color((Fl_Color)0xfffffffe);
{Fl_Group* o = new Fl_Group(1, 24, 301, 195, _("Brace Style"));
{Fl_Group* o = new Fl_Group(14, 22, 282, 122, _("Brace Style"));
o->box(FL_ENGRAVED_BOX);
o->align(FL_ALIGN_TOP|FL_ALIGN_LEFT);
{Fl_Box* o = new Fl_Box(20, 6, 47, 20, _("if ( x ) {"));
o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
}
{Fl_Box* o = new Fl_Box(20, 25, 45, 20, _("++y;"));
o->align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE);
}
{Fl_Box* o = new Fl_Box(20, 41, 36, 20, _("}"));
o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
}
{Fl_Box* o = new Fl_Box(114, 6, 47, 20, _("if ( x )"));
o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
}
{Fl_Box* o = new Fl_Box(114, 25, 36, 20, _("{"));
o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
}
{Fl_Box* o = new Fl_Box(115, 42, 46, 20, _("++y;"));
o->align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE);
}
{Fl_Box* o = new Fl_Box(114, 59, 36, 20, _("}"));
o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
}
{Fl_Round_Button* o = pStyle1 = new Fl_Round_Button(16, 84, 66, 25, _("Style 1"));
o->type(Fl_Round_Button::RADIO);
o->value(1);
o->callback((Fl_Callback*)cb_pStyle1);
}
{Fl_Box* o = new Fl_Box(201, 6, 47, 20, _("if ( x )"));
o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE);
}
{Fl_Box* o = new Fl_Box(201, 25, 36, 20, _("{"));
o->align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE);
}
{Fl_Box* o = new Fl_Box(227, 42, 34, 22, _("++y;"));
o->align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE);
}
{Fl_Box* o = new Fl_Box(201, 59, 36, 20, _("}"));
o->align(FL_ALIGN_RIGHT|FL_ALIGN_INSIDE);
}
{Fl_Round_Button* o = pStyle2 = new Fl_Round_Button(109, 84, 66, 25, _("Style 2"));
o->type(Fl_Round_Button::RADIO);
o->callback((Fl_Callback*)cb_pStyle2);
}
{Fl_Round_Button* o = pStyle3 = new Fl_Round_Button(200, 84, 66, 25, _("Style 3"));
o->type(Fl_Round_Button::RADIO);
o->callback((Fl_Callback*)cb_pStyle3);
}
o->end();
}
{Fl_Check_Button* o = pNoSpaceParens = new Fl_Check_Button(15, 147, 195, 22, _("No space before parentheses"));
o->callback((Fl_Callback*)cb_pNoSpaceParens);
}
{Fl_Check_Button* o = pBraceFuncs = new Fl_Check_Button(15, 170, 174, 22, _("Apply to function braces"));
o->value(1);
o->callback((Fl_Callback*)cb_pBraceFuncs);
}
o->end();
}
{Fl_Group* o = new Fl_Group(1, 24, 301, 195, _("Other"));
o->hide();
{Fl_Group* o = new Fl_Group(11, 22, 284, 90, _("Indentation"));
o->box(FL_ENGRAVED_BOX);
o->align(FL_ALIGN_TOP|FL_ALIGN_LEFT);
{Fl_Value_Input* o = pTabSize = new Fl_Value_Input(129, 33, 60, 22, _("Tab size for indents"));
o->maximum(12);
o->value(2);
o->callback((Fl_Callback*)cb_pTabSize);
}
{Fl_Check_Button* o = pIndentTabs = new Fl_Check_Button(13, 7, 114, 22, _("Indent with tabs"));
o->callback((Fl_Callback*)cb_pIndentTabs);
}
{Fl_Check_Button* o = pIndentCode = new Fl_Check_Button(14, 58, 151, 22, _("Indent code blocks"));
o->callback((Fl_Callback*)cb_pIndentCode);
}
o->end();
}
{Fl_Check_Button* o = pReturnParens = new Fl_Check_Button(10, 120, 220, 22, _("Always use parentheses on return"));
o->callback((Fl_Callback*)cb_pReturnParens);
}
o->end();
}
o->end();
}
{Fl_Button* o = new Fl_Button(115, 227, 59, 23, _("Cancel"));
o->callback((Fl_Callback*)cb_Cancel);
}
{Fl_Button* o = new Fl_Button(180, 227, 59, 23, _("Save"));
o->callback((Fl_Callback*)cb_Save);
}
{Fl_Button* o = new Fl_Button(245, 227, 59, 23, _("Use"));
//.........这里部分代码省略.........
示例14: main
int main (int argc, char **argv) {
Fl_Window* w;
fl_init_locale_support("eiconsconf", PREFIX"/share/locale");
readIconsConfiguration();
{Fl_Window* o = iconsConfWindow = new Fl_Window(265, 314, _("Icons settings"));
w = o;
o->shortcut(0xff1b);
{Fl_Button* o = new Fl_Button(25, 280, 75, 25, _("&OK"));
o->callback((Fl_Callback*)cb_OK);
}
{Fl_Button* o = new Fl_Button(185, 280, 75, 25, _("&Cancel"));
o->callback((Fl_Callback*)cb_Cancel);
}
{Fl_Button* o = new Fl_Button(105, 280, 75, 25, _("&Apply"));
o->callback((Fl_Callback*)cb_Apply);
}
{Fl_Tabs* o = new Fl_Tabs(3, 5, 257, 265);
o->color((Fl_Color)0xfffffffe);
{Fl_Group* o = new Fl_Group(1, 23, 255, 241, _("Look&&feel"));
o->align(FL_ALIGN_TOP|FL_ALIGN_LEFT);
{Fl_Button* o = colorButton = new Fl_Button(165, 17, 60, 18, _("Background color: "));
o->box(FL_DOWN_BOX);
o->callback((Fl_Callback*)cb_colorButton);
o->align(FL_ALIGN_LEFT|FL_ALIGN_WRAP);
o->color((Fl_Color) label_background);
if(label_trans) o->deactivate();
}
{Fl_Button* o = colorButton1 = new Fl_Button(165, 47, 60, 18, _("Label color: "));
o->box(FL_DOWN_BOX);
o->callback((Fl_Callback*)cb_colorButton1);
o->align(FL_ALIGN_LEFT|FL_ALIGN_WRAP);
o->color((Fl_Color) label_foreground);
}
{Fl_Value_Slider* o = maxWidthSlider = new Fl_Value_Slider(115, 95, 125, 20, _("Maximum width: "));
o->type(Fl_Value_Slider::HORIZONTAL);
o->minimum(48);
o->maximum(200);
o->step(1);
o->value(50);
o->slider_size(10);
o->callback((Fl_Callback*)cb_maxWidthSlider);
o->align(FL_ALIGN_LEFT|FL_ALIGN_WRAP);
o->value(label_maxwidth);
}
{Fl_Value_Slider* o = fontsizeSlider = new Fl_Value_Slider(115, 125, 125, 20, _("Font height: "));
o->type(Fl_Value_Slider::HORIZONTAL|Fl_Slider::TICK_ABOVE);
o->minimum(8);
o->maximum(48);
o->step(1);
o->value(10);
o->slider_size(10);
o->callback((Fl_Callback*)cb_fontsizeSlider);
o->align(FL_ALIGN_LEFT|FL_ALIGN_WRAP);
o->value(label_fontsize);
}
{Fl_Value_Slider* o = gridspaceSlider = new Fl_Value_Slider(115, 155, 125, 20, _("Grid spacing: "));
o->type(Fl_Value_Slider::HORIZONTAL|Fl_Slider::TICK_ABOVE);
o->minimum(1);
o->maximum(50);
o->step(1);
o->value(10);
o->slider_size(10);
o->callback((Fl_Callback*)cb_gridspaceSlider);
o->align(FL_ALIGN_LEFT|FL_ALIGN_WRAP);
o->value(label_gridspacing);
}
{Fl_Check_Button* o = autoArrButton = new Fl_Check_Button(25, 215, 222, 20, _("Auto arrange icons"));
o->callback((Fl_Callback*)cb_autoArrButton);
o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE|FL_ALIGN_CLIP);
o->value(auto_arr);
}
{Fl_Check_Button* o = engageButton = new Fl_Check_Button(25, 190, 222, 20, _("Engage with just one click"));
o->callback((Fl_Callback*)cb_engageButton);
o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE|FL_ALIGN_CLIP);
o->value(label_engage_1click);
}
{Fl_Check_Button* o = bg_color_check = new Fl_Check_Button(227, 17, 20, 18);
o->callback((Fl_Callback*)cb_bg_color_check);
o->tooltip(_("Clear this, to get transparent background."));
if(!label_trans) o->set_value();
}
o->end();
}
o->end();
}
o->end();
o->resizable(o);
}
w->show(argc, argv);
return Fl::run();
}
示例15: sprintf
Fl_Scopes_Manager::Fl_Scopes_Manager(int x, int y, int width, int height, Fl_MDI_Viewport *s, const char *name)
{
Fl::lock();
s->begin();
Fl_MDI_Window *w = SWin = new Fl_MDI_Window(0, 0, width, height, name);
w->user_data((void *)this);
w->resizable(w->view());
w->titlebar()->close_button()->hide();
w->view()->begin();
Scopes_Tabs = new Fl_Tabs*[Num_Scopes];
Scope_Show = new Fl_Check_Button*[Num_Scopes];
Scope_Pause = new Fl_Button*[Num_Scopes];
Scope_OneShot = new Fl_Check_Button*[Num_Scopes];
Scope_Options = new Fl_Menu_Button*[Num_Scopes];
Grid_Color = new Fl_Button*[Num_Scopes];
Bg_Color = new Fl_Button*[Num_Scopes];
Sec_Div = new Fl_Input_Browser*[Num_Scopes];
Save_Type = new Fl_Check_Button*[Num_Scopes];
Save_Points = new Fl_Int_Input*[Num_Scopes];
Save_Time = new Fl_Float_Input*[Num_Scopes];
Save_File = new Fl_Input*[Num_Scopes];
Save = new Fl_Light_Button*[Num_Scopes];
Save_Flag = new int[Num_Scopes];
Save_File_Pointer = new FILE*[Num_Scopes];
Trace_Page = new Fl_Group**[Num_Scopes];
Trace_Show = new Fl_Check_Button**[Num_Scopes];
Units_Div = new Fl_Input_Browser**[Num_Scopes];
Trace_Color = new Fl_Button**[Num_Scopes];
Trace_Pos = new Fl_Dial**[Num_Scopes];
Trace_Width = new Fl_Dial**[Num_Scopes];
Trigger_Mode = new Fl_Choice*[Num_Scopes];
Trace_Options = new Fl_Menu_Button**[Num_Scopes];
Scope_Windows = new Fl_Scope_Window*[Num_Scopes];
for (int i = 0; i < Num_Scopes; i++) {
Save_Flag[i] = false;
{ Fl_Tabs *o = Scopes_Tabs[i] = new Fl_Tabs(160, 5, width-165, height-40);
o->new_page("General");
{ Fl_Check_Button *o = Scope_Show[i] = new Fl_Check_Button(10, 25, 100, 20, "Show/Hide");
o->callback((Fl_Callback *)show_scope, (void *)i);
}
{ Fl_Button *o = Scope_Pause[i] = new Fl_Button(10, 75, 90, 25, "Trigger");
o->value(0);
o->deactivate();
o->when(FL_WHEN_CHANGED);
o->callback((Fl_Callback *)pause_scope, (void *)i);
}
{ Fl_Check_Button *o = Scope_OneShot[i] = new Fl_Check_Button(10, 50, 100, 20, "OneShot/Run");
o->deactivate();
o->callback((Fl_Callback *)oneshot_scope, (void *)i);
}
{ Fl_Menu_Button *o = Scope_Options[i] = new Fl_Menu_Button(10, 105, 90, 25, "Options");
o->menu(Scope_Opts);
o->when(FL_WHEN_ENTER_KEY);
o->child(0)->set_value();
o->callback((Fl_Callback *)enter_options, (void *)i);
}
{ Fl_Button *o = Grid_Color[i] = new Fl_Button(10, 135, 90, 25, "Grid Color");
o->callback((Fl_Callback *)select_grid_color, (void *)i);
}
{ Fl_Button *o = Bg_Color[i] = new Fl_Button(10, 165, 90, 25, "Bg Color");
o->callback((Fl_Callback *)select_bg_color, (void *)i);
}
{ Fl_Input_Browser *o = Sec_Div[i] = new Fl_Input_Browser(200, 25, 60, 20, "Sec/Div: ");
o->add("0.001|0.005|0.01|0.05|0.1|0.5|1");
o->align(FL_ALIGN_LEFT);
o->value("0.1");
o->when(FL_WHEN_ENTER_KEY);
o->callback((Fl_Callback *)enter_secdiv, (void *)i);
}
{ Fl_Check_Button *o = Save_Type[i] = new Fl_Check_Button(140, 50, 100, 20, "Points/Time");
o->value(1);
o->callback((Fl_Callback *)select_save, (void *)i);
}
{ Fl_Int_Input *o = Save_Points[i] = new Fl_Int_Input(200, 75, 60, 20, "N Points: ");
o->align(FL_ALIGN_LEFT);
o->value("1000");
}
{ Fl_Float_Input *o = Save_Time[i] = new Fl_Float_Input(200, 105, 60, 20, "Time [s]: ");
o->align(FL_ALIGN_LEFT);
o->value("1.0");
o->deactivate();
}
{ Fl_Input *o = Save_File[i] = new Fl_Input(200, 135, 100, 20, "Filename:");
char buf[100];
o->align(FL_ALIGN_LEFT);
sprintf(buf, "%s", Scopes[i].name);
o->value(buf);
}
{ Fl_Light_Button *o = Save[i] = new Fl_Light_Button(140, 165, 90, 25, "Save");
o->selection_color(FL_BLACK);
o->callback((Fl_Callback *)enable_saving, (void *)i);
}
//.........这里部分代码省略.........