本文整理汇总了C++中glib::RefPtr类的典型用法代码示例。如果您正苦于以下问题:C++ RefPtr类的具体用法?C++ RefPtr怎么用?C++ RefPtr使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了RefPtr类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: CalcLayout
void PhotoPrintOperation::CalcLayout(Glib::RefPtr<Gtk::PageSetup> PageSetup) {
PaperArea.X=0;
PaperArea.Y=0;
PaperArea.Width=PageSetup->get_paper_width(Gtk::UNIT_POINTS)*CairoScale;
PaperArea.Height=PageSetup->get_paper_height(Gtk::UNIT_POINTS)*CairoScale;
PrintArea.X=std::max(
PageSetup->get_left_margin(Gtk::UNIT_POINTS)*CairoScale,
PageSetup->get_right_margin(Gtk::UNIT_POINTS)*CairoScale);
PrintArea.Width=PaperArea.Width-2*PrintArea.X;
PrintArea.Y=std::max(
PageSetup->get_top_margin(Gtk::UNIT_POINTS)*CairoScale,
PageSetup->get_bottom_margin(Gtk::UNIT_POINTS)*CairoScale);
PrintArea.Height=PaperArea.Height-2*PrintArea.Y;
LabelArea.X=LabelArea.Y=LabelArea.Width=LabelArea.Height=0;
if (Label) {
LabelArea.Width=Label->get_width();
LabelArea.Height=Label->get_height();
LabelArea.X=PaperArea.Width-PrintArea.X-LabelArea.Width;
LabelArea.Y=PrintArea.Y;
}
float Padding=PhotoPadding*std::max(PrintArea.Width,PrintArea.Height);
PhotosArea.X=PrintArea.X;
PhotosArea.Y=PrintArea.Y;
PhotosArea.Width=PrintArea.Width-LabelArea.Width;
if (Label)
PhotosArea.Width-=Padding;
PhotosArea.Height=PrintArea.Height;
float Width=(PhotosArea.Width-Padding)/2.0;
float Height=(PhotosArea.Height-Padding)/2.0;
for (int Row=0; Row<2; Row++) {
for (int Col=0; Col<2; Col++) {
PhotoArea[Col+Row*2].X=PhotosArea.X+Col*(Width+Padding);
PhotoArea[Col+Row*2].Y=PhotosArea.Y+Row*(Height+Padding);
PhotoArea[Col+Row*2].Width=Width;
PhotoArea[Col+Row*2].Height=Height;
}
}
}
开发者ID:adsllc,项目名称:muenstercam,代码行数:44,代码来源:PhotoPrintOperation.cpp
示例2: file_drag_data_received
void window_main::file_drag_data_received(
const Glib::RefPtr<Gdk::DragContext> & context, //info about drag (available on source and dest)
const int x, //x-coord of drop
const int y, //y-coord of drop
const Gtk::SelectionData & selection_data, //data dropped
const guint info, //type of info dropped
const guint time) //time stamp of when drop happened
{
//DEBUG, dragging file on to window does not work on windows, not sure why
if(selection_data.get_length() >= 0 && selection_data.get_format() == 8){
//this will look like file:///home/foo/bar.txt
std::string URI = selection_data.get_data_as_string();
if(URI.size() > 7){
std::string path = URI.substr(7);
//get rid of newline on the end
boost::trim(path);
p2p::load_file(path);
}
}
//tell other end we're done with drag and drop so it can free resources
context->drag_finish(true, true, time);
}
开发者ID:sbunce,项目名称:p2p,代码行数:24,代码来源:window_main.cpp
示例3: onItemButtonPressEvent
bool ModuleModel::onItemButtonPressEvent(const Glib::RefPtr<Goocanvas::Item>& item,
GdkEventButton* event)
{
if(bNested)
return true;
if(item && Glib::RefPtr<InternalPortModel>::cast_dynamic(item->get_model()))
return Glib::RefPtr<InternalPortModel>::cast_dynamic(item->get_model())->onItemButtonPressEvent(item, event);
if(event->type == GDK_2BUTTON_PRESS)
{
parentWindow->onUpdateModuleProperty(module);
return true;
}
if(event->button == 1)
{
_dragging = item ;
_drag_x = (int) event->x ;
_drag_y = (int) event->y ;
return false;
}
else
if(event->button == 3)
{
MainWindow* wnd = parentWindow->getMainWindow();
wnd->m_refActionGroup->get_action("EditDelete")->set_sensitive(selected);
wnd->m_refActionGroup->get_action("EditCopy")->set_sensitive(selected);
Gtk::Menu* pMenu = dynamic_cast<Gtk::Menu*>(
wnd->m_refUIManager->get_widget("/PopupModuleModel"));
if(pMenu)
pMenu->popup(event->button, event->time);
}
return true;
}
开发者ID:JoErNanO,项目名称:yarp,代码行数:36,代码来源:module_model.cpp
示例4: drop_uri_list
void BugzillaNoteAddin::drop_uri_list(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y,
const Gtk::SelectionData & selection_data, guint time)
{
std::string uriString = selection_data.get_text();
if(uriString.empty()) {
return;
}
const char * regexString = "\\bhttps?://.*/show_bug\\.cgi\\?(\\S+\\&){0,1}id=(\\d{1,})";
pcrecpp::RE re(regexString, pcrecpp::RE_Options(PCRE_CASELESS|PCRE_UTF8));
int m;
if(re.FullMatch(uriString, (void*)NULL, &m)) {
int bugId = m;
if (insert_bug (x, y, uriString, bugId)) {
context->drag_finish(true, false, time);
g_signal_stop_emission_by_name(get_window()->editor()->gobj(),
"drag_data_received");
}
}
}
开发者ID:haobug,项目名称:gnote,代码行数:24,代码来源:bugzillanoteaddin.cpp
示例5:
//TODO: klasse soll window extenden (schoener so)
EwAccountsWin::EwAccountsWin() {
EWLOG("In EwAccountsWin::EwAccountsWin()", 8);
Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file("data/EwAccountsWin.glade");
Gtk::Button *add, *del, *close;
Gtk::ScrolledWindow *scrolledwindow;
builder->get_widget("EwAccounts", window);
builder->get_widget("add", add);
builder->get_widget("delete", del);
builder->get_widget("close", close);
builder->get_widget("scrolledwindow", scrolledwindow);
scrolledwindow->add(treeView);
add->signal_clicked().connect(sigc::mem_fun(this, &EwAccountsWin::onAddBtnClicked));
del->signal_clicked().connect(sigc::mem_fun(this, &EwAccountsWin::onDelBtnClicked));
close->signal_clicked().connect(sigc::mem_fun(this, &EwAccountsWin::onCloseBtnClicked));
liststore = Gtk::ListStore::create(m_Columns);
treeView.set_model(liststore);
treeView.append_column("Enabled", m_Columns.m_col_enab);
treeView.append_column_editable("Identifier", m_Columns.m_col_identifier);
treeView.append_column("Use Https", m_Columns.m_col_https);
Gtk::CellRendererText *crtu;
Gtk::CellRendererToggle *crtenab, *crthttps;
crtenab = dynamic_cast<Gtk::CellRendererToggle*>(treeView.get_column_cell_renderer(0));
crtenab->set_activatable();
crtenab->signal_toggled().connect(sigc::mem_fun(this, &EwAccountsWin::onColumnEnabledToggled));
crtu = dynamic_cast<Gtk::CellRendererText*>(treeView.get_column_cell_renderer(1));
crtu->signal_edited().connect(sigc::mem_fun(this, &EwAccountsWin::onColumnIdentifierChanged));
crthttps = dynamic_cast<Gtk::CellRendererToggle*>(treeView.get_column_cell_renderer(2));
crthttps->set_activatable();
crthttps->signal_toggled().connect(sigc::mem_fun(this, &EwAccountsWin::onColumnHttpsToggled));
std::list<EwAccountList::EwAccount> accounts = EwAccountList::Instance()->getAccounts();
for (std::list<EwAccountList::EwAccount>::iterator iter = accounts.begin(); iter != accounts.end(); iter++) {
Gtk::TreeModel::Row row = *(liststore->append());
row[m_Columns.m_col_id] = (*iter).id;
row[m_Columns.m_col_identifier] = (*iter).identifier;
row[m_Columns.m_col_enab] = (*iter).enabled;
row[m_Columns.m_col_https] = (*iter).https;
}
window->show_all_children();
Gtk::Main::run(*window);
}
开发者ID:bschacht,项目名称:earthworm,代码行数:44,代码来源:EwAccountsWin.cpp
示例6: update
void PropertiesDialog::update(const Glib::RefPtr<Gio::File>& file,
const Glib::RefPtr<Gio::FileInfo>& info,
const Size& dimensions,
unsigned int image_count) {
name->set_label(info->get_display_name());
width->set_label(Glib::ustring::compose(
ngettext("%1 pixel", "%1 pixels", dimensions.width), dimensions.width));
height->set_label(Glib::ustring::compose(
ngettext("%1 pixel", "%1 pixels", dimensions.height), dimensions.height));
type->set_label(Gio::content_type_get_description(info->get_content_type()));
size->set_label(format_size(info->get_size(), G_FORMAT_SIZE_LONG_FORMAT));
modified->set_label(Glib::DateTime::create_now_local(
info->modification_time()).format("%c"));
location_button->set_uri(file->get_uri());
location->set_label(Glib::filename_display_name(
file->get_parent()->get_path()));
contents->set_label(Glib::ustring::compose(
ngettext("%1 image", "%1 images", image_count), image_count));
}
开发者ID:compnerd,项目名称:lumee,代码行数:19,代码来源:properties_dialog.cpp
示例7: fatal
void YarpScope::MainWindow::Private::on_action_actions_stop_start()
{
Glib::RefPtr<Gtk::Action> stopStartAction = refActionGroup->get_action("StopStart");
if(!stopStartAction) {
fatal() << "Action \"StopStart\" is missing.";
}
if (running) {
debug() << "Stop clicked";
stopStartAction->set_icon_name("media-playback-start");
stopStartAction->set_label(_("Start"));
stopStartAction->set_tooltip(_("Start plotting"));
} else {
debug() << "Start clicked";
stopStartAction->set_icon_name("media-playback-pause");
stopStartAction->set_label(_("Stop"));
stopStartAction->set_tooltip(_("Stop plotting"));
}
running = !running;
PortReader::instance().toggleAcquire(running);
}
开发者ID:Tiger66639,项目名称:yarp,代码行数:23,代码来源:MainWindow.cpp
示例8: VRGuiNet_updateList
void VRGuiNet_updateList() {
auto scene = VRSceneManager::getCurrent();
if (scene == 0) return;
// update script list
Glib::RefPtr<Gtk::ListStore> store = Glib::RefPtr<Gtk::ListStore>::cast_static(VRGuiBuilder()->get_object("Sockets"));
store->clear();
map<string, VRSocket*> sockets = scene->getSockets();
map<string, VRSocket*>::iterator itr;
for (itr = sockets.begin(); itr != sockets.end(); itr++) {
Gtk::ListStore::Row row = *store->append();
VRSocket* socket = itr->second;
gtk_list_store_set(store->gobj(), row.gobj(), 0, socket->getType().c_str(), -1);
gtk_list_store_set(store->gobj(), row.gobj(), 1, socket->getPort(), -1);
gtk_list_store_set(store->gobj(), row.gobj(), 2, socket->getIP().c_str(), -1);
gtk_list_store_set(store->gobj(), row.gobj(), 3, socket->getCallback().c_str(), -1);
gtk_list_store_set(store->gobj(), row.gobj(), 4, socket->getSignal()->getName().c_str(), -1);
gtk_list_store_set(store->gobj(), row.gobj(), 5, socket->getName().c_str(), -1);
gtk_list_store_set(store->gobj(), row.gobj(), 6, socket, -1);
gtk_list_store_set(store->gobj(), row.gobj(), 7, socket->isClient(), -1);
}
}
开发者ID:uagmw,项目名称:polyvr,代码行数:23,代码来源:VRGuiNet.cpp
示例9: print
// printing system not complete yet
void AppWindow::print(Gtk::PrintOperationAction print_action)
{
Glib::RefPtr<CPrintOperation> refprint = CPrintOperation::create(
ImageManager.get_current_file(),
ImageManager.get_file_list(),
refPageSetup,
refPrintSettings );
refprint->set_track_print_status();
#ifdef DEBUG
std::cout << "APPWINDOW::PRINT: refPageSetup " << refPageSetup << std::endl;
std::cout << "APPWINDOW::PRINT: refPrintSettings " << refPrintSettings << std::endl;
#endif // DEBUG
refprint->set_default_page_setup( refPageSetup );
refprint->set_print_settings( refPrintSettings );
#ifdef DEBUG
std::cout << "APPWINDOW::PRINT: refPageSetup " << refPageSetup << std::endl;
std::cout << "APPWINDOW::PRINT: refPrintSettings " << refPrintSettings << std::endl;
#endif // DEBUG
//connect to print done
refprint->signal_done().connect(sigc::bind(sigc::mem_fun(*this, &AppWindow::on_print_done), &refprint));
try
{
refprint->run(print_action, *this);
// TEST
std::cout << refPageSetup->get_paper_size().get_name() << std::endl;
std::cout << refPageSetup->get_page_width(Gtk::UNIT_MM) << std::endl;
std::cout << refPrintSettings->get_printer() << std::endl;
// TEST
}
catch(const Gtk::PrintError& error)
{
std::cerr << "An error occured while trying to run print(): " << error.what() << std::endl;
}
}
开发者ID:BackupTheBerlios,项目名称:gimmage-svn,代码行数:43,代码来源:AppWindow.cpp
示例10: display_template_info
void display_template_info(const Glib::RefPtr<Gst::PadTemplate> &tpl,
const Glib::RefPtr<Gtk::TreeStore> &model, const Gtk::TreeModelColumn<Glib::ustring> &col_name,
const Gtk::TreeModelColumn<Glib::ustring> &col_value, boost::optional<const Gtk::TreeModel::Row&> parent_row)
{
Gtk::TreeRow row;
if (parent_row)
{
row = APPEND_SUB_ROW(_("Template"), tpl->get_name_template(), parent_row.get());
}
else
{
row = *(model->append());
row[col_name] = _("Template");
row[col_value] = tpl->get_name_template();
}
APPEND_SUB_ROW(_("Presence"), get_presence_str(tpl->get_presence()), row);
APPEND_SUB_ROW(_("Direction"), get_direction_str(tpl->get_direction()), row);
row = APPEND_SUB_ROW("Caps", "", row);
display_caps(tpl->get_caps(), model, col_name, col_value, row);
}
开发者ID:GNOME,项目名称:gst-debugger,代码行数:20,代码来源:ui_utils.cpp
示例11:
bool
StateBrush_Context::scan_directory(const String &path, int scan_sub_levels, std::set<String> &out_files)
{
if (scan_sub_levels < 0) return false;
Glib::RefPtr<Gio::File> directory = Gio::File::create_for_path(path);
Glib::RefPtr<Gio::FileEnumerator> e;
try
{
e = directory->enumerate_children();
}
catch(Gio::Error&) { return false; }
catch(Glib::FileError&) { return false; }
Glib::RefPtr<Gio::FileInfo> info;
while((bool)(info = e->next_file()))
{
String filepath = FileSystem::fix_slashes(directory->get_child(info->get_name())->get_path());
if (!scan_directory(filepath, scan_sub_levels-1, out_files))
out_files.insert(filepath);
}
return true;
}
开发者ID:,项目名称:,代码行数:24,代码来源:
示例12: on_scroll_event
bool PreviewHolder::on_scroll_event(GdkEventScroll *event)
{
// Scroll horizontally by page on mouse wheel
#if WITH_GTKMM_3_0
Glib::RefPtr<Gtk::Adjustment> adj = dynamic_cast<Gtk::ScrolledWindow*>(_scroller)->get_hadjustment();
#else
Gtk::Adjustment *adj = dynamic_cast<Gtk::ScrolledWindow*>(_scroller)->get_hadjustment();
#endif
if (!adj) {
return FALSE;
}
int move = (event->direction == GDK_SCROLL_DOWN) ? adj->get_page_size() : -adj->get_page_size();
double value = std::min(adj->get_upper() - move, adj->get_value() + move );
adj->set_value(value);
return FALSE;
}
开发者ID:Spin0za,项目名称:inkscape,代码行数:21,代码来源:previewholder.cpp
示例13:
ClassificationCell::ClassificationCell()
{
Glib::RefPtr<Gdk::Colormap> colormap = get_default_colormap();
white = Gdk::Color("white");
green = Gdk::Color("green");
lightgreen = Gdk::Color("light green");
lightred= Gdk::Color("indian red");
red = Gdk::Color("red");
black = Gdk::Color("black");
colormap->alloc_color(lightgreen);
colormap->alloc_color(white);
colormap->alloc_color(green);
colormap->alloc_color(lightred);
colormap->alloc_color(red);
colormap->alloc_color(black);
set_size_request(40, 30);
value = 0.0;
}
开发者ID:tommite,项目名称:csmaa,代码行数:21,代码来源:classificationcell.cpp
示例14:
NoteEditor::NoteEditor(const Glib::RefPtr<Gtk::TextBuffer> & buffer)
: Gtk::TextView(buffer)
{
set_wrap_mode(Gtk::WRAP_WORD);
set_left_margin(default_margin());
set_right_margin(default_margin());
property_can_default().set_value(true);
Glib::RefPtr<Gio::Settings> settings = Preferences::obj().get_schema_settings(Preferences::SCHEMA_GNOTE);
//Set up the schema to watch the default document font
Glib::RefPtr<Gio::Settings> desktop_settings = Preferences::obj()
.get_schema_settings(Preferences::SCHEMA_DESKTOP_GNOME_INTERFACE);
if(desktop_settings) {
desktop_settings->signal_changed().connect(
sigc::mem_fun(*this, &NoteEditor::on_font_setting_changed));
}
// Set Font from preference
if (settings->get_boolean(Preferences::ENABLE_CUSTOM_FONT)) {
std::string font_string = settings->get_string(Preferences::CUSTOM_FONT_FACE);
override_font (Pango::FontDescription(font_string));
}
else {
override_font (get_gnome_document_font_description ());
}
settings->signal_changed().connect(sigc::mem_fun(*this, &NoteEditor::on_font_setting_changed));
// Set extra editor drag targets supported (in addition
// to the default TextView's various text formats)...
Glib::RefPtr<Gtk::TargetList> list = drag_dest_get_target_list();
list->add ("text/uri-list", (Gtk::TargetFlags)0, 1);
list->add ("_NETSCAPE_URL", (Gtk::TargetFlags)0, 1);
signal_key_press_event().connect(sigc::mem_fun(*this, &NoteEditor::key_pressed), false);
signal_button_press_event().connect(sigc::mem_fun(*this, &NoteEditor::button_pressed), false);
}
开发者ID:MikeyG,项目名称:gnote,代码行数:39,代码来源:noteeditor.cpp
示例15: on_draw
bool avatar::on_draw(const Cairo::RefPtr<Cairo::Context>& cr) {
Glib::RefPtr<Gtk::StyleContext> style = get_style_context();
int w = get_allocated_width();
int h = get_allocated_height();
auto surface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, w * get_scale_factor(), h * get_scale_factor());
auto tmp_cr = Cairo::Context::create(surface);
tmp_cr->scale(get_scale_factor(), get_scale_factor());
// Render image
Glib::RefPtr<Gdk::Pixbuf> pix = property_pixbuf();
if (pix) {
tmp_cr->save();
double pw = pix->get_width();
double ph = pix->get_height();
tmp_cr->scale(w/pw, h/ph);
Gdk::Cairo::set_source_pixbuf(tmp_cr, pix);
tmp_cr->paint();
tmp_cr->restore();
}
// Render the background
tmp_cr->set_operator(Cairo::OPERATOR_DEST_ATOP);
style->render_background(tmp_cr, 0, 0, w, h);
// Change to default operator
tmp_cr->set_operator(Cairo::OPERATOR_OVER);
// Render frame
style->render_frame(tmp_cr, 0, 0, w, h);
// Render to the right surface
cr->scale(1.0/get_scale_factor(), 1.0/get_scale_factor());
cr->set_source(surface, 0, 0);
cr->paint();
return false;
}
开发者ID:crynale,项目名称:gTox,代码行数:39,代码来源:avatar.cpp
示例16:
CheatListDialog::CheatListDialog(GtkDialog* _pstDialog, const Glib::RefPtr<Gtk::Builder>& refBuilder)
: Gtk::Dialog(_pstDialog)
{
refBuilder->get_widget("CheatOpenButton", m_poCheatOpenButton);
refBuilder->get_widget("CheatSaveButton", m_poCheatSaveButton);
refBuilder->get_widget("CheatAddButton", m_poCheatAddButton);
refBuilder->get_widget("CheatRemoveButton", m_poCheatRemoveButton);
refBuilder->get_widget("CheatRemoveAllButton", m_poCheatRemoveAllButton);
refBuilder->get_widget("CheatMarkAllButton", m_poCheatMarkAllButton);
refBuilder->get_widget("CheatTreeView", m_poCheatTreeView);
// Tree View model
m_poCheatListStore = Gtk::ListStore::create(m_oRecordModel);
m_poCheatTreeView->set_model(m_poCheatListStore);
Gtk::CellRendererToggle* pRenderer = Gtk::manage(new Gtk::CellRendererToggle());
int cols_count = m_poCheatTreeView->append_column("", *pRenderer);
pRenderer->signal_toggled().connect(sigc::mem_fun(*this, &CheatListDialog::vOnCheatToggled));
Gtk::TreeViewColumn* pColumn = m_poCheatTreeView->get_column(cols_count - 1);
if (pColumn)
pColumn->add_attribute(pRenderer->property_active(), m_oRecordModel.bEnabled);
m_poCheatTreeView->append_column("Description", m_oRecordModel.uDesc);
m_poCheatOpenButton->signal_clicked().connect(sigc::mem_fun(*this, &CheatListDialog::vOnCheatListOpen));
m_poCheatSaveButton->signal_clicked().connect(sigc::mem_fun(*this, &CheatListDialog::vOnCheatListSave));
m_poCheatAddButton->signal_clicked().connect(sigc::mem_fun(*this, &CheatListDialog::vOnCheatAdd));
m_poCheatRemoveButton->signal_clicked().connect(sigc::mem_fun(*this, &CheatListDialog::vOnCheatRemove));
m_poCheatRemoveAllButton->signal_clicked().connect(sigc::mem_fun(*this, &CheatListDialog::vOnCheatRemoveAll));
m_poCheatMarkAllButton->signal_clicked().connect(sigc::mem_fun(*this, &CheatListDialog::vOnCheatMarkAll));
bMark = false;
}
开发者ID:ElementW,项目名称:visualboyadvance-m,代码行数:38,代码来源:cheatlist.cpp
示例17:
E3StateWidget::E3StateWidget(const E3Config* _config, const E3State* _state){
if(_config)
this->config = new E3Config(*_config);
else
this->config = new E3Config();
if(_state)
this->state = new E3State(*_state);
else
// TODO: may be state should remember its config?!
this->state = new E3State(this->config);
this->d_state = new E3State();
Glib::RefPtr<Gtk::Builder> b = Gtk::Builder::create_from_file(UI_FILE_STATE);
Gtk::Widget* root;
b->get_widget("root", root);
b->get_widget("entry_e", entry_e);
b->get_widget("entry_phi", entry_phi);
b->get_widget("entry_a", entry_a);
b->get_widget("button_apply", button_apply);
this->add(*root);
state_to_widget();
if(!this->state->simulated())
generateState();
// signals
entry_e->signal_changed().connect(sigc::mem_fun(*this, &E3StateWidget::edit_anything_cb));
entry_phi->signal_changed().connect(sigc::mem_fun(*this, &E3StateWidget::edit_anything_cb));
entry_a->signal_changed().connect(sigc::mem_fun(*this, &E3StateWidget::edit_anything_cb));
button_apply->signal_clicked().connect(sigc::mem_fun(*this, &E3StateWidget::on_apply_cb));
}
开发者ID:RoikVictor,项目名称:ode-env,代码行数:38,代码来源:gui_e3.cpp
示例18: on_delete_clicked
void ukwd_wiring_dialog::on_delete_clicked()
{
Glib::RefPtr<Gtk::ListStore> m;
Gtk::TreeView *t = NULL;
ref_xml->get_widget("stecker_treeview" + name_post_fix, t);
Glib::RefPtr<Gtk::TreeSelection> selection = t->get_selection();
if (selection->count_selected_rows() != 0)
{
// A connection is selected
m = m.cast_dynamic(t->get_model());
Gtk::TreeModel::iterator iter = selection->get_selected();
// Test is fixed connection is selected for removal
if ( (((*iter)[plugboard_cols.first]) != "J") and (((*iter)[plugboard_cols.second]) != "Y") )
{
// No! -> delete the selected connection
remove_plug((*iter)[plugboard_cols.first], (*iter)[plugboard_cols.second]);
num_plugs--;
update_plug_counter();
m->erase(iter);
}
else
{
// Yes! -> error message
Gtk::MessageDialog msg(*dialog, "The connection J, Y is fixed and cannot be removed.", false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true);
msg.set_title("Enigma");
msg.run();
}
}
else
{
// No connection is selected
Gtk::MessageDialog msg(*dialog, "Nothing selected to delete.", false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true);
msg.set_title("Enigma");
msg.run();
}
}
开发者ID:rmsk2,项目名称:rmsk2,代码行数:38,代码来源:ukwd_wiring_dialog.cpp
示例19: mXml
DynamicBox::DynamicBox(const Glib::RefPtr < Gtk::Builder >& xml,
GVLE* gvle,
vpz::AtomicModel& atom,
vpz::Dynamic& dynamic,
vpz::Conditions& conditions,
vpz::Observables& observables)
: mXml(xml), mGVLE(gvle), mAtom(atom), mDynamic(dynamic),
mConditions(conditions), mObservables(observables)
{
xml->get_widget("DialogDynamic", mDialog);
{
xml->get_widget("HBoxDynamicLibrary", mBoxDynamicLibrary);
mComboLibrary = Gtk::manage(new Gtk::ComboBoxText());
mComboLibrary->show();
Glib::RefPtr < Gtk::ListStore > toSortList =
Glib::RefPtr < Gtk::ListStore >::cast_dynamic(mComboLibrary->get_model());
toSortList->set_sort_column(0, Gtk::SORT_ASCENDING);
mBoxDynamicLibrary->pack_start(*mComboLibrary);
}
{
xml->get_widget("HBoxDynamicPackage", mBoxDynamicPackage);
mComboPackage = Gtk::manage(new Gtk::ComboBoxText());
mComboPackage->show();
mBoxDynamicPackage->pack_start(*mComboPackage);
}
xml->get_widget("buttonNewDynamicLibrary", mButtonNew);
mList.push_back(mButtonNew->signal_clicked().connect(
sigc::mem_fun(*this, &DynamicBox::onNewLibrary)));
mList.push_back(mComboPackage->signal_changed().connect(
sigc::mem_fun(*this, &DynamicBox::onComboPackageChange)));
}
开发者ID:Quentin-B,项目名称:SDQI_VLE,代码行数:37,代码来源:DynamicBox.cpp
示例20: mXml
PredicateDialog::PredicateDialog(Glib::RefPtr < Gtk::Builder >& xml,
std::vector < std::string > pPredicateName,
std::map < std::string, std::string > pPredicateFunction,
hierarchicalPred pPred) :
mXml(xml),
mTreePredicateList(0),
mPredicateName(pPredicateName),
mPredicateFunction(pPredicateFunction),
mPred(pPred)
{
xml->get_widget("PredicateDialog", mDialog);
xml->get_widget("treeViewPredicate", mTreePredicateList);
xml->get_widget("PredicateName", mPredicateNameEntry);
mPredicateNameEntry->set_sensitive(true);
mPredicateNameEntry->set_editable(false);
xml->get_widget("PredicateFunction", mTextViewFunction);
xml->get_widget("FooterPred", mHeaderPred);
mHeaderPred->set_justify(Gtk::JUSTIFY_LEFT);
xml->get_widget("HeaderPred", mHeaderPred);
mPredicateNameEntry->set_text("");
mHeaderPred->set_text("");
mTextViewFunction->get_buffer()->set_text("");
initTreePredicateList();
fillTreePredicateList();
initMenuPopupTreePredicateList();
m_cntTreePredicateListButtonRelease = mTreePredicateList->
signal_button_release_event().connect(
sigc::mem_fun( *this, &PredicateDialog::onButtonRealeaseTreePredicateList));
m_cntTreePredicateCursorChanged = mTreePredicateList->
signal_cursor_changed().connect(
sigc::mem_fun( *this, &PredicateDialog::onCursorChangeTreePredicateList));
setSensitivePredicate(false);
}
开发者ID:mikaelgrialou,项目名称:packages,代码行数:37,代码来源:PredicateDialog.cpp
注:本文中的glib::RefPtr类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论