void Amt::ObjConnImpl::activate__( const char* ){ // stage one activation (after creation ) _in_widget = gtk_vbox_new(0,0); status_label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(status_label),"<span foreground=\"#000099\" >О подключении объекта ничего не известно</span>"); GtkWidget* _fv = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME ( _fv), GTK_SHADOW_ETCHED_OUT); gtk_container_add(GTK_CONTAINER(_fv), status_label); gtk_widget_set_tooltip_markup(_fv, "<b>Кликнуть левой кнопкой мыши для открытия сводного графика.</b>" ); GtkWidget* _event = gtk_event_box_new(); gtk_container_add(GTK_CONTAINER(_event), _fv); g_signal_connect(G_OBJECT(_event), "button_press_event", G_CALLBACK(ButPressSt), this); gtk_box_pack_start(GTK_BOX(_in_widget), _event, 1,1,0); gtk_widget_show_all(_in_widget); }
GtkWidget * nruler_new(GtkOrientation orientation) { Nruler *ruler; GtkWidget *w, *frame; ruler = g_malloc0(sizeof(*ruler)); if (ruler == NULL) { return NULL; } w = gtk_drawing_area_new(); if (orientation == GTK_ORIENTATION_VERTICAL) { gtk_widget_set_size_request(w, RULER_WIDTH, -1); } else { gtk_widget_set_size_request(w, -1, RULER_WIDTH); } frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_OUT); gtk_container_add(GTK_CONTAINER(frame), w); ruler->orientation = orientation; ruler->widget = w; ruler->parent = frame; #if GTK_CHECK_VERSION(3, 0, 0) ruler->saved_style = NULL; #endif g_object_set_data(G_OBJECT(frame), RULER_DATA_KEY, ruler); #if GTK_CHECK_VERSION(3, 0, 0) g_signal_connect(w, "draw", G_CALLBACK(nruler_expose), ruler); #else /* GTK_CHECK_VERSION(3, 0, 0) */ g_signal_connect(w, "expose-event", G_CALLBACK(nruler_expose), ruler); #endif /* GTK_CHECK_VERSION(3, 0, 0) */ g_signal_connect(w, "realize", G_CALLBACK(nruler_realize), ruler); g_signal_connect(w, "size-allocate", G_CALLBACK(nruler_size_allocate), ruler); g_signal_connect(frame, "unrealize", G_CALLBACK(nruler_destroy), ruler); return frame; }
static GtkWidget* create_frame (const char *caption, GtkWidget *child, gdouble xscale, gdouble yscale) { GtkWidget *frame = gtk_frame_new (""); GtkWidget *label = gtk_frame_get_label_widget (GTK_FRAME (frame)); GtkWidget *align = gtk_alignment_new (0, 0, xscale, yscale); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); gtk_alignment_set_padding (GTK_ALIGNMENT (align), 6, 0, 18, 0); gtk_label_set_markup (GTK_LABEL (label), caption); gtk_container_add (GTK_CONTAINER (frame), align); gtk_container_add (GTK_CONTAINER (align), child); return frame; }
static void nautilus_window_slot_init (NautilusWindowSlot *slot) { GtkWidget *content_box, *eventbox, *extras_vbox, *frame; content_box = gtk_vbox_new (FALSE, 0); slot->content_box = content_box; gtk_widget_show (content_box); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_ETCHED_IN); gtk_box_pack_start (GTK_BOX (content_box), frame, FALSE, FALSE, 0); slot->extra_location_frame = frame; eventbox = gtk_event_box_new (); gtk_widget_set_name (eventbox, "nautilus-extra-view-widget"); gtk_container_add (GTK_CONTAINER (frame), eventbox); gtk_widget_show (eventbox); extras_vbox = gtk_vbox_new (FALSE, 6); gtk_container_set_border_width (GTK_CONTAINER (extras_vbox), 6); slot->extra_location_widgets = extras_vbox; gtk_container_add (GTK_CONTAINER (eventbox), extras_vbox); gtk_widget_show (extras_vbox); slot->view_box = gtk_vbox_new (FALSE, 0); slot->view_overlay = gedit_overlay_new (slot->view_box, NULL); gtk_box_pack_start (GTK_BOX (content_box), slot->view_overlay, TRUE, TRUE, 0); gtk_widget_show (slot->view_overlay); gtk_widget_show (slot->view_box); slot->floating_bar = nautilus_floating_bar_new ("", FALSE); gedit_overlay_add (GEDIT_OVERLAY (slot->view_overlay), slot->floating_bar, GEDIT_OVERLAY_CHILD_POSITION_SOUTH_EAST, 0); g_signal_connect (slot->floating_bar, "action", G_CALLBACK (floating_bar_action_cb), slot); slot->title = g_strdup (_("Loading...")); }
static void uni_nav_init (UniNav * nav) { nav->view = NULL; nav->gc = NULL; nav->last_rect = (GdkRectangle) { -1, -1, -1, -1}; nav->update_when_shown = FALSE; GtkWidget *out_frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (out_frame), GTK_SHADOW_OUT); gtk_container_add (GTK_CONTAINER (nav), out_frame); nav->preview = gtk_drawing_area_new (); gtk_container_add (GTK_CONTAINER (out_frame), nav->preview); g_signal_connect (G_OBJECT (nav->preview), "expose_event", G_CALLBACK (uni_nav_expose_drawing_area), nav); }
GtkWidget * org_gnome_send_options (EPlugin *epl, EConfigHookItemFactoryData *data) { EMConfigTargetSettings *target_account; GtkWidget *frame, *button, *label, *vbox; gchar *markup; target_account = (EMConfigTargetSettings *) data->config->target; if (!CAMEL_IS_GROUPWISE_SETTINGS (target_account->storage_settings)) return NULL; settings = target_account->storage_settings; vbox = gtk_vbox_new (FALSE, 0); frame = gtk_frame_new (""); label = gtk_frame_get_label_widget (GTK_FRAME (frame)); markup = g_strdup_printf("<b>%s</b>", _("Send Options")); gtk_label_set_markup (GTK_LABEL (label), markup); button = gtk_button_new_with_label (_("Advanced send options")); gtk_widget_show (button); g_free (markup); g_signal_connect(button, "clicked", G_CALLBACK (e_send_options_clicked_cb), settings); parent = gtk_widget_get_toplevel (GTK_WIDGET (data->parent)); if (!gtk_widget_is_toplevel (parent)) parent = NULL; gtk_widget_set_size_request (button, 10, -1); gtk_box_pack_start (GTK_BOX (vbox), frame, 0, 0, 0); gtk_container_add (GTK_CONTAINER (frame), button); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); gtk_widget_show (frame); gtk_box_set_spacing (GTK_BOX (data->parent), 12); gtk_box_pack_start (GTK_BOX (data->parent), vbox, FALSE, FALSE, 0); return vbox; }
/** * 创建文件接收和发送区域. * @return 主窗体 */ GtkWidget *DialogPeer::CreateFileArea() { GtkWidget *frame, *vpaned; gint position; frame = gtk_frame_new(_("Enclosure.")); g_datalist_set_data(&widset, "file-enclosure-frame-widget", frame); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN); vpaned = gtk_vpaned_new(); g_object_set_data(G_OBJECT(vpaned), "position-name", (gpointer)"enclosure-paned-divide"); position = GPOINTER_TO_INT(g_datalist_get_data(&dtset, "enclosure-paned-divide")); gtk_paned_set_position(GTK_PANED(vpaned), position); g_signal_connect(vpaned, "notify::position", G_CALLBACK(PanedDivideChanged), &dtset); gtk_container_add(GTK_CONTAINER(frame), vpaned); gtk_paned_pack1(GTK_PANED(vpaned),CreateFileReceiveArea(),TRUE,TRUE); gtk_paned_pack2(GTK_PANED(vpaned),CreateFileSendArea(),FALSE,TRUE); return frame; }
/* Class & Instance initialization {{{1 */ static void gebr_gui_tool_button_init(GebrGuiToolButton *button) { button->priv = G_TYPE_INSTANCE_GET_PRIVATE(button, GEBR_GUI_TYPE_TOOL_BUTTON, GebrGuiToolButtonPriv); GtkWidget *frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_OUT); gtk_widget_show(frame); button->priv->popup = gtk_window_new(GTK_WINDOW_POPUP); g_signal_connect(button->priv->popup, "button-press-event", G_CALLBACK(popup_button_press), button); g_signal_connect(button->priv->popup, "key-press-event", G_CALLBACK(popup_key_press), button); g_signal_connect(button->priv->popup, "grab-notify", G_CALLBACK(popup_grab_notify), button); gtk_window_set_resizable(GTK_WINDOW(button->priv->popup), FALSE); gtk_container_add(GTK_CONTAINER(button->priv->popup), frame); }
static GtkWidget * default_key_frame (SettingsDlg *dialog) { GtkWidget *frame; GtkWidget *label; GtkWidget *list; GtkWidget *scroller; /* Build UI. */ frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); label = gtk_label_new_with_mnemonic (_("<b>Default _key</b>")); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); gtk_frame_set_label_widget (GTK_FRAME (frame), label); list = gpa_key_selector_new (TRUE, FALSE); dialog->default_key.list = GPA_KEY_SELECTOR (list); gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (list)), GTK_SELECTION_SINGLE); scroller = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroller), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroller), GTK_SHADOW_IN); gtk_widget_set_size_request (scroller, 320, 120); gtk_container_set_border_width (GTK_CONTAINER (scroller), 5); gtk_container_add (GTK_CONTAINER (scroller), list); gtk_container_add (GTK_CONTAINER (frame), scroller); /* Connect signals. */ g_signal_connect_swapped (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (list))), "changed", G_CALLBACK (key_selected_cb), dialog); dialog->default_key.frame = frame; return frame; }
static GtkWidget * volume_create_slider(volume_priv *c) { GtkWidget *slider, *win; GtkWidget *frame; win = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(win), 180, 180); gtk_window_set_decorated(GTK_WINDOW(win), FALSE); gtk_window_set_resizable(GTK_WINDOW(win), FALSE); gtk_container_set_border_width(GTK_CONTAINER(win), 1); gtk_window_set_skip_taskbar_hint(GTK_WINDOW(win), TRUE); gtk_window_set_skip_pager_hint(GTK_WINDOW(win), TRUE); gtk_window_set_position(GTK_WINDOW(win), GTK_WIN_POS_MOUSE); gtk_window_stick(GTK_WINDOW(win)); frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN); gtk_container_add(GTK_CONTAINER(win), frame); gtk_container_set_border_width(GTK_CONTAINER(frame), 1); slider = gtk_vscale_new_with_range(0.0, 100.0, 1.0); gtk_widget_set_size_request(slider, 25, 82); gtk_scale_set_draw_value(GTK_SCALE(slider), TRUE); gtk_scale_set_value_pos(GTK_SCALE(slider), GTK_POS_BOTTOM); gtk_scale_set_digits(GTK_SCALE(slider), 0); gtk_range_set_inverted(GTK_RANGE(slider), TRUE); gtk_range_set_value(GTK_RANGE(slider), ((meter_priv *) c)->level); DBG("meter->level %f\n", ((meter_priv *) c)->level); g_signal_connect(G_OBJECT(slider), "value_changed", G_CALLBACK(slider_changed), c); g_signal_connect(G_OBJECT(slider), "enter-notify-event", G_CALLBACK(crossed), (gpointer)c); g_signal_connect(G_OBJECT(slider), "leave-notify-event", G_CALLBACK(crossed), (gpointer)c); gtk_container_add(GTK_CONTAINER(frame), slider); c->slider = slider; return win; }
/* clock_init */ static Clock * _clock_init(PanelAppletHelper * helper, GtkWidget ** widget) { const int timeout = 1000; Clock * clock; #ifdef EMBEDDED PangoFontDescription * desc; #endif if((clock = object_new(sizeof(*clock))) == NULL) return NULL; clock->iconsize = panel_window_get_icon_size(helper->window); clock->helper = helper; clock->label = gtk_label_new(" \n "); if((clock->format = helper->config_get(helper->panel, "clock", "format")) == NULL) #ifdef EMBEDDED clock->format = _("%H:%M"); clock->widget = clock->label; desc = pango_font_description_new(); pango_font_description_set_weight(desc, PANGO_WEIGHT_BOLD); gtk_widget_modify_font(clock->label, desc); pango_font_description_free(desc); #else { if(clock->iconsize == GTK_ICON_SIZE_LARGE_TOOLBAR) clock->format = _("%H:%M:%S\n%d/%m/%Y"); else clock->format = _("%H:%M"); } clock->widget = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(clock->widget), GTK_SHADOW_IN); gtk_container_add(GTK_CONTAINER(clock->widget), clock->label); #endif gtk_label_set_justify(GTK_LABEL(clock->label), GTK_JUSTIFY_CENTER); clock->timeout = g_timeout_add(timeout, _clock_on_timeout, clock); _clock_on_timeout(clock); gtk_widget_show_all(clock->widget); *widget = clock->widget; return clock; }
GtkWidget * utl_gui_create_frame (GtkWidget *container, const gchar *name) { GtkWidget *frame, *label, *alignment; frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); /* gtk_container_add (GTK_CONTAINER (container), frame);*/ gtk_box_pack_start (GTK_BOX (container), frame, FALSE, FALSE, 0); label = utl_gui_create_label ("<b>%s</b>", name); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); gtk_frame_set_label_widget (GTK_FRAME (frame), label); alignment = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_container_add (GTK_CONTAINER (frame), alignment); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), ALIGNMENT_PADDING_TOP, ALIGNMENT_PADDING_BOTTOM, ALIGNMENT_PADDING_LEFT, ALIGNMENT_PADDING_RIGHT); return alignment; }
GtkWidget * ui_infoarea_new (void) { g_return_val_if_fail (! area, NULL); area = g_slice_new0 (UIInfoArea); area->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); area->main = gtk_drawing_area_new (); gtk_widget_set_size_request (area->main, ICON_SIZE + 2 * SPACING, HEIGHT); gtk_box_pack_start ((GtkBox *) area->box, area->main, TRUE, TRUE, 0); g_signal_connect (area->main, "draw", (GCallback) draw_cb, NULL); hook_associate ("playlist update", (HookFunction) ui_infoarea_set_title, NULL); hook_associate ("playback begin", (HookFunction) ui_infoarea_playback_start, NULL); hook_associate ("playback stop", (HookFunction) ui_infoarea_playback_stop, NULL); hook_associate ("current art ready", (HookFunction) album_art_ready, NULL); g_signal_connect (area->box, "destroy", (GCallback) destroy_cb, NULL); if (aud_drct_get_playing ()) { ui_infoarea_playback_start (); /* skip fade-in */ area->alpha = 1; if (area->fade_timeout) { g_source_remove (area->fade_timeout); area->fade_timeout = 0; } } GtkWidget * frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type ((GtkFrame *) frame, GTK_SHADOW_IN); gtk_container_add ((GtkContainer *) frame, area->box); return frame; }
/** * 创建已接收文件区域. * @return 主窗体 */ GtkWidget *DialogPeer::CreateFileReceivedArea() { GtkWidget *frame, *sw, *treeview; GtkTreeModel *model; frame = gtk_frame_new(_("File received.")); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN); sw = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_ETCHED_IN); model = CreateFileReceivedModel(); g_datalist_set_data_full(&mdlset, "file-received-model", model, GDestroyNotify(g_object_unref)); treeview = CreateFileReceivedTree(model); g_datalist_set_data(&widset, "file-received-treeview-widget", treeview); g_object_set_data(G_OBJECT(treeview), "dialog", this); gtk_container_add(GTK_CONTAINER(sw), treeview); gtk_container_add(GTK_CONTAINER(frame), sw); return frame; }
static void gimp_color_area_drag_begin (GtkWidget *widget, GdkDragContext *context) { GimpRGB color; GtkWidget *window; GtkWidget *frame; GtkWidget *color_area; window = gtk_window_new (GTK_WINDOW_POPUP); gtk_window_set_type_hint (GTK_WINDOW (window), GDK_WINDOW_TYPE_HINT_DND); gtk_window_set_screen (GTK_WINDOW (window), gtk_widget_get_screen (widget)); gtk_widget_realize (window); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT); gtk_container_add (GTK_CONTAINER (window), frame); gimp_color_area_get_color (GIMP_COLOR_AREA (widget), &color); color_area = gimp_color_area_new (&color, GIMP_COLOR_AREA (widget)->type, 0); gtk_widget_set_size_request (color_area, DRAG_PREVIEW_SIZE, DRAG_PREVIEW_SIZE); gtk_container_add (GTK_CONTAINER (frame), color_area); gtk_widget_show (color_area); gtk_widget_show (frame); g_object_set_data_full (G_OBJECT (widget), "gimp-color-area-drag-window", window, (GDestroyNotify) gtk_widget_destroy); gtk_drag_set_icon_widget (context, window, DRAG_ICON_OFFSET, DRAG_ICON_OFFSET); }
static void um_photo_dialog_crop (UmPhotoDialog *um, GdkPixbuf *pixbuf) { GtkWidget *dialog; GtkWidget *frame; dialog = gtk_dialog_new_with_buttons ("", GTK_WINDOW (gtk_widget_get_toplevel (um->popup_button)), 0, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, _("Select"), GTK_RESPONSE_ACCEPT, NULL); gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); gtk_window_set_icon_name (GTK_WINDOW (dialog), "system-users"); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (crop_dialog_response), um); /* Content */ um->crop_area = um_crop_area_new (); um_crop_area_set_min_size (UM_CROP_AREA (um->crop_area), 48, 48); um_crop_area_set_constrain_aspect (UM_CROP_AREA (um->crop_area), TRUE); um_crop_area_set_picture (UM_CROP_AREA (um->crop_area), pixbuf); frame = gtk_frame_new (NULL); gtk_container_add (GTK_CONTAINER (frame), um->crop_area); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_ETCHED_IN); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), frame, TRUE, TRUE, 8); gtk_window_set_default_size (GTK_WINDOW (dialog), 400, 300); gtk_widget_show_all (dialog); }
GtkWidget* AP_UnixDialog_InsertHyperlink::_constructWindow(void) { GtkWidget *vbox2; GtkWidget *frame1; const XAP_StringSet * pSS = m_pApp->getStringSet(); std::string s; pSS->getValueUTF8(AP_STRING_ID_DLG_InsertHyperlink_Title,s); m_windowMain = abiDialogNew("insert table dialog", TRUE, s.c_str()); #if !GTK_CHECK_VERSION(3,0,0) gtk_dialog_set_has_separator(GTK_DIALOG(m_windowMain), FALSE); #endif frame1 = gtk_frame_new (NULL); gtk_widget_show (frame1); gtk_box_pack_start(GTK_BOX (gtk_dialog_get_content_area(GTK_DIALOG(m_windowMain))), frame1,true,true,0); gtk_container_set_border_width (GTK_CONTAINER (frame1), 4); gtk_frame_set_shadow_type(GTK_FRAME(frame1), GTK_SHADOW_NONE); vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_widget_show (vbox2); gtk_container_add (GTK_CONTAINER (frame1), vbox2); gtk_container_set_border_width (GTK_CONTAINER (vbox2), 5); _constructWindowContents ( vbox2 ); abiAddStockButton(GTK_DIALOG(m_windowMain), GTK_STOCK_CANCEL, BUTTON_CANCEL); abiAddStockButton(GTK_DIALOG(m_windowMain), GTK_STOCK_ADD, BUTTON_OK); gtk_widget_grab_focus (m_entry); // connect all the signals _connectSignals (); gtk_widget_show_all ( m_windowMain ) ; return m_windowMain; }
static WidgetInfo * create_offset_area (void) { GtkWidget *vbox; GtkWidget *frame; GtkWidget *area; GtkWidget *align; vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (align), frame); area = gimp_offset_area_new (100, 100); gimp_offset_area_set_size (GIMP_OFFSET_AREA (area), 180, 160); gimp_offset_area_set_offsets (GIMP_OFFSET_AREA (area), 30, 30); gtk_container_add (GTK_CONTAINER (frame), area); gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Offset Area"), FALSE, FALSE, 0); return new_widget_info ("gimp-widget-offset-area", vbox, LARGE); }
static GtkWidget* menu_contents (void) { GtkWidget *vbox; GtkWidget *mi; int i; GtkWidget *frame; frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT); vbox = gtk_vbox_new (FALSE, 0); i = 0; while (i < 10) { char *str = g_strdup_printf (_("Fake menu item %d\n"), i + 1); mi = gtk_label_new (str); #if GTK_CHECK_VERSION (3, 0, 0) gtk_widget_set_halign (image, GTK_ALIGN_START); gtk_widget_set_valign (image, GTK_ALIGN_CENTER); #else gtk_misc_set_alignment (GTK_MISC (mi), 0.0, 0.5); #endif g_free (str); gtk_box_pack_start (GTK_BOX (vbox), mi, FALSE, FALSE, 0); ++i; } gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_widget_show_all (frame); return frame; }
static void add_page (GtkNotebook * notebook, const gchar * name, const gchar * buf,gboolean hscrolling) { GtkTextBuffer *textbuffer; GtkWidget *textview; GtkWidget *label; GtkWidget *view; GtkWidget *sw; label = gtk_label_new (name); gtk_widget_show (label); view = gtk_frame_new (NULL); gtk_container_set_border_width (GTK_CONTAINER (view), BORDER); gtk_frame_set_shadow_type (GTK_FRAME (view), GTK_SHADOW_IN); gtk_widget_show (view); sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), hscrolling ? GTK_POLICY_AUTOMATIC : GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_widget_show (sw); gtk_container_add (GTK_CONTAINER (view), sw); textbuffer = gtk_text_buffer_new (NULL); gtk_text_buffer_set_text (textbuffer, buf, strlen(buf)); textview = gtk_text_view_new_with_buffer (textbuffer); gtk_text_view_set_editable (GTK_TEXT_VIEW (textview), FALSE); gtk_text_view_set_left_margin (GTK_TEXT_VIEW (textview), BORDER); gtk_text_view_set_right_margin (GTK_TEXT_VIEW (textview), BORDER); gtk_widget_show (textview); gtk_container_add (GTK_CONTAINER (sw), textview); gtk_notebook_append_page (notebook, view, label); }
void show_about(GtkMenuItem *menuitem, gpointer user_data) { GtkWidget *About_close_button; GtkWidget *about_label; GtkWidget *about_border; GtkWidget *v_box; about_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(about_window),"About"); gtk_window_set_policy(GTK_WINDOW(about_window),FALSE,FALSE,TRUE); gtk_window_set_position(GTK_WINDOW(about_window),GTK_WIN_POS_CENTER); gtk_container_border_width(GTK_CONTAINER(about_window),1); about_border = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(about_border),GTK_SHADOW_OUT); gtk_container_add(GTK_CONTAINER(about_window),about_border); v_box = gtk_vbox_new(FALSE,0); gtk_container_add(GTK_CONTAINER(about_border),v_box); about_label = gtk_label_new( "\nJust another GTK Tetris v0.6.2\n\n" "(c)1999,2000 Mattias Wadman\n\n" "Modified by Iavor Veltchev, 2002-2006\n\n" "This program is distributed under the terms of GPL.\n"); gtk_box_pack_start(GTK_BOX(v_box),about_label,FALSE,FALSE,0); About_close_button = gtk_button_new_with_label("Close"); g_signal_connect ((gpointer) About_close_button, "clicked", G_CALLBACK (about_close), NULL); gtk_box_pack_start(GTK_BOX(v_box),About_close_button,FALSE,TRUE,0); GTK_WIDGET_SET_FLAGS(About_close_button, GTK_CAN_DEFAULT); gtk_widget_grab_default(About_close_button); gtk_widget_show_all(about_window); }
static GtkWidget *wintrans_slider(GtkWidget *win) { GtkWidget *hbox; GtkWidget *label, *slider; GtkWidget *frame; int imalpha = purple_prefs_get_int(OPT_WINTRANS_IM_ALPHA); frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_NONE); gtk_widget_show(frame); hbox = gtk_hbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(frame), hbox); label = gtk_label_new(_("Opacity:")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); gtk_widget_show(hbox); slider = gtk_hscale_new_with_range(50, 255, 1); gtk_range_set_value(GTK_RANGE(slider), imalpha); gtk_widget_set_usize(GTK_WIDGET(slider), 200, -1); /* On slider val change, update window's transparency level */ g_signal_connect(GTK_OBJECT(slider), "value-changed", G_CALLBACK(change_alpha), win); gtk_box_pack_start(GTK_BOX(hbox), slider, FALSE, TRUE, 5); /* Set the initial transparency level */ set_wintrans(win, imalpha, TRUE, purple_prefs_get_bool(OPT_WINTRANS_IM_ONTOP)); gtk_widget_show_all(hbox); return frame; }
static GtkWidget* create_frame (const char *caption, GtkWidget *child, GtkAlign halign, GtkAlign valign) { GtkWidget *frame = gtk_frame_new (""); GtkWidget *label = gtk_frame_get_label_widget (GTK_FRAME (frame)); g_object_set (child, "margin-top", 6, "margin-bottom", 0, "margin-start", 18, "margin-end", 0, "halign", halign, "valign", valign, NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE); gtk_label_set_markup (GTK_LABEL (label), caption); gtk_container_add (GTK_CONTAINER (frame), child); return frame; }
static void unicapgtk_video_display_init( UnicapgtkVideoDisplay *ugtk ) { ugtk->backend_fourcc = 0; gtk_aspect_frame_set( GTK_ASPECT_FRAME( ugtk ), 0.5, 0.5, 1.0, TRUE ); gtk_frame_set_shadow_type( GTK_FRAME( ugtk ), GTK_SHADOW_NONE ); ugtk->drawing_area = gtk_drawing_area_new( ); gtk_widget_add_events( ugtk->drawing_area, GDK_ALL_EVENTS_MASK ); gtk_container_add( GTK_CONTAINER( ugtk ), ugtk->drawing_area ); gtk_widget_show( ugtk->drawing_area ); g_signal_connect( ugtk->drawing_area, "hierarchy-changed", G_CALLBACK( da_hierarchy_changed_cb ), ugtk ); g_signal_connect( ugtk->drawing_area, "configure-event", G_CALLBACK( da_configure_cb ), ugtk ); g_signal_connect( ugtk->drawing_area, "unmap", G_CALLBACK(gtk_widget_destroyed), &ugtk->gc ); g_signal_connect( ugtk->drawing_area, "expose-event", G_CALLBACK( da_expose_event ), ugtk ); g_signal_connect( ugtk->drawing_area, "size-allocate", G_CALLBACK( da_size_allocate ), ugtk ); ugtk->unicap_handle = NULL; ugtk->scale_to_fit = FALSE; ugtk->display_timeout_tag = TIMEOUT_UNSET; }
static GtkWidget *layout_status_label(gchar *text, GtkWidget *box, gint start, gint size, gint expand) { GtkWidget *label; GtkWidget *frame; frame = gtk_frame_new(NULL); if (size) gtk_widget_set_size_request(frame, size, -1); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); if (start) { gtk_box_pack_start(GTK_BOX(box), frame, expand, expand, 0); } else { gtk_box_pack_end(GTK_BOX(box), frame, expand, expand, 0); } gtk_widget_show(frame); label = gtk_label_new(text ? text : ""); gtk_container_add(GTK_CONTAINER(frame), label); gtk_widget_show(label); return label; }
/*主函数*/ int main(int argc,char *argv[]){ gint i; int v,v0; int timer; GtkWidget *label2,*label; GtkWidget *label0[5]; GtkWidget *text; gpointer date,data; gdouble value1,value2; gpointer gdata; GtkWidget *label3; GtkWidget *button1; GtkWidget *vscrollbar,*hscrollbar;//定义滚动条 GtkWidget *MenuBar;//定义菜单栏 GtkWidget *MenuItemFile,*MenuItemShutDown,*MenuItemHelp; gtk_set_locale (); gtk_init(&argc,&argv);//在任何构件生成之前完成 memset (pfuser, 0 ,sizeof (pfuser)); window=gtk_window_new(GTK_WINDOW_TOPLEVEL);//创建主窗口 gtk_window_set_title(GTK_WINDOW(window),"---------linux任务管理器-----------");//设置窗口标题 gtk_widget_set_usize(window, 600, 500);//设置窗口大小 gtk_window_set_resizable (GTK_WINDOW (window), TRUE);// 窗口大小可改变(TRUE) gtk_container_set_border_width(GTK_CONTAINER(window),5);//设置窗口边框宽度 gtk_widget_show(window); table=gtk_table_new(12,11,TRUE);//创建表格12行*10列 gtk_widget_show(table); gtk_container_add(GTK_CONTAINER(window),table);//将table装进窗口 notebook=gtk_notebook_new();//创建notebook gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook),GTK_POS_TOP);//设置notebook的格式 gtk_table_attach_defaults (GTK_TABLE (table), notebook, 0, 11, 1, 11);//将notebook加入表格中 gtk_widget_show(notebook); /*创建notebook的每一页*/ for(i=0;i<5;i++){ label0[i]=gtk_label_new(title[i]);//notebook页面标题 frame[i]=gtk_frame_new(NULL);//页面框架 gtk_container_set_border_width (GTK_CONTAINER (frame[i]), 10);//框架与边缘的距离 gtk_frame_set_shadow_type (GTK_FRAME (frame[i]),GTK_SHADOW_ETCHED_OUT);//框架的阴影模式 gtk_widget_set_size_request(frame[i],450,450);//框架大小 gtk_widget_show(frame[i]); gtk_widget_show (label0[i]); gtk_notebook_append_page(GTK_NOTEBOOK(notebook),frame[i],label0[i]);//创建notebook的第i页 table1[i]=gtk_table_new(12,11,TRUE);//创建表格12行*11列 gtk_widget_show(table1[i]); gtk_container_add(GTK_CONTAINER(frame[i]),table1[i]);//将表格tbale1放入框架 } MenuBar=gtk_menu_bar_new();//创建菜单栏 gtk_table_attach_defaults(GTK_TABLE(table),MenuBar,0,11,0,1);//将菜单栏加入表格 MenuItemFile=CreateMenuItem(MenuBar,"文件");//增加菜单项 MenuItemHelp=CreateMenuItem(MenuBar,"帮助");//增加菜单项 gtk_widget_show(MenuBar); process_label=gtk_label_new("");//创建显示进程数的标签 gtk_widget_show(process_label); // timer=gtk_timeout_add(1000,(GtkFunction)process_num,data);//加一个定时器(timer),每隔1秒调用一次(GtkFunction)process_num函数 gtk_table_attach_defaults(GTK_TABLE(table),process_label,0,2,11,12);//在状态栏中显示进程总数 cpu_rate_label=gtk_label_new(" ");//创建显示cpu占用率的标签 gtk_widget_show(cpu_rate_label); gtk_table_attach_defaults(GTK_TABLE(table),cpu_rate_label,2,5,11,12);//在状态栏中显示cpu占用率 cpu_bar=gtk_progress_bar_new();//创建CPU进度条 gtk_widget_show(cpu_bar); notebook_cpu_init(); gtk_signal_connect(GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL); gtk_main(); }
/* * init debug related GUI (watch tree view) * arguments: */ void debug_init() { /* create watch page */ wtree = wtree_init(on_watch_expanded_callback, on_watch_dragged_callback, on_watch_key_pressed_callback, on_watch_changed, on_watch_button_pressed_callback); wmodel = gtk_tree_view_get_model(GTK_TREE_VIEW(wtree)); wstore = GTK_TREE_STORE(wmodel); tab_watch = gtk_scrolled_window_new( gtk_tree_view_get_hadjustment(GTK_TREE_VIEW(wtree)), gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(wtree)) ); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tab_watch), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(tab_watch), wtree); /* create autos page */ atree = atree_init(on_watch_expanded_callback, on_watch_button_pressed_callback); tab_autos = gtk_scrolled_window_new( gtk_tree_view_get_hadjustment(GTK_TREE_VIEW(atree)), gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(atree)) ); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tab_autos), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(tab_autos), atree); /* create stack trace page */ stree = stree_init(editor_open_position, on_select_frame); tab_call_stack = gtk_scrolled_window_new( gtk_tree_view_get_hadjustment(GTK_TREE_VIEW(stree )), gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(stree )) ); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tab_call_stack), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(tab_call_stack), stree); /* create debug terminal page */ terminal = vte_terminal_new(); /* create PTY */ openpty(&pty_master, &pty_slave, NULL, NULL, NULL); grantpt(pty_master); unlockpt(pty_master); vte_terminal_set_pty(VTE_TERMINAL(terminal), pty_master); GtkWidget *scrollbar = gtk_vscrollbar_new(GTK_ADJUSTMENT(VTE_TERMINAL(terminal)->adjustment)); GTK_WIDGET_UNSET_FLAGS(scrollbar, GTK_CAN_FOCUS); tab_terminal = gtk_frame_new(NULL); gtk_frame_set_shadow_type (GTK_FRAME(tab_terminal), GTK_SHADOW_NONE); GtkWidget *hbox = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(tab_terminal), hbox); gtk_box_pack_start(GTK_BOX(hbox), terminal, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hbox), scrollbar, FALSE, FALSE, 0); /* set the default widget size first to prevent VTE expanding too much, * sometimes causing the hscrollbar to be too big or out of view. */ gtk_widget_set_size_request(GTK_WIDGET(terminal), 10, 10); vte_terminal_set_size(VTE_TERMINAL(terminal), 30, 1); /* set terminal font. */ GKeyFile *config = g_key_file_new(); gchar *configfile = g_strconcat(geany_data->app->configdir, G_DIR_SEPARATOR_S, "geany.conf", NULL); g_key_file_load_from_file(config, configfile, G_KEY_FILE_NONE, NULL); gchar *font = utils_get_setting_string(config, "VTE", "font", "Monospace 10"); vte_terminal_set_font_from_string (VTE_TERMINAL(terminal), font); /* debug messages page */ tab_messages = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tab_messages), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); hadj = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(tab_messages)); vadj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(tab_messages)); debugger_messages_textview = gtk_text_view_new(); gtk_text_view_set_editable (GTK_TEXT_VIEW (debugger_messages_textview), FALSE); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(tab_messages), debugger_messages_textview); /* create tex tags */ GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(debugger_messages_textview)); gtk_text_buffer_create_tag(buffer, "black", "foreground", "#000000", NULL); gtk_text_buffer_create_tag(buffer, "grey", "foreground", "#AAAAAA", NULL); gtk_text_buffer_create_tag(buffer, "red", "foreground", "#FF0000", NULL); gtk_text_buffer_create_tag(buffer, "green", "foreground", "#00FF00", NULL); gtk_text_buffer_create_tag(buffer, "blue", "foreground", "#0000FF", NULL); gtk_text_buffer_create_tag(buffer, "yellow", "foreground", "#FFFF00", NULL); gtk_text_buffer_create_tag(buffer, "brown", "foreground", "#BB8915", NULL); gtk_text_buffer_create_tag(buffer, "rose", "foreground", "#BA92B7", NULL); }
/** * gwy_app_splash_start: * @visible: If %FALSE, splash screen is not actually shown, all functions just * silently return. * * Starts splash screen. **/ void gwy_app_splash_start(gboolean visible) { GtkWidget *image, *vbox, *frame, *lab; GdkPixbuf *pixbuf; char *p, *version; gwy_debug(""); g_return_if_fail(!in_splash); in_splash = TRUE; if (!visible) return; window = gtk_window_new(GTK_WINDOW_POPUP); p = g_strconcat(_("Starting "), g_get_application_name(), NULL); gtk_window_set_title(GTK_WINDOW(window), p); gtk_window_set_wmclass(GTK_WINDOW(window), "splash", g_get_application_name()); gtk_window_set_resizable(GTK_WINDOW(window), FALSE); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_decorated(GTK_WINDOW(window), FALSE); gtk_window_set_type_hint(GTK_WINDOW(window), GDK_WINDOW_TYPE_HINT_SPLASHSCREEN); g_signal_connect_swapped(window, "delete-event", G_CALLBACK(exit), GINT_TO_POINTER(0)); /* we don't want the splash screen to send the startup notification */ gtk_window_set_auto_startup_notification(FALSE); g_signal_connect(window, "map", G_CALLBACK(splash_map), NULL); frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_OUT); gtk_container_add(GTK_CONTAINER(window), frame); vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(frame), vbox); gtk_container_set_border_width(GTK_CONTAINER(vbox), 2); version = g_strdup_printf("%d.%d", GWY_VERSION_MAJOR, GWY_VERSION_MINOR); pixbuf = compose_splash(version); g_free(version); if (pixbuf) { image = gtk_image_new_from_pixbuf(pixbuf); g_object_unref(pixbuf); } else image = gtk_image_new_from_stock(GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_DIALOG); gtk_box_pack_start(GTK_BOX(vbox), image, FALSE, FALSE, 0); label = gtk_label_new(p); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_misc_set_padding(GTK_MISC(label), 6, 4); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); g_free(p); lab = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(vbox), lab, FALSE, FALSE, 0); p = g_strconcat("<small>", PACKAGE_NAME, _(" is free software released under GNU GPL."), "</small>", NULL); lab = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(lab), p); gtk_misc_set_alignment(GTK_MISC(lab), 0.0, 0.5); gtk_misc_set_padding(GTK_MISC(lab), 5, 3); gtk_box_pack_start(GTK_BOX(vbox), lab, FALSE, FALSE, 0); g_free(p); gtk_widget_show_all(window); while (gtk_events_pending()) gtk_main_iteration(); }
GtkWidget * do_images (GtkWidget *do_widget) { GtkWidget *video; GtkWidget *frame; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *base_vbox; GtkWidget *image; GtkWidget *picture; GtkWidget *label; GtkWidget *button; GdkPaintable *paintable; GIcon *gicon; if (!window) { window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_display (GTK_WINDOW (window), gtk_widget_get_display (do_widget)); gtk_window_set_title (GTK_WINDOW (window), "Images"); g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); g_signal_connect (window, "destroy", G_CALLBACK (cleanup_callback), NULL); base_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); g_object_set (base_vbox, "margin", 16, NULL); gtk_container_add (GTK_CONTAINER (window), base_vbox); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 16); gtk_container_add (GTK_CONTAINER (base_vbox), hbox); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_add (GTK_CONTAINER (hbox), vbox); label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), "<u>Image loaded from a file</u>"); gtk_container_add (GTK_CONTAINER (vbox), label); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_widget_set_halign (frame, GTK_ALIGN_CENTER); gtk_widget_set_valign (frame, GTK_ALIGN_CENTER); gtk_container_add (GTK_CONTAINER (vbox), frame); image = gtk_image_new_from_icon_name ("gtk3-demo"); gtk_image_set_icon_size (GTK_IMAGE (image), GTK_ICON_SIZE_LARGE); gtk_container_add (GTK_CONTAINER (frame), image); /* Animation */ label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), "<u>Animation loaded from a file</u>"); gtk_container_add (GTK_CONTAINER (vbox), label); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_widget_set_halign (frame, GTK_ALIGN_CENTER); gtk_widget_set_valign (frame, GTK_ALIGN_CENTER); gtk_container_add (GTK_CONTAINER (vbox), frame); picture = gtk_picture_new_for_resource ("/images/floppybuddy.gif"); gtk_container_add (GTK_CONTAINER (frame), picture); /* Symbolic icon */ label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), "<u>Symbolic themed icon</u>"); gtk_container_add (GTK_CONTAINER (vbox), label); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_widget_set_halign (frame, GTK_ALIGN_CENTER); gtk_widget_set_valign (frame, GTK_ALIGN_CENTER); gtk_container_add (GTK_CONTAINER (vbox), frame); gicon = g_themed_icon_new_with_default_fallbacks ("battery-caution-charging-symbolic"); image = gtk_image_new_from_gicon (gicon); gtk_image_set_icon_size (GTK_IMAGE (image), GTK_ICON_SIZE_LARGE); gtk_container_add (GTK_CONTAINER (frame), image); /* Progressive */ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_add (GTK_CONTAINER (hbox), vbox); label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), "<u>Progressive image loading</u>"); gtk_container_add (GTK_CONTAINER (vbox), label); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_widget_set_halign (frame, GTK_ALIGN_CENTER); gtk_widget_set_valign (frame, GTK_ALIGN_CENTER); gtk_container_add (GTK_CONTAINER (vbox), frame); /* Create an empty image for now; the progressive loader * will create the pixbuf and fill it in. */ picture = gtk_picture_new (); gtk_container_add (GTK_CONTAINER (frame), picture); start_progressive_loading (picture); /* Video */ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_add (GTK_CONTAINER (hbox), vbox); label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), "<u>Displaying video</u>"); gtk_container_add (GTK_CONTAINER (vbox), label); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_widget_set_halign (frame, GTK_ALIGN_CENTER); gtk_widget_set_valign (frame, GTK_ALIGN_CENTER); gtk_container_add (GTK_CONTAINER (vbox), frame); video = gtk_video_new_for_resource ("/images/gtk-logo.webm"); gtk_media_stream_set_loop (gtk_video_get_media_stream (GTK_VIDEO (video)), TRUE); gtk_container_add (GTK_CONTAINER (frame), video); /* Widget paintables */ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_add (GTK_CONTAINER (hbox), vbox); label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), "<u>GtkWidgetPaintable</u>"); gtk_container_add (GTK_CONTAINER (vbox), label); paintable = gtk_widget_paintable_new (do_widget); picture = gtk_picture_new_for_paintable (paintable); gtk_widget_set_size_request (picture, 100, 100); gtk_widget_set_valign (picture, GTK_ALIGN_START); gtk_container_add (GTK_CONTAINER (vbox), picture); /* Sensitivity control */ button = gtk_toggle_button_new_with_mnemonic ("_Insensitive"); gtk_container_add (GTK_CONTAINER (base_vbox), button); g_signal_connect (button, "toggled", G_CALLBACK (toggle_sensitivity_callback), base_vbox); } if (!gtk_widget_get_visible (window)) gtk_widget_show (window); else gtk_widget_destroy (window); return window; }
GtkWidget *AP_UnixDialog_Lists::_constructWindowContents (void) { GtkWidget *vbox2; GtkWidget *hbox2; GtkWidget *vbox4; GtkWidget *table1; GtkWidget *style_om; GtkWidget *type_om; GtkWidget *type_lb; GtkWidget *style_lb; GtkWidget *customized_cb; GtkWidget *frame1; GtkWidget *table2; GtkComboBox *font_om; GtkListStore *font_om_menu; GtkWidget *format_en; GtkWidget *decimal_en; GtkAdjustment *start_sb_adj; GtkWidget *start_sb; GtkAdjustment *text_align_sb_adj; GtkWidget *text_align_sb; GtkAdjustment *label_align_sb_adj; GtkWidget *label_align_sb; GtkWidget *format_lb; GtkWidget *font_lb; GtkWidget *delimiter_lb; GtkWidget *start_at_lb; GtkWidget *text_align_lb; GtkWidget *label_align_lb; GtkWidget *vbox3; GtkWidget *preview_lb; GtkWidget *hbox1; GSList *action_group = NULL; GtkWidget *start_list_rb; GtkWidget *apply_list_rb; GtkWidget *resume_list_rb; GtkWidget *preview_area; GtkWidget *preview_frame; const XAP_StringSet * pSS = m_pApp->getStringSet(); UT_UTF8String s; GtkWidget * wNoteBook = NULL; vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show (vbox2); if(!isModal()) { // Note Book creation wNoteBook = gtk_notebook_new (); gtk_widget_show(wNoteBook); // Container for the lists pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_PageProperties,s); GtkWidget * lbPageLists = gtk_label_new(s.utf8_str()); gtk_widget_show(lbPageLists); gtk_notebook_append_page(GTK_NOTEBOOK(wNoteBook),vbox2,lbPageLists); m_iPageLists = gtk_notebook_page_num(GTK_NOTEBOOK(wNoteBook),vbox2); // Container for Text Folding pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_PageFolding,s); GtkWidget * lbPageFolding = gtk_label_new(s.utf8_str()); GtkWidget * wFoldingTable = gtk_table_new(6,3,FALSE); gtk_widget_show(lbPageFolding); gtk_widget_show(wFoldingTable); gtk_notebook_append_page(GTK_NOTEBOOK(wNoteBook),wFoldingTable,lbPageFolding); m_iPageFold = gtk_notebook_page_num(GTK_NOTEBOOK(wNoteBook),wFoldingTable); // Left Spacing Here GtkWidget * lbLeftSpacer = gtk_label_new(""); gtk_misc_set_padding(GTK_MISC(lbLeftSpacer),8,0); gtk_table_attach(GTK_TABLE(wFoldingTable),lbLeftSpacer,0,1,0,6,GTK_SHRINK,GTK_FILL,0,0); gtk_widget_show(lbLeftSpacer); // Bold markup GtkWidget * lbFoldHeading = gtk_label_new("<b>%s</b>"); gtk_label_set_use_markup(GTK_LABEL(lbFoldHeading),TRUE); localizeLabelMarkup(lbFoldHeading,pSS,AP_STRING_ID_DLG_Lists_FoldingLevelexp); gtk_table_attach(GTK_TABLE(wFoldingTable),lbFoldHeading,1,3,0,1,GTK_FILL,GTK_EXPAND,0,0); gtk_widget_show(lbFoldHeading); // Mid Left Spacing Here GtkWidget * lbMidLeftSpacer = gtk_label_new(""); gtk_misc_set_padding(GTK_MISC(lbMidLeftSpacer),8,0); gtk_table_attach(GTK_TABLE(wFoldingTable),lbMidLeftSpacer,1,2,1,6,GTK_SHRINK,GTK_FILL,0,0); gtk_widget_show(lbMidLeftSpacer); m_vecFoldCheck.clear(); m_vecFoldID.clear(); UT_uint32 ID =0; // RadioButtons pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_FoldingLevel0,s); GtkWidget * wF = gtk_radio_button_new_with_label(NULL, s.utf8_str()); GSList *wG = gtk_radio_button_get_group(GTK_RADIO_BUTTON(wF)); g_object_set_data(G_OBJECT(wF),"level",(gpointer)"0"); ID = g_signal_connect(G_OBJECT(wF), "toggled", G_CALLBACK(s_FoldCheck_changed), (gpointer) this); gtk_table_attach(GTK_TABLE(wFoldingTable),wF,2,3,1,2,GTK_FILL,GTK_EXPAND,0,0); gtk_widget_show(wF); m_vecFoldCheck.addItem(wF); m_vecFoldID.addItem(ID); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_FoldingLevel1,s); wF = gtk_radio_button_new_with_label(wG, s.utf8_str()); wG = gtk_radio_button_get_group(GTK_RADIO_BUTTON(wF)); g_object_set_data(G_OBJECT(wF),"level",(gpointer)"1"); ID = g_signal_connect(G_OBJECT(wF), "toggled", G_CALLBACK(s_FoldCheck_changed), (gpointer) this); gtk_table_attach(GTK_TABLE(wFoldingTable),wF,2,3,2,3,GTK_FILL,GTK_EXPAND,0,0); gtk_widget_show(wF); m_vecFoldCheck.addItem(wF); m_vecFoldID.addItem(ID); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_FoldingLevel2,s); wF = gtk_radio_button_new_with_label(wG, s.utf8_str()); wG = gtk_radio_button_get_group(GTK_RADIO_BUTTON(wF)); g_object_set_data(G_OBJECT(wF),"level",(gpointer)"2"); ID = g_signal_connect(G_OBJECT(wF), "toggled", G_CALLBACK(s_FoldCheck_changed), (gpointer) this); gtk_table_attach(GTK_TABLE(wFoldingTable),wF,2,3,3,4,GTK_FILL,GTK_EXPAND,0,0); gtk_widget_show(wF); m_vecFoldCheck.addItem(wF); m_vecFoldID.addItem(ID); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_FoldingLevel3,s); wF = gtk_radio_button_new_with_label(wG, s.utf8_str()); wG = gtk_radio_button_get_group(GTK_RADIO_BUTTON(wF)); g_object_set_data(G_OBJECT(wF),"level",(gpointer)"3"); ID = g_signal_connect(G_OBJECT(wF), "toggled", G_CALLBACK(s_FoldCheck_changed), (gpointer) this); gtk_table_attach(GTK_TABLE(wFoldingTable),wF,2,3,4,5,GTK_FILL,GTK_EXPAND,0,0); gtk_widget_show(wF); m_vecFoldCheck.addItem(wF); m_vecFoldID.addItem(ID); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_FoldingLevel4,s); wF = gtk_radio_button_new_with_label(wG, s.utf8_str()); g_object_set_data(G_OBJECT(wF),"level",(gpointer)"4"); ID = g_signal_connect(G_OBJECT(wF), "toggled", G_CALLBACK(s_FoldCheck_changed), (gpointer) this); gtk_table_attach(GTK_TABLE(wFoldingTable),wF,2,3,5,6,GTK_FILL,GTK_EXPAND,0,0); gtk_widget_show(wF); m_vecFoldCheck.addItem(wF); m_vecFoldID.addItem(ID); gtk_widget_show(wFoldingTable); gtk_notebook_set_current_page(GTK_NOTEBOOK(wNoteBook),m_iPageLists); } // List Page gtk_container_set_border_width (GTK_CONTAINER (vbox2), 8); hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_widget_show (hbox2); gtk_box_pack_start (GTK_BOX (vbox2), hbox2, TRUE, TRUE, 0); vbox4 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4); gtk_widget_show (vbox4); gtk_box_pack_start (GTK_BOX (hbox2), vbox4, FALSE, TRUE, 0); table1 = gtk_table_new (3, 2, FALSE); gtk_widget_show (table1); gtk_box_pack_start (GTK_BOX (vbox4), table1, FALSE, TRUE, 0); gtk_table_set_row_spacings (GTK_TABLE (table1), 4); style_om = gtk_combo_box_text_new(); gtk_widget_show (style_om); gtk_table_attach (GTK_TABLE (table1), style_om, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); m_wListStyleNone_menu = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); _fillNoneStyleMenu(m_wListStyleNone_menu.obj()); m_wListStyleNumbered_menu = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT); _fillNumberedStyleMenu(m_wListStyleNumbered_menu.obj()); m_wListStyleBulleted_menu = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); _fillBulletedStyleMenu(m_wListStyleBulleted_menu.obj()); // This is the default list. Change if the list style changes // m_wListStyle_menu = m_wListStyleNumbered_menu; gtk_combo_box_set_model(GTK_COMBO_BOX (style_om), GTK_TREE_MODEL(m_wListStyleNumbered_menu.obj())); type_om = gtk_combo_box_text_new(); gtk_widget_show (type_om); gtk_table_attach (GTK_TABLE (table1), type_om, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Type_none,s); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_om), s.utf8_str()); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Type_bullet,s); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_om), s.utf8_str()); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Type_numbered,s); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(type_om), s.utf8_str()); gtk_combo_box_set_active(GTK_COMBO_BOX(type_om), 0); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Type,s); type_lb = gtk_label_new (s.utf8_str()); gtk_widget_show (type_lb); gtk_table_attach (GTK_TABLE (table1), type_lb, 0, 1, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (type_lb), 0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Style,s); style_lb = gtk_label_new (s.utf8_str()); gtk_widget_show (style_lb); gtk_table_attach (GTK_TABLE (table1), style_lb, 0, 1, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (style_lb), 0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_SetDefault,s); customized_cb = gtk_dialog_add_button (GTK_DIALOG(m_wMainWindow), s.utf8_str(), BUTTON_RESET); gtk_widget_show (customized_cb); /* todo gtk_table_attach (GTK_TABLE (table1), customized_cb, 0, 2, 2, 3, (GtkAttachOptions) (GTK_SHRINK), (GtkAttachOptions) (0), 0, 0); */ frame1 = gtk_frame_new (NULL); gtk_frame_set_shadow_type(GTK_FRAME(frame1), GTK_SHADOW_NONE); //gtk_widget_show (frame1); gtk_box_pack_start (GTK_BOX (vbox4), frame1, TRUE, TRUE, 0); table2 = gtk_table_new (6, 2, FALSE); gtk_widget_show (table2); gtk_container_add (GTK_CONTAINER (frame1), table2); gtk_container_set_border_width (GTK_CONTAINER (table2), 4); gtk_widget_set_sensitive (table2, TRUE); gtk_table_set_row_spacings (GTK_TABLE (table2), 4); gtk_table_set_col_spacings (GTK_TABLE (table2), 4); font_om_menu = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT); _fillFontMenu(font_om_menu); font_om = GTK_COMBO_BOX(gtk_combo_box_new()); gtk_combo_box_set_model(font_om, GTK_TREE_MODEL(font_om_menu)); gtk_widget_show (GTK_WIDGET(font_om)); gtk_table_attach (GTK_TABLE (table2), GTK_WIDGET(font_om), 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); format_en = gtk_entry_new (); gtk_entry_set_max_length(GTK_ENTRY(format_en), 20); gtk_widget_show (format_en); gtk_table_attach (GTK_TABLE (table2), format_en, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_text (GTK_ENTRY (format_en), "%L"); decimal_en = gtk_entry_new (); gtk_widget_show (decimal_en); gtk_table_attach (GTK_TABLE (table2), decimal_en, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_text (GTK_ENTRY (format_en), ""); start_sb_adj = (GtkAdjustment*)gtk_adjustment_new (1, 0, G_MAXINT32, 1, 10, 10); start_sb = gtk_spin_button_new (GTK_ADJUSTMENT (start_sb_adj), 1, 0); gtk_widget_show (start_sb); gtk_table_attach (GTK_TABLE (table2), start_sb, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); text_align_sb_adj = (GtkAdjustment*)gtk_adjustment_new (0.25, 0, 10, 0.01, 0.2, 1); text_align_sb = gtk_spin_button_new (GTK_ADJUSTMENT (text_align_sb_adj), 0.05, 2); gtk_widget_show (text_align_sb); gtk_table_attach (GTK_TABLE (table2), text_align_sb, 1, 2, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (text_align_sb), TRUE); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (text_align_sb), TRUE); label_align_sb_adj = (GtkAdjustment*)gtk_adjustment_new (0, 0, 10, 0.01, 0.2, 1); label_align_sb = gtk_spin_button_new (GTK_ADJUSTMENT (label_align_sb_adj), 0.05, 2); gtk_widget_show (label_align_sb); gtk_table_attach (GTK_TABLE (table2), label_align_sb, 1, 2, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (label_align_sb), TRUE); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (label_align_sb), TRUE); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Format,s); format_lb = gtk_label_new (s.utf8_str()); gtk_widget_show (format_lb); gtk_table_attach (GTK_TABLE (table2), format_lb, 0, 1, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (format_lb), 0.0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Font,s); font_lb = gtk_label_new (s.utf8_str()); gtk_widget_show (font_lb); gtk_table_attach (GTK_TABLE (table2), font_lb, 0, 1, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (font_lb), 0.0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_DelimiterString,s); delimiter_lb = gtk_label_new (s.utf8_str()); gtk_widget_show (delimiter_lb); gtk_table_attach (GTK_TABLE (table2), delimiter_lb, 0, 1, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (delimiter_lb), 0.0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Start,s); start_at_lb = gtk_label_new (s.utf8_str()); gtk_widget_show (start_at_lb); gtk_table_attach (GTK_TABLE (table2), start_at_lb, 0, 1, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (start_at_lb), 0.0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Align,s); text_align_lb = gtk_label_new (s.utf8_str()); gtk_widget_show (text_align_lb); gtk_table_attach (GTK_TABLE (table2), text_align_lb, 0, 1, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (text_align_lb), 0.0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Indent,s); label_align_lb = gtk_label_new (s.utf8_str()); gtk_widget_show (label_align_lb); gtk_table_attach (GTK_TABLE (table2), label_align_lb, 0, 1, 5, 6, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label_align_lb), 0.0, 0.5); vbox3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show (vbox3); gtk_box_pack_start (GTK_BOX (hbox2), vbox3, TRUE, TRUE, 0); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Preview,s); preview_lb = gtk_label_new (s.utf8_str()); gtk_widget_show (preview_lb); gtk_box_pack_start (GTK_BOX (vbox3), preview_lb, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (preview_lb), 0.0, 0.5); preview_frame = gtk_frame_new (NULL); gtk_widget_show (preview_frame); gtk_box_pack_start (GTK_BOX (vbox3), preview_frame, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (preview_frame), 3); gtk_frame_set_shadow_type (GTK_FRAME (preview_frame), GTK_SHADOW_NONE); preview_area = createDrawingArea (); gtk_widget_set_size_request (preview_area,180,225); gtk_widget_show (preview_area); gtk_container_add (GTK_CONTAINER (preview_frame), preview_area); hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); if(!isModal()) gtk_widget_show (hbox1); gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, FALSE, 0); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Start_New,s); start_list_rb = gtk_radio_button_new_with_label (action_group, s.utf8_str()); action_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (start_list_rb)); if(!isModal()) gtk_widget_show (start_list_rb); gtk_box_pack_start (GTK_BOX (hbox1), start_list_rb, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (start_list_rb), TRUE); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Apply_Current,s); apply_list_rb = gtk_radio_button_new_with_label (action_group, s.utf8_str()); action_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (apply_list_rb)); if(!isModal()) gtk_widget_show (apply_list_rb); gtk_box_pack_start (GTK_BOX (hbox1), apply_list_rb, FALSE, FALSE, 0); pSS->getValueUTF8(AP_STRING_ID_DLG_Lists_Resume,s); resume_list_rb = gtk_radio_button_new_with_label (action_group, s.utf8_str()); action_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (resume_list_rb)); if(!isModal()) gtk_widget_show (resume_list_rb); gtk_box_pack_start (GTK_BOX (hbox1), resume_list_rb, FALSE, FALSE, 0); // Save useful widgets in member variables if(isModal()) { m_wContents = vbox2; } else { m_wContents = wNoteBook; } m_wStartNewList = start_list_rb; m_wStartNew_label = gtk_bin_get_child(GTK_BIN(start_list_rb)); m_wApplyCurrent = apply_list_rb; m_wStartSubList = resume_list_rb; m_wStartSub_label = gtk_bin_get_child(GTK_BIN(resume_list_rb)); m_wRadioGroup = action_group; m_wPreviewArea = preview_area; m_wDelimEntry = format_en; m_oAlignList_adj = text_align_sb_adj; m_wAlignListSpin = text_align_sb; m_oIndentAlign_adj = label_align_sb_adj; m_wIndentAlignSpin = label_align_sb; m_wDecimalEntry = decimal_en; m_oStartSpin_adj = start_sb_adj; m_wStartSpin = start_sb; m_wFontOptions = font_om; m_wFontOptions_menu = font_om_menu; m_wCustomFrame = frame1; m_wCustomLabel = customized_cb; m_wCustomTable = table2; m_wListStyleBox = GTK_COMBO_BOX(style_om); m_wListTypeBox = GTK_COMBO_BOX(type_om); m_wListType_menu = m_wListStyleNumbered_menu; // Start by hiding the Custom frame // // gtk_widget_hide(m_wCustomFrame); gtk_widget_show(m_wCustomFrame); setbisCustomized(false); return m_wContents; }