static void gtk_scale_button_init (GtkScaleButton *button) { GtkScaleButtonPrivate *priv; GtkWidget *frame; button->priv = priv = GET_PRIVATE (button); priv->timeout = FALSE; priv->click_id = 0; priv->click_timeout = CLICK_TIMEOUT; priv->orientation = GTK_ORIENTATION_VERTICAL; gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); gtk_button_set_focus_on_click (GTK_BUTTON (button), FALSE); /* image */ priv->image = gtk_image_new (); gtk_container_add (GTK_CONTAINER (button), priv->image); gtk_widget_show_all (priv->image); /* window */ priv->dock = gtk_window_new (GTK_WINDOW_POPUP); gtk_widget_set_name (priv->dock, "gtk-scalebutton-popup-window"); g_signal_connect (priv->dock, "button-press-event", G_CALLBACK (cb_dock_button_press), button); g_signal_connect (priv->dock, "key-release-event", G_CALLBACK (cb_dock_key_release), button); g_signal_connect (priv->dock, "grab-notify", G_CALLBACK (cb_dock_grab_notify), button); g_signal_connect (priv->dock, "grab-broken-event", G_CALLBACK (cb_dock_grab_broken_event), button); gtk_window_set_decorated (GTK_WINDOW (priv->dock), FALSE); /* frame */ frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT); gtk_container_add (GTK_CONTAINER (priv->dock), frame); /* box for scale and +/- buttons */ priv->box = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (frame), priv->box); /* + */ button->plus_button = gtk_button_new_with_label ("+"); gtk_button_set_relief (GTK_BUTTON (button->plus_button), GTK_RELIEF_NONE); g_signal_connect (button->plus_button, "button-press-event", G_CALLBACK (cb_button_press), button); g_signal_connect (button->plus_button, "button-release-event", G_CALLBACK (cb_button_release), button); gtk_box_pack_start (GTK_BOX (priv->box), button->plus_button, FALSE, FALSE, 0); /* - */ button->minus_button = gtk_button_new_with_label ("-"); gtk_button_set_relief (GTK_BUTTON (button->minus_button), GTK_RELIEF_NONE); g_signal_connect (button->minus_button, "button-press-event", G_CALLBACK (cb_button_press), button); g_signal_connect (button->minus_button, "button-release-event", G_CALLBACK (cb_button_release), button); gtk_box_pack_end (GTK_BOX (priv->box), button->minus_button, FALSE, FALSE, 0); priv->adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.0, 100.0, 2, 20, 0)); g_object_ref_sink (priv->adjustment); /* the scale */ priv->scale = gtk_scale_button_scale_new (button); gtk_container_add (GTK_CONTAINER (priv->box), priv->scale); }
static void test_webkit_atk_get_text_at_offset(void) { WebKitWebView* webView; AtkObject *obj; GMainLoop* loop; AtkText* text_obj; char* text; webView = WEBKIT_WEB_VIEW(webkit_web_view_new()); g_object_ref_sink(webView); webkit_web_view_load_string(webView, contents, NULL, NULL, NULL); loop = g_main_loop_new(NULL, TRUE); g_timeout_add(100, (GSourceFunc)bail_out, loop); g_main_loop_run(loop); /* Get to the inner AtkText object */ obj = gtk_widget_get_accessible(GTK_WIDGET(webView)); g_assert(obj); obj = atk_object_ref_accessible_child(obj, 0); g_assert(obj); obj = atk_object_ref_accessible_child(obj, 0); g_assert(obj); text_obj = ATK_TEXT(obj); g_assert(ATK_IS_TEXT(text_obj)); text = atk_text_get_text(text_obj, 0, -1); g_assert_cmpstr(text, ==, "This is a test. This is the second sentence. And this the third."); g_free(text); /* ATK_TEXT_BOUNDARY_CHAR */ test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_CHAR, 0, "T", 0, 1); test_get_text_function(text_obj, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_CHAR, 0, "h", 1, 2); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_CHAR, 0, "", 0, 0); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_CHAR, 1, "T", 0, 1); /* ATK_TEXT_BOUNDARY_WORD_START */ test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_START, 0, "This ", 0, 5); test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_START, 4, "This ", 0, 5); test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_START, 10, "test. ", 10, 16); test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_START, 58, "third.", 58, 64); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_START, 5, "This ", 0, 5); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_START, 7, "This ", 0, 5); test_get_text_function(text_obj, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_START, 0, "is ", 5, 8); test_get_text_function(text_obj, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_START, 4, "is ", 5, 8); test_get_text_function(text_obj, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_START, 3, "is ", 5, 8); /* ATK_TEXT_BOUNDARY_WORD_END */ test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_END, 0, "This", 0, 4); test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_END, 4, " is", 4, 7); test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_END, 5, " is", 4, 7); test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_END, 9, " test", 9, 14); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_END, 5, "This", 0, 4); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_END, 4, "This", 0, 4); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_END, 7, " is", 4, 7); test_get_text_function(text_obj, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_END, 5, " a", 7, 9); test_get_text_function(text_obj, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_END, 4, " a", 7, 9); test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_END, 58, " third", 57, 63); /* ATK_TEXT_BOUNDARY_SENTENCE_START */ test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, "This is a test. ", 0, 16); test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_SENTENCE_START, 15, "This is a test. ", 0, 16); test_get_text_function(text_obj, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_SENTENCE_START, 0, "This is the second sentence. ", 16, 45); test_get_text_function(text_obj, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_SENTENCE_START, 15, "This is the second sentence. ", 16, 45); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_START, 16, "This is a test. ", 0, 16); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_START, 44, "This is a test. ", 0, 16); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_START, 15, "", 0, 0); /* ATK_TEXT_BOUNDARY_SENTENCE_END */ test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, "This is a test.", 0, 15); test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_SENTENCE_END, 15, " This is the second sentence.", 15, 44); test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, " This is the second sentence.", 15, 44); test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_SENTENCE_END, 17, " This is the second sentence.", 15, 44); test_get_text_function(text_obj, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_SENTENCE_END, 0, " This is the second sentence.", 15, 44); test_get_text_function(text_obj, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_SENTENCE_END, 15, " And this the third.", 44, 64); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_END, 16, "This is a test.", 0, 15); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_END, 15, "This is a test.", 0, 15); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_END, 14, "", 0, 0); test_get_text_function(text_obj, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_END, 44, " This is the second sentence.", 15, 44); /* It's trick to test these properly right now, since our a11y implementation splits different lines in different a11y items */ /* ATK_TEXT_BOUNDARY_LINE_START */ test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START, 0, "This is a test. This is the second sentence. And this the third.", 0, 64); /* ATK_TEXT_BOUNDARY_LINE_END */ test_get_text_function(text_obj, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_END, 0, "This is a test. This is the second sentence. And this the third.", 0, 64); g_object_unref(webView); }
WirelessSecurityWEPKey * ws_wep_key_new (const char *glade_file, NMConnection *connection, NMWepKeyType type, gboolean adhoc_create, gboolean simple) { WirelessSecurityWEPKey *sec; GtkWidget *widget; GladeXML *xml; NMSettingWirelessSecurity *s_wsec = NULL; guint8 default_key_idx = 0; gboolean is_adhoc = adhoc_create; gboolean is_shared_key = FALSE; g_return_val_if_fail (glade_file != NULL, NULL); xml = glade_xml_new (glade_file, "wep_key_notebook", NULL); if (xml == NULL) { g_warning ("Couldn't get wep_key_widget from glade xml"); return NULL; } widget = glade_xml_get_widget (xml, "wep_key_notebook"); g_assert (widget); g_object_ref_sink (widget); sec = g_slice_new0 (WirelessSecurityWEPKey); if (!sec) { g_object_unref (xml); g_object_unref (widget); return NULL; } wireless_security_init (WIRELESS_SECURITY (sec), validate, add_to_size_group, fill_connection, update_secrets, destroy, xml, widget, "wep_key_entry"); sec->type = type; widget = glade_xml_get_widget (xml, "wep_key_entry"); g_assert (widget); gtk_entry_set_width_chars (GTK_ENTRY (widget), 28); if (connection) { NMSettingWireless *s_wireless; const char *mode, *auth_alg; s_wireless = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS); mode = s_wireless ? nm_setting_wireless_get_mode (s_wireless) : NULL; if (mode && !strcmp (mode, "adhoc")) is_adhoc = TRUE; s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY)); if (s_wsec) { auth_alg = nm_setting_wireless_security_get_auth_alg (s_wsec); if (auth_alg && !strcmp (auth_alg, "shared")) is_shared_key = TRUE; } } g_signal_connect (G_OBJECT (widget), "changed", (GCallback) wireless_security_changed_cb, sec); g_signal_connect (G_OBJECT (widget), "insert-text", (GCallback) wep_entry_filter_cb, sec); if (sec->type == NM_WEP_KEY_TYPE_KEY) gtk_entry_set_max_length (GTK_ENTRY (widget), 26); else if (sec->type == NM_WEP_KEY_TYPE_PASSPHRASE) gtk_entry_set_max_length (GTK_ENTRY (widget), 64); widget = glade_xml_get_widget (xml, "key_index_combo"); if (connection && s_wsec) default_key_idx = nm_setting_wireless_security_get_wep_tx_keyidx (s_wsec); gtk_combo_box_set_active (GTK_COMBO_BOX (widget), default_key_idx); sec->cur_index = default_key_idx; g_signal_connect (G_OBJECT (widget), "changed", (GCallback) key_index_combo_changed_cb, sec); /* Key index is useless with adhoc networks */ if (is_adhoc || simple) { gtk_widget_hide (widget); widget = glade_xml_get_widget (xml, "key_index_label"); gtk_widget_hide (widget); } /* Fill the key entry with the key for that index */ if (connection) update_secrets (WIRELESS_SECURITY (sec), connection); widget = glade_xml_get_widget (xml, "show_checkbutton"); g_assert (widget); g_signal_connect (G_OBJECT (widget), "toggled", (GCallback) show_toggled_cb, sec); widget = glade_xml_get_widget (xml, "auth_method_combo"); gtk_combo_box_set_active (GTK_COMBO_BOX (widget), is_shared_key ? 1 : 0); g_signal_connect (G_OBJECT (widget), "changed", (GCallback) wireless_security_changed_cb, sec); /* Don't show auth method for adhoc (which always uses open-system) or * when in "simple" mode. */ if (is_adhoc || simple) { /* Ad-Hoc connections can't use Shared Key auth */ if (is_adhoc) gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); gtk_widget_hide (widget); widget = glade_xml_get_widget (xml, "auth_method_label"); gtk_widget_hide (widget); } return sec; }
void gstyle_eyedropper_set_source_event (GstyleEyedropper *self, GdkEvent *event) { GtkWidget *source; GtkStyleContext *context; GtkWidget *box; GtkWidget *swatch; GdkGrabStatus status; gint x_root, y_root; gint x, y; g_return_if_fail (GSTYLE_IS_EYEDROPPER (self)); g_return_if_fail (event != NULL); self->seat = g_object_ref (gdk_event_get_seat (event)); source = gtk_get_event_widget (event); self->screen = gdk_event_get_screen (event); g_signal_connect_swapped (self->screen, "size-changed", G_CALLBACK (gstyle_eyedropper_screen_size_changed_cb), self); self->window = g_object_ref_sink (gtk_window_new (GTK_WINDOW_POPUP)); gtk_window_set_screen (GTK_WINDOW (self->window),self->screen); gtk_widget_set_name (self->window, "gstyleeyedropper"); context = gtk_widget_get_style_context (self->window); self->default_provider = gstyle_css_provider_init_default (gtk_style_context_get_screen (context)); box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_add (GTK_CONTAINER (self->window), box); self->zoom_area = gtk_drawing_area_new (); gtk_widget_set_size_request (self->zoom_area, ZOOM_AREA_WIDTH, ZOOM_AREA_HEIGHT); gtk_container_add (GTK_CONTAINER (box), self->zoom_area); swatch = g_object_new (GSTYLE_TYPE_COLOR_WIDGET, "fallback-name-kind", GSTYLE_COLOR_KIND_RGB_HEX6, "fallback-name-visible", TRUE, "color", self->color, NULL); gtk_container_add (GTK_CONTAINER (box), swatch); g_signal_connect_object (self->zoom_area, "draw", G_CALLBACK (gstyle_eyedropper_zoom_area_draw_cb), self, G_CONNECT_SWAPPED); self->screen_width = gdk_screen_get_width (self->screen); self->screen_height = gdk_screen_get_height (self->screen); gstyle_eyedropper_event_get_root_coords (self, event, &x_root, &y_root); gstyle_eyedropper_calculate_window_position (self, GTK_WINDOW (self->window), x_root, y_root, &x, &y); gtk_window_move (GTK_WINDOW (self->window), x, y); gtk_widget_show_all (self->window); gtk_widget_add_events (self->window, GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_PRESS_MASK | GDK_POINTER_MOTION_MASK); self->cursor = gdk_cursor_new_from_name (gdk_screen_get_display (self->screen), "cell"); gtk_grab_add (self->window); status = gdk_seat_grab (self->seat, gtk_widget_get_window (source), GDK_SEAT_CAPABILITY_ALL, FALSE, self->cursor, event, NULL, NULL); if (status != GDK_GRAB_SUCCESS) { g_warning ("grab failed status:%i\n", status); return; } self->motion_notify_handler_id = g_signal_connect_swapped (self->window, "motion-notify-event", G_CALLBACK (gstyle_eyedropper_pointer_motion_notify_cb), self); self->pointer_pressed_handler_id = g_signal_connect_swapped (self->window, "button-press-event", G_CALLBACK (gstyle_eyedropper_pointer_pressed_cb), self); self->pointer_wheel_handler_id = g_signal_connect_swapped (self->window, "scroll-event", G_CALLBACK (gstyle_eyedropper_pointer_wheel_cb), self); self->key_handler_id = g_signal_connect_swapped (self->window, "key-press-event", G_CALLBACK (gstyle_eyedropper_key_pressed_cb), self); self->grab_broken_handler_id = g_signal_connect_swapped (self->window, "grab-broken-event", G_CALLBACK (gstyle_eyedropper_grab_broken_cb), self); }
gint _vala_main (gchar** args, int args_length1) { gint result = 0; Block1Data* _data1_; GtkHeaderBar* headerbar = NULL; GtkHeaderBar* _tmp0_ = NULL; GtkWindow* window = NULL; GtkWindow* _tmp1_ = NULL; GtkGrid* grid = NULL; GtkGrid* _tmp2_ = NULL; GtkButton* _tmp3_ = NULL; GtkGrid* gridtwo = NULL; GtkGrid* _tmp4_ = NULL; GtkLabel* _tmp5_ = NULL; GtkLabel* _tmp6_ = NULL; GtkLabel* _tmp7_ = NULL; GtkLabel* _tmp8_ = NULL; GtkLabel* _tmp9_ = NULL; GtkLabel* _tmp10_ = NULL; GtkLabel* _tmp11_ = NULL; GtkLabel* _tmp12_ = NULL; GtkGrid* layout = NULL; GtkGrid* _tmp13_ = NULL; GtkButton* _tmp14_ = NULL; GtkLabel* _tmp15_ = NULL; GtkButton* rotate_button = NULL; GtkButton* _tmp16_ = NULL; GtkLabel* _tmp17_ = NULL; #line 20 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _data1_ = g_slice_new0 (Block1Data); #line 20 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _data1_->_ref_count_ = 1; #line 21 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_init (&args_length1, &args); #line 24 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp0_ = (GtkHeaderBar*) gtk_header_bar_new (); #line 24 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp0_); #line 24 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" headerbar = _tmp0_; #line 25 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_header_bar_set_show_close_button (headerbar, TRUE); #line 28 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp1_ = (GtkWindow*) gtk_window_new (GTK_WINDOW_TOPLEVEL); #line 28 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp1_); #line 28 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" window = _tmp1_; #line 29 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_window_set_titlebar (window, (GtkWidget*) headerbar); #line 30 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_window_set_title (window, "Hello Again Again Again!"); #line 31 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_container_set_border_width ((GtkContainer*) window, (guint) 12); #line 32 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_window_set_position (window, GTK_WIN_POS_CENTER); #line 33 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_window_set_default_size (window, 350, 350); #line 34 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_signal_connect ((GtkWidget*) window, "destroy", (GCallback) _gtk_main_quit_gtk_widget_destroy, NULL); #line 37 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp2_ = (GtkGrid*) gtk_grid_new (); #line 37 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp2_); #line 37 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" grid = _tmp2_; #line 38 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_orientable_set_orientation ((GtkOrientable*) grid, GTK_ORIENTATION_VERTICAL); #line 39 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_grid_set_row_spacing (grid, 6); #line 42 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp3_ = (GtkButton*) gtk_button_new_with_label ("testing"); #line 42 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp3_); #line 42 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _data1_->button = _tmp3_; #line 43 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_signal_connect_data (_data1_->button, "clicked", (GCallback) ___lambda3__gtk_button_clicked, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0); #line 52 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp4_ = (GtkGrid*) gtk_grid_new (); #line 52 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp4_); #line 52 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gridtwo = _tmp4_; #line 53 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_grid_set_column_spacing (gridtwo, 6); #line 55 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp5_ = (GtkLabel*) gtk_label_new ("Label 1"); #line 55 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp5_); #line 55 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp6_ = _tmp5_; #line 55 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_container_add ((GtkContainer*) grid, (GtkWidget*) _tmp6_); #line 55 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _g_object_unref0 (_tmp6_); #line 56 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp7_ = (GtkLabel*) gtk_label_new ("Label 2"); #line 56 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp7_); #line 56 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp8_ = _tmp7_; #line 56 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_container_add ((GtkContainer*) grid, (GtkWidget*) _tmp8_); #line 56 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _g_object_unref0 (_tmp8_); #line 57 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_container_add ((GtkContainer*) grid, (GtkWidget*) _data1_->button); #line 59 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp9_ = (GtkLabel*) gtk_label_new ("Label 3"); #line 59 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp9_); #line 59 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp10_ = _tmp9_; #line 59 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_container_add ((GtkContainer*) gridtwo, (GtkWidget*) _tmp10_); #line 59 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _g_object_unref0 (_tmp10_); #line 60 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_container_add ((GtkContainer*) gridtwo, (GtkWidget*) grid); #line 61 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp11_ = (GtkLabel*) gtk_label_new ("Label 4"); #line 61 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp11_); #line 61 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp12_ = _tmp11_; #line 61 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_container_add ((GtkContainer*) gridtwo, (GtkWidget*) _tmp12_); #line 61 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _g_object_unref0 (_tmp12_); #line 63 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp13_ = (GtkGrid*) gtk_grid_new (); #line 63 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp13_); #line 63 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" layout = _tmp13_; #line 64 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_grid_set_column_spacing (layout, 6); #line 65 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_grid_set_row_spacing (layout, 6); #line 67 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp14_ = (GtkButton*) gtk_button_new_with_label ("Say Hello"); #line 67 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp14_); #line 67 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _data1_->hello_button = _tmp14_; #line 68 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp15_ = (GtkLabel*) gtk_label_new (NULL); #line 68 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp15_); #line 68 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _data1_->hello_label = _tmp15_; #line 70 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_signal_connect_data (_data1_->hello_button, "clicked", (GCallback) ___lambda4__gtk_button_clicked, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0); #line 75 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp16_ = (GtkButton*) gtk_button_new_with_label ("Rotate"); #line 75 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp16_); #line 75 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" rotate_button = _tmp16_; #line 76 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _tmp17_ = (GtkLabel*) gtk_label_new ("Horizontal"); #line 76 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_object_ref_sink (_tmp17_); #line 76 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _data1_->rotate_label = _tmp17_; #line 78 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" g_signal_connect_data (rotate_button, "clicked", (GCallback) ___lambda5__gtk_button_clicked, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0); #line 82 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_grid_attach (layout, (GtkWidget*) _data1_->hello_button, 0, 0, 1, 1); #line 83 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_grid_attach_next_to (layout, (GtkWidget*) _data1_->hello_label, (GtkWidget*) _data1_->hello_button, GTK_POS_RIGHT, 1, 1); #line 84 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_grid_attach (layout, (GtkWidget*) rotate_button, 0, 1, 1, 1); #line 85 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_grid_attach_next_to (layout, (GtkWidget*) _data1_->rotate_label, (GtkWidget*) rotate_button, GTK_POS_RIGHT, 1, 1); #line 86 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_grid_attach (layout, (GtkWidget*) gridtwo, 0, 2, 2, 2); #line 88 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_container_add ((GtkContainer*) window, (GtkWidget*) layout); #line 89 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_widget_show_all ((GtkWidget*) window); #line 91 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" gtk_main (); #line 92 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" result = 0; #line 92 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _g_object_unref0 (rotate_button); #line 92 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _g_object_unref0 (layout); #line 92 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _g_object_unref0 (gridtwo); #line 92 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _g_object_unref0 (grid); #line 92 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _g_object_unref0 (window); #line 92 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _g_object_unref0 (headerbar); #line 92 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" block1_data_unref (_data1_); #line 92 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" _data1_ = NULL; #line 92 "/home/riley/git/vala/gtk-testing/src/gtk-testing.vala" return result; #line 529 "gtk-testing.c" }
GtkWidget * mate_panel_applet_create_menu (AppletInfo *info) { GtkWidget *menu; GtkWidget *menuitem; GList *l; PanelWidget *panel_widget; gboolean added_anything = FALSE; panel_widget = mate_panel_applet_get_panel_widget (info); menu = g_object_ref_sink (gtk_menu_new ()); /* connect the show & deactivate signal, so that we can "disallow" and * "re-allow" autohide when the menu is shown/deactivated. */ g_signal_connect (menu, "show", G_CALLBACK (applet_menu_show), info); g_signal_connect (menu, "deactivate", G_CALLBACK (applet_menu_deactivate), info); for (l = info->user_menu; l; l = l->next) { AppletUserMenu *user_menu = l->data; if (user_menu->is_enabled_func && !user_menu->is_enabled_func ()) continue; add_to_submenus (info, "", user_menu->name, user_menu, menu, info->user_menu); added_anything = TRUE; } if (!panel_lockdown_get_locked_down ()) { GtkWidget *image; gboolean locked; gboolean lockable; gboolean movable; gboolean removable; lockable = mate_panel_applet_lockable (info); movable = mate_panel_applet_can_freely_move (info); removable = panel_profile_id_lists_are_writable (); locked = panel_widget_get_applet_locked (panel_widget, info->widget); if (added_anything) { menuitem = gtk_separator_menu_item_new (); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show (menuitem); } menuitem = gtk_image_menu_item_new_with_mnemonic (_("_Remove From Panel")); image = gtk_image_new_from_icon_name ("list-remove", GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); g_signal_connect (menuitem, "activate", G_CALLBACK (applet_remove_callback), info); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_set_sensitive (menuitem, (!locked || lockable) && removable); menuitem = gtk_menu_item_new_with_mnemonic (_("_Move")); g_signal_connect (menuitem, "activate", G_CALLBACK (move_applet_callback), info); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_set_sensitive (menuitem, !locked && movable); g_assert (info->move_item == NULL); info->move_item = menuitem; g_object_add_weak_pointer (G_OBJECT (menuitem), (gpointer *) &info->move_item); menuitem = gtk_separator_menu_item_new (); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_show (menuitem); menuitem = gtk_check_menu_item_new_with_mnemonic (_("Loc_k To Panel")); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem), locked); g_signal_connect (menuitem, "toggled", G_CALLBACK (mate_panel_applet_lock), info); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_widget_set_sensitive (menuitem, lockable); added_anything = TRUE; } if ( ! added_anything) { g_object_unref (menu); return NULL; } /* Set up theme and transparency support */ GtkWidget *toplevel = gtk_widget_get_toplevel (menu); /* Fix any failures of compiz/other wm's to communicate with gtk for transparency */ GdkScreen *screen = gtk_widget_get_screen(GTK_WIDGET(toplevel)); GdkVisual *visual = gdk_screen_get_rgba_visual(screen); gtk_widget_set_visual(GTK_WIDGET(toplevel), visual); /* Set menu and it's toplevel window to follow panel theme */ GtkStyleContext *context; context = gtk_widget_get_style_context (GTK_WIDGET(toplevel)); gtk_style_context_add_class(context,"gnome-panel-menu-bar"); gtk_style_context_add_class(context,"mate-panel-menu-bar"); return menu; }
static GtkWidget * normal_contents (void) { GtkWidget *table; GtkWidget *toolbar; GtkWidget *handlebox; GtkWidget *statusbar; GtkWidget *contents; GtkWidget *sw; GtkItemFactory *item_factory; table = gtk_table_new (1, 4, FALSE); /* Create the menubar */ item_factory = gtk_item_factory_new (GTK_TYPE_MENU_BAR, "<main>", NULL); gtk_item_factory_set_translate_func(item_factory, (GtkTranslateFunc)gettext, NULL, NULL); /* Set up item factory to go away */ g_object_ref (item_factory); g_object_ref_sink (item_factory); g_object_unref (item_factory); g_object_set_data_full (G_OBJECT (table), "<main>", item_factory, (GDestroyNotify) g_object_unref); /* create menu items */ gtk_item_factory_create_items (item_factory, G_N_ELEMENTS (menu_items), menu_items, NULL); gtk_table_attach (GTK_TABLE (table), gtk_item_factory_get_widget (item_factory, "<main>"), /* X direction */ /* Y direction */ 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, 0, 0, 0); /* Create the toolbar */ toolbar = gtk_toolbar_new (); GtkToolItem *newButton = gtk_tool_button_new_from_stock(GTK_STOCK_NEW); gtk_tool_item_set_tooltip_text(newButton, "Open another one of these windows"); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), newButton, -1); /*-1 means append to end of toolbar*/ GtkToolItem *openButton = gtk_tool_button_new_from_stock(GTK_STOCK_OPEN); gtk_tool_item_set_tooltip_text(openButton, "This is a demo button with an \'open\' icon"); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), openButton, -1); /*-1 means append to end of toolbar*/ GtkToolItem *quitButton = gtk_tool_button_new_from_stock(GTK_STOCK_QUIT); gtk_tool_item_set_tooltip_text(quitButton, "This is a demo button with a \'quit\' icon"); gtk_toolbar_insert(GTK_TOOLBAR(toolbar), quitButton, -1); /*-1 means append to end of toolbar*/ handlebox = gtk_handle_box_new (); gtk_container_add (GTK_CONTAINER (handlebox), toolbar); gtk_table_attach (GTK_TABLE (table), handlebox, /* X direction */ /* Y direction */ 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, 0); /* Create document */ 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_IN); gtk_table_attach (GTK_TABLE (table), sw, /* X direction */ /* Y direction */ 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); contents = gtk_text_view_new (); gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (contents), PANGO_WRAP_WORD); gtk_container_add (GTK_CONTAINER (sw), contents); /* Create statusbar */ statusbar = gtk_statusbar_new (); gtk_table_attach (GTK_TABLE (table), statusbar, /* X direction */ /* Y direction */ 0, 1, 3, 4, GTK_EXPAND | GTK_FILL, 0, 0, 0); gtk_widget_show_all (table); return table; }
/*! \brief Called from the load_gui_tabs_pf function in order to load common settings for a group of controls. \param cfgfile is the pointer to the configuration file to read the group information from. \see group_free \see load_gui_tabs_pf \returns a GHashTable * to a newly created hashtable of the groups that were loaded. The groups are indexed in the hashtable by group name. */ G_MODULE_EXPORT GHashTable * load_groups(ConfigFile *cfgfile) { gint x = 0; gint tmpi = 0; gchar * tmpbuf = NULL; gchar **groupnames = NULL; gchar *section = NULL; gint num_groups = 0; Group *group = NULL; GHashTable *groups = NULL; void (*load_dep_obj)(GObject *,ConfigFile *,const gchar *,const gchar *) = NULL; ENTER(); if(cfg_read_string(cfgfile,"global","groups",&tmpbuf)) { groupnames = parse_keys(tmpbuf,&num_groups,","); MTXDBG(TABLOADER,_("Number of groups to load settings for is %i\n"),num_groups); g_free(tmpbuf); } else { EXIT(); return NULL; } groups = g_hash_table_new_full(g_str_hash,g_str_equal,g_free,group_free); for (x=0;x<num_groups;x++) { /* Create structure and allocate ram for it */ group = g_new0(Group, 1); section = g_strdup(groupnames[x]); if(cfg_read_string(cfgfile,section,"keys",&tmpbuf)) { group->keys = parse_keys(tmpbuf,&group->num_keys,","); MTXDBG(TABLOADER,_("Number of keys for section %s is %i\n"),section,group->num_keys); g_free(tmpbuf); } else { MTXDBG(TABLOADER,_("\"keys\" key in section \"%s\" NOT found, aborting this group.\n"),section); g_free(group); g_free(section); continue; } group->object = (GObject *)g_object_new(GTK_TYPE_INVISIBLE,NULL); g_object_ref_sink(group->object); /* If this widget has a "depend_on" tag we need to * load the dependency information and store it for * use when needed... */ if (cfg_read_string(cfgfile,section,"depend_on",&tmpbuf)) { if (get_symbol("load_dependencies_obj",(void **)&load_dep_obj)) load_dep_obj(group->object,cfgfile,section,"depend_on"); g_free(tmpbuf); } /* Adds on "default" options to any other groups */ if (g_ascii_strcasecmp(section,"defaults") != 0) group->page = bind_group_data(cfgfile, group->object, groups, "defaults"); if (cfg_read_int(cfgfile,section,"page",&tmpi)) group->page = tmpi; /* Binds the rest of the settings, overriding any defaults */ bind_keys(group->object,cfgfile,section,group->keys,group->num_keys); /* Store it in the hashtable... */ g_hash_table_insert(groups,g_strdup(section),(gpointer)group); g_free(section); } g_strfreev(groupnames); if (group) { EXIT(); return groups; } EXIT(); return NULL; }
GtkWidget * stroke_dialog_new (GimpItem *item, GimpContext *context, const gchar *title, const gchar *stock_id, const gchar *help_id, GtkWidget *parent) { GimpStrokeOptions *options; GimpStrokeOptions *saved_options; GimpImage *image; GtkWidget *dialog; GtkWidget *main_vbox; GtkWidget *radio_box; GtkWidget *cairo_radio; GtkWidget *paint_radio; GSList *group; GtkWidget *frame; g_return_val_if_fail (GIMP_IS_ITEM (item), NULL); g_return_val_if_fail (GIMP_IS_CONTEXT (context), NULL); g_return_val_if_fail (stock_id != NULL, NULL); g_return_val_if_fail (help_id != NULL, NULL); g_return_val_if_fail (parent == NULL || GTK_IS_WIDGET (parent), NULL); image = gimp_item_get_image (item); options = gimp_stroke_options_new (context->gimp, context, TRUE); saved_options = g_object_get_data (G_OBJECT (context->gimp), "saved-stroke-options"); if (saved_options) gimp_config_sync (G_OBJECT (saved_options), G_OBJECT (options), 0); dialog = gimp_viewable_dialog_new (GIMP_VIEWABLE (item), context, title, "gimp-stroke-options", stock_id, _("Choose Stroke Style"), parent, gimp_standard_help_func, help_id, GIMP_STOCK_RESET, RESPONSE_RESET, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, stock_id, GTK_RESPONSE_OK, NULL); gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog), RESPONSE_RESET, GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); g_signal_connect (dialog, "response", G_CALLBACK (stroke_dialog_response), dialog); g_object_set_data (G_OBJECT (dialog), "gimp-item", item); g_object_set_data_full (G_OBJECT (dialog), "gimp-stroke-options", options, (GDestroyNotify) g_object_unref); main_vbox = gtk_vbox_new (FALSE, 12); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), main_vbox, TRUE, TRUE, 0); gtk_widget_show (main_vbox); radio_box = gimp_prop_enum_radio_box_new (G_OBJECT (options), "method", -1, -1); group = gtk_radio_button_get_group (g_object_get_data (G_OBJECT (radio_box), "radio-button")); cairo_radio = g_object_ref (group->next->data); gtk_container_remove (GTK_CONTAINER (radio_box), cairo_radio); paint_radio = g_object_ref (group->data); gtk_container_remove (GTK_CONTAINER (radio_box), paint_radio); g_object_ref_sink (radio_box); g_object_unref (radio_box); { PangoFontDescription *font_desc; font_desc = pango_font_description_new (); pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD); gtk_widget_modify_font (gtk_bin_get_child (GTK_BIN (cairo_radio)), font_desc); gtk_widget_modify_font (gtk_bin_get_child (GTK_BIN (paint_radio)), font_desc); pango_font_description_free (font_desc); } /* the stroke frame */ frame = gimp_frame_new (NULL); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); gtk_frame_set_label_widget (GTK_FRAME (frame), cairo_radio); g_object_unref (cairo_radio); { GtkWidget *stroke_editor; gdouble xres; gdouble yres; gimp_image_get_resolution (image, &xres, &yres); stroke_editor = gimp_stroke_editor_new (options, yres, FALSE); gtk_container_add (GTK_CONTAINER (frame), stroke_editor); gtk_widget_show (stroke_editor); g_object_bind_property (cairo_radio, "active", stroke_editor, "sensitive", G_BINDING_SYNC_CREATE); } /* the paint tool frame */ frame = gimp_frame_new (NULL); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); gtk_frame_set_label_widget (GTK_FRAME (frame), paint_radio); g_object_unref (paint_radio); { GtkWidget *vbox; GtkWidget *hbox; GtkWidget *label; GtkWidget *combo; GtkWidget *button; vbox = gtk_vbox_new (FALSE, 6); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_widget_show (vbox); g_object_bind_property (paint_radio, "active", vbox, "sensitive", G_BINDING_SYNC_CREATE); hbox = gtk_hbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); label = gtk_label_new (_("Paint tool:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); combo = gimp_container_combo_box_new (image->gimp->paint_info_list, GIMP_CONTEXT (options), 16, 0); gtk_box_pack_start (GTK_BOX (hbox), combo, TRUE, TRUE, 0); gtk_widget_show (combo); g_object_set_data (G_OBJECT (dialog), "gimp-tool-menu", combo); button = gimp_prop_check_button_new (G_OBJECT (options), "emulate-brush-dynamics", _("_Emulate brush dynamics")); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); gtk_widget_show (button); } return dialog; }
void gdl_dock_master_add (GdlDockMaster *master, GdlDockObject *object) { g_return_if_fail (master != NULL && object != NULL); if (!GDL_DOCK_OBJECT_AUTOMATIC (object)) { GdlDockObject *found_object; /* create a name for the object if it doesn't have one */ if (!object->name) /* directly set the name, since it's a construction only property */ object->name = g_strdup_printf ("__dock_%u", master->_priv->number++); /* add the object to our hash list */ if ((found_object = g_hash_table_lookup (master->dock_objects, object->name))) { g_warning (_("master %p: unable to add object %p[%s] to the hash. " "There already is an item with that name (%p)."), master, object, object->name, found_object); } else { g_object_ref_sink (object); g_hash_table_insert (master->dock_objects, g_strdup (object->name), object); } } if (GDL_IS_DOCK (object)) { gboolean floating; /* if this is the first toplevel we are adding, name it controller */ if (!master->toplevel_docks) /* the dock should already have the ref */ master->controller = object; /* add dock to the toplevel list */ g_object_get (object, "floating", &floating, NULL); if (floating) master->toplevel_docks = g_list_prepend (master->toplevel_docks, object); else master->toplevel_docks = g_list_append (master->toplevel_docks, object); /* we are interested in the dock request this toplevel * receives to update the layout */ g_signal_connect (object, "dock", G_CALLBACK (item_dock_cb), master); } else if (GDL_IS_DOCK_ITEM (object)) { /* we need to connect the item's signals */ g_signal_connect (object, "dock_drag_begin", G_CALLBACK (gdl_dock_master_drag_begin), master); g_signal_connect (object, "dock_drag_motion", G_CALLBACK (gdl_dock_master_drag_motion), master); g_signal_connect (object, "dock_drag_end", G_CALLBACK (gdl_dock_master_drag_end), master); g_signal_connect (object, "dock", G_CALLBACK (item_dock_cb), master); g_signal_connect (object, "detach", G_CALLBACK (item_detach_cb), master); /* register to "locked" notification if the item has a grip, * and add the item to the corresponding hash */ if (GDL_DOCK_ITEM_HAS_GRIP (GDL_DOCK_ITEM (object))) { g_signal_connect (object, "notify::locked", G_CALLBACK (item_notify_cb), master); item_notify_cb (object, NULL, master); } /* If the item is notebook, set the switcher style */ if (GDL_IS_DOCK_NOTEBOOK (object) && GDL_IS_SWITCHER (GDL_DOCK_ITEM (object)->child)) { g_object_set (GDL_DOCK_ITEM (object)->child, "switcher-style", master->_priv->switcher_style, NULL); } /* post a layout_changed emission if the item is not automatic * (since it should be added to the items model) */ if (!GDL_DOCK_OBJECT_AUTOMATIC (object)) { if (!master->_priv->idle_layout_changed_id) master->_priv->idle_layout_changed_id = g_idle_add (idle_emit_layout_changed, master); } } }
/*! \brief descends into a GladeWidgetInfo tree looking for special case widgets to handle \param info is the pointer to a GladeWidgetInfo structure \param cfgfile is the pointer to the corresponding datamap file \returns TRUE, unless eat end of the tree */ gboolean descend_tree(GladeWidgetInfo *info,ConfigFile *cfgfile) { static GHashTable *widget_2_tab_hash = NULL; static ConfigFile *last_cfgfile = NULL; static gchar * prefix = NULL; gchar *groups = NULL; gchar *bitvals = NULL; gchar *source_key = NULL; gchar *source_values = NULL; gint bitval = 0; gint bitmask = 0; gint offset = 0; gint page = 0; /*gint canID = 0;*/ DataSize size = MTX_U08; GObject *object = NULL; GList *list = NULL; guint i = 0; ENTER(); if (!widget_2_tab_hash) { widget_2_tab_hash = (GHashTable *)DATA_GET(global_data,"widget_2_tab_hash"); g_return_val_if_fail(widget_2_tab_hash,FALSE); } /* if (!info->parent) printf("%s is a TOPLEVEL\n",info->name); else if (info->n_children == 0) { printf("%s is a BOTTOM WIDGET\n",info->name); EXIT(); return FALSE; } else printf("%s\n",info->name); printf("widget %s has %i children\n",info->name,info->n_children); */ for (i=0;i<info->n_children;i++) descend_tree(info->children[i].child,cfgfile); if (last_cfgfile != cfgfile) { if (prefix) cleanup(prefix); if(!cfg_read_string(cfgfile,"global","id_prefix", &prefix)) prefix = NULL; last_cfgfile = cfgfile; } if (cfg_find_section(cfgfile,info->name)) // This widget exists { if (prefix) g_hash_table_insert(widget_2_tab_hash,g_strdup_printf("%s%s",prefix,info->name),g_strdup(cfgfile->filename)); else g_hash_table_insert(widget_2_tab_hash,g_strdup(info->name),g_strdup(cfgfile->filename)); } if (cfg_read_string(cfgfile,info->name,"source_values",&source_values)) { if (!cfg_read_string(cfgfile,info->name,"source_key",&source_key)) { MTXDBG(TABLOADER|CRITICAL,_("%s needs source_key\n"),info->name); EXIT(); return TRUE; } if (!cfg_read_int(cfgfile,info->name,"offset",&offset)) { MTXDBG(TABLOADER|CRITICAL,_("%s needs offset\n"),info->name); EXIT(); return TRUE; } if (!cfg_read_int(cfgfile,info->name,"bitmask",&bitmask)) { MTXDBG(TABLOADER|CRITICAL,_("%s needs bitmask\n"),info->name); EXIT(); return TRUE; } if (!cfg_read_string(cfgfile,info->name,"bitvals",&bitvals)) { if (!cfg_read_int(cfgfile,info->name,"bitval",&bitval)) { MTXDBG(TABLOADER|CRITICAL,_("%s needs bitvals or bitval\n"),info->name); EXIT(); return TRUE; } } if (!cfg_read_int(cfgfile,info->name,"page",&page)) { if (!cfg_read_int(cfgfile,"defaults","page",&page)) { MTXDBG(TABLOADER|CRITICAL,_("%s has no page defined!\n"),info->name); EXIT(); return TRUE; } } object = (GObject *)g_object_new(GTK_TYPE_INVISIBLE,NULL); g_object_ref_sink(object); /*OBJ_SET(object,"canID",GINT_TO_POINTER(canID));*/ OBJ_SET(object,"page",GINT_TO_POINTER(page)); OBJ_SET(object,"offset",GINT_TO_POINTER(offset)); OBJ_SET(object,"size",GINT_TO_POINTER(size)); OBJ_SET(object,"bitmask",GINT_TO_POINTER(bitmask)); if (bitvals) OBJ_SET_FULL(object,"bitvals",g_strdup(bitvals),g_free); else OBJ_SET(object,"bitval",GINT_TO_POINTER(bitval)); OBJ_SET_FULL(object,"source_key",g_strdup(source_key),g_free); OBJ_SET_FULL(object,"source_values",g_strdup(source_values),g_free); list = (GList *)DATA_GET(global_data,"source_list"); list = g_list_prepend(list,object); DATA_SET(global_data,"source_list",(gpointer)list); cleanup(groups); cleanup(bitvals); cleanup(source_key); cleanup(source_values); } if (cfg_read_string(cfgfile,info->name,"toggle_groups",&groups)) { if (!cfg_read_int(cfgfile,info->name,"offset",&offset)) { MTXDBG(TABLOADER|CRITICAL,_("%s needs offset\n"),info->name); EXIT(); return TRUE; } if (!cfg_read_int(cfgfile,info->name,"bitmask",&bitmask)) { MTXDBG(TABLOADER|CRITICAL,_("%s needs bitmask\n"),info->name); EXIT(); return TRUE; } if (!cfg_read_string(cfgfile,info->name,"bitvals",&bitvals)) { if (!cfg_read_int(cfgfile,info->name,"bitval",&bitval)) { MTXDBG(TABLOADER|CRITICAL,_("%s needs bitvals or bitval\n"),info->name); EXIT(); return TRUE; } } if (!cfg_read_int(cfgfile,info->name,"page",&page)) { if (!cfg_read_int(cfgfile,"defaults","page",&page)) { MTXDBG(TABLOADER|CRITICAL,_("%s has no page defined!\n"),info->name); EXIT(); return TRUE; } } /* if (!cfg_read_int(cfgfile,info->name,"canID",&canID)) { if (!cfg_read_int(cfgfile,"defaults","canID",&canID)) { printf("%s has no canID defined!\n",info->name); EXIT(); return TRUE; } } */ object = (GObject *)g_object_new(GTK_TYPE_INVISIBLE,NULL); g_object_ref_sink(object); /*OBJ_SET(object,"canID",GINT_TO_POINTER(canID));*/ OBJ_SET(object,"page",GINT_TO_POINTER(page)); OBJ_SET(object,"offset",GINT_TO_POINTER(offset)); OBJ_SET(object,"size",GINT_TO_POINTER(size)); OBJ_SET(object,"bitmask",GINT_TO_POINTER(bitmask)); if (bitvals) OBJ_SET_FULL(object,"bitvals",g_strdup(bitvals),g_free); else OBJ_SET(object,"bitval",GINT_TO_POINTER(bitval)); OBJ_SET_FULL(object,"toggle_groups",g_strdup(groups),g_free); list = (GList *)DATA_GET(global_data,"toggle_group_list"); list = g_list_prepend(list,object); DATA_SET(global_data,"toggle_group_list",(gpointer)list); cleanup(groups); cleanup(bitvals); cleanup(source_key); cleanup(source_values); } EXIT(); return TRUE; }
static void source_spinner_item_instance_init (SourceSpinnerItem * self) { self->priv = SOURCE_SPINNER_ITEM_GET_PRIVATE (self); self->priv->spinner = g_object_ref_sink ((GtkSpinner*) gtk_spinner_new ()); }
SourceSpinnerItem* source_spinner_item_construct_from_stock (GType object_type, const char* item, GtkWidget* widg) { #line 336 "source-spinner-item.c" SourceSpinnerItem * self; GtkStockItem stock = {0}; #line 119 "source-spinner-item.vala" g_return_val_if_fail (item != NULL, NULL); #line 341 "source-spinner-item.c" memset (&stock, 0, sizeof (GtkStockItem)); #line 122 "source-spinner-item.vala" if (gtk_stock_lookup (item, &stock)) { #line 345 "source-spinner-item.c" char* _tmp0_; GtkImage* _tmp1_; #line 124 "source-spinner-item.vala" self = (SourceSpinnerItem*) source_spinner_item_construct (object_type, _tmp0_ = string_replace (stock.label, "_", ""), _tmp1_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock (item, SOURCE_ITEM_ICON_SIZE)), widg); #line 350 "source-spinner-item.c" _g_object_unref0 (_tmp1_); _g_free0 (_tmp0_); } return self; }
SourceSpinnerItem* source_spinner_item_construct_from_stock_icon (GType object_type, const char* text, const char* item, GtkWidget* widg) { #line 191 "source-spinner-item.c" SourceSpinnerItem * self; GtkImage* _tmp0_; #line 84 "source-spinner-item.vala" g_return_val_if_fail (text != NULL, NULL); #line 84 "source-spinner-item.vala" g_return_val_if_fail (item != NULL, NULL); #line 87 "source-spinner-item.vala" self = (SourceSpinnerItem*) source_spinner_item_construct (object_type, text, _tmp0_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock (item, SOURCE_ITEM_ICON_SIZE)), widg); #line 200 "source-spinner-item.c" _g_object_unref0 (_tmp0_); return self; }
/* Pops up a menu of actions to perform on dropped files */ GdkDragAction athena_drag_drop_action_ask (GtkWidget *widget, GdkDragAction actions) { GtkWidget *menu; GtkWidget *menu_item; DropActionMenuData damd; /* Create the menu and set the sensitivity of the items based on the * allowed actions. */ menu = gtk_menu_new (); gtk_menu_set_screen (GTK_MENU (menu), gtk_widget_get_screen (widget)); append_drop_action_menu_item (menu, _("_Move Here"), GDK_ACTION_MOVE, (actions & GDK_ACTION_MOVE) != 0, &damd); append_drop_action_menu_item (menu, _("_Copy Here"), GDK_ACTION_COPY, (actions & GDK_ACTION_COPY) != 0, &damd); append_drop_action_menu_item (menu, _("_Link Here"), GDK_ACTION_LINK, (actions & GDK_ACTION_LINK) != 0, &damd); append_drop_action_menu_item (menu, _("Set as _Background"), ATHENA_DND_ACTION_SET_AS_BACKGROUND, (actions & ATHENA_DND_ACTION_SET_AS_BACKGROUND) != 0, &damd); eel_gtk_menu_append_separator (GTK_MENU (menu)); menu_item = gtk_menu_item_new_with_mnemonic (_("Cancel")); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); gtk_widget_show (menu_item); damd.chosen = 0; damd.loop = g_main_loop_new (NULL, FALSE); g_signal_connect (menu, "deactivate", G_CALLBACK (menu_deactivate_callback), &damd); gtk_grab_add (menu); gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 0, GDK_CURRENT_TIME); g_main_loop_run (damd.loop); gtk_grab_remove (menu); g_main_loop_unref (damd.loop); g_object_ref_sink (menu); g_object_unref (menu); return damd.chosen; }
static int cpufreq_constructor(Plugin *p, char** fp) { cpufreq *cf; GtkWidget *button; ENTER; cf = g_new0(cpufreq, 1); cf->governors = NULL; cf->cpus = NULL; g_return_val_if_fail(cf != NULL, 0); p->priv = cf; p->pwid = gtk_event_box_new(); GTK_WIDGET_SET_FLAGS( p->pwid, GTK_NO_WINDOW ); gtk_container_set_border_width( GTK_CONTAINER(p->pwid), 2 ); cf->namew = gtk_image_new_from_file(PROC_ICON); gtk_container_add(GTK_CONTAINER(p->pwid), cf->namew); cf->main = p->pwid; cf->tip = gtk_tooltips_new(); #if GLIB_CHECK_VERSION( 2, 10, 0 ) g_object_ref_sink( cf->tip ); #else g_object_ref( cf->tip ); gtk_object_sink( cf->tip ); #endif g_signal_connect (G_OBJECT (p->pwid), "button_press_event", G_CALLBACK (clicked), (gpointer) p); cf->has_cpufreq = 0; get_cpus(cf); /* line s; s.len = 256; if (fp) { while (lxpanel_get_line(fp, &s) != LINE_BLOCK_END) { if (s.type == LINE_NONE) { ERR( "cpufreq: illegal token %s\n", s.str); goto error; } if (s.type == LINE_VAR) { if (!g_ascii_strcasecmp(s.t[0], "DefaultGovernor")){ //cf->str_cl_normal = g_strdup(s.t[1]); }else { ERR( "cpufreq: unknown var %s\n", s.t[0]); continue; } } else { ERR( "cpufreq: illegal in cfis context %s\n", s.str); goto error; } } }*/ update_tooltip(cf); cf->timer = g_timeout_add(2000, (GSourceFunc)update_tooltip, (gpointer)cf); gtk_widget_show(cf->namew); RET(TRUE); /*error: RET(FALSE);*/ }
static void legacy_status_icon_ensure_menu (LegacyStatusIcon* self) { GtkMenu* _tmp0_; GtkMenu* _tmp1_; const gchar* _tmp2_ = NULL; GtkMenuItem* _tmp3_; GtkMenuItem* _tmp4_; GtkMenuItem* progressitem; GtkMenuItem* _tmp5_; GtkMenu* _tmp6_; GtkMenuItem* _tmp7_; DejaDupOperation* _tmp8_; DejaDupOperation* _tmp9_; DejaDupToolJobMode _tmp10_; DejaDupToolJobMode _tmp11_; GtkMenu* _tmp29_; g_return_if_fail (self != NULL); _tmp0_ = (GtkMenu*) gtk_menu_new (); _tmp1_ = g_object_ref_sink (_tmp0_); _g_object_unref0 (self->priv->menu); self->priv->menu = _tmp1_; _tmp2_ = _ ("Show _Progress"); _tmp3_ = (GtkMenuItem*) gtk_menu_item_new_with_mnemonic (_tmp2_); _tmp4_ = g_object_ref_sink (_tmp3_); progressitem = _tmp4_; _tmp5_ = progressitem; g_signal_connect_object (_tmp5_, "activate", (GCallback) ___lambda6__gtk_menu_item_activate, self, 0); _tmp6_ = self->priv->menu; _tmp7_ = progressitem; gtk_menu_shell_append ((GtkMenuShell*) _tmp6_, (GtkWidget*) _tmp7_); _tmp8_ = status_icon_get_op ((StatusIcon*) self); _tmp9_ = _tmp8_; _tmp10_ = deja_dup_operation_get_mode (_tmp9_); _tmp11_ = _tmp10_; if (_tmp11_ == DEJA_DUP_TOOL_JOB_MODE_BACKUP) { GtkMenuItem* item = NULL; GtkMenu* _tmp12_; GtkSeparatorMenuItem* _tmp13_; GtkSeparatorMenuItem* _tmp14_; const gchar* _tmp15_; GtkMenuItem* _tmp16_; GtkMenuItem* _tmp17_; GtkMenuItem* _tmp18_; GtkMenu* _tmp19_; GtkMenuItem* _tmp20_; gboolean _tmp21_; gboolean _tmp22_; _tmp12_ = self->priv->menu; _tmp13_ = (GtkSeparatorMenuItem*) gtk_separator_menu_item_new (); _tmp14_ = g_object_ref_sink (_tmp13_); gtk_menu_shell_append ((GtkMenuShell*) _tmp12_, (GtkWidget*) ((GtkMenuItem*) _tmp14_)); _g_object_unref0 (_tmp14_); _tmp15_ = ((StatusIcon*) self)->later_label; _tmp16_ = (GtkMenuItem*) gtk_menu_item_new_with_mnemonic (_tmp15_); _tmp17_ = g_object_ref_sink (_tmp16_); _g_object_unref0 (item); item = _tmp17_; _tmp18_ = item; g_signal_connect_object (_tmp18_, "activate", (GCallback) ____lambda7__gtk_menu_item_activate, self, 0); _tmp19_ = self->priv->menu; _tmp20_ = item; gtk_menu_shell_append ((GtkMenuShell*) _tmp19_, (GtkWidget*) _tmp20_); _tmp21_ = status_icon_get_automatic ((StatusIcon*) self); _tmp22_ = _tmp21_; if (_tmp22_) { const gchar* _tmp23_; GtkMenuItem* _tmp24_; GtkMenuItem* _tmp25_; GtkMenuItem* _tmp26_; GtkMenu* _tmp27_; GtkMenuItem* _tmp28_; _tmp23_ = ((StatusIcon*) self)->skip_label; _tmp24_ = (GtkMenuItem*) gtk_menu_item_new_with_mnemonic (_tmp23_); _tmp25_ = g_object_ref_sink (_tmp24_); _g_object_unref0 (item); item = _tmp25_; _tmp26_ = item; g_signal_connect_object (_tmp26_, "activate", (GCallback) _____lambda8__gtk_menu_item_activate, self, 0); _tmp27_ = self->priv->menu; _tmp28_ = item; gtk_menu_shell_append ((GtkMenuShell*) _tmp27_, (GtkWidget*) _tmp28_); } _g_object_unref0 (item); } status_icon_update_progress ((StatusIcon*) self); _tmp29_ = self->priv->menu; gtk_widget_show_all ((GtkWidget*) _tmp29_); _g_object_unref0 (progressitem); }
GtkWidget * cc_input_chooser_new (GtkWindow *main_window, gboolean is_login, GnomeXkbInfo *xkb_info, GHashTable *ibus_engines) { GtkBuilder *builder; GtkWidget *chooser; CcInputChooserPrivate *priv; gint width, height; GError *error = NULL; builder = gtk_builder_new (); if (gtk_builder_add_from_resource (builder, "/org/gnome/control-center/region/input-chooser.ui", &error) == 0) { g_object_unref (builder); g_warning ("failed to load input chooser: %s", error->message); g_error_free (error); return NULL; } chooser = WID ("input-dialog"); priv = g_new0 (CcInputChooserPrivate, 1); g_object_set_data_full (G_OBJECT (chooser), "private", priv, cc_input_chooser_private_free); priv->is_login = is_login; priv->xkb_info = xkb_info; priv->ibus_engines = ibus_engines; priv->add_button = WID ("add-button"); priv->filter_entry = WID ("filter-entry"); priv->list = WID ("list"); priv->scrolledwindow = WID ("scrolledwindow"); priv->adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (priv->scrolledwindow)); priv->more_row = g_object_ref_sink (more_row_new ()); priv->no_results = g_object_ref_sink (no_results_widget_new ()); gtk_widget_show_all (priv->no_results); gtk_list_box_set_adjustment (GTK_LIST_BOX (priv->list), priv->adjustment); gtk_list_box_set_filter_func (GTK_LIST_BOX (priv->list), list_filter, chooser, NULL); gtk_list_box_set_sort_func (GTK_LIST_BOX (priv->list), (GtkListBoxSortFunc)list_sort, chooser, NULL); g_signal_connect (priv->list, "row-activated", G_CALLBACK (row_activated), chooser); g_signal_connect (priv->list, "selected-rows-changed", G_CALLBACK (selected_rows_changed), chooser); g_signal_connect (priv->list, "button-release-event", G_CALLBACK (list_button_release_event), chooser); g_signal_connect_swapped (priv->filter_entry, "search-changed", G_CALLBACK (filter_changed), chooser); g_signal_connect (priv->filter_entry, "key-release-event", G_CALLBACK (reset_on_escape), chooser); if (priv->is_login) gtk_widget_show (WID ("login-label")); get_locale_infos (chooser); #ifdef HAVE_IBUS get_ibus_locale_infos (chooser); #endif /* HAVE_IBUS */ show_locale_rows (chooser); /* Try to come up with a sensible size */ gtk_window_get_size (main_window, &width, &height); gtk_widget_set_size_request (chooser, width * MAIN_WINDOW_WIDTH_RATIO, -1); gtk_window_set_resizable (GTK_WINDOW (chooser), TRUE); gtk_window_set_transient_for (GTK_WINDOW (chooser), main_window); g_object_unref (builder); return chooser; }
EAPMethodTTLS * eap_method_ttls_new (const char *glade_file, WirelessSecurity *parent, NMConnection *connection) { EAPMethodTTLS *method; GtkWidget *widget; GladeXML *xml; GtkFileFilter *filter; NMSetting8021x *s_8021x = NULL; const char *filename; g_return_val_if_fail (glade_file != NULL, NULL); xml = glade_xml_new (glade_file, "eap_ttls_notebook", NULL); if (xml == NULL) { g_warning ("Couldn't get eap_ttls_widget from glade xml"); return NULL; } widget = glade_xml_get_widget (xml, "eap_ttls_notebook"); g_assert (widget); g_object_ref_sink (widget); method = g_slice_new0 (EAPMethodTTLS); if (!method) { g_object_unref (xml); g_object_unref (widget); return NULL; } eap_method_init (EAP_METHOD (method), validate, add_to_size_group, fill_connection, destroy, xml, widget, "eap_ttls_anon_identity_entry"); eap_method_nag_init (EAP_METHOD (method), glade_file, "eap_ttls_ca_cert_button", connection); method->sec_parent = parent; if (connection) s_8021x = NM_SETTING_802_1X (nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X)); widget = glade_xml_get_widget (xml, "eap_ttls_ca_cert_button"); g_assert (widget); gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (widget), TRUE); gtk_file_chooser_button_set_title (GTK_FILE_CHOOSER_BUTTON (widget), _("Choose a Certificate Authority certificate...")); g_signal_connect (G_OBJECT (widget), "selection-changed", (GCallback) wireless_security_changed_cb, parent); filter = eap_method_default_file_chooser_filter_new (FALSE); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (widget), filter); if (connection) { filename = g_object_get_data (G_OBJECT (connection), NMA_PATH_CA_CERT_TAG); if (filename) gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (widget), filename); } widget = glade_xml_get_widget (xml, "eap_ttls_anon_identity_entry"); if (s_8021x && nm_setting_802_1x_get_anonymous_identity (s_8021x)) gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_anonymous_identity (s_8021x)); g_signal_connect (G_OBJECT (widget), "changed", (GCallback) wireless_security_changed_cb, parent); widget = inner_auth_combo_init (method, glade_file, connection, s_8021x); inner_auth_combo_changed_cb (widget, (gpointer) method); return method; }
void aisleriot_slot_renderer_set_animations (AisleriotSlotRenderer *srend, guint n_anims, const AisleriotAnimStart *anims, guint n_unexposed_animated_cards) { AisleriotSlotRendererPrivate *priv; guint i; gint card_num; g_return_if_fail (AISLERIOT_IS_SLOT_RENDERER (srend)); priv = srend->priv; g_return_if_fail (n_anims <= priv->slot->exposed); /* Destroy the current animations */ for (i = 0; i < priv->animations->len; i++) { AnimationData *anim_data; anim_data = &g_array_index (priv->animations, AnimationData, i); if (anim_data->move) g_object_unref (anim_data->move); if (anim_data->rotate) g_object_unref (anim_data->rotate); if (anim_data->depth) g_object_unref (anim_data->depth); clutter_actor_destroy (anim_data->card_tex); g_object_unref (anim_data->card_tex); } g_array_set_size (priv->animations, 0); card_num = priv->slot->cards->len - n_anims; for (i = 0; i < n_anims; i++) { AnimationData anim_data; ClutterAlpha *alpha; ClutterKnot knots[2]; Card card = CARD (priv->slot->cards->data[card_num]); guint card_width, card_height; memset (&anim_data, 0, sizeof (anim_data)); anim_data.card_tex = aisleriot_card_new (priv->cache, anims[i].old_card, card); card_width = clutter_actor_get_width (anim_data.card_tex); card_height = clutter_actor_get_height (anim_data.card_tex); g_object_ref_sink (anim_data.card_tex); if (priv->animation_layer) clutter_container_add (priv->animation_layer, CLUTTER_ACTOR (anim_data.card_tex), NULL); clutter_actor_set_position (anim_data.card_tex, anims[i].cardx, anims[i].cardy); knots[0].x = anims[i].cardx; knots[0].y = anims[i].cardy; aisleriot_game_get_card_offset (priv->slot, card_num, FALSE, &knots[1].x, &knots[1].y); knots[1].x += priv->slot->rect.x; knots[1].y += priv->slot->rect.y; alpha = clutter_alpha_new_full (priv->timeline, CLUTTER_LINEAR); anim_data.move = clutter_behaviour_path_new_with_knots (alpha, knots, G_N_ELEMENTS (knots)); clutter_behaviour_apply (anim_data.move, anim_data.card_tex); if (anims[i].old_card.value != card.value) { int center_x, center_y; center_x = card_width / 2; center_y = card_height / 2; clutter_actor_set_rotation (anim_data.card_tex, CLUTTER_Y_AXIS, 180.0, center_x, center_y, 0); anim_data.rotate = clutter_behaviour_rotate_new (alpha, CLUTTER_Y_AXIS, CLUTTER_ROTATE_CW, 180.0, 0.0); clutter_behaviour_rotate_set_center (CLUTTER_BEHAVIOUR_ROTATE (anim_data.rotate), center_x, center_y, 0); clutter_behaviour_apply (anim_data.rotate, anim_data.card_tex); } if (anims[i].raise) { alpha = clutter_alpha_new_with_func (priv->timeline, aisleriot_slot_sine_animation_mode, NULL, NULL); anim_data.depth = clutter_behaviour_depth_new (alpha, 0, card_height); clutter_behaviour_apply (anim_data.depth, anim_data.card_tex); } g_array_append_val (priv->animations, anim_data); card_num++; } if (n_anims > 0) { clutter_timeline_rewind (priv->timeline); clutter_timeline_start (priv->timeline); } priv->n_unexposed_animated_cards = n_unexposed_animated_cards; clutter_actor_queue_redraw (CLUTTER_ACTOR (srend)); }
static void gcal_toolbar_set_overview_mode (GcalToolbar *toolbar) { GcalToolbarPrivate *priv; GtkStyleContext *context; GtkWidget *button; g_return_if_fail (GCAL_IS_TOOLBAR (toolbar)); priv = toolbar->priv; /* add */ if (priv->add_button == NULL) { priv->add_button = gtk_button_new_with_label (_("New Event")); g_object_ref_sink (priv->add_button); gtk_widget_set_size_request (priv->add_button, 100, -1); context = gtk_widget_get_style_context (priv->add_button); gtk_style_context_add_class (context, "suggested-action"); g_signal_connect (priv->add_button, "clicked", G_CALLBACK (gcal_toolbar_add_event), toolbar); } gtk_container_add (GTK_CONTAINER (priv->left_item), priv->add_button); gtk_widget_show_all (priv->add_button); /* views_box */ if (priv->views_box == NULL) { priv->views_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); g_object_ref_sink (priv->views_box); gtk_widget_set_hexpand (priv->views_box, TRUE); context = gtk_widget_get_style_context (priv->views_box); gtk_style_context_add_class (context, "linked"); /* day */ button = gtk_toggle_button_new_with_label (_("Day")); gtk_widget_set_size_request (button, 80, -1); context = gtk_widget_get_style_context (button); gtk_style_context_add_class (context, "raised"); gtk_container_add (GTK_CONTAINER (priv->views_box), button); g_object_set_data (G_OBJECT (button), "view-type", GUINT_TO_POINTER (GCAL_WINDOW_VIEW_DAY)); g_signal_connect (button, "toggled", G_CALLBACK (gcal_toolbar_view_changed), toolbar); /* week */ button = gtk_toggle_button_new_with_label (_("Week")); gtk_widget_set_size_request (button, 80, -1); context = gtk_widget_get_style_context (button); gtk_style_context_add_class (context, "raised"); gtk_container_add (GTK_CONTAINER (priv->views_box), button); g_object_set_data (G_OBJECT (button), "view-type", GUINT_TO_POINTER (GCAL_WINDOW_VIEW_WEEK)); g_signal_connect (button, "toggled", G_CALLBACK (gcal_toolbar_view_changed), toolbar); /* month */ button = gtk_toggle_button_new_with_label (_("Month")); gtk_widget_set_size_request (button, 80, -1); context = gtk_widget_get_style_context (button); gtk_style_context_add_class (context, "raised"); gtk_container_add (GTK_CONTAINER (priv->views_box), button); g_object_set_data (G_OBJECT (button), "view-type", GUINT_TO_POINTER (GCAL_WINDOW_VIEW_MONTH)); g_signal_connect (button, "toggled", G_CALLBACK (gcal_toolbar_view_changed), toolbar); /* year */ button = gtk_toggle_button_new_with_label (_("Year")); gtk_widget_set_size_request (button, 80, -1); context = gtk_widget_get_style_context (button); gtk_style_context_add_class (context, "raised"); gtk_container_add (GTK_CONTAINER (priv->views_box), button); g_object_set_data (G_OBJECT (button), "view-type", GUINT_TO_POINTER (GCAL_WINDOW_VIEW_YEAR)); g_signal_connect (button, "toggled", G_CALLBACK (gcal_toolbar_view_changed), toolbar); /* list */ button = gtk_toggle_button_new_with_label (_("List")); gtk_widget_set_size_request (button, 80, -1); context = gtk_widget_get_style_context (button); gtk_style_context_add_class (context, "raised"); gtk_container_add (GTK_CONTAINER (priv->views_box), button); g_object_set_data (G_OBJECT (button), "view-type", GUINT_TO_POINTER (GCAL_WINDOW_VIEW_LIST)); g_signal_connect (button, "toggled", G_CALLBACK (gcal_toolbar_view_changed), toolbar); } gtk_container_add (GTK_CONTAINER (priv->central_item), priv->views_box); gtk_widget_show_all (priv->views_box); /* right_box */ if (priv->right_box == NULL) { priv->right_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); g_object_ref_sink (priv->right_box); gtk_widget_set_hexpand (priv->right_box, TRUE); gtk_box_set_spacing (GTK_BOX (priv->right_box), 6); /* sources_button */ priv->sources_button = gtk_toggle_button_new (); gtk_container_add ( GTK_CONTAINER (priv->sources_button), gtk_image_new_from_icon_name ("x-office-calendar-symbolic", GTK_ICON_SIZE_MENU)); context = gtk_widget_get_style_context (priv->sources_button); gtk_style_context_add_class (context, "raised"); gtk_container_add (GTK_CONTAINER (priv->right_box), priv->sources_button); g_signal_connect (priv->sources_button, "clicked", G_CALLBACK (gcal_toolbar_sources_shown), toolbar); /* search_button */ priv->search_button = gtk_button_new (); gtk_container_add ( GTK_CONTAINER (priv->search_button), gtk_image_new_from_icon_name ("folder-saved-search-symbolic", GTK_ICON_SIZE_MENU)); context = gtk_widget_get_style_context (priv->search_button); gtk_style_context_add_class (context, "raised"); gtk_container_add (GTK_CONTAINER (priv->right_box), priv->search_button); g_signal_connect (priv->search_button, "clicked", G_CALLBACK (gcal_toolbar_search_events), toolbar); } gtk_container_add (GTK_CONTAINER (priv->right_item), priv->right_box); gtk_widget_show_all (priv->sources_button); }
void Widget::retainPlatformWidget() { if (!platformWidget()) return; g_object_ref_sink(platformWidget()); }
PpgAnimation* g_object_animatev (gpointer object, PpgAnimationMode mode, guint duration_msec, guint frame_rate, const gchar *first_property, va_list args) { PpgAnimation *animation; GObjectClass *klass; GObjectClass *pklass; const gchar *name; GParamSpec *pspec; GtkWidget *parent; GValue value = { 0 }; gchar *error = NULL; GType type; GType ptype; g_return_val_if_fail(first_property != NULL, NULL); g_return_val_if_fail(mode < PPG_ANIMATION_LAST, NULL); name = first_property; type = G_TYPE_FROM_INSTANCE(object); klass = G_OBJECT_GET_CLASS(object); animation = g_object_new(PPG_TYPE_ANIMATION, "duration", duration_msec, "frame-rate", frame_rate ? frame_rate : 60, "mode", mode, "target", object, NULL); do { /* * First check for the property on the object. If that does not exist * then check if the object has a parent and look at its child * properties (if its a GtkWidget). */ if (!(pspec = g_object_class_find_property(klass, name))) { if (!g_type_is_a(type, GTK_TYPE_WIDGET)) { g_critical("Failed to find property %s in %s", name, g_type_name(type)); goto failure; } if (!(parent = gtk_widget_get_parent(object))) { g_critical("Failed to find property %s in %s", name, g_type_name(type)); goto failure; } pklass = G_OBJECT_GET_CLASS(parent); ptype = G_TYPE_FROM_INSTANCE(parent); if (!(pspec = gtk_container_class_find_child_property(pklass, name))) { g_critical("Failed to find property %s in %s or parent %s", name, g_type_name(type), g_type_name(ptype)); goto failure; } } g_value_init(&value, pspec->value_type); G_VALUE_COLLECT(&value, args, 0, &error); if (error != NULL) { g_critical("Failed to retrieve va_list value: %s", error); g_free(error); goto failure; } ppg_animation_add_property(animation, pspec, &value); g_value_unset(&value); } while ((name = va_arg(args, const gchar *))); ppg_animation_start(animation); return animation; failure: g_object_ref_sink(animation); g_object_unref(animation); return NULL; }
static void gtk_vlc_player_init(GtkVlcPlayer *klass) { GtkWidget *drawing_area; GdkColor color; libvlc_event_manager_t *evman; klass->priv = GTK_VLC_PLAYER_GET_PRIVATE(klass); gtk_alignment_set(GTK_ALIGNMENT(klass), 0., 0., 1., 1.); drawing_area = gtk_drawing_area_new(); gdk_color_parse("black", &color); gtk_widget_modify_bg(drawing_area, GTK_STATE_NORMAL, &color); g_signal_connect(G_OBJECT(drawing_area), "realize", G_CALLBACK(widget_on_realize), klass); gtk_widget_add_events(drawing_area, GDK_BUTTON_PRESS_MASK); g_signal_connect(G_OBJECT(drawing_area), "button-press-event", G_CALLBACK(widget_on_click), klass); gtk_container_add(GTK_CONTAINER(klass), drawing_area); gtk_widget_show(drawing_area); /* * drawing area will be destroyed automatically with the * GtkContainer/GtkVlcPlayer * (it is derived from GtkObject and has one reference after adding it * to the container). */ klass->priv->time_adjustment = gtk_adjustment_new(0., 0., 0., GTK_VLC_PLAYER_TIME_ADJ_STEP, GTK_VLC_PLAYER_TIME_ADJ_PAGE, 0.); g_object_ref_sink(klass->priv->time_adjustment); klass->priv->time_adj_on_value_changed_id = g_signal_connect(G_OBJECT(klass->priv->time_adjustment), "value-changed", G_CALLBACK(time_adj_on_value_changed), klass); klass->priv->time_adj_on_changed_id = g_signal_connect(G_OBJECT(klass->priv->time_adjustment), "changed", G_CALLBACK(time_adj_on_changed), klass); klass->priv->volume_adjustment = gtk_adjustment_new(1., 0., 1., GTK_VLC_PLAYER_VOL_ADJ_STEP, GTK_VLC_PLAYER_VOL_ADJ_PAGE, 0.); g_object_ref_sink(klass->priv->volume_adjustment); klass->priv->vol_adj_on_value_changed_id = g_signal_connect(G_OBJECT(klass->priv->volume_adjustment), "value-changed", G_CALLBACK(vol_adj_on_value_changed), klass); klass->priv->vlc_inst = create_vlc_instance(); klass->priv->media_player = libvlc_media_player_new(klass->priv->vlc_inst); /* sign up for time updates */ evman = libvlc_media_player_event_manager(klass->priv->media_player); libvlc_event_attach(evman, libvlc_MediaPlayerTimeChanged, vlc_time_changed, klass); libvlc_event_attach(evman, libvlc_MediaPlayerLengthChanged, vlc_length_changed, klass); klass->priv->isFullscreen = FALSE; klass->priv->fullscreen_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_object_ref_sink(klass->priv->fullscreen_window); gtk_window_set_deletable(GTK_WINDOW(klass->priv->fullscreen_window), FALSE); gtk_window_set_decorated(GTK_WINDOW(klass->priv->fullscreen_window), FALSE); gtk_window_set_skip_taskbar_hint(GTK_WINDOW(klass->priv->fullscreen_window), TRUE); gtk_window_set_skip_pager_hint(GTK_WINDOW(klass->priv->fullscreen_window), TRUE); gtk_window_set_keep_above(GTK_WINDOW(klass->priv->fullscreen_window), TRUE); }
GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddress *with){ GtkWidget *chat_view=linphone_gtk_create_widget("chatroom_frame"); GtkWidget *main_window=linphone_gtk_get_main_window(); GtkNotebook *notebook=(GtkNotebook *)linphone_gtk_get_widget(main_window,"viewswitch"); GtkWidget *text=linphone_gtk_get_widget(chat_view,"textview"); GdkColor color_grey = {0, 32512, 32512, 32512}; GdkColor color_light_grey = {0, 56832, 60928, 61952}; GdkColor color_black = {0}; int idx; GtkWidget *button; GtkWidget *entry = linphone_gtk_get_widget(chat_view,"text_entry"); MSList *messages; GHashTable *table; GtkTextTag *tmp_tag; GtkWidget *link_ctx_menu = gtk_menu_new(); GtkWidget *link_ctx_menu_copy_item = gtk_menu_item_new_with_label(_("Copy")); gtk_notebook_append_page(notebook,chat_view,create_tab_chat_header(cr,with)); idx = gtk_notebook_page_num(notebook, chat_view); gtk_notebook_set_current_page(notebook, idx); gtk_widget_show(chat_view); table=g_hash_table_new_full(g_direct_hash,g_direct_equal,NULL,NULL); g_object_set_data(G_OBJECT(chat_view),"cr",cr); g_object_set_data(G_OBJECT(chat_view),"from_message",NULL); g_object_set_data_full(G_OBJECT(chat_view),"table",table,(GDestroyNotify)g_hash_table_destroy); gtk_text_buffer_create_tag( gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), "me", "foreground_gdk", &color_black, "paragraph-background-gdk", &color_light_grey, NULL); gtk_text_buffer_create_tag( gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), "from", "weight", PANGO_WEIGHT_BOLD, NULL); gtk_text_buffer_create_tag( gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), "body", "indent", 10, NULL); gtk_text_buffer_create_tag( gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), "status", "size-points", 9.0, "foreground_gdk", &color_grey, "style", PANGO_STYLE_ITALIC, "justification", GTK_JUSTIFY_RIGHT, NULL); tmp_tag = gtk_text_buffer_create_tag( gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), "link", "underline", PANGO_UNDERLINE_SINGLE, "foreground_gdk", _linphone_gtk_chatroom_get_link_color(chat_view), NULL); g_signal_connect(G_OBJECT(tmp_tag), "event", G_CALLBACK(link_event_handler), chat_view); g_signal_connect(G_OBJECT(text), "event", G_CALLBACK(chatroom_event), NULL); gtk_menu_shell_append(GTK_MENU_SHELL(link_ctx_menu), link_ctx_menu_copy_item); g_signal_connect(G_OBJECT(link_ctx_menu_copy_item), "activate", G_CALLBACK(copy_uri_into_clipboard_handler), NULL); gtk_widget_show_all(link_ctx_menu); g_object_set_data_full(G_OBJECT(text), "link_ctx_menu", link_ctx_menu, g_object_unref); g_object_ref_sink(G_OBJECT(link_ctx_menu)); messages = linphone_chat_room_get_history(cr,NB_MSG_HIST); display_history_message(chat_view,messages,with); button = linphone_gtk_get_widget(chat_view,"send"); g_signal_connect_swapped(G_OBJECT(button),"clicked",(GCallback)linphone_gtk_send_text,NULL); g_signal_connect_swapped(G_OBJECT(entry),"activate",(GCallback)linphone_gtk_send_text,NULL); g_signal_connect_swapped(G_OBJECT(entry),"changed",(GCallback)linphone_gtk_compose_text,NULL); g_signal_connect(G_OBJECT(notebook),"switch_page",(GCallback)linphone_gtk_notebook_tab_select,NULL); return chat_view; }
static void go_combo_box_init (GOComboBox *combo_box) { GtkWidget *arrow; GdkCursor *cursor; combo_box->priv = g_new0 (GOComboBoxPrivate, 1); combo_box->priv->updating_buttons = FALSE; combo_box->priv->arrow_button = gtk_toggle_button_new (); gtk_button_set_relief (GTK_BUTTON (combo_box->priv->arrow_button), GTK_RELIEF_NONE); GTK_WIDGET_UNSET_FLAGS (combo_box->priv->arrow_button, GTK_CAN_FOCUS); arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (combo_box->priv->arrow_button), arrow); gtk_box_pack_end (GTK_BOX (combo_box), combo_box->priv->arrow_button, FALSE, FALSE, 0); g_signal_connect_swapped (combo_box->priv->arrow_button, "button-press-event", G_CALLBACK (cb_arrow_pressed), combo_box); gtk_widget_show_all (combo_box->priv->arrow_button); /* * prelight the display widget when mousing over the arrow. */ g_signal_connect (combo_box->priv->arrow_button, "state-changed", G_CALLBACK (cb_state_change), combo_box); /* * The pop-down container */ combo_box->priv->toplevel = gtk_window_new (GTK_WINDOW_POPUP); #if GLIB_CHECK_VERSION(2,10,0) && GTK_CHECK_VERSION(2,8,14) g_object_ref_sink (combo_box->priv->toplevel); #else g_object_ref (combo_box->priv->toplevel); gtk_object_sink (GTK_OBJECT (combo_box->priv->toplevel)); #endif g_object_set (G_OBJECT (combo_box->priv->toplevel), "allow-shrink", FALSE, "allow-grow", TRUE, NULL); combo_box->priv->popup = gtk_event_box_new (); gtk_container_add (GTK_CONTAINER (combo_box->priv->toplevel), combo_box->priv->popup); gtk_widget_show (combo_box->priv->popup); gtk_widget_realize (combo_box->priv->popup); cursor = gdk_cursor_new_for_display (gtk_widget_get_display (GTK_WIDGET (combo_box)), GDK_TOP_LEFT_ARROW); gdk_window_set_cursor (combo_box->priv->popup->window, cursor); gdk_cursor_unref (cursor); combo_box->priv->torn_off = FALSE; combo_box->priv->tearoff_window = NULL; combo_box->priv->frame = gtk_frame_new (NULL); gtk_container_add (GTK_CONTAINER (combo_box->priv->popup), combo_box->priv->frame); gtk_frame_set_shadow_type (GTK_FRAME (combo_box->priv->frame), GTK_SHADOW_OUT); g_signal_connect (combo_box->priv->toplevel, "button_press_event", G_CALLBACK (go_combo_box_button_press), combo_box); g_signal_connect (combo_box->priv->toplevel, "key_press_event", G_CALLBACK (cb_combo_keypress), combo_box); }
GeeArrayList* gtk_mate_matcher_compile (const char* selector_string) { GeeArrayList* ms; char** _tmp1; gint scope_ors1_size; gint scope_ors1_length1; char** _tmp0; char** scope_ors1; GeeArrayList* _tmp11; g_return_val_if_fail (selector_string != NULL, NULL); ms = gee_array_list_new (GTK_MATE_TYPE_MATCHER, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_direct_equal); /* FIXME should validate and throw UTF8 error if bad.*/ _tmp1 = NULL; _tmp0 = NULL; scope_ors1 = (_tmp1 = _tmp0 = g_strsplit (selector_string, ",", 0), scope_ors1_length1 = _vala_array_length (_tmp0), scope_ors1_size = scope_ors1_length1, _tmp1); /*stdout.printf("match: selector: '%s', scope: '%s'\n", selector_string, scope_string);*/ { char** selector_string1_collection; int selector_string1_collection_length1; int selector_string1_it; selector_string1_collection = scope_ors1; selector_string1_collection_length1 = scope_ors1_length1; for (selector_string1_it = 0; selector_string1_it < scope_ors1_length1; selector_string1_it = selector_string1_it + 1) { const char* _tmp10; char* selector_string1; _tmp10 = NULL; selector_string1 = (_tmp10 = selector_string1_collection[selector_string1_it], (_tmp10 == NULL) ? NULL : g_strdup (_tmp10)); { GtkMateMatcher* m; GeeArrayList* _tmp2; char** _tmp4; gint positives_and_negatives_size; gint positives_and_negatives_length1; char** _tmp3; char** positives_and_negatives; m = g_object_ref_sink (gtk_mate_matcher_new ()); _tmp2 = NULL; m->neg_rxs = (_tmp2 = gee_array_list_new (ONIG_TYPE_RX, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_direct_equal), (m->neg_rxs == NULL) ? NULL : (m->neg_rxs = (g_object_unref (m->neg_rxs), NULL)), _tmp2); _tmp4 = NULL; _tmp3 = NULL; positives_and_negatives = (_tmp4 = _tmp3 = g_strsplit (selector_string1, " -", 0), positives_and_negatives_length1 = _vala_array_length (_tmp3), positives_and_negatives_size = positives_and_negatives_length1, _tmp4); { char** sub_selector_string_collection; int sub_selector_string_collection_length1; int sub_selector_string_it; sub_selector_string_collection = positives_and_negatives; sub_selector_string_collection_length1 = positives_and_negatives_length1; for (sub_selector_string_it = 0; sub_selector_string_it < positives_and_negatives_length1; sub_selector_string_it = sub_selector_string_it + 1) { const char* _tmp9; char* sub_selector_string; _tmp9 = NULL; sub_selector_string = (_tmp9 = sub_selector_string_collection[sub_selector_string_it], (_tmp9 == NULL) ? NULL : g_strdup (_tmp9)); { if (m->pos_rx == NULL) { char* s1; char* s2; OnigRx* _tmp7; char* _tmp6; char* _tmp5; s1 = string_helper_gsub (g_strstrip (sub_selector_string), ".", "\\."); s2 = string_helper_gsub (s1, " ", ").* .*("); /*stdout.printf("positive '%s' -> '%s'\n", selector_string, "("+s2+")");*/ _tmp7 = NULL; _tmp6 = NULL; _tmp5 = NULL; m->pos_rx = (_tmp7 = onig_rx_make1 (_tmp6 = g_strconcat (_tmp5 = g_strconcat ("(", s2, NULL), ")", NULL)), (m->pos_rx == NULL) ? NULL : (m->pos_rx = (g_object_unref (m->pos_rx), NULL)), _tmp7); _tmp6 = (g_free (_tmp6), NULL); _tmp5 = (g_free (_tmp5), NULL); s1 = (g_free (s1), NULL); s2 = (g_free (s2), NULL); } else { char* s1; char* s2; OnigRx* _tmp8; s1 = string_helper_gsub (g_strstrip (sub_selector_string), ".", "\\."); s2 = string_helper_gsub (s1, " ", ".* .*"); /*stdout.printf("negative '%s' -> '%s'\n", selector_string, s2);*/ _tmp8 = NULL; gee_collection_add ((GeeCollection*) m->neg_rxs, _tmp8 = onig_rx_make1 (s2)); (_tmp8 == NULL) ? NULL : (_tmp8 = (g_object_unref (_tmp8), NULL)); s1 = (g_free (s1), NULL); s2 = (g_free (s2), NULL); } sub_selector_string = (g_free (sub_selector_string), NULL); } } } gee_collection_add ((GeeCollection*) ms, m); selector_string1 = (g_free (selector_string1), NULL); (m == NULL) ? NULL : (m = (g_object_unref (m), NULL)); positives_and_negatives = (_vala_array_free (positives_and_negatives, positives_and_negatives_length1, (GDestroyNotify) g_free), NULL); } } } _tmp11 = NULL; return (_tmp11 = ms, scope_ors1 = (_vala_array_free (scope_ors1, scope_ors1_length1, (GDestroyNotify) g_free), NULL), _tmp11); }
static void init_gsettings (void) { #ifdef HAVE_GSETTINGS GVariant *val; bool schema_found = false; #if ! GLIB_CHECK_VERSION (2, 36, 0) g_type_init (); #endif #if GLIB_CHECK_VERSION (2, 32, 0) { GSettingsSchema *sc = g_settings_schema_source_lookup (g_settings_schema_source_get_default (), GSETTINGS_SCHEMA, true); schema_found = sc != NULL; if (sc) g_settings_schema_unref (sc); } #else { const gchar *const *schemas = g_settings_list_schemas (); if (schemas == NULL) return; while (! schema_found && *schemas != NULL) schema_found = strcmp (*schemas++, GSETTINGS_SCHEMA) == 0; } #endif if (!schema_found) return; gsettings_client = g_settings_new (GSETTINGS_SCHEMA); if (!gsettings_client) return; g_object_ref_sink (G_OBJECT (gsettings_client)); g_signal_connect (G_OBJECT (gsettings_client), "changed", G_CALLBACK (something_changed_gsettingsCB), NULL); val = g_settings_get_value (gsettings_client, GSETTINGS_TOOL_BAR_STYLE); if (val) { g_variant_ref_sink (val); if (g_variant_is_of_type (val, G_VARIANT_TYPE_STRING)) current_tool_bar_style = map_tool_bar_style (g_variant_get_string (val, NULL)); g_variant_unref (val); } #ifdef HAVE_XFT val = g_settings_get_value (gsettings_client, GSETTINGS_MONO_FONT); if (val) { g_variant_ref_sink (val); if (g_variant_is_of_type (val, G_VARIANT_TYPE_STRING)) dupstring (¤t_mono_font, g_variant_get_string (val, NULL)); g_variant_unref (val); } val = g_settings_get_value (gsettings_client, GSETTINGS_FONT_NAME); if (val) { g_variant_ref_sink (val); if (g_variant_is_of_type (val, G_VARIANT_TYPE_STRING)) dupstring (¤t_font, g_variant_get_string (val, NULL)); g_variant_unref (val); } #endif /* HAVE_XFT */ #endif /* HAVE_GSETTINGS */ }
static void test_type (gconstpointer data) { GObjectClass *klass; GObject *instance; GParamSpec **pspecs; guint n_pspecs, i; GType type; GdkDisplay *display; type = * (GType *) data; display = gdk_display_get_default (); if (!G_TYPE_IS_CLASSED (type)) return; if (G_TYPE_IS_ABSTRACT (type)) return; if (!g_type_is_a (type, G_TYPE_OBJECT)) return; /* These can't be freely constructed/destroyed */ if (g_type_is_a (type, GTK_TYPE_APPLICATION) || g_type_is_a (type, GDK_TYPE_PIXBUF_LOADER) || #ifdef G_OS_UNIX g_type_is_a (type, GTK_TYPE_PRINT_JOB) || #endif g_type_is_a (type, gdk_pixbuf_simple_anim_iter_get_type ()) || g_str_equal (g_type_name (type), "GdkX11DeviceManagerXI2") || g_str_equal (g_type_name (type), "GdkX11Display") || g_str_equal (g_type_name (type), "GdkX11DisplayManager") || g_str_equal (g_type_name (type), "GdkX11Screen") || g_str_equal (g_type_name (type), "GdkX11GLContext")) return; /* This throws a critical when the connection is dropped */ if (g_type_is_a (type, GTK_TYPE_APP_CHOOSER_DIALOG)) return; /* These leak their GDBusConnections */ if (g_type_is_a (type, GTK_TYPE_FILE_CHOOSER_BUTTON) || g_type_is_a (type, GTK_TYPE_FILE_CHOOSER_DIALOG) || g_type_is_a (type, GTK_TYPE_FILE_CHOOSER_WIDGET) || g_type_is_a (type, GTK_TYPE_PLACES_SIDEBAR)) return; klass = g_type_class_ref (type); if (g_type_is_a (type, GTK_TYPE_SETTINGS)) instance = g_object_ref (gtk_settings_get_default ()); else if (g_type_is_a (type, GDK_TYPE_WINDOW)) { GdkWindowAttr attributes; attributes.wclass = GDK_INPUT_OUTPUT; attributes.window_type = GDK_WINDOW_TEMP; attributes.event_mask = 0; attributes.width = 100; attributes.height = 100; instance = g_object_ref (gdk_window_new (NULL, &attributes, 0)); } else if (g_str_equal (g_type_name (type), "GdkX11Cursor")) instance = g_object_new (type, "display", display, NULL); else instance = g_object_new (type, NULL); if (g_type_is_a (type, G_TYPE_INITIALLY_UNOWNED)) g_object_ref_sink (instance); pspecs = g_object_class_list_properties (klass, &n_pspecs); for (i = 0; i < n_pspecs; ++i) { GParamSpec *pspec = pspecs[i]; GValue value = G_VALUE_INIT; if (pspec->owner_type != type) continue; if ((pspec->flags & G_PARAM_READABLE) == 0) continue; /* This one has a special-purpose default value */ if (g_type_is_a (type, GTK_TYPE_DIALOG) && (strcmp (pspec->name, "use-header-bar") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_ASSISTANT) && (strcmp (pspec->name, "use-header-bar") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_POPOVER) && (strcmp (pspec->name, "pointing-to") == 0)) continue; if (g_type_is_a (type, GDK_TYPE_DISPLAY_MANAGER) && (strcmp (pspec->name, "default-display") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_ABOUT_DIALOG) && (strcmp (pspec->name, "program-name") == 0)) continue; /* These are set to the current date */ if (g_type_is_a (type, GTK_TYPE_CALENDAR) && (strcmp (pspec->name, "year") == 0 || strcmp (pspec->name, "month") == 0 || strcmp (pspec->name, "day") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_CELL_AREA_CONTEXT) && (strcmp (pspec->name, "minimum-width") == 0 || strcmp (pspec->name, "minimum-height") == 0 || strcmp (pspec->name, "natural-width") == 0 || strcmp (pspec->name, "natural-height") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_CELL_RENDERER_TEXT) && (strcmp (pspec->name, "background-gdk") == 0 || strcmp (pspec->name, "foreground-gdk") == 0 || strcmp (pspec->name, "background-rgba") == 0 || strcmp (pspec->name, "foreground-rgba") == 0 || strcmp (pspec->name, "font") == 0 || strcmp (pspec->name, "font-desc") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_CELL_VIEW) && (strcmp (pspec->name, "background-gdk") == 0 || strcmp (pspec->name, "foreground-gdk") == 0 || strcmp (pspec->name, "foreground-rgba") == 0 || strcmp (pspec->name, "background-rgba") == 0 || strcmp (pspec->name, "cell-area") == 0 || strcmp (pspec->name, "cell-area-context") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_COLOR_BUTTON) && (strcmp (pspec->name, "color") == 0 || strcmp (pspec->name, "rgba") == 0)) continue; G_GNUC_BEGIN_IGNORE_DEPRECATIONS if (g_type_is_a (type, GTK_TYPE_COLOR_SELECTION) && (strcmp (pspec->name, "current-color") == 0 || strcmp (pspec->name, "current-rgba") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_COLOR_SELECTION_DIALOG) && (strcmp (pspec->name, "color-selection") == 0 || strcmp (pspec->name, "ok-button") == 0 || strcmp (pspec->name, "help-button") == 0 || strcmp (pspec->name, "cancel-button") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_COMBO_BOX) && (strcmp (pspec->name, "cell-area") == 0 || strcmp (pspec->name, "cell-area-context") == 0)) continue; G_GNUC_END_IGNORE_DEPRECATIONS /* Default invisible char is determined at runtime */ if (g_type_is_a (type, GTK_TYPE_ENTRY) && (strcmp (pspec->name, "invisible-char") == 0 || strcmp (pspec->name, "buffer") == 0)) continue; G_GNUC_BEGIN_IGNORE_DEPRECATIONS if (g_type_is_a (type, GTK_TYPE_ENTRY_COMPLETION) && (strcmp (pspec->name, "cell-area") == 0 || strcmp (pspec->name, "cell-area-context") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_FONT_SELECTION) && strcmp (pspec->name, "font") == 0) continue; if (g_type_is_a (type, GTK_TYPE_ICON_VIEW) && (strcmp (pspec->name, "cell-area") == 0 || strcmp (pspec->name, "cell-area-context") == 0)) continue; G_GNUC_END_IGNORE_DEPRECATIONS if (g_type_is_a (type, GTK_TYPE_LAYOUT) && (strcmp (pspec->name, "hadjustment") == 0 || strcmp (pspec->name, "vadjustment") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_MESSAGE_DIALOG) && (strcmp (pspec->name, "image") == 0 || strcmp (pspec->name, "message-area") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_PANED) && strcmp (pspec->name, "max-position") == 0) continue; if (g_type_is_a (type, GTK_TYPE_PRINT_OPERATION) && strcmp (pspec->name, "job-name") == 0) continue; #ifdef G_OS_UNIX if (g_type_is_a (type, GTK_TYPE_PRINT_UNIX_DIALOG) && (strcmp (pspec->name, "page-setup") == 0 || strcmp (pspec->name, "print-settings") == 0)) continue; #endif if (g_type_is_a (type, GTK_TYPE_PROGRESS_BAR) && strcmp (pspec->name, "adjustment") == 0) continue; /* filename value depends on $HOME */ if (g_type_is_a (type, GTK_TYPE_RECENT_MANAGER) && (strcmp (pspec->name, "filename") == 0 || strcmp (pspec->name, "size") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_SCALE_BUTTON) && strcmp (pspec->name, "adjustment") == 0) continue; if (g_type_is_a (type, GTK_TYPE_SCROLLED_WINDOW) && (strcmp (pspec->name, "hadjustment") == 0 || strcmp (pspec->name, "vadjustment") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_SETTINGS)) continue; if (g_type_is_a (type, GTK_TYPE_SPIN_BUTTON) && (strcmp (pspec->name, "adjustment") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_STATUS_ICON) && (strcmp (pspec->name, "size") == 0 || strcmp (pspec->name, "screen") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_STYLE_CONTEXT) && strcmp (pspec->name, "screen") == 0) continue; if (g_type_is_a (type, GTK_TYPE_TEXT_BUFFER) && (strcmp (pspec->name, "tag-table") == 0 || strcmp (pspec->name, "copy-target-list") == 0 || strcmp (pspec->name, "paste-target-list") == 0)) continue; /* language depends on the current locale */ if (g_type_is_a (type, GTK_TYPE_TEXT_TAG) && (strcmp (pspec->name, "background-gdk") == 0 || strcmp (pspec->name, "foreground-gdk") == 0 || strcmp (pspec->name, "language") == 0 || strcmp (pspec->name, "font") == 0 || strcmp (pspec->name, "font-desc") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_TEXT_VIEW) && strcmp (pspec->name, "buffer") == 0) continue; if (g_type_is_a (type, GTK_TYPE_TOOL_ITEM_GROUP) && strcmp (pspec->name, "label-widget") == 0) continue; if (g_type_is_a (type, GTK_TYPE_TREE_VIEW) && (strcmp (pspec->name, "hadjustment") == 0 || strcmp (pspec->name, "vadjustment") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_TREE_VIEW_COLUMN) && (strcmp (pspec->name, "cell-area") == 0 || strcmp (pspec->name, "cell-area-context") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_VIEWPORT) && (strcmp (pspec->name, "hadjustment") == 0 || strcmp (pspec->name, "vadjustment") == 0)) continue; if (g_type_is_a (type, GTK_TYPE_WIDGET) && (strcmp (pspec->name, "name") == 0 || strcmp (pspec->name, "screen") == 0 || strcmp (pspec->name, "style") == 0)) continue; /* resize-grip-visible is determined at runtime */ if (g_type_is_a (type, GTK_TYPE_WINDOW) && strcmp (pspec->name, "resize-grip-visible") == 0) continue; /* show-desktop depends on desktop environment */ if (g_type_is_a (type, GTK_TYPE_PLACES_SIDEBAR) && strcmp (pspec->name, "show-desktop") == 0) continue; if (g_test_verbose ()) g_print ("Property %s.%s\n", g_type_name (pspec->owner_type), pspec->name); g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec)); g_object_get_property (instance, pspec->name, &value); check_property ("Property", pspec, &value); g_value_unset (&value); } g_free (pspecs); if (g_type_is_a (type, GTK_TYPE_WIDGET)) { g_object_set (gtk_settings_get_default (), "gtk-theme-name", "Raleigh", NULL); pspecs = gtk_widget_class_list_style_properties (GTK_WIDGET_CLASS (klass), &n_pspecs); for (i = 0; i < n_pspecs; ++i) { GParamSpec *pspec = pspecs[i]; GValue value = G_VALUE_INIT; if (pspec->owner_type != type) continue; if ((pspec->flags & G_PARAM_READABLE) == 0) continue; if (g_type_is_a (type, GTK_TYPE_BUTTON) && strcmp (pspec->name, "default-border") == 0) continue; if (g_type_is_a (type, GTK_TYPE_WINDOW) && (strcmp (pspec->name, "resize-grip-width") == 0 || strcmp (pspec->name, "resize-grip-height") == 0 || strcmp (pspec->name, "decoration-button-layout") == 0)) continue; g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec)); gtk_widget_style_get_property (GTK_WIDGET (instance), pspec->name, &value); check_property ("Style property", pspec, &value); g_value_unset (&value); } g_free (pspecs); } if (g_type_is_a (type, GDK_TYPE_WINDOW)) gdk_window_destroy (GDK_WINDOW (instance)); else g_object_unref (instance); g_type_class_unref (klass); }
static void add_data_tab (const gchar *demoname) { gchar *resource_dir, *resource_name; gchar **resources; GtkWidget *widget, *label; guint i; resource_dir = g_strconcat ("/", demoname, NULL); resources = g_resources_enumerate_children (resource_dir, 0, NULL); if (resources == NULL) { g_free (resource_dir); return; } for (i = 0; resources[i]; i++) { resource_name = g_strconcat (resource_dir, "/", resources[i], NULL); widget = gtk_image_new_from_resource (resource_name); if (gtk_image_get_pixbuf (GTK_IMAGE (widget)) == NULL && gtk_image_get_animation (GTK_IMAGE (widget)) == NULL) { GBytes *bytes; /* So we've used the best API available to figure out it's * not an image. Let's try something else then. */ g_object_ref_sink (widget); g_object_unref (widget); bytes = g_resources_lookup_data (resource_name, 0, NULL); g_assert (bytes); if (g_utf8_validate (g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes), NULL)) { /* Looks like it parses as text. Dump it into a textview then! */ GtkTextBuffer *buffer; GtkWidget *textview; widget = create_text (&textview, FALSE); buffer = gtk_text_buffer_new (NULL); gtk_text_buffer_set_text (buffer, g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes)); gtk_text_view_set_buffer (GTK_TEXT_VIEW (textview), buffer); } else { g_warning ("Don't know how to display resource '%s'\n", resource_name); widget = NULL; } g_bytes_unref (bytes); } gtk_widget_show_all (widget); label = gtk_label_new (resources[i]); gtk_widget_show (label); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); gtk_container_child_set (GTK_CONTAINER (notebook), GTK_WIDGET (widget), "tab-expand", TRUE, NULL); g_free (resource_name); } g_strfreev (resources); g_free (resource_dir); }