本文整理汇总了C++中Fl_Pack::box方法的典型用法代码示例。如果您正苦于以下问题:C++ Fl_Pack::box方法的具体用法?C++ Fl_Pack::box怎么用?C++ Fl_Pack::box使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Fl_Pack
的用法示例。
在下文中一共展示了Fl_Pack::box方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv) {
Fl_Window *w;
{Fl_Window* o = new Fl_Window(365, 525);
w = o;
scroll = new Fl_Scroll(10,10,345,285);
{Fl_Pack* o = new Fl_Pack(10, 10, 345, 285);
pack = o;
o->box(FL_DOWN_BOX);
//o->box(FL_ENGRAVED_FRAME);
(void) new Fl_Button(35, 35, 25, 25, "b1");
(void) new Fl_Button(45, 45, 25, 25, "b2");
(void) new Fl_Button(55, 55, 25, 25, "b3");
(void) new Fl_Button(65, 65, 25, 25, "b4");
(void) new Fl_Button(75, 75, 25, 25, "b5");
(void) new Fl_Button(85, 85, 25, 25, "b6");
(void) new Fl_Button(95, 95, 25, 25, "b7");
(void) new Fl_Button(105, 105, 25, 25, "b8");
(void) new Fl_Button(115, 115, 25, 25, "b9");
(void) new Fl_Button(125, 125, 25, 25, "b10");
(void) new Fl_Button(135, 135, 25, 25, "b11");
(void) new Fl_Button(145, 145, 25, 25, "b12");
(void) new Fl_Button(155, 155, 25, 25, "b13");
(void) new Fl_Button(165, 165, 25, 25, "b14");
(void) new Fl_Button(175, 175, 25, 25, "b15");
(void) new Fl_Button(185, 185, 25, 25, "b16");
(void) new Fl_Button(195, 195, 25, 25, "b17");
(void) new Fl_Button(205, 205, 25, 25, "b18");
(void) new Fl_Button(215, 215, 25, 25, "b19");
(void) new Fl_Button(225, 225, 25, 25, "b20");
(void) new Fl_Button(235, 235, 25, 25, "b21");
(void) new Fl_Button(245, 245, 25, 25, "b22");
(void) new Fl_Button(255, 255, 25, 25, "b23");
(void) new Fl_Button(265, 265, 25, 25, "b24");
o->end();
w->resizable(o);
}
scroll->end();
{Fl_Light_Button* o = new Fl_Light_Button(10, 325, 175, 25, "HORIZONTAL");
o->type(FL_RADIO_BUTTON);
o->callback((Fl_Callback*)type_cb, (void*)(Fl_Pack::HORIZONTAL));
}
{Fl_Light_Button* o = new Fl_Light_Button(10, 350, 175, 25, "VERTICAL");
o->type(FL_RADIO_BUTTON);
o->value(1);
o->callback((Fl_Callback*)type_cb, (void*)(Fl_Pack::VERTICAL));
}
{Fl_Value_Slider* o = new Fl_Value_Slider(50,375, 295,25,"spacing:");
o->clear_flag(FL_ALIGN_MASK);
o->set_flag(FL_ALIGN_LEFT);
o->type(Fl_Slider::HORIZONTAL);
o->range(0,30);
o->step(1);
o->callback((Fl_Callback*)spacing_cb);
}
w->end();
}
w->show(argc, argv);
return Fl::run();
}
示例2: 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);
//.........这里部分代码省略.........