• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ gtk_widget_ref函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



在下文中一共展示了gtk_widget_ref函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: gw_status_bar_create

GtkWidget * gw_status_bar_create ( GtkWindow *w)
{
    GtkWidget *gw_status_bar_box;
    GtkWidget *hbox;
    GtkWidget *status_bar1;
    GtkWidget *status_bar2;


#ifdef GW_DEBUG_GUI_COMPONENT
    g_print ( "*** GW - %s (%d) :: %s()\n", __FILE__, __LINE__, __PRETTY_FUNCTION__);
#endif

    gw_status_bar_box = gtk_viewport_new ( NULL, NULL);
    gtk_viewport_set_shadow_type ( GTK_VIEWPORT ( gw_status_bar_box), GTK_SHADOW_NONE);

    hbox = gtk_hbox_new ( FALSE, 0);
    gtk_container_add ( GTK_CONTAINER ( gw_status_bar_box), hbox);

    /* First status bar */
    status_bar1 = gtk_statusbar_new ( );
    gtk_widget_ref ( status_bar1);
    gtk_object_set_data_full ( GTK_OBJECT ( w), GW_REF_STATUS_BAR_FIRST_STATUS, status_bar1, (GtkDestroyNotify) gtk_widget_unref);
    gtk_box_pack_start ( GTK_BOX ( hbox), status_bar1, FALSE, FALSE, 0);
    gtk_widget_set_usize ( status_bar1, 500, -2);

    /* Second status bar */
    status_bar2 = gtk_statusbar_new ( );
    gtk_widget_ref ( status_bar2);
    gtk_object_set_data_full ( GTK_OBJECT ( w), GW_REF_STATUS_BAR_SECOND_STATUS, status_bar2, (GtkDestroyNotify) gtk_widget_unref);
    gtk_box_pack_start ( GTK_BOX ( hbox), status_bar2, TRUE, TRUE, 0);

    return gw_status_bar_box;
}
开发者ID:dvst,项目名称:gwhere-catalog,代码行数:33,代码来源:gwstatusbar.c


示例2: StartProgress

void StartProgress(char *message, int canstop)
{
GtkWidget *label;
GtkWidget *table;
GtkWidget *window;
GtkAdjustment *adj;
GtkWidget *sbut;
GtkWidget *hseparator2;

pdata= g_malloc (sizeof (typProgressData));
pdata->nLastPct= -1;
pdata->bProgressUp=TRUE;

window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
pdata->window=window;

gtk_signal_connect(GTK_OBJECT (window), "delete_event",
              GTK_SIGNAL_FUNC ((gint)CanWindowClose), pdata);
gtk_container_border_width(GTK_CONTAINER (window),10);

table=gtk_table_new(4,2,TRUE);
gtk_container_add(GTK_CONTAINER(window),table);

label=gtk_label_new(message);
gtk_table_attach_defaults (GTK_TABLE(table),label,0,2,0,1);
gtk_widget_show(label);

adj= (GtkAdjustment *) gtk_adjustment_new (0,0,400,0,0,0);
pdata->progressbar= gtk_progress_bar_new_with_adjustment(adj);
gtk_table_attach_defaults(GTK_TABLE(table),pdata->progressbar,0,2,1,2);
gtk_widget_show(pdata->progressbar);

 if(canstop==TRUE) { 
   hseparator2 = gtk_hseparator_new ();
   gtk_widget_ref (hseparator2);
   gtk_object_set_data_full (GTK_OBJECT (window), "hseparator2", hseparator2,
			     (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (hseparator2);
   gtk_table_attach (GTK_TABLE (table), hseparator2, 0, 2, 2, 3,
		     (GtkAttachOptions) (GTK_FILL),
		     (GtkAttachOptions) (GTK_FILL), 0, 0);
   
   sbut = gtk_button_new_with_label (("stop me...!"));
   gtk_widget_ref (sbut);
   gtk_object_set_data_full (GTK_OBJECT (window), "sbut", sbut,
			     (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (sbut);
   gtk_table_attach (GTK_TABLE (table), sbut, 0, 2, 3, 4,
		     (GtkAttachOptions) (GTK_FILL),
		     (GtkAttachOptions) (GTK_FILL), 0, 0);
   gtk_signal_connect (GTK_OBJECT (sbut), "clicked",GTK_SIGNAL_FUNC (stop_process),NULL);
 }

gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
gtk_widget_show(table);
 gtk_grab_add (window);
gtk_widget_show(window);

}
开发者ID:bion,项目名称:ats,代码行数:59,代码来源:progress.c


示例3: gtk_dialog_new_with_buttons

static GtkWidget *create_dlg_about(GtkWindow * parent)
{
	GtkWidget *dialog;
	GtkWidget *vbox;
	GtkWidget *title_label;
	GtkWidget *body_label;

	/* 
	 * Create outer window.
	 */
	dialog = gtk_dialog_new_with_buttons(dlg_title, parent, 0,
					     GTK_STOCK_CLOSE,
					     GTK_RESPONSE_CLOSE, NULL);
	g_object_set_data(G_OBJECT(dialog), "dlg_about", dialog);

	/* 
	 * Get vertical box packing widget.
	 */
	vbox = GTK_DIALOG(dialog)->vbox;
	g_object_set_data(G_OBJECT(dialog), "vbox", vbox);
	gtk_container_set_border_width(GTK_CONTAINER(vbox), 10);
	gtk_widget_show(vbox);

	/* 
	 * Make title label
	 */
	title_label = gtk_label_new(dlg_header);
	gtk_widget_ref(title_label);
	g_object_set_data_full(G_OBJECT(dialog), "title_label",
			       title_label,
			       (GtkDestroyNotify) gtk_widget_unref);
	gtk_widget_show(title_label);
	gtk_box_pack_start(GTK_BOX(vbox), title_label, FALSE, FALSE, 0);

	/* 
	 * Make body label
	 */
	body_label = gtk_label_new(dlg_content);
	gtk_widget_ref(body_label);
	g_object_set_data_full(G_OBJECT(dialog), "body_label", body_label,
			       (GtkDestroyNotify) gtk_widget_unref);
	gtk_widget_show(body_label);
	gtk_box_pack_start(GTK_BOX(vbox), body_label, FALSE, FALSE, 0);
	gtk_label_set_justify(GTK_LABEL(body_label), GTK_JUSTIFY_LEFT);

	/* 
	 * Set up callbacks
	 */
	g_signal_connect(dialog, "delete_event",
			 GTK_SIGNAL_FUNC(gtk_widget_destroy), NULL);
	g_signal_connect(dialog, "response",
			 GTK_SIGNAL_FUNC(gtk_widget_destroy), NULL);

	/* 
	 * Done!
	 */
	return dialog;
}
开发者ID:ralight,项目名称:ggz,代码行数:58,代码来源:dlg_about.c


示例4: create_window1

GtkWidget*
create_window1 (void)
{
  GtkWidget *window1;
  GtkWidget *table1;
  GtkWidget *label1;
  GtkWidget *quit;
  GtkWidget *entry1;

  window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_object_set_data (GTK_OBJECT (window1), "window1", window1);
  gtk_window_set_title (GTK_WINDOW (window1), _("window1"));

  table1 = gtk_table_new (6, 3, FALSE);
  gtk_widget_ref (table1);
  gtk_object_set_data_full (GTK_OBJECT (window1), "table1", table1,
                            (GtkDestroyNotify) gtk_widget_unref);
  gtk_widget_show (table1);
  gtk_container_add (GTK_CONTAINER (window1), table1);

  label1 = gtk_label_new (_("label1"));
  gtk_widget_ref (label1);
  gtk_object_set_data_full (GTK_OBJECT (window1), "label1", label1,
                            (GtkDestroyNotify) gtk_widget_unref);
  gtk_widget_show (label1);
  gtk_table_attach (GTK_TABLE (table1), label1, 2, 3, 0, 1,
                    (GtkAttachOptions) (GTK_FILL),
                    (GtkAttachOptions) (0), 0, 0);

  quit = gtk_button_new_with_label (_("button1"));
  gtk_widget_ref (quit);
  gtk_object_set_data_full (GTK_OBJECT (window1), "quit", quit,
                            (GtkDestroyNotify) gtk_widget_unref);
  gtk_widget_show (quit);
  gtk_table_attach (GTK_TABLE (table1), quit, 2, 3, 2, 3,
                    (GtkAttachOptions) (GTK_FILL),
                    (GtkAttachOptions) (GTK_FILL), 0, 0);

  entry1 = gtk_entry_new ();
  gtk_widget_ref (entry1);
  gtk_object_set_data_full (GTK_OBJECT (window1), "entry1", entry1,
                            (GtkDestroyNotify) gtk_widget_unref);
  gtk_widget_show (entry1);
  gtk_table_attach (GTK_TABLE (table1), entry1, 2, 3, 1, 2,
                    (GtkAttachOptions) (GTK_FILL),
                    (GtkAttachOptions) (0), 0, 0);

  gtk_signal_connect (GTK_OBJECT (window1), "delete_event",
                      GTK_SIGNAL_FUNC (on_window1_delete_event),
                      NULL);
  gtk_signal_connect (GTK_OBJECT (quit), "clicked",
                      GTK_SIGNAL_FUNC (on_button1_clicked),
                      NULL);

  return window1;
}
开发者ID:polyactis,项目名称:test,代码行数:56,代码来源:interface.c


示例5: gw_menu_options_create

GtkWidget * gw_menu_options_create ( GtkWindow *w, GtkAccelGroup *ag, GtkWidget *parent)
{
	GtkWidget *gw_menu_options_header = NULL;
	GtkWidget *menu_options = NULL;
	GtkWidget *gw_menu_options_settings = NULL;
	GtkAccelGroup *gw_menu_options_ag = NULL;
	guint tmp_key;
	gchar *text_utf8 = NULL;


#ifdef GW_DEBUG_GUI_COMPONENT
	g_print ( "*** GW - %s (%d) :: %s()\n", __FILE__, __LINE__, __PRETTY_FUNCTION__);
#endif

	if ( w != NULL )
	{
		/* Menu action header */
		gw_menu_options_header = gtk_menu_item_new_with_label ( "");
		g_strdup_to_gtk_text ( _( "_Options"), text_utf8);
		tmp_key = gtk_label_parse_uline ( GTK_LABEL ( GTK_BIN ( gw_menu_options_header)->child), text_utf8);
		g_free ( text_utf8);
#if defined ( HAVE_GTK12)
		gtk_widget_add_accelerator ( gw_menu_options_header, "activate-item", ag, tmp_key, GDK_MOD1_MASK, 0);
#endif
		gtk_widget_ref ( gw_menu_options_header);
		gtk_object_set_data_full ( GTK_OBJECT ( w), GW_REF_MENU_BAR_OPTIONS_MENU_HEADER, gw_menu_options_header, (GtkDestroyNotify) gtk_widget_unref);

		menu_options = gtk_menu_new ( );
		gtk_widget_ref ( menu_options);
		gtk_object_set_data_full ( GTK_OBJECT ( w), GW_REF_MENU_BAR_OPTIONS_MENU, menu_options, (GtkDestroyNotify) gtk_widget_unref);
		gtk_menu_item_set_submenu ( GTK_MENU_ITEM ( gw_menu_options_header), menu_options);
#if defined ( HAVE_GTK12)
		gw_menu_options_ag = gtk_menu_ensure_uline_accel_group ( GTK_MENU ( menu_options));
#else
		gw_menu_options_ag = gtk_accel_group_new ( );
#endif

		/* Menu action -> edit categories */
		gw_menu_options_settings = gtk_menu_item_new_with_label ( "");
		g_strdup_to_gtk_text ( _( "Se_ttings"), text_utf8);
		tmp_key = gtk_label_parse_uline ( GTK_LABEL ( GTK_BIN ( gw_menu_options_settings)->child), text_utf8);
		g_free ( text_utf8);
#if defined ( HAVE_GTK12)
		gtk_widget_add_accelerator ( gw_menu_options_settings, "activate-item", gw_menu_options_ag, tmp_key, 0, 0);
#endif
		gtk_widget_ref ( gw_menu_options_settings);
		gtk_object_set_data_full ( GTK_OBJECT ( w), GW_REF_MENU_BAR_OPTIONS_MENU_SETTINGS, gw_menu_options_settings, (GtkDestroyNotify) gtk_widget_unref);
		gtk_container_add ( GTK_CONTAINER ( menu_options), gw_menu_options_settings);
		gtk_widget_add_accelerator ( gw_menu_options_settings, "activate", ag, GDK_t, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
		gtk_signal_connect ( GTK_OBJECT ( gw_menu_options_settings), "activate", GTK_SIGNAL_FUNC ( gw_menu_options_settings_click), w);
	}

	return gw_menu_options_header;
}
开发者ID:Jeoxs,项目名称:gwhere-catalog,代码行数:54,代码来源:gwmenuoptions.c


示例6: dialogAllianceCreate

GtkWidget* dialogAllianceCreate (void) {
  GtkWidget *dialogAlliance;
  GtkWidget *vbox1;
  GtkWidget *hbox1;
  GtkWidget *button1;
  GtkWidget *button2;

  dialogAlliance = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_object_set_data (GTK_OBJECT (dialogAlliance), "dialogAlliance", dialogAlliance);
  gtk_container_set_border_width (GTK_CONTAINER (dialogAlliance), 15);
  gtk_window_set_title (GTK_WINDOW (dialogAlliance), "Alliance Request");

  vbox1 = gtk_vbox_new (FALSE, 0);
  gtk_widget_ref (vbox1);
  gtk_object_set_data_full (GTK_OBJECT (dialogAlliance), "vbox1", vbox1,
                            (GtkDestroyNotify) gtk_widget_unref);
  gtk_widget_show (vbox1);
  gtk_container_add (GTK_CONTAINER (dialogAlliance), vbox1);

  label1 = gtk_label_new ("%s requests alliance. Accept?\n");
  gtk_widget_ref (label1);
  gtk_object_set_data_full (GTK_OBJECT (dialogAlliance), "label1", label1,
                            (GtkDestroyNotify) gtk_widget_unref);
  gtk_widget_show (label1);
  gtk_box_pack_start (GTK_BOX (vbox1), label1, FALSE, FALSE, 0);

  hbox1 = gtk_hbox_new (FALSE, 0);
  gtk_widget_ref (hbox1);
  gtk_object_set_data_full (GTK_OBJECT (dialogAlliance), "hbox1", hbox1,
                            (GtkDestroyNotify) gtk_widget_unref);
  gtk_widget_show (hbox1);
  gtk_box_pack_start (GTK_BOX (vbox1), hbox1, TRUE, TRUE, 0);

  button1 = gtk_button_new_with_label ("Accept");
  gtk_widget_ref (button1);
  gtk_object_set_data_full (GTK_OBJECT (dialogAlliance), "button1", button1,
                            (GtkDestroyNotify) gtk_widget_unref);
  gtk_widget_show (button1);
  gtk_box_pack_start (GTK_BOX (hbox1), button1, TRUE, TRUE, 0);
  GTK_WIDGET_UNSET_FLAGS (button1, GTK_CAN_FOCUS);

  button2 = gtk_button_new_with_label ("Reject");
  gtk_widget_ref (button2);
  gtk_object_set_data_full (GTK_OBJECT (dialogAlliance), "button2", button2,
                            (GtkDestroyNotify) gtk_widget_unref);
  gtk_widget_show (button2);
  gtk_box_pack_start (GTK_BOX (hbox1), button2, TRUE, TRUE, 0);

  gtk_signal_connect(GTK_OBJECT(button1), "clicked", GTK_SIGNAL_FUNC(dialogAllianceAccept), 0);
  gtk_signal_connect(GTK_OBJECT(button2), "clicked", GTK_SIGNAL_FUNC(dialogAllianceReject), 0);

  dialogAllianceUs = dialogAlliance;
  return dialogAlliance;
}
开发者ID:1taplay,项目名称:winbolo,代码行数:54,代码来源:dialogalliance.c


示例7: gw_menu_help_create

GtkWidget * gw_menu_help_create ( GtkWindow *w, GtkAccelGroup *ag, GtkWidget *parent)
{
	GtkWidget *gw_menu_help_header = NULL;
	GtkWidget *menu_help = NULL;
	GtkWidget *gw_menu_help_about = NULL;
	GtkAccelGroup *gw_menu_help_ag = NULL;
	guint tmp_key;
	gchar *text_utf8 = NULL;


#ifdef GW_DEBUG_GUI_COMPONENT
	g_print ( "*** GW - %s (%d) :: %s()\n", __FILE__, __LINE__, __PRETTY_FUNCTION__);
#endif

	/* Menu help header */
	gw_menu_help_header = gtk_menu_item_new_with_label ( "");
	g_strdup_to_gtk_text ( _( "_Help"), text_utf8);
	tmp_key = gtk_label_parse_uline ( GTK_LABEL ( GTK_BIN ( gw_menu_help_header)->child), text_utf8);
	g_free ( text_utf8);
#if defined ( HAVE_GTK12)
	gtk_widget_add_accelerator ( gw_menu_help_header, "activate-item", ag, tmp_key, GDK_MOD1_MASK, 0);
#endif
	gtk_widget_ref ( gw_menu_help_header);
	gtk_object_set_data_full ( GTK_OBJECT ( w), GW_REF_MENU_BAR_HELP_MENU_HEADER, gw_menu_help_header, (GtkDestroyNotify) gtk_widget_unref);

	menu_help = gtk_menu_new ( );
	gtk_widget_ref ( menu_help);
	gtk_object_set_data_full ( GTK_OBJECT ( w), GW_REF_MENU_BAR_HELP_MENU, menu_help, (GtkDestroyNotify) gtk_widget_unref);
	gtk_menu_item_set_submenu ( GTK_MENU_ITEM ( gw_menu_help_header), menu_help);

#if defined ( HAVE_GTK12)
	gw_menu_help_ag = gtk_menu_ensure_uline_accel_group ( GTK_MENU ( menu_help));
#else
	gw_menu_help_ag = gtk_accel_group_new ( );
#endif

	/* Menu help -> about */
	gw_menu_help_about = gtk_menu_item_new_with_label ( "");
	g_strdup_to_gtk_text ( _( "A_bout"), text_utf8);
	tmp_key = gtk_label_parse_uline ( GTK_LABEL ( GTK_BIN ( gw_menu_help_about)->child), text_utf8);
	g_free ( text_utf8);
#if defined ( HAVE_GTK12)
	gtk_widget_add_accelerator ( gw_menu_help_about, "activate-item", gw_menu_help_ag, tmp_key, 0, 0);
#endif
	gtk_widget_ref ( gw_menu_help_about);
	gtk_object_set_data_full ( GTK_OBJECT ( w), GW_REF_MENU_BAR_HELP_MENU_ABOUT, gw_menu_help_about, (GtkDestroyNotify) gtk_widget_unref);
	gtk_container_add ( GTK_CONTAINER ( menu_help), gw_menu_help_about);
	gtk_widget_add_accelerator ( gw_menu_help_about, "activate", ag, GDK_b, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
	gtk_signal_connect ( GTK_OBJECT ( gw_menu_help_about), "activate", GTK_SIGNAL_FUNC ( gw_menu_help_about_click), w);

	return gw_menu_help_header;
}
开发者ID:Jeoxs,项目名称:gwhere-catalog,代码行数:52,代码来源:gwmenuhelp.c


示例8: tree_select

void tree_select( GtkTree *tree, xmlNode *action)
{
  int i = 0;
  
  if ( strcmp (action->name, "action") != 0) {
  	gtk_widget_destroy(table[cur_pid].page.text1);
	table[cur_pid].page.text1 = gtk_html_new ();
  	gtk_widget_set_name (table[cur_pid].page.text1, "text1");
  	gtk_widget_ref (table[cur_pid].page.text1);
  	gtk_object_set_data_full (GTK_OBJECT (Peos), "text1", table[cur_pid].page.text1,
                           	(GtkDestroyNotify) gtk_widget_unref);
  	gtk_widget_show (table[cur_pid].page.text1);
  	gtk_container_add (GTK_CONTAINER (table[cur_pid].page.scrollwindow2), table[cur_pid].page.text1);
	deactivate();
  }

  else  {
	table[cur_pid].page.curr = action;
	/* set index to save position when destroyed */
	if (table[cur_pid].process != NULL ) {
		if(process_count > 0) while(linklist[cur_pid][i].cur != table[cur_pid].page.curr && i <= counting_action) i++;
		table[cur_pid].page.index = i;
		draw_text(action);
  		check_state();
	}
  } 
}
开发者ID:jimiszm,项目名称:peos,代码行数:27,代码来源:tree.c


示例9: gtk_widget_ref

wxNotebookPage *wxNotebook::DoRemovePage( size_t page )
{
    if ( m_selection != wxNOT_FOUND && (size_t)m_selection >= page )
    {
        // the index will become invalid after the page is deleted
        m_selection = wxNOT_FOUND;
    }

    wxNotebookPage *client = wxNotebookBase::DoRemovePage(page);
    if ( !client )
        return NULL;

    gtk_widget_ref( client->m_widget );
    gtk_widget_unrealize( client->m_widget );
    gtk_widget_unparent( client->m_widget );

    // gtk_notebook_remove_page() sends "switch_page" signal with some strange
    // new page index (when deleting selected page 0, new page is 1 although,
    // clearly, the selection should stay 0), so suppress this
    gtk_signal_disconnect_by_func( GTK_OBJECT(m_widget),
      GTK_SIGNAL_FUNC(gtk_notebook_page_change_callback), (gpointer) this );

    gtk_notebook_remove_page( GTK_NOTEBOOK(m_widget), page );

    gtk_signal_connect( GTK_OBJECT(m_widget), "switch_page",
      GTK_SIGNAL_FUNC(gtk_notebook_page_change_callback), (gpointer)this );

    wxGtkNotebookPage* p = GetNotebookPage(page);
    m_pagesData.DeleteObject(p);
    delete p;

    return client;
}
开发者ID:beanhome,项目名称:dev,代码行数:33,代码来源:notebook.cpp


示例10: view_new

GtkWidget*
view_new (Scene *scene, GLDrawingArea *context)
{
  View *view = VIEW (g_object_new (view_get_type (), NULL));
  GtkWidget *box, *window;

  view->xml = glade_xml_new (GLADEDIR "/view.glade", NULL, NULL);
  if (!view->xml)
    return NULL;
  box = glade_xml_get_widget (view->xml, "view vbox");
  window = glade_xml_get_widget (view->xml, "window");

  gtk_widget_ref (box);
  gtk_container_remove (GTK_CONTAINER (window), box);
  gtk_box_pack_start (GTK_BOX (view), GTK_WIDGET (box), TRUE, TRUE, 0);
  gtk_widget_unref (box);

  gtk_box_pack_start (GTK_BOX (box), GTK_WIDGET (context), TRUE, TRUE, 0);
  gtk_box_reorder_child (GTK_BOX (box), GTK_WIDGET (context), 0);

  if (scene == NULL)
    scene = scene_new ();

  view->scene = scene;
  view->context = context;

  g_signal_connect_after (G_OBJECT (context), "realize", G_CALLBACK (on_gl_context_realize), (gpointer) view);

  return GTK_WIDGET (view);
}
开发者ID:mvanderkolff,项目名称:navi-misc,代码行数:30,代码来源:view.c


示例11: GetPage

wxNotebookPage *wxNotebook::DoRemovePage( size_t page )
{
    // We cannot remove the page yet, as GTK sends the "switch_page"
    // signal before it has removed the notebook-page from its
    // corresponding list. Thus, if we were to remove the page from
    // m_pages at this point, the two lists of pages would be out
    // of sync during the PAGE_CHANGING/PAGE_CHANGED events.
    wxNotebookPage *client = GetPage(page);
    if ( !client )
        return NULL;

    gtk_widget_ref( client->m_widget );
    gtk_widget_unrealize( client->m_widget );

    // we don't need to unparent the client->m_widget; GTK+ will do
    // that for us (and will throw a warning if we do it!)
    gtk_notebook_remove_page( GTK_NOTEBOOK(m_widget), page );

    // It's safe to remove the page now.
    wxASSERT_MSG(GetPage(page) == client, wxT("pages changed during delete"));
    wxNotebookBase::DoRemovePage(page);

    wxGtkNotebookPage* p = GetNotebookPage(page);
    m_pagesData.DeleteObject(p);
    delete p;
    
    return client;
}
开发者ID:EdgarTx,项目名称:wx,代码行数:28,代码来源:notebook.cpp


示例12: create_ui_context_menu

void
create_ui_context_menu(GtkWidget *parent_window)
{
    ui_context_menu = gtk_menu_new();
    gtk_widget_ref (ui_context_menu);
    gtk_object_set_data_full (GTK_OBJECT (parent_window), "ui_context_menu", ui_context_menu,
                              (GtkDestroyNotify) gtk_widget_unref);
    ui_context_menu_launch = gtk_menu_item_new_with_label ("Launch UI");
    gtk_widget_show (ui_context_menu_launch);
    gtk_menu_append (GTK_MENU (ui_context_menu), ui_context_menu_launch);
    ui_context_menu_show = gtk_menu_item_new_with_label ("Show UI");
    gtk_widget_show (ui_context_menu_show);
    gtk_menu_append (GTK_MENU (ui_context_menu), ui_context_menu_show);
    ui_context_menu_hide = gtk_menu_item_new_with_label ("Hide UI");
    gtk_widget_show (ui_context_menu_hide);
    gtk_menu_append (GTK_MENU (ui_context_menu), ui_context_menu_hide);
    ui_context_menu_exit = gtk_menu_item_new_with_label ("Exit UI");
    gtk_widget_show (ui_context_menu_exit);
    gtk_menu_append (GTK_MENU (ui_context_menu), ui_context_menu_exit);

    gtk_signal_connect (GTK_OBJECT (ui_context_menu_launch), "activate",
                        GTK_SIGNAL_FUNC (on_ui_context_menu_activate),
                        (gpointer)0);
    gtk_signal_connect (GTK_OBJECT (ui_context_menu_show), "activate",
                        GTK_SIGNAL_FUNC (on_ui_context_menu_activate),
                        (gpointer)1);
    gtk_signal_connect (GTK_OBJECT (ui_context_menu_hide), "activate",
                        GTK_SIGNAL_FUNC (on_ui_context_menu_activate),
                        (gpointer)2);
    gtk_signal_connect (GTK_OBJECT (ui_context_menu_exit), "activate",
                        GTK_SIGNAL_FUNC (on_ui_context_menu_activate),
                        (gpointer)3);
}
开发者ID:smbolton,项目名称:ghostess,代码行数:33,代码来源:gui_interface.c


示例13: debug_print

static MimeViewer *mathml_viewer_create(void)
{
	MathMLViewer *viewer;

	debug_print("mathml_viewer_create\n");
	
	viewer = g_new0(MathMLViewer, 1);
	viewer->mimeviewer.factory = &mathml_viewer_factory;

	viewer->mimeviewer.get_widget = mathml_get_widget;
	viewer->mimeviewer.show_mimepart = mathml_show_mimepart;
	viewer->mimeviewer.clear_viewer = mathml_clear_viewer;
	viewer->mimeviewer.destroy_viewer = mathml_destroy_viewer;	

	viewer->scrollwin = GTK_SCROLLED_WINDOW(gtk_scrolled_window_new(NULL, NULL));
	gtk_widget_show(GTK_WIDGET(viewer->scrollwin));
	gtk_widget_ref(GTK_WIDGET(viewer->scrollwin));
	gtk_scrolled_window_set_policy(viewer->scrollwin, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);

	viewer->mathview = GTK_MATH_VIEW(gtk_math_view_new(NULL, NULL));
	gtk_widget_show(GTK_WIDGET(viewer->mathview));
	viewer->filename = NULL;
	gtk_container_add(GTK_CONTAINER(viewer->scrollwin), GTK_WIDGET(viewer->mathview));

	return (MimeViewer *) viewer;
}
开发者ID:moreorless,项目名称:claws-mail,代码行数:26,代码来源:mathml_viewer.c


示例14: defaults_show

void
defaults_show(ObjectType *objtype)
{
  GtkWidget *defaults;

  if ((objtype != NULL) && (objtype->ops->get_defaults != NULL)) {
    defaults = objtype->ops->get_defaults();
  } else {
    defaults = NULL;
  }
  
  if (dialog == NULL)
    create_dialog();

  if ((objtype==NULL) || (defaults == NULL)) { 
    /* No defaults or no object */
    defaults = no_defaults_dialog;
    objtype = NULL;
  }

  if (object_part != NULL) {
    gtk_widget_ref(object_part);
    gtk_container_remove(GTK_CONTAINER(dialog_vbox), object_part);
    gtk_widget_unparent(object_part);
    object_part = NULL;
  }
  gtk_signal_connect (GTK_OBJECT (defaults), "destroy",
		      GTK_SIGNAL_FUNC(defaults_dialog_destroyed), NULL);
  gtk_box_pack_start(GTK_BOX(dialog_vbox), defaults, TRUE, TRUE, 0);
  gtk_widget_show (defaults);
  gtk_widget_show (dialog);
  object_part = defaults;
  current_objtype = objtype;
}
开发者ID:TVilaboa,项目名称:Proyecto-Parser-C,代码行数:34,代码来源:defaults.c


示例15: dialog_build_children

static void
dialog_build_children(GladeXML *self, GtkWidget *w,
		      GladeWidgetInfo *info)

{
    MateDialog *dialog = MATE_DIALOG (w);
    GtkWidget *aa;
    GList *children, *list;
    char *label;

    glade_standard_build_children (self, w, info);

    aa = dialog->action_area;
    if (!aa)
	return;

    children = gtk_container_get_children (GTK_CONTAINER (aa));
    for (list = children; list; list = list->next) {
	gtk_widget_ref (GTK_WIDGET (list->data));
	gtk_container_remove (GTK_CONTAINER (aa), GTK_WIDGET (list->data));
    }

    for (list = children; list; list = list->next) {
	g_object_get (G_OBJECT (list->data), "label", &label, NULL);
	if (label) {
	    mate_dialog_append_button (dialog, label);
	    g_free (label);
	}
    }

    g_list_foreach (children, (GFunc)gtk_widget_unref, NULL);
    g_list_free (children);
}
开发者ID:TheCoffeMaker,项目名称:Mate-Desktop-Environment,代码行数:33,代码来源:glade-mate.c


示例16: create_gnomeprint_session

gint create_gnomeprint_session(void)
{
    GnomePrintJob *job = NULL;
    static GnomePrintConfig *gpc = NULL;
    GtkWidget *dialog, *preview;
    gint res, page_num = 0;
    GtkWidget *notebook, *page;

    if (gpc == NULL)
        gpc = gnome_print_config_default();

    job = gnome_print_job_new(gpc);
    if (job == NULL)
        return -1;

    dialog = gnome_print_dialog_new(job, (guchar *)_("Print"), 0);
    notebook = gtk_container_get_children(
                   GTK_CONTAINER(GTK_DIALOG(dialog)->vbox))->data;
    gtk_widget_hide(notebook);
    if (!GTK_WIDGET_VISIBLE(gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), page_num)))
        page_num++;
    page = gtk_widget_ref(
               gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), page_num));
    gtk_notebook_remove_page(GTK_NOTEBOOK(notebook), page_num);
    gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),
                       page, FALSE, FALSE, 0);
    gtk_widget_set_size_request(
        gtk_container_get_children(GTK_CONTAINER(page))->data, -1, 240);
    gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                 GTK_WINDOW(pub->mw->window));

    do {
        res = gtk_dialog_run(GTK_DIALOG(dialog));
        gnome_print_config_unref(gpc);
        gpc = gnome_print_dialog_get_config(GNOME_PRINT_DIALOG(dialog));
        switch (res) {
        case GNOME_PRINT_DIALOG_RESPONSE_PRINT:
            g_object_unref(job);
            job = create_job(gpc);
            gnome_print_job_print(job);
            break;
        case GNOME_PRINT_DIALOG_RESPONSE_PREVIEW:
            g_object_unref(job);
            job = create_job(gpc);
            preview = gnome_print_job_preview_new(job,
                                                  (guchar *)_("Print Preview"));
//			gtk_window_set_transient_for(GTK_WINDOW(preview), GTK_WINDOW(dialog));
            gtk_window_set_modal(GTK_WINDOW(preview), TRUE);
            gtk_widget_show(preview);
            g_signal_connect(G_OBJECT(preview), "destroy",
                             G_CALLBACK(gtk_main_quit), NULL);
            gtk_main();
            break;
        }
    } while (res == GNOME_PRINT_DIALOG_RESPONSE_PREVIEW);
    gtk_widget_destroy(dialog);
    g_object_unref(job);

    return res;
}
开发者ID:viviparous,项目名称:leafpad,代码行数:60,代码来源:gnomeprint.c


示例17: gtk_accel_group_new

void wxMenu::Init()
{
    m_accel = gtk_accel_group_new();
    m_menu = gtk_menu_new();
    // NB: keep reference to the menu so that it is not destroyed behind
    //     our back by GTK+ e.g. when it is removed from menubar:
    gtk_widget_ref(m_menu);

    m_owner = NULL;

    // Tearoffs are entries, just like separators. So if we want this
    // menu to be a tear-off one, we just append a tearoff entry
    // immediately.
    if ( m_style & wxMENU_TEAROFF )
    {
        GtkWidget *tearoff = gtk_tearoff_menu_item_new();

        gtk_menu_append(GTK_MENU(m_menu), tearoff);
    }

    m_prevRadio = NULL;

    // append the title as the very first entry if we have it
    if ( !m_title.empty() )
    {
        Append(wxGTK_TITLE_ID, m_title);
        AppendSeparator();
    }
}
开发者ID:beanhome,项目名称:dev,代码行数:29,代码来源:menu.cpp


示例18: wxASSERT_MSG

void wxFrame::DetachMenuBar()
{
    wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") );
    wxASSERT_MSG( (m_wxwindow != NULL), wxT("invalid frame") );

    if ( m_frameMenuBar )
    {
        m_frameMenuBar->Attach( this );

        if (m_frameMenuBar->GetWindowStyle() & wxMB_DOCKABLE)
        {
            gtk_signal_disconnect_by_func( GTK_OBJECT(m_frameMenuBar->m_widget),
                GTK_SIGNAL_FUNC(gtk_menu_attached_callback), (gpointer)this );

            gtk_signal_disconnect_by_func( GTK_OBJECT(m_frameMenuBar->m_widget),
                GTK_SIGNAL_FUNC(gtk_menu_detached_callback), (gpointer)this );
        }

        gtk_widget_ref( m_frameMenuBar->m_widget );

        gtk_container_remove( GTK_CONTAINER(m_mainWidget), m_frameMenuBar->m_widget );
    }

    wxFrameBase::DetachMenuBar();
}
开发者ID:3v1n0,项目名称:wxWidgets,代码行数:25,代码来源:frame.cpp


示例19: bst_choice_menu_createv

GtkWidget*
bst_choice_menu_createv (const gchar *menu_path,
			 BstChoice *first_choice,
			 ...)
{
  BstChoice *choice;
  GtkWidget *menu;
  va_list args;
  
  va_start (args, first_choice);
  
  menu = g_object_connect (gtk_widget_new (GTK_TYPE_MENU,
					   NULL),
			   "signal::selection-done", check_modal_quit, NULL,
			   NULL);
  gtk_menu_set_accel_path (GTK_MENU (menu), menu_path);
  gtk_widget_ref (menu);
  gtk_object_sink (GTK_OBJECT (menu));
  
  choice = first_choice;
  while (choice)
    {
      bst_choice_menu_add_choice_and_free (menu, choice);
      choice = va_arg (args, BstChoice*);
    }
  
  va_end (args);
  
  return menu;
}
开发者ID:whitelynx,项目名称:beast,代码行数:30,代码来源:bstmenus.c


示例20: strcat

GtkObject *create_adj(GtkWidget *window, GtkWidget *table, float min, float max, float value,
		      int p1, int p2, int p3, int p4, char *ID)
{
  GtkObject *adj;
  GtkWidget *spin;  
  char *str;
  int flag;
  
  str=(char*)malloc(32*sizeof(char));
  *str=0;
  strcat(str, "spin");
  strcat(str, ID);
  flag=atoi(ID);

  adj  = gtk_adjustment_new(value, min, max, 1. ,10., 10.);
  spin = gtk_spin_button_new(GTK_ADJUSTMENT (adj), 1, 0);

  gtk_widget_ref (spin);
  g_object_set_data_full (G_OBJECT (window), "spin", spin,
                            (GDestroyNotify) gtk_widget_unref);
  gtk_widget_show (spin);
  gtk_table_attach (GTK_TABLE (table), spin, p1, p2, p3, p4,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);
  gtk_widget_set_size_request (spin, 75, 22);
  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin), TRUE);

  g_signal_connect (G_OBJECT (adj) ,"value_changed", G_CALLBACK(get_values),GINT_TO_POINTER(flag));

  free(str);
  return(adj);

}
开发者ID:bion,项目名称:ats,代码行数:33,代码来源:sel.c



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ gtk_widget_reparent函数代码示例发布时间:2022-05-28
下一篇:
C++ gtk_widget_realize函数代码示例发布时间:2022-05-28
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap