?? widgets.c
字號:
GtkWidget *align; vbox = gtk_vbox_new (FALSE, 12); vbox2 = gtk_vbox_new (FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); picker = gtk_file_chooser_button_new ("File Chooser Button", GTK_FILE_CHOOSER_ACTION_OPEN); gtk_widget_set_size_request (picker, 150, -1); gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (picker), "/etc/yum.conf"); gtk_container_add (GTK_CONTAINER (align), picker); gtk_box_pack_start (GTK_BOX (vbox2), align, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox2), gtk_label_new ("File Button (Files)"), FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), vbox2, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0); vbox2 = gtk_vbox_new (FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); picker = gtk_file_chooser_button_new ("File Chooser Button", GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); gtk_widget_set_size_request (picker, 150, -1); gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (picker), "/"); gtk_container_add (GTK_CONTAINER (align), picker); gtk_box_pack_start (GTK_BOX (vbox2), align, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox2), gtk_label_new ("File Button (Select Folder)"), FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), vbox2, TRUE, TRUE, 0); return new_widget_info ("file-button", vbox, MEDIUM);}static WidgetInfo *create_separator (void){ GtkWidget *hbox; GtkWidget *vbox; vbox = gtk_vbox_new (FALSE, 3); hbox = gtk_hbox_new (TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), gtk_hseparator_new (), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), gtk_vseparator_new (), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), g_object_new (GTK_TYPE_LABEL, "label", "Horizontal and Vertical\nSeparators", "justify", GTK_JUSTIFY_CENTER, NULL), FALSE, FALSE, 0); return new_widget_info ("separator", vbox, MEDIUM);}static WidgetInfo *create_panes (void){ GtkWidget *hbox; GtkWidget *vbox; GtkWidget *pane; vbox = gtk_vbox_new (FALSE, 3); hbox = gtk_hbox_new (TRUE, 12); pane = gtk_hpaned_new (); gtk_paned_pack1 (GTK_PANED (pane), g_object_new (GTK_TYPE_FRAME, "shadow", GTK_SHADOW_IN, NULL), FALSE, FALSE); gtk_paned_pack2 (GTK_PANED (pane), g_object_new (GTK_TYPE_FRAME, "shadow", GTK_SHADOW_IN, NULL), FALSE, FALSE); gtk_box_pack_start (GTK_BOX (hbox), pane, TRUE, TRUE, 0); pane = gtk_vpaned_new (); gtk_paned_pack1 (GTK_PANED (pane), g_object_new (GTK_TYPE_FRAME, "shadow", GTK_SHADOW_IN, NULL), FALSE, FALSE); gtk_paned_pack2 (GTK_PANED (pane), g_object_new (GTK_TYPE_FRAME, "shadow", GTK_SHADOW_IN, NULL), FALSE, FALSE); gtk_box_pack_start (GTK_BOX (hbox), pane, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), g_object_new (GTK_TYPE_LABEL, "label", "Horizontal and Vertical\nPanes", "justify", GTK_JUSTIFY_CENTER, NULL), FALSE, FALSE, 0); return new_widget_info ("panes", vbox, MEDIUM);}static WidgetInfo *create_frame (void){ GtkWidget *widget; widget = gtk_frame_new ("Frame"); return new_widget_info ("frame", widget, MEDIUM);}static WidgetInfo *create_window (void){ WidgetInfo *info; GtkWidget *widget; widget = gtk_window_new (GTK_WINDOW_TOPLEVEL); info = new_widget_info ("window", widget, MEDIUM); info->include_decorations = TRUE; gtk_window_set_title (GTK_WINDOW (info->window), "Window"); return info;}static WidgetInfo *create_colorsel (void){ WidgetInfo *info; GtkWidget *widget; GtkColorSelection *colorsel; GdkColor color; widget = gtk_color_selection_dialog_new ("Color Selection Dialog"); colorsel = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (widget)->colorsel); color.red = 0x7979; color.green = 0xdbdb; color.blue = 0x9595; gtk_color_selection_set_previous_color (colorsel, &color); color.red = 0x7d7d; color.green = 0x9393; color.blue = 0xc3c3; gtk_color_selection_set_current_color (colorsel, &color); info = new_widget_info ("colorsel", widget, ASIS); info->include_decorations = TRUE; return info;}static WidgetInfo *create_fontsel (void){ WidgetInfo *info; GtkWidget *widget; widget = gtk_font_selection_dialog_new ("Font Selection Dialog"); info = new_widget_info ("fontsel", widget, ASIS); info->include_decorations = TRUE; return info;}static WidgetInfo *create_filesel (void){ WidgetInfo *info; GtkWidget *widget; widget = gtk_file_chooser_dialog_new ("File Chooser Dialog", NULL, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); gtk_window_set_default_size (GTK_WINDOW (widget), 505, 305); info = new_widget_info ("filechooser", widget, ASIS); info->include_decorations = TRUE; return info;}static WidgetInfo *create_toolbar (void){ GtkWidget *widget, *menu; GtkToolItem *item; widget = gtk_toolbar_new (); item = gtk_tool_button_new_from_stock (GTK_STOCK_NEW); gtk_toolbar_insert (GTK_TOOLBAR (widget), item, -1); item = gtk_menu_tool_button_new_from_stock (GTK_STOCK_OPEN); menu = gtk_menu_new (); gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (item), menu); gtk_toolbar_insert (GTK_TOOLBAR (widget), item, -1); item = gtk_tool_button_new_from_stock (GTK_STOCK_REFRESH); gtk_toolbar_insert (GTK_TOOLBAR (widget), item, -1); gtk_toolbar_set_show_arrow (GTK_TOOLBAR (widget), FALSE); return new_widget_info ("toolbar", widget, SMALL);}static WidgetInfo *create_menubar (void){ GtkWidget *widget, *vbox, *align, *item; widget = gtk_menu_bar_new (); item = gtk_menu_item_new_with_mnemonic ("_File"); gtk_menu_shell_append (GTK_MENU_SHELL (widget), item); item = gtk_menu_item_new_with_mnemonic ("_Edit"); gtk_menu_shell_append (GTK_MENU_SHELL (widget), item); item = gtk_menu_item_new_with_mnemonic ("_Help"); gtk_menu_shell_append (GTK_MENU_SHELL (widget), item); vbox = gtk_vbox_new (FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Menu Bar"), FALSE, FALSE, 0); return new_widget_info ("menubar", vbox, SMALL);}static WidgetInfo *create_message_dialog (void){ GtkWidget *widget; widget = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, NULL); gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (widget), "<b>Message Dialog</b>\n\nWith secondary text"); return new_widget_info ("messagedialog", widget, MEDIUM);}static WidgetInfo *create_notebook (void){ GtkWidget *widget; widget = gtk_notebook_new (); gtk_notebook_append_page (GTK_NOTEBOOK (widget), gtk_label_new ("Notebook"), NULL); gtk_notebook_append_page (GTK_NOTEBOOK (widget), gtk_event_box_new (), NULL); gtk_notebook_append_page (GTK_NOTEBOOK (widget), gtk_event_box_new (), NULL); return new_widget_info ("notebook", widget, MEDIUM);}static WidgetInfo *create_progressbar (void){ GtkWidget *vbox; GtkWidget *widget; GtkWidget *align; widget = gtk_progress_bar_new (); gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (widget), 0.5); vbox = gtk_vbox_new (FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Progress Bar"), FALSE, FALSE, 0); return new_widget_info ("progressbar", vbox, SMALL);}static WidgetInfo *create_scrolledwindow (void){ GtkWidget *scrolledwin, *label; scrolledwin = gtk_scrolled_window_new (NULL, NULL); label = gtk_label_new ("Scrolled Window"); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolledwin), label); return new_widget_info ("scrolledwindow", scrolledwin, MEDIUM);}static WidgetInfo *create_spinbutton (void){ GtkWidget *widget; GtkWidget *vbox, *align; widget = gtk_spin_button_new_with_range (0.0, 100.0, 1.0); vbox = gtk_vbox_new (FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Spin Button"), FALSE, FALSE, 0); return new_widget_info ("spinbutton", vbox, SMALL);}static WidgetInfo *create_statusbar (void){ WidgetInfo *info; GtkWidget *widget; GtkWidget *vbox, *align; vbox = gtk_vbox_new (FALSE, 0); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), gtk_label_new ("Status Bar")); gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0); widget = gtk_statusbar_new (); align = gtk_alignment_new (0.5, 1.0, 1.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (widget), TRUE); gtk_statusbar_push (GTK_STATUSBAR (widget), 0, "Hold on..."); gtk_box_pack_end (GTK_BOX (vbox), align, FALSE, FALSE, 0); info = new_widget_info ("statusbar", vbox, SMALL); gtk_container_set_border_width (GTK_CONTAINER (info->window), 0); return info;}static WidgetInfo *create_scales (void){ GtkWidget *hbox; GtkWidget *vbox; vbox = gtk_vbox_new (FALSE, 3); hbox = gtk_hbox_new (TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), gtk_hscale_new_with_range (0.0, 100.0, 1.0), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), gtk_vscale_new_with_range (0.0, 100.0, 1.0), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), g_object_new (GTK_TYPE_LABEL, "label", "Horizontal and Vertical\nScales", "justify", GTK_JUSTIFY_CENTER, NULL), FALSE, FALSE, 0); return new_widget_info ("scales", vbox, MEDIUM);}static WidgetInfo *create_image (void){ GtkWidget *widget; GtkWidget *align, *vbox; widget = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DND); vbox = gtk_vbox_new (FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Image"), FALSE, FALSE, 0); return new_widget_info ("image", vbox, SMALL);}GList *get_all_widgets (void){ GList *retval = NULL; retval = g_list_prepend (retval, create_accel_label ()); retval = g_list_prepend (retval, create_button ()); retval = g_list_prepend (retval, create_check_button ()); retval = g_list_prepend (retval, create_color_button ()); retval = g_list_prepend (retval, create_combo_box ()); retval = g_list_prepend (retval, create_combo_box_entry ()); retval = g_list_prepend (retval, create_entry ()); retval = g_list_prepend (retval, create_font_button ()); retval = g_list_prepend (retval, create_frame ()); retval = g_list_prepend (retval, create_icon_view ()); retval = g_list_prepend (retval, create_image ()); retval = g_list_prepend (retval, create_label ()); retval = g_list_prepend (retval, create_menubar ()); retval = g_list_prepend (retval, create_message_dialog ()); retval = g_list_prepend (retval, create_notebook ()); retval = g_list_prepend (retval, create_panes ()); retval = g_list_prepend (retval, create_progressbar ()); retval = g_list_prepend (retval, create_radio ()); retval = g_list_prepend (retval, create_scales ()); retval = g_list_prepend (retval, create_scrolledwindow ()); retval = g_list_prepend (retval, create_separator ()); retval = g_list_prepend (retval, create_spinbutton ()); retval = g_list_prepend (retval, create_statusbar ()); retval = g_list_prepend (retval, create_text_view ()); retval = g_list_prepend (retval, create_toggle_button ()); retval = g_list_prepend (retval, create_toolbar ()); retval = g_list_prepend (retval, create_tree_view ()); retval = g_list_prepend (retval, create_window ()); retval = g_list_prepend (retval, create_colorsel ()); retval = g_list_prepend (retval, create_filesel ()); retval = g_list_prepend (retval, create_fontsel ()); return retval;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -