当前位置: 首页>>代码示例>>C++>>正文


C++ glib::RefPtr类代码示例

本文整理汇总了C++中glib::RefPtr的典型用法代码示例。如果您正苦于以下问题:C++ RefPtr类的具体用法?C++ RefPtr怎么用?C++ RefPtr使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了RefPtr类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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


注:本文中的glib::RefPtr类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。