本文整理汇总了C++中gtk::SpinButton类的典型用法代码示例。如果您正苦于以下问题:C++ SpinButton类的具体用法?C++ SpinButton怎么用?C++ SpinButton使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SpinButton类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: Value
void DamageWindow::Value( int val )
{
f_value = val;
Gtk::SpinButton* sp;
f_table.GetItem( DamageHealth, sp );
sp->set_value( f_value );
}
开发者ID:m2osw,项目名称:turnwatcher,代码行数:7,代码来源:DamageWindow.cpp
示例2: AxisRow
AxisRow(Model *model, int axis) :
m_inhibit_update(false), m_model(model), m_axis(axis)
{
add(*(new Gtk::Label(axis_names[axis])));
Gtk::Button *home = new Gtk::Button("Home");
home->signal_clicked().connect
(sigc::mem_fun (*this, &AxisRow::home_clicked));
add (*home);
add_nudge_button (-10.0);
add_nudge_button (-1.0);
add_nudge_button (-0.1);
m_target = new Gtk::SpinButton();
m_target->set_digits (1);
m_target->set_increments (0.1, 1);
m_target->set_range(-200.0, +200.0);
m_target->set_value(0.0);
add (*m_target);
m_target->signal_value_changed().connect
(sigc::mem_fun(*this, &AxisRow::spin_value_changed));
add_nudge_button (+0.1);
add_nudge_button (+1.0);
add_nudge_button (+10.0);
}
开发者ID:earizaa,项目名称:repsnapper,代码行数:25,代码来源:view.cpp
示例3: TempRow
TempRow(Model *model, TempType type) :
m_model(model), m_type(type)
{
static const char *names[] = { "Nozzle", "Bed" };
add(*(new Gtk::Label(names[type])));
Gtk::ToggleButton *pOn = new Gtk::ToggleButton("Heat On");
pOn->signal_toggled().connect
(sigc::bind (sigc::mem_fun (*this, &TempRow::heat_toggled), pOn));
add(*pOn);
m_temp = new Gtk::Label();
add (*m_temp);
add(*(new Gtk::Label("Target Temperature (°C)")));
m_target = new Gtk::SpinButton();
m_target->set_increments (1, 5);
m_target->set_range(25.0, 256.0);
switch (type) {
case TEMP_NOZZLE:
default:
m_target->set_value(200.0);
break;
case TEMP_BED:
m_target->set_value(100.0);
break;
}
add (*m_target);
}
开发者ID:earizaa,项目名称:repsnapper,代码行数:27,代码来源:view.cpp
示例4: set_to_gui
void Settings::set_to_gui (Builder &builder, int i)
{
const char *glade_name = settings[i].glade_name;
if (!glade_name)
return;
switch (settings[i].type) {
case T_BOOL: {
Gtk::CheckButton *check = NULL;
builder->get_widget (glade_name, check);
if (!check)
std::cerr << "Missing boolean config item " << glade_name << "\n";
else
check->set_active (*PTR_BOOL(this, i));
break;
}
case T_INT:
case T_FLOAT: {
Gtk::Widget *w = NULL;
builder->get_widget (glade_name, w);
if (!w) {
std::cerr << "Missing user interface item " << glade_name << "\n";
break;
}
Gtk::SpinButton *spin = dynamic_cast<Gtk::SpinButton *>(w);
if (spin) {
if (settings[i].type == T_INT)
spin->set_value (*PTR_INT(this, i));
else
spin->set_value (*PTR_FLOAT(this, i));
break;
}
Gtk::Range *range = dynamic_cast<Gtk::Range *>(w);
if (range) {
if (settings[i].type == T_INT)
range->set_value (*PTR_INT(this, i));
else
range->set_value (*PTR_FLOAT(this, i));
}
break;
}
case T_STRING: {
Gtk::Entry *e = NULL;
builder->get_widget (glade_name, e);
if (!e) {
std::cerr << "Missing user interface item " << glade_name << "\n";
break;
}
e->set_text(*PTR_STRING(this, i));
break;
}
case T_COLOUR_MEMBER:
break; // Ignore, Colour members are special
default:
std::cerr << "corrupt setting type\n";
break;
}
}
开发者ID:Tyndi,项目名称:3dprint,代码行数:60,代码来源:settings.cpp
示例5: InitTable
void InitWindow::InitTable()
{
f_charNameMap.clear();
f_monsterNameMap.clear();
//
const int initId = GetStatMgr().lock()->initId();
//
{
f_charTable.Clear();
int id = 1;
for( auto ch : f_chars )
{
assert(ch);
Gtk::Adjustment* adj;
adj = new Gtk::Adjustment(1.0, g_lower_range, g_upper_range);
//
std::stringstream ss;
ss << "Character " << id << std::ends;
molib::moName name( ss.str().c_str() );
//
f_charNameMap[name] = ch;
//
Gtk::SpinButton* sp;
f_charTable.AddItem( name, ch->name().c_str(), false, sp = new Gtk::SpinButton(*adj), NULL );
sp->set_numeric( true );
const int init = ch->getRoll( initId );
//
SetValue( f_charTable, name, init );
}
}
//
{
f_monsterTable.Clear();
int id = 1;
for( auto ch : f_monsters )
{
assert(ch);
Gtk::Adjustment* adj;
adj = new Gtk::Adjustment(1.0, g_lower_range, g_upper_range);
//
std::stringstream ss;
ss << "Monster " << id << std::ends;
molib::moName name( ss.str().c_str() );
//
f_monsterNameMap[name] = ch;
//
f_monsterTable.AddItem( name, ch->name().c_str(), false, new Gtk::SpinButton(*adj), NULL );
const int init = ch->getRoll( initId );
//
SetValue( f_monsterTable, name, init );
}
}
show_all_children();
}
开发者ID:m2osw,项目名称:turnwatcher,代码行数:58,代码来源:InitWindow.cpp
示例6: createSpinner
Gtk::SpinButton* PrefPage::createSpinner(double value, double lower, double upper, int fraction)
{
double step = 1.0 / static_cast<double>(fraction);
unsigned int digits = 0;
for (;fraction > 1; fraction /= 10)
{
++digits;
}
Gtk::Adjustment* adjustment = Gtk::manage(new Gtk::Adjustment(value, lower, upper, step, 10, 0));
Gtk::SpinButton* spin = Gtk::manage(new Gtk::SpinButton(*adjustment, step, digits));
spin->show();
spin->set_size_request(64, -1);
return spin;
}
开发者ID:OpenTechEngine,项目名称:DarkRadiant,代码行数:18,代码来源:PrefPage.cpp
示例7: appendSpinner
Gtk::Widget* PrefPage::appendSpinner(const std::string& name, const std::string& registryKey,
double lower, double upper, int fraction)
{
// Load the initial value (maybe unnecessary, as the value is loaded upon dialog show)
float value = registry::getValue<float>(registryKey);
Gtk::Alignment* alignment = Gtk::manage(new Gtk::Alignment(0.0, 0.5, 0.0, 0.0));
alignment->show();
Gtk::SpinButton* spin = createSpinner(value, lower, upper, fraction);
alignment->add(*spin);
// Connect the registry key to the newly created input field
registry::bindPropertyToBufferedKey(spin->property_value(), registryKey, _registryBuffer, _resetValuesSignal);
appendNamedWidget(name, *alignment);
return spin;
}
开发者ID:OpenTechEngine,项目名称:DarkRadiant,代码行数:19,代码来源:PrefPage.cpp
示例8: ParamFloatAdjustment
/**
\brief Creates a Float Adjustment for a float parameter
Builds a hbox with a label and a float adjustment in it.
*/
Gtk::Widget *
ParamFloat::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal)
{
if (_gui_hidden) return NULL;
Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4));
Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_LEFT));
label->show();
hbox->pack_start(*label, true, true);
ParamFloatAdjustment * fadjust = Gtk::manage(new ParamFloatAdjustment(this, doc, node, changeSignal));
Gtk::SpinButton * spin = Gtk::manage(new Gtk::SpinButton(*fadjust, 0.1, _precision));
spin->show();
hbox->pack_start(*spin, false, false);
hbox->show();
return dynamic_cast<Gtk::Widget *>(hbox);
}
开发者ID:loveq369,项目名称:DoonSketch,代码行数:25,代码来源:float.cpp
示例9: InitTable
void SettingsWindow::InitTable()
{
auto appSettings(GetAppSettings().lock());
assert(appSettings);
Gtk::ComboBoxEntryText* cb = new Gtk::ComboBoxEntryText;
f_table.AddItem( InitDie, gettext("Initiative Dice (default: 1d20)"), false, cb, NULL );
f_tooltips.set_tip( *cb, gettext("Die value used to roll Initiative internally. 1d20 is the default, but you may enter other values such as 2d10.") );
Gtk::Adjustment* adj = new Gtk::Adjustment(0.0, g_lower_range, g_upper_range);
Gtk::SpinButton* sp = new Gtk::SpinButton( *adj );
f_table.AddItem( DeathThreshold, gettext("Death Threshold"), false, sp, NULL );
sp->set_numeric( true );
f_tooltips.set_tip( *sp, gettext("Hitpoint threshold value below 0 that indicates combatant death (default is -10).") );
Gtk::FontButton* fb = new Gtk::FontButton( appSettings->CombatantListFont() );
f_table.AddItem( CharListFont, gettext("Main Combatant List Font"), false, fb, NULL );
f_tooltips.set_tip( *fb, gettext("Select the font to use for the main combatant list. Requires application restart.") );
fb = new Gtk::FontButton( appSettings->AltCombatantListFont() );
f_table.AddItem( AltCharListFont, gettext("Alternate Combatant List Font (for players)"), false, fb, NULL );
f_tooltips.set_tip( *fb, gettext("Select the font to use for the player view combatant list. Requires application restart.") );
}
开发者ID:m2osw,项目名称:turnwatcher,代码行数:24,代码来源:SettingsWindow.cpp
示例10: addDimension
void DimensionManager::addDimension() {
Gtk::Dialog dialog(_("New Dimension"), true /*modal*/);
// add dimension type combo box to the dialog
Glib::RefPtr<Gtk::ListStore> refComboModel = Gtk::ListStore::create(comboModel);
for (int i = 0x01; i < 0xff; i++) {
Glib::ustring sType =
dimTypeAsString(static_cast<gig::dimension_t>(i));
if (sType.find("Unknown") != 0) {
Gtk::TreeModel::Row row = *(refComboModel->append());
row[comboModel.m_type_id] = i;
row[comboModel.m_type_name] = sType;
}
}
Gtk::Table table(2, 2);
Gtk::Label labelDimType(_("Dimension:"), Gtk::ALIGN_START);
Gtk::ComboBox comboDimType;
comboDimType.set_model(refComboModel);
comboDimType.pack_start(comboModel.m_type_id);
comboDimType.pack_start(comboModel.m_type_name);
Gtk::Label labelZones(_("Zones:"), Gtk::ALIGN_START);
table.attach(labelDimType, 0, 1, 0, 1);
table.attach(comboDimType, 1, 2, 0, 1);
table.attach(labelZones, 0, 1, 1, 2);
dialog.get_vbox()->pack_start(table);
// number of zones: use a combo box with fix values for gig
// v2 and a spin button for v3
Gtk::ComboBoxText comboZones;
Gtk::SpinButton spinZones;
bool version2 = false;
if (region) {
gig::File* file = (gig::File*)region->GetParent()->GetParent();
version2 = file->pVersion && file->pVersion->major == 2;
}
if (version2) {
for (int i = 1; i <= 5; i++) {
char buf[3];
sprintf(buf, "%d", 1 << i);
#if (GTKMM_MAJOR_VERSION == 2 && GTKMM_MINOR_VERSION < 24) || GTKMM_MAJOR_VERSION < 2
comboZones.append_text(buf);
#else
comboZones.append(buf);
#endif
}
table.attach(comboZones, 1, 2, 1, 2);
} else {
spinZones.set_increments(1, 8);
spinZones.set_numeric(true);
spinZones.set_range(2, 128);
spinZones.set_value(2);
table.attach(spinZones, 1, 2, 1, 2);
}
dialog.add_button(_("_OK"), 0);
dialog.add_button(_("_Cancel"), 1);
dialog.show_all_children();
if (!dialog.run()) { // OK selected ...
Gtk::TreeModel::iterator iterType = comboDimType.get_active();
if (!iterType) return;
Gtk::TreeModel::Row rowType = *iterType;
if (!rowType) return;
int iTypeID = rowType[comboModel.m_type_id];
gig::dimension_t type = static_cast<gig::dimension_t>(iTypeID);
gig::dimension_def_t dim;
dim.dimension = type;
if (version2) {
if (comboZones.get_active_row_number() < 0) return;
dim.bits = comboZones.get_active_row_number() + 1;
dim.zones = 1 << dim.bits;
} else {
dim.zones = spinZones.get_value_as_int();
dim.bits = zoneCountToBits(dim.zones);
}
// assemble the list of regions where the selected dimension shall be
// added to
std::vector<gig::Region*> vRegions;
if (allRegions()) {
gig::Instrument* instr = (gig::Instrument*)region->GetParent();
for (gig::Region* rgn = instr->GetFirstRegion(); rgn; rgn = instr->GetNextRegion()) {
if (!rgn->GetDimensionDefinition(type)) vRegions.push_back(rgn);
}
} else vRegions.push_back(region);
std::set<Glib::ustring> errors;
for (uint iRgn = 0; iRgn < vRegions.size(); ++iRgn) {
gig::Region* region = vRegions[iRgn];
try {
printf(
"Adding dimension (type=0x%x, bits=%d, zones=%d)\n",
dim.dimension, dim.bits, dim.zones
);
// notify everybody that we're going to update the region
region_to_be_changed_signal.emit(region);
// add the new dimension to the region
// (implicitly creates new dimension regions)
region->AddDimension(&dim);
//.........这里部分代码省略.........
开发者ID:svn2github,项目名称:linuxsampler,代码行数:101,代码来源:dimensionmanager.cpp
示例11: proc__
//.........这里部分代码省略.........
if(!w)
return 1;
if(p->size()>1){
const Glib::ustring& p1=(*p)[1];
w->set_icon_name(p1);
Glib::RefPtr<Gdk::Pixbuf> pb=Gdk::Pixbuf::create_from_file(p1);
if(pb)
w->set_icon(pb);
}else
cpy__(buf,w->get_icon_name().c_str(),siz);
return 1;
}
if(p->size()<2){
return 0;
}
const Glib::ustring& p1=(*p)[1];
Gtk::Entry* e;
Gtk::Label* l;
Gtk::Button* b;
Gtk::ToolButton* tb;
Gtk::TextView* tv;
Gtk::Notebook* n;
Gtk::Bin* bI;
Gtk::Widget* w;
Gtk::Statusbar* sB;
Gtk::FileChooserButton* fcb;
Gtk::ToggleButton* tOb;//CheckButton RadioButton
Gtk::ToggleToolButton*ttb;
//Gtk::RadioButtonGroup* rbg;
Gtk::MenuItem* mi;
Gtk::CheckMenuItem* cmi;
Gtk::SpinButton* sb;
if(p0=="窗口标题"){
if(siz==-1)return 1;
Gtk::Window* w1;
if(p1=="")
w1=sh_->main_win_;
else{
sh_->builder_->get_widget(p1, w);
if(!w){
d_(sh_,err_show_wufa_,2,p,1);
return 1;
}
w1=(Gtk::Window*)w;
}
if(p->size()<3){
cpy__(buf,w1->get_title().c_str(),siz);
}else{
w1->set_title((*p)[2]);
}
return 1;
}
if(p0=="内容"){
if(siz==-1)return 1;
Glib::ustring text;
bool read=false;
int start=2;
if(p->size()>2&&(*p)[2]=="读取"){
read=true;
start=3;
}
for(size_t i=start;i<p->size();i++){
开发者ID:zzzzzzzzzzz0,项目名称:zhscript,代码行数:67,代码来源:common___.cpp
示例12: connect_to_ui
void Settings::connect_to_ui (Builder &builder)
{
// connect gcode configurable text sections
GCode.m_impl->connectToUI (builder);
// first setup ranges on spinbuttons ...
for (uint i = 0; i < G_N_ELEMENTS (spin_ranges); i++) {
Gtk::SpinButton *spin = NULL;
builder->get_widget (spin_ranges[i].widget, spin);
if (!spin)
std::cerr << "missing spin button of name '" << spin_ranges[i].widget << "'\n";
else {
spin->set_range (spin_ranges[i].min, spin_ranges[i].max);
spin->set_increments (spin_ranges[i].inc, spin_ranges[i].inc_page);
}
}
// Ranges on [HV]Range widgets
for (uint i = 0; i < G_N_ELEMENTS (ranges); i++) {
Gtk::Range *range = NULL;
builder->get_widget (ranges[i].widget, range);
if (!range)
std::cerr << "missing range slider of name '" << ranges[i].widget << "'\n";
else {
range->set_range (ranges[i].min, ranges[i].max);
range->set_increments (ranges[i].inc, ranges[i].inc_page);
}
}
// connect widget / values from our table
for (uint i = 0; i < G_N_ELEMENTS (settings); i++) {
const char *glade_name = settings[i].glade_name;
if (!glade_name)
continue;
switch (settings[i].type) {
case T_BOOL: {
Gtk::CheckButton *check = NULL;
builder->get_widget (glade_name, check);
if (check)
check->signal_toggled().connect
(sigc::bind(sigc::bind(sigc::mem_fun(*this, &Settings::get_from_gui), i), builder));
break;
}
case T_INT:
case T_FLOAT: {
Gtk::Widget *w = NULL;
builder->get_widget (glade_name, w);
if (!w) {
std::cerr << "Missing user interface item " << glade_name << "\n";
break;
}
Gtk::SpinButton *spin = dynamic_cast<Gtk::SpinButton *>(w);
if (spin) {
spin->signal_value_changed().connect
(sigc::bind(sigc::bind(sigc::mem_fun(*this, &Settings::get_from_gui), i), builder));
break;
}
Gtk::Range *range = dynamic_cast<Gtk::Range *>(w);
if (range) {
range->signal_value_changed().connect
(sigc::bind(sigc::bind(sigc::mem_fun(*this, &Settings::get_from_gui), i), builder));
break;
}
break;
}
case T_STRING: // unimplemented
break;
default:
break;
}
}
// Slicing.ShrinkQuality
Gtk::ComboBox *combo = NULL;
builder->get_widget ("Slicing.ShrinkQuality", combo);
if (combo) {
Glib::RefPtr<Gtk::ListStore> model;
Gtk::TreeModelColumnRecord record;
Gtk::TreeModelColumn<Glib::ustring> column;
record.add (column);
model = Gtk::ListStore::create(record);
model->append()->set_value (0, Glib::ustring("Fast"));
model->append()->set_value (0, Glib::ustring("Logick"));
combo->set_model (model);
combo->pack_start (column);
combo->signal_changed().connect
(sigc::bind(sigc::mem_fun(*this, &Settings::get_shrink_from_gui), builder));
}
// Colour selectors
for (uint i = 0; i < G_N_ELEMENTS (colour_selectors); i++) {
const char *glade_name = colour_selectors[i].glade_name;
Gdk::Color c;
Gtk::ColorButton *w = NULL;
if (!glade_name)
continue;
//.........这里部分代码省略.........
开发者ID:Tyndi,项目名称:3dprint,代码行数:101,代码来源:settings.cpp
示例13: get_from_gui
void Settings::get_from_gui (Builder &builder, int i)
{
const char *glade_name = settings[i].glade_name;
if (glade_name == NULL)
return; /* Not an automatically connected setting */
switch (settings[i].type) {
case T_BOOL: {
Gtk::CheckButton *check = NULL;
builder->get_widget (glade_name, check);
if (!check)
std::cerr << "Missing boolean config item " << glade_name << "\n";
else
*PTR_BOOL(this, i) = check->get_active();
break;
}
case T_INT:
case T_FLOAT: {
Gtk::Widget *w = NULL;
builder->get_widget (glade_name, w);
if (!w) {
std::cerr << "Missing GUI element " << glade_name << "\n";
break;
}
Gtk::SpinButton *spin = dynamic_cast<Gtk::SpinButton *>(w);
if (spin) {
if (settings[i].type == T_INT)
*PTR_INT(this, i) = spin->get_value();
else
*PTR_FLOAT(this, i) = spin->get_value();
break;
}
Gtk::Range *range = dynamic_cast<Gtk::Range *>(w);
if (range) {
if (settings[i].type == T_INT)
*PTR_INT(this, i) = range->get_value();
else
*PTR_FLOAT(this, i) = range->get_value();
}
break;
}
case T_STRING: {
Gtk::Entry *e = NULL;
builder->get_widget (glade_name, e);
if (!e) {
std::cerr << "Missing user interface item " << glade_name << "\n";
break;
}
*PTR_STRING(this, i) = std::string(e->get_text());
break;
}
case T_COLOUR_MEMBER:
// Ignore, colour members are special
break;
default:
std::cerr << "corrupt setting type\n";
break;
}
if (settings[i].triggers_redraw)
m_signal_visual_settings_changed.emit();
}
开发者ID:Tyndi,项目名称:3dprint,代码行数:65,代码来源:settings.cpp
示例14: OnValueChanged
void DamageWindow::OnValueChanged()
{
Gtk::SpinButton* sp;
f_table.GetItem( DamageHealth, sp );
f_value = atoi(sp->get_text().c_str());
}
开发者ID:m2osw,项目名称:turnwatcher,代码行数:6,代码来源:DamageWindow.cpp
示例15: manage
//dialog_previewoptions stuff
Dialog_PreviewOptions::Dialog_PreviewOptions()
:Dialog(_("Preview Options")),
adj_zoom(Gtk::Adjustment::create(0.5,0.1,5.0,0.1,0.2)),
adj_fps(Gtk::Adjustment::create(12,1,120,1,5)),
check_overbegin(_("_Begin time"),false),
check_overend(_("_End time"),false),
settings(this,"prevoptions")
{
//framerate = 15.0f;
//zoom = 0.2f;
//set the fps of the time widgets
Gtk::Alignment *dialogPadding = manage(new Gtk::Alignment(0, 0, 1, 1));
dialogPadding->set_padding(12, 12, 12, 12);
get_vbox()->add(*dialogPadding);
Gtk::VBox *dialogBox = manage(new Gtk::VBox(false, 12));
dialogPadding->add(*dialogBox);
Gtk::Frame *generalFrame = manage(new Gtk::Frame(_("General settings")));
generalFrame->set_shadow_type(Gtk::SHADOW_NONE);
((Gtk::Label *) generalFrame->get_label_widget())->set_markup(_("<b>General settings</b>"));
dialogBox->pack_start(*generalFrame, false, false, 0);
Gtk::Alignment *generalPadding = manage(new Gtk::Alignment(0, 0, 1, 1));
generalPadding->set_padding(6, 0, 24, 0);
generalFrame->add(*generalPadding);
Gtk::Table *generalTable = manage(new Gtk::Table(2, 2, false));
generalTable->set_row_spacings(6);
generalTable->set_col_spacings(12);
generalPadding->add(*generalTable);
Gtk::Label *zoomLabel = manage(new Gtk::Label(_("_Quality")));
zoomLabel->set_alignment(0, 0.5);
zoomLabel->set_use_underline(TRUE);
Gtk::SpinButton *zoomSpinner = manage(new Gtk::SpinButton(adj_zoom, 0.1, 2));
zoomLabel->set_mnemonic_widget(*zoomSpinner);
zoomSpinner->set_alignment(1);
generalTable->attach(*zoomLabel, 0, 1, 0, 1, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
generalTable->attach(*zoomSpinner, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
Gtk::Label *fpsLabel = manage(new Gtk::Label(_("_FPS")));
fpsLabel->set_alignment(0, 0.5);
fpsLabel->set_use_underline(TRUE);
Gtk::SpinButton *fpsSpinner = manage(new Gtk::SpinButton(adj_fps, 1, 1));
fpsLabel->set_mnemonic_widget(*fpsSpinner);
fpsSpinner->set_alignment(1);
generalTable->attach(*fpsLabel, 0, 1, 1, 2, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
generalTable->attach(*fpsSpinner, 1, 2, 1, 2, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
Gtk::Frame *timeFrame = manage(new Gtk::Frame(_("Time settings")));
timeFrame->set_shadow_type(Gtk::SHADOW_NONE);
((Gtk::Label *) timeFrame->get_label_widget())->set_markup(_("<b>Time settings</b>"));
dialogBox->pack_start(*timeFrame, false, false, 0);
Gtk::Alignment *timePadding = manage(new Gtk::Alignment(0, 0, 1, 1));
timePadding->set_padding(6, 0, 24, 0);
timeFrame->add(*timePadding);
Gtk::Table *timeTable = manage(new Gtk::Table(2, 2, false));
timeTable->set_row_spacings(6);
timeTable->set_col_spacings(12);
timePadding->add(*timeTable);
check_overbegin.set_alignment(0, 0.5);
check_overbegin.set_use_underline(TRUE);
check_overend.set_alignment(0, 0.5);
check_overend.set_use_underline(TRUE);
time_begin.set_alignment(1);
time_end.set_alignment(1);
timeTable->attach(check_overbegin, 0, 1, 0, 1, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
timeTable->attach(time_begin, 1, 2, 0, 1, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
timeTable->attach(check_overend, 0, 1, 1, 2, Gtk::SHRINK | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
timeTable->attach(time_end, 1, 2, 1, 2, Gtk::EXPAND | Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
check_overbegin.signal_toggled().connect(sigc::mem_fun(*this,&Dialog_PreviewOptions::on_overbegin_toggle));
check_overend.signal_toggled().connect(sigc::mem_fun(*this,&Dialog_PreviewOptions::on_overend_toggle));
Gtk::Button *cancelButton = manage(new Gtk::Button(Gtk::StockID("gtk-cancel")));
cancelButton->signal_clicked().connect(sigc::mem_fun(*this, &Dialog_PreviewOptions::on_cancel_pressed));
add_action_widget(*cancelButton, 1);
cancelButton->show();
Gtk::Button *okbutton = manage(new Gtk::Button(Gtk::StockID("gtk-go-forward")));
okbutton->set_label(_("Preview"));
okbutton->signal_clicked().connect(sigc::mem_fun(*this,&Dialog_PreviewOptions::on_ok_pressed));
add_action_widget(*okbutton, 0);
okbutton->show();
time_begin.set_sensitive(false);
time_end.set_sensitive(false);
show_all();
}
开发者ID:blackwarthog,项目名称:synfig,代码行数:95,代码来源:dialog_preview.cpp
示例16: ExceptionUninitialized
/*! Constructor
* \param[in] el the configuration element to display
* \param[in] differ shall the changes be applied later using apply_changes()?
*/
ConfigElement::ConfigElement(crn::ConfigElement &el, bool differ):
value(el.GetValue()),
tmpvalue(el.GetValue())
{
if (!value)
throw crn::ExceptionUninitialized(_("The element was not initialized."));
if (differ)
tmpvalue = crn::Clone(*value);
if (std::dynamic_pointer_cast<crn::Int>(tmpvalue))
typ = U"Int";
else if (std::dynamic_pointer_cast<crn::Real>(tmpvalue))
typ = U"Real";
else if (std::dynamic_pointer_cast<crn::Prop3>(tmpvalue))
typ = U"Prop3";
else if (std::dynamic_pointer_cast<crn::String>(tmpvalue))
typ = U"String";
else if (std::dynamic_pointer_cast<crn::StringUTF8>(tmpvalue))
typ = U"StringUTF8";
else if (std::dynamic_pointer_cast<crn::Path>(tmpvalue))
typ = U"Path";
Gtk::Label *lab = Gtk::manage(new Gtk::Label(el.GetName().CStr()));
lab->show();
pack_start(*lab, false, true, 2);
if (typ == U"Prop3")
{
Prop3 *p = Gtk::manage(new Prop3(Gtk::ICON_SIZE_BUTTON, el.GetValue<crn::Prop3>()));
p->signal_value_changed().connect(sigc::mem_fun(this, &ConfigElement::on_p3_changed));
p->show();
pack_start(*p, true, true, 2);
}
else if (!el.GetAllowedValues().IsEmpty())
{ // any Int, Real, String, StringUTF8 or Path
Gtk::ComboBoxText *cb = Gtk::manage(new Gtk::ComboBoxText);
const std::vector<crn::StringUTF8> values(el.GetAllowedValues<crn::StringUTF8>());
for (const crn::StringUTF8 &val : values)
#ifdef CRN_USING_GTKMM3
cb->append(val.CStr());
#else /* CRN_USING_GTKMM3 */
cb->append_text(val.CStr());
#endif /* CRN_USING_GTKMM3 */
cb->set_active_text(el.GetValue<crn::StringUTF8>().CStr());
cb->signal_changed().connect(sigc::bind(sigc::mem_fun(this, &ConfigElement::on_combo_changed), cb));
cb->show();
pack_start(*cb, true, true, 2);
}
else if (typ == U"Int")
{
if (el.HasMinValue() && el.HasMaxValue())
{ // has finite range, use a slider
#ifdef CRN_USING_GTKMM3
auto *s = Gtk::manage(new Gtk::Scale(Gtk::ORIENTATION_HORIZONTAL));
s->set_range(el.GetMinValue<int>(), el.GetMaxValue<int>() + 1);
s->set_increments(1, 1);
#else
Gtk::HScale *s = Gtk::manage(new Gtk::HScale(el.GetMinValue<int>(), el.GetMaxValue<int>() + 1, 1));
#endif
s->set_value(el.GetValue<int>());
s->signal_value_changed().connect(sigc::bind(sigc::mem_fun(this, &ConfigElement::on_range_changed), s));
s->show();
pack_start(*s, true, true, 2);
}
else
{ // has at least one infinite (maxed) bound, use a spin button
Gtk::SpinButton *s = Gtk::manage(new Gtk::SpinButton);
int m = std::numeric_limits<int>::min(), M = std::numeric_limits<int>::max();
if (el.HasMinValue())
m = el.GetMinValue<int>();
if (el.HasMaxValue())
M = el.GetMaxValue<int>();
s->set_range(m, M);
s->set_increments(1, 10);
s->set_value(el.GetValue<int>());
s->signal_value_changed().connect(sigc::bind(sigc::mem_fun(this, &ConfigElement::on_spin_changed), s));
s->show();
pack_start(*s, true, true, 2);
}
}
else if (typ == U"Real")
{
if (el.HasMinValue() && el.HasMaxValue())
{ // has finite range, use a slider
#ifdef CRN_USING_GTKMM3
auto *s = Gtk::manage(new Gtk::Scale(Gtk::ORIENTATION_HORIZONTAL));
s->set_range(el.GetMinValue<double>(), el.GetMaxValue<double>() + 0.01);
s->set_increments(0.01, 0.01);
#else
Gtk::HScale *s = Gtk::manage(new Gtk::HScale(el.GetMinValue<double>(), el.GetMaxValue<double>() + 0.01, 0.01));
#endif
s->set_digits(2);
s->set_value(el.GetValue<double>());
s->signal_value_changed().connect(sigc::bind(sigc::mem_fun(this, &ConfigElement::on_range_changed), s));
s->show();
pack_start(*s, true, true, 2);
//.........这里部分代码省略.........
开发者ID:Liris-Pleiad,项目名称:libcrn,代码行数:101,代码来源:GtkCRNConfigElement.cpp
示例17: arg
Argument::Argument (const MR::Argument& argument) :
arg (argument),
description_label (arg.lname)
{
set_border_width (GUI_SPACING);
set_spacing (GUI_SPACING);
pack_start (description_label, Gtk::PACK_SHRINK);
switch (arg.type) {
case Integer:
{
Gtk::SpinButton* sb = manage (new Gtk::SpinButton);
sb->set_value (arg.extra_info.i.def);
sb->set_range (arg.extra_info.i.min, arg.extra_info.i.max);
sb->set_increments (1, 10);
pack_start (*sb);
widget = (void*) sb;
}
break;
case Float:
{
Gtk::SpinButton* sb = manage (new Gtk::SpinButton);
sb->set_range (arg.extra_info.f.min, arg.extra_info.f.max);
sb->set_increments (
1e-4 *(arg.extra_info.f.max-arg.extra_info.f.min),
1e-2 *(arg.extra_info.f.max-arg.extra_info.f.min));
sb->set_digits (4);
sb->set_value (arg.extra_info.f.def);
pack_start (*sb);
widget = (void*) sb;
}
break;
case Text:
case IntSeq:
case FloatSeq:
{
Gtk::Entry* entry = manage (new Gtk::Entry);
pack_start (*entry);
widget = (void*) entry;
}
break;
case ArgFile:
case ImageIn:
case ImageOut:
{
Gtk::Entry* entry = manage (new Gtk::Entry);
Gtk::Button* browse = manage (new Gtk::Button (Gtk::Stock::OPEN));
browse->signal_clicked().connect (sigc::mem_fun (*this, &Argument::on_browse));
pack_start (*entry);
pack_start (*browse, Gtk::PACK_SHRINK);
widget = (void*) entry;
}
break;
case Choice:
{
Gtk::ComboBoxText* choice = manage (new Gtk::ComboBoxText);
for (const gchar** p = arg.extra_info.choice; *p; p++) choice->append_text (*p);
choice->set_active (0);
pack_start (*choice);
widget = (void*) choice;
}
break;
default: break;
}
set_tooltip_text (arg.desc);
}
开发者ID:richardbeare,项目名称:mrtrix,代码行数:67,代码来源:argument.cpp
示例18: notify_homed
void notify_homed()
{
m_inhibit_update = true;
m_target->set_value(0.0);
m_inhibit_update = false;
}
开发者ID:earizaa,项目名称:repsnapper,代码行数:6,代码来源:view.cpp
示例19: update_temp
void update_temp (double value)
{
m_target->set_value (value);
}
开发者ID:earizaa,项目名称:repsnapper,代码行数:4,代码来源:view.cpp
示例20: Window
Window() :
show_edges_label("Show edges"),
show_labels_label("Show contour labels"),
edge_color_label("Contour edge color"),
edge_color(Gdk::RGBA("Red")),
edge_width_label("Contour edge width"),
edge_width_adj(Gtk::Adjustment::create(1.0, 0.1, 10.0, 0.1, 1.0, 0.0)),
edge_width_spin(edge_width_adj, 0.1, 1),
nlevels_label("Number of contour edges"),
nlevels_adj(Gtk::Adjustment::create(7, 3, 20, 1, 5)),
nlevels_spin(nlevels_adj, 1, 0),
colormap_palette_label("Colormap palette"),
area_fill_pattern_label("Fill pattern"),
area_lines_width_label("Fill pattern width"),
area_lines_width_adj(Gtk::Adjustment::create(1.0, 0.1, 10.0, 0.1, 1.0, 0.0)),
area_lines_width_spin(area_lines_width_adj, 0.1, 1),
colorbar_label("Show colorbar"),
paned(Gtk::ORIENTATION_VERTICAL),
aspect_frame(Glib::ustring(), Gtk::ALIGN_CENTER, Gtk::ALIGN_CENTER, 1.5, false)
{
Glib::ustring x_title = "X-axis";
Glib::ustring y_title = "Y-axis";
Glib::ustring plot_title = "Intensity vs detector position";
// general window and canvas settings
set_default_size(720, 720);
Gdk::Geometry geometry;
geometry.min_aspect = geometry.max_aspect = double(720)/double(720);
set_geometry_hints(*this, geometry, Gdk::HINT_ASPECT);
set_title("Gtkmm-PLplot test8");
canvas.set_hexpand(true);
canvas.set_vexpand(true);
//read in our dataset
std::ifstream fs;
fs.exceptions(std::ifstream::failbit | std::ifstream::badbit | std::ifstream::eofbit);
// 11 x 11 dataset (I know the file layout and the data dimensions already)
const int nx = 11;
const int ny = 11;
std::vector<double> x(nx);
std::vector<double> y(ny);
#ifdef GTKMM_PLPLOT_BOOST_ENABLED
boost::multi_array<double, 2> z(boost::extents[nx][ny]);
std::cout << "Using Boost multi_array!" << std::endl;
#else
double **z = Gtk::PLplot::calloc_array2d(nx, ny);
#endif
fs.open(TEST_CSV);
std::string line;
std::getline(fs, line);
gchar **splitted = g_strsplit(line.c_str(), ",", 0);
//first line contains the x values
for (int i = 1 ; i < nx + 1 ; i++) {
x[i-1] = g_ascii_strtod(splitted[i], NULL);
}
g_strfreev(splitted);
for (int i = 0 ; i < ny ; i++) {
line.clear();
std::getline(fs, line);
splitted = g_strsplit(line.c_str(), ",", 0);
y[i] = g_ascii_strtod(splitted[0], NULL);
for (int j = 1 ; j < nx + 1 ; j++) {
z[j-1][i] = g_ascii_strtod(splitted[j], NULL);
}
g_strfreev(splitted);
}
//construct the plot
auto plot = Gtk::manage(new Gtk::PLplot::PlotContourShades(
*Gtk::manage(new Gtk::PLplot::PlotDataSurface(
x,
y,
z
)),
x_title,
y_title,
plot_title,
7,
Gtk::PLplot::ColormapPalette::BLUE_RED,
edge_color.get_rgba(),
1.0
));
canvas.add_plot(*plot);
plot->set_background_color(Gdk::RGBA("Yellow Green"));
//now let's set up the grid
grid.set_column_homogeneous(true);
grid.set_column_spacing(5);
grid.set_row_homogeneous(false);
grid.set_row_spacing(5);
int row_counter = 0;
//.........这里部分代码省略.........
开发者ID:tschoonj,项目名称:gtkmm-plplot,代码行数:101,代码来源:test8.cpp
注:本文中的gtk::SpinButton类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论