这篇教程C++ G_CALLBACK函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中G_CALLBACK函数的典型用法代码示例。如果您正苦于以下问题:C++ G_CALLBACK函数的具体用法?C++ G_CALLBACK怎么用?C++ G_CALLBACK使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了G_CALLBACK函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: mainint main( int argc, char *argv[] ){ GtkWidget *window; GtkWidget *drawing_area; GtkWidget *vbox; GtkWidget *v1box; GtkWidget *hbox; GtkWidget *button; gtk_init (&argc, &argv); printf("Helo/n"); int i,j; for(i=0;i<1000;i++) { for(j=0;j<1000;j++) { pixels[i][j]=0; visited[i][j]=0; } } window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_title(GTK_WINDOW(window), "pencil_project"); vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); g_signal_connect (GTK_WINDOW(window), "destroy", G_CALLBACK (quit), NULL); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); v1box = newVerticalbox ( FALSE, 0, TRUE, TRUE, 0 ); gtk_box_pack_start (GTK_BOX (hbox), v1box, FALSE, FALSE, 0); gtk_widget_show (v1box); /* Create the drawing area */ drawing_area = gtk_drawing_area_new (); gtk_widget_set_size_request (GTK_WIDGET (drawing_area), breadth, height);//breadth,height global variables in buttons.h //cr = gdk_cairo_create(drawing_area->window); gtk_box_pack_start (GTK_BOX (hbox), drawing_area, TRUE, TRUE, 0); gtk_widget_show (drawing_area); g_signal_connect (drawing_area, "expose_event", G_CALLBACK (expose_event),NULL); /* g_signal_connect (drawing_area, "configure_event", G_CALLBACK (configure_event), NULL); /* Event signals */ g_signal_connect (drawing_area, "motion_notify_event", G_CALLBACK (motion_notify_event), NULL);//made them null as it don't have significance. handler_id = g_signal_connect (drawing_area, "button_press_event", G_CALLBACK (button_press_event), NULL); gtk_widget_set_events (drawing_area, GDK_EXPOSURE_MASK |GDK_LEAVE_NOTIFY_MASK | GDK_BUTTON_PRESS_MASK |GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK); button = horizontal_box ( FALSE, 0, TRUE, TRUE, 0, TRUE ); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); button = horizontal_box ( FALSE, 0, TRUE, TRUE, 0, FALSE ); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Fill"); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); g_signal_connect_swapped (button, "clicked", G_CALLBACK (button_press_event_fill), drawing_area); gtk_widget_show_all (window); gtk_main (); return 0;}
开发者ID:mdilip,项目名称:Programming-lab-assignment,代码行数:83,
示例2: la_handler_service_handle_registerstatic gbooleanla_handler_service_handle_register (LAHandler *interface, GDBusMethodInvocation *invocation, const gchar *unit, NSMShutdownType shutdown_mode, guint timeout, LAHandlerService *service){ ShutdownConsumer *consumer; ShutdownClient *client; GError *error = NULL; const gchar *existing_bus_name; const gchar *existing_object_path; gchar *bus_name; gchar *object_path; g_return_val_if_fail (IS_LA_HANDLER (interface), FALSE); g_return_val_if_fail (G_IS_DBUS_METHOD_INVOCATION (invocation), FALSE); g_return_val_if_fail (unit != NULL && *unit != '/0', FALSE); g_return_val_if_fail (LA_HANDLER_IS_SERVICE (service), FALSE); if (shutdown_mode != NSM_SHUTDOWN_TYPE_NORMAL && shutdown_mode != NSM_SHUTDOWN_TYPE_FAST && shutdown_mode != (NSM_SHUTDOWN_TYPE_NORMAL | NSM_SHUTDOWN_TYPE_FAST)) { /* the shutdown mode is invalid */ DLT_LOG (la_handler_context, DLT_LOG_ERROR, DLT_STRING ("Failed to register legacy application: " "invalid shutdown mode"), DLT_INT (shutdown_mode)); la_handler_complete_register (interface, invocation); return TRUE; } /* find out if we have a shutdown client for this unit already */ client = g_hash_table_lookup (service->units_to_clients, unit); if (client != NULL) { /* there already is a shutdown client for the unit, so simply * re-register its client with the new shutdown mode and timeout */ /* extract information from the client */ existing_bus_name = shutdown_client_get_bus_name (client); existing_object_path = shutdown_client_get_object_path (client); /* temporarily store a reference to the legacy app handler service object * in the invocation object */ g_object_set_data_full (G_OBJECT (invocation), "la-handler-service", g_object_ref (service), (GDestroyNotify) g_object_unref); /* re-register the shutdown consumer with the NSM Consumer */ nsm_consumer_call_register_shutdown_client (service->nsm_consumer, existing_bus_name, existing_object_path, shutdown_mode, timeout, NULL, la_handler_service_handle_register_finish, invocation); } else { /* create a new shutdown client and consumer for the unit */ bus_name = "org.genivi.NodeStartupController1"; object_path = g_strdup_printf ("%s/%u", service->prefix, service->index); client = shutdown_client_new (bus_name, object_path, shutdown_mode, timeout); consumer = shutdown_consumer_skeleton_new (); shutdown_client_set_consumer (client, consumer); /* remember the legacy app handler service object in shutdown client */ g_object_set_data_full (G_OBJECT (client), "la-handler-service", g_object_ref (service), (GDestroyNotify) g_object_unref); /* implement the LifecycleRequest method of the shutdown consumer */ g_signal_connect (consumer, "handle-lifecycle-request", G_CALLBACK (la_handler_service_handle_consumer_lifecycle_request), client); /* associate the shutdown client with the unit name */ g_hash_table_insert (service->units_to_clients, g_strdup (unit), g_object_ref (client)); g_hash_table_insert (service->clients_to_units, g_object_ref (client), g_strdup (unit)); /* export the shutdown consumer on the bus */ g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (consumer), service->connection, object_path, &error); if (error != NULL) { DLT_LOG (la_handler_context, DLT_LOG_ERROR, DLT_STRING ("Failed to export shutdown consumer on the bus:"), DLT_STRING (error->message)); g_error_free (error); } /* temporarily store a reference to the legacy app handler service object * in the invocation object */ g_object_set_data_full (G_OBJECT (invocation), "la-handler-service", g_object_ref (service), (GDestroyNotify) g_object_unref); /* register the shutdown consumer with the NSM Consumer */ nsm_consumer_call_register_shutdown_client (service->nsm_consumer, bus_name, object_path, shutdown_mode, timeout, NULL,//.........这里部分代码省略.........
开发者ID:wozhu6104,项目名称:node-startup-controller,代码行数:101,
示例3: mainintmain (int argc, char *argv[]){ GOptionContext *context; GSocketClient *client; GSocketConnection *connection; GSocketAddress *address; GCancellable *cancellable; GOutputStream *out; GError *error = NULL; char buffer[1000]; context = g_option_context_new (" <hostname>[:port] - send data to tcp host"); g_option_context_add_main_entries (context, cmd_entries, NULL); if (!g_option_context_parse (context, &argc, &argv, &error)) { g_printerr ("%s: %s/n", argv[0], error->message); return 1; } if (argc != 2) { g_printerr ("%s: %s/n", argv[0], "Need to specify hostname"); return 1; } if (async) loop = g_main_loop_new (NULL, FALSE); if (cancel_timeout) { GThread *thread; cancellable = g_cancellable_new (); thread = g_thread_new ("cancel", cancel_thread, cancellable); g_thread_unref (thread); } else { cancellable = NULL; } client = g_socket_client_new (); if (io_timeout) g_socket_client_set_timeout (client, io_timeout); if (verbose) g_signal_connect (client, "event", G_CALLBACK (socket_client_event), NULL); if (async) { GAsyncResult *res; g_socket_client_connect_to_host_async (client, argv[1], 7777, cancellable, async_cb, &res); g_main_loop_run (loop); connection = g_socket_client_connect_to_host_finish (client, res, &error); g_object_unref (res); } else { connection = g_socket_client_connect_to_host (client, argv[1], 7777, cancellable, &error); } if (connection == NULL) { g_printerr ("%s can't connect: %s/n", argv[0], error->message); return 1; } g_object_unref (client); address = g_socket_connection_get_remote_address (connection, &error); if (!address) { g_printerr ("Error getting remote address: %s/n", error->message); return 1; } g_print ("Connected to address: %s/n", socket_address_to_string (address)); g_object_unref (address); if (graceful) g_tcp_connection_set_graceful_disconnect (G_TCP_CONNECTION (connection), TRUE); out = g_io_stream_get_output_stream (G_IO_STREAM (connection)); while (fgets(buffer, sizeof (buffer), stdin) != NULL) { /* FIXME if (async) */ if (!g_output_stream_write_all (out, buffer, strlen (buffer), NULL, cancellable, &error)) { g_warning ("send error: %s/n", error->message); g_error_free (error); error = NULL; } } g_print ("closing stream/n"); if (async)//.........这里部分代码省略.........
开发者ID:183amir,项目名称:glib,代码行数:101,
示例4: xfapplet_applet_activatedstatic voidxfapplet_applet_activated (MateComponent_Unknown object, CORBA_Environment *ev, gpointer data){ GtkWidget *bw, *child = NULL; CORBA_Object control; CORBA_Environment corba_ev; MateComponentControlFrame *frame; MateComponentUIComponent *uic; MateComponent_PropertyBag prop_bag; XfAppletPlugin *xap = (XfAppletPlugin*) data; gchar *error; if (MATECOMPONENT_EX (ev) || object == CORBA_OBJECT_NIL) { error = matecomponent_exception_get_text (ev); CORBA_exception_free (ev); g_warning ("Failed to load applet '%s' (can't get CORBA object): %s/n", xap->iid, error); xfapplet_applet_load_failed (xap); xfapplet_cleanup_current (xap); g_free (error); return; } control = CORBA_Object_duplicate (object, NULL); bw = matecomponent_widget_new_control_from_objref (object, CORBA_OBJECT_NIL); matecomponent_object_release_unref (object, NULL); if (!bw) { g_warning ("Failed to load applet '%s' (can't get matecomponent widget)/n", xap->iid); xfapplet_applet_load_failed (xap); xfapplet_cleanup_current (xap); return; } frame = matecomponent_widget_get_control_frame (MATECOMPONENT_WIDGET (bw)); if (!frame) { g_warning ("Failed to load applet '%s' (can't get control frame)/n", xap->iid); gtk_object_sink (GTK_OBJECT (bw)); xfapplet_applet_load_failed (xap); xfapplet_cleanup_current (xap); return; } CORBA_exception_init (&corba_ev); prop_bag = matecomponent_control_frame_get_control_property_bag (frame, &corba_ev); if (prop_bag == NULL || MATECOMPONENT_EX (&corba_ev)) { error = matecomponent_exception_get_text (&corba_ev); CORBA_exception_free (&corba_ev); g_warning ("Failed to load applet '%s' (can't get property bag): %s/n", xap->iid, error); gtk_object_sink (GTK_OBJECT (bw)); xfapplet_applet_load_failed (xap); xfapplet_cleanup_current (xap); g_free (error); return; } uic = matecomponent_control_frame_get_popup_component (frame, &corba_ev); if (uic == NULL || MATECOMPONENT_EX (&corba_ev)) { error = matecomponent_exception_get_text (&corba_ev); CORBA_exception_free (&corba_ev); g_warning ("Failed to load applet '%s' (can't get popup component): %s/n", xap->iid, error); gtk_object_sink (GTK_OBJECT (bw)); xfapplet_applet_load_failed (xap); xfapplet_cleanup_current (xap); g_free (error); return; } matecomponent_ui_component_freeze (uic, CORBA_OBJECT_NIL); xfce_textdomain ("xfce4-panel", LIBXFCE4PANEL_LOCALE_DIR, "UTF-8"); matecomponent_ui_util_set_ui (uic, PKGDATADIR "/ui", "XFCE_Panel_Popup.xml", "xfce4-xfapplet-plugin", &corba_ev); if (MATECOMPONENT_EX (&corba_ev)) { error = matecomponent_exception_get_text (&corba_ev); CORBA_exception_free (&corba_ev); g_warning ("Failed to load applet '%s' (can't set ui): %s/n", xap->iid, error); gtk_object_sink (GTK_OBJECT (bw)); xfapplet_applet_load_failed (xap); xfapplet_cleanup_current (xap); g_free (error); return; } xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8"); xfapplet_setup_menu_items (xap->plugin, uic); matecomponent_ui_component_thaw (uic, CORBA_OBJECT_NIL); gtk_widget_show (bw); if (xap->configured) xfapplet_unload_applet (xap); xap->object = control; xap->uic = uic; xap->prop_bag = prop_bag; MateCORBA_small_listen_for_broken (object, G_CALLBACK (xfapplet_connection_broken), xap); child = xfapplet_get_plugin_child (xap->plugin); if (child) gtk_widget_destroy (child); gtk_container_add (GTK_CONTAINER(xap->plugin), bw); xap->configured = TRUE;//.........这里部分代码省略.........
开发者ID:fatman2021,项目名称:xfce4-xfapplet-plugin,代码行数:101,
示例5: cinnamon_control_center_initstatic voidcinnamon_control_center_init (CinnamonControlCenter *self){ GError *err = NULL; CinnamonControlCenterPrivate *priv; GdkScreen *screen; GtkWidget *widget; priv = self->priv = CONTROL_CENTER_PRIVATE (self); priv->monitor_num = -1; self->priv->small_screen = SMALL_SCREEN_UNSET; /* load the user interface */ priv->builder = gtk_builder_new (); if (!gtk_builder_add_from_file (priv->builder, UIDIR "/shell.ui", &err)) { g_critical ("Could not build interface: %s", err->message); g_error_free (err); return; } /* connect various signals */ priv->window = W (priv->builder, "main-window"); gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (priv->window), TRUE); screen = gtk_widget_get_screen (priv->window); g_signal_connect (screen, "monitors-changed", G_CALLBACK (monitors_changed_cb), self); g_signal_connect (priv->window, "configure-event", G_CALLBACK (main_window_configure_cb), self); g_signal_connect (priv->window, "notify::application", G_CALLBACK (application_set_cb), self); g_signal_connect_swapped (priv->window, "delete-event", G_CALLBACK (g_object_unref), self); g_signal_connect_after (priv->window, "key_press_event", G_CALLBACK (window_key_press_event), self); priv->notebook = W (priv->builder, "notebook"); /* Main scrolled window */ priv->scrolled_window = W (priv->builder, "scrolledwindow1"); if (!g_strcmp0(g_getenv("XDG_CURRENT_DESKTOP"), "Unity")) gtk_widget_set_size_request (priv->scrolled_window, UNITY_FIXED_WIDTH, -1); else gtk_widget_set_size_request (priv->scrolled_window, FIXED_WIDTH, -1); priv->main_vbox = W (priv->builder, "main-vbox"); g_signal_connect (priv->notebook, "notify::page", G_CALLBACK (notebook_page_notify_cb), priv); priv->nav_bar = cc_shell_nav_bar_new (); widget = W (priv->builder, "hbox1"); gtk_box_pack_start (GTK_BOX (widget), priv->nav_bar, FALSE, FALSE, 0); gtk_box_reorder_child (GTK_BOX (widget), priv->nav_bar, 0); gtk_widget_show (priv->nav_bar); g_signal_connect (priv->nav_bar, "home-clicked", G_CALLBACK (home_button_clicked_cb), self); /* keep a list of custom widgets to unload on panel change */ priv->custom_widgets = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref); /* load the available settings panels */ setup_model (self); /* load the panels that are implemented as plugins */ load_panel_plugins (self); /* setup search functionality */ setup_search (self); setup_lock (self); /* store default window title and name */ priv->default_window_title = g_strdup (gtk_window_get_title (GTK_WINDOW (priv->window))); priv->default_window_icon = g_strdup (gtk_window_get_icon_name (GTK_WINDOW (priv->window))); notebook_page_notify_cb (GTK_NOTEBOOK (priv->notebook), NULL, priv);}
开发者ID:3dfxmadscientist,项目名称:cinnamon-control-center,代码行数:77,
示例6: mainintmain (int argc, char *argv[]){ ClutterActor *stage, *actor; ClutterColor rcol = { 0xff, 0, 0, 0xff}, bcol = { 0, 0, 0xff, 0xff }, gcol = { 0, 0xff, 0, 0xff }, ccol = { 0, 0xff, 0xff, 0xff }, ycol = { 0xff, 0xff, 0, 0xff }; clutter_init (&argc, &argv); g_print ("Red box: aquire grab on press, releases it on next button release/n"); g_print ("Blue box: aquire grab on press, destroys the blue box actor on release/n"); g_print ("Yellow box: aquire grab on press, releases grab on next press on yellow box/n"); g_print ("Green box: toggle per actor motion events./n/n"); g_print ("Cyan box: toggle grab (from cyan box) for keyboard events./n/n"); stage = clutter_stage_get_default (); g_signal_connect (stage, "event", G_CALLBACK (debug_event_cb), "stage"); g_signal_connect (stage, "fullscreen", G_CALLBACK (stage_state_cb), "fullscreen"); g_signal_connect (stage, "unfullscreen", G_CALLBACK (stage_state_cb), "unfullscreen"); g_signal_connect (stage, "activate", G_CALLBACK (stage_state_cb), "activate"); g_signal_connect (stage, "deactivate", G_CALLBACK (stage_state_cb), "deactivate"); actor = clutter_rectangle_new_with_color (&rcol); clutter_actor_set_size (actor, 100, 100); clutter_actor_set_position (actor, 100, 100); clutter_actor_set_reactive (actor, TRUE); clutter_container_add (CLUTTER_CONTAINER (stage), actor, NULL); g_signal_connect (actor, "event", G_CALLBACK (debug_event_cb), "red box"); g_signal_connect (actor, "button-press-event", G_CALLBACK (grab_pointer_cb), NULL); g_signal_connect (actor, "button-release-event", G_CALLBACK (red_release_cb), NULL); actor = clutter_rectangle_new_with_color (&ycol); clutter_actor_set_size (actor, 100, 100); clutter_actor_set_position (actor, 100, 300); clutter_actor_set_reactive (actor, TRUE); clutter_container_add (CLUTTER_CONTAINER (stage), actor, NULL); g_signal_connect (actor, "event", G_CALLBACK (debug_event_cb), "yellow box"); g_signal_connect (actor, "button-press-event", G_CALLBACK (toggle_grab_pointer_cb), NULL); actor = clutter_rectangle_new_with_color (&bcol); clutter_actor_set_size (actor, 100, 100); clutter_actor_set_position (actor, 300, 100); clutter_actor_set_reactive (actor, TRUE); clutter_container_add (CLUTTER_CONTAINER (stage), actor, NULL); g_signal_connect (actor, "event", G_CALLBACK (debug_event_cb), "blue box"); g_signal_connect (actor, "button-press-event", G_CALLBACK (grab_pointer_cb), NULL); g_signal_connect (actor, "button-release-event", G_CALLBACK (blue_release_cb), NULL); actor = clutter_rectangle_new_with_color (&gcol); clutter_actor_set_size (actor, 100, 100); clutter_actor_set_position (actor, 300, 300); clutter_actor_set_reactive (actor, TRUE); clutter_container_add (CLUTTER_CONTAINER (stage), actor, NULL); g_signal_connect (actor, "event", G_CALLBACK (debug_event_cb), "green box"); g_signal_connect (actor, "button-press-event", G_CALLBACK (green_press_cb), NULL); actor = clutter_rectangle_new_with_color (&ccol); clutter_actor_set_size (actor, 100, 100); clutter_actor_set_position (actor, 500, 100); clutter_actor_set_reactive (actor, TRUE); clutter_container_add (CLUTTER_CONTAINER (stage), actor, NULL); g_signal_connect (actor, "event", G_CALLBACK (debug_event_cb), "cyan box"); g_signal_connect (actor, "button-press-event", G_CALLBACK (cyan_press_cb), NULL); clutter_actor_show_all (CLUTTER_ACTOR (stage)); clutter_main(); return 0;}
开发者ID:archlinuxarm-n900,项目名称:clutter08,代码行数:89,
示例7: mainintmain (int argc, char **argv){ gint ret; GMainLoop *loop; PolkitAgentListener *listener; GError *error; gtk_init (&argc, &argv); loop = NULL; authority = NULL; listener = NULL; session = NULL; ret = 1; bindtextdomain (GETTEXT_PACKAGE, MATELOCALEDIR);#if HAVE_BIND_TEXTDOMAIN_CODESET bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");#endif textdomain (GETTEXT_PACKAGE); loop = g_main_loop_new (NULL, FALSE); error = NULL; authority = polkit_authority_get_sync (NULL /* GCancellable* */, &error); if (authority == NULL) { g_warning ("Error getting authority: %s", error->message); g_error_free (error); goto out; } g_signal_connect (authority, "changed", G_CALLBACK (on_authority_changed), NULL); listener = polkit_mate_listener_new (); error = NULL; session = polkit_unix_session_new_for_process_sync (getpid (), NULL, &error); if (error != NULL) { g_warning ("Unable to determine the session we are in: %s", error->message); g_error_free (error); goto out; } error = NULL; if (!polkit_agent_listener_register (listener, POLKIT_AGENT_REGISTER_FLAGS_NONE, session, "/org/mate/PolicyKit1/AuthenticationAgent", NULL, &error)) { g_printerr ("Cannot register authentication agent: %s/n", error->message); g_error_free (error); goto out; } update_temporary_authorization_icon (authority); g_main_loop_run (loop); ret = 0; out: if (authority != NULL) g_object_unref (authority); if (session != NULL) g_object_unref (session); if (listener != NULL) g_object_unref (listener); if (loop != NULL) g_main_loop_unref (loop); return ret;}
开发者ID:fatman2021,项目名称:mate-polkit,代码行数:79,
示例8: update_temporary_authorization_icon_realstatic voidupdate_temporary_authorization_icon_real (void){#if 0 GList *l; g_debug ("have %d tmp authorizations", g_list_length (current_temporary_authorizations)); for (l = current_temporary_authorizations; l != NULL; l = l->next) { PolkitTemporaryAuthorization *authz = POLKIT_TEMPORARY_AUTHORIZATION (l->data); g_debug ("have tmp authz for action %s (subject %s) with id %s (obtained %d, expires %d)", polkit_temporary_authorization_get_action_id (authz), polkit_subject_to_string (polkit_temporary_authorization_get_subject (authz)), polkit_temporary_authorization_get_id (authz), (gint) polkit_temporary_authorization_get_time_obtained (authz), (gint) polkit_temporary_authorization_get_time_expires (authz)); }#endif /* TODO: * * - we could do something fancy like displaying a window with the tmp authz * when the icon is clicked... * * - we could do some work using polkit_subject_exists() to ignore tmp authz * for subjects that no longer exists.. this is because temporary authorizations * are only valid for the subject that trigger the authentication dialog. * * Maybe the authority could do this, would probably involve some polling, but * it seems cleaner to do this server side. */ if (current_temporary_authorizations != NULL) { /* show icon */ if (status_icon == NULL) { status_icon = gtk_status_icon_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION); gtk_status_icon_set_tooltip_text (status_icon, _("Click the icon to drop all elevated privileges")); g_signal_connect (status_icon, "activate", G_CALLBACK (on_status_icon_activate), NULL); g_signal_connect (status_icon, "popup-menu", G_CALLBACK (on_status_icon_popup_menu), NULL); } } else { /* hide icon */ if (status_icon != NULL) { gtk_status_icon_set_visible (status_icon, FALSE); g_object_unref (status_icon); status_icon = NULL; } }}
开发者ID:fatman2021,项目名称:mate-polkit,代码行数:62,
示例9: cg_combo_flags_popup_idlestatic gbooleancg_combo_flags_popup_idle (gpointer data){ CgComboFlags *combo; CgComboFlagsPrivate *priv; GtkTreeSelection* selection; GtkWidget *toplevel; GtkWidget *scrolled; GdkWindow *window; GdkDeviceManager* device_manager; gint height, width, x, y; combo = CG_COMBO_FLAGS (data); priv = CG_COMBO_FLAGS_PRIVATE (combo); g_assert (priv->window == NULL); priv->window = gtk_window_new (GTK_WINDOW_POPUP); g_object_ref (G_OBJECT (priv->window)); gtk_window_set_resizable (GTK_WINDOW (priv->window), FALSE); g_signal_connect (G_OBJECT (priv->window), "key_press_event", G_CALLBACK (cg_combo_flags_window_key_press_cb), combo); g_signal_connect (G_OBJECT (priv->window), "button_press_event", G_CALLBACK (cg_combo_flags_window_button_press_cb), combo); scrolled = gtk_scrolled_window_new (NULL, NULL); gtk_container_add (GTK_CONTAINER (priv->window), scrolled); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled), GTK_POLICY_NEVER, GTK_POLICY_NEVER); gtk_widget_show (scrolled); priv->treeview = gtk_tree_view_new_with_model (priv->model); gtk_widget_show (priv->treeview); gtk_container_add (GTK_CONTAINER (scrolled), priv->treeview); g_signal_connect (G_OBJECT (priv->treeview), "key_press_event", G_CALLBACK (cg_combo_flags_treeview_key_press_cb), combo); g_signal_connect (G_OBJECT (priv->treeview), "button_press_event", G_CALLBACK (cg_combo_flags_treeview_button_press_cb), combo); priv->column = gtk_tree_view_column_new (); g_object_ref (G_OBJECT (priv->column)); cg_combo_flags_sync_cells (combo, GTK_CELL_LAYOUT (priv->column)); gtk_tree_view_append_column (GTK_TREE_VIEW (priv->treeview), priv->column); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->treeview)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (priv->treeview), FALSE); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (priv->treeview), FALSE); gtk_tree_view_set_hover_selection (GTK_TREE_VIEW (priv->treeview), TRUE); toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo)); if (GTK_IS_WINDOW (toplevel)) { gtk_window_group_add_window (gtk_window_get_group ( GTK_WINDOW (toplevel)), GTK_WINDOW (priv->window)); gtk_window_set_transient_for (GTK_WINDOW (priv->window), GTK_WINDOW (toplevel)); } gtk_window_set_screen (GTK_WINDOW (priv->window), gtk_widget_get_screen (GTK_WIDGET (combo))); cg_combo_flags_get_position (combo, &x, &y, &width, &height); gtk_widget_set_size_request (priv->window, width, height); gtk_window_move (GTK_WINDOW(priv->window), x, y); gtk_widget_show (priv->window); gtk_widget_grab_focus (priv->window); if (!gtk_widget_has_focus (priv->treeview)) gtk_widget_grab_focus (priv->treeview); window = gtk_widget_get_window (priv->window); device_manager = gdk_display_get_device_manager (gdk_window_get_display (window)); priv->pointer_device = gdk_device_manager_get_client_pointer (device_manager); priv->keyboard_device = gdk_device_get_associated_device (priv->pointer_device); gtk_grab_add (priv->window); gdk_device_grab (priv->pointer_device, window, GDK_OWNERSHIP_NONE, TRUE, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK, NULL, GDK_CURRENT_TIME);//.........这里部分代码省略.........
开发者ID:GNOME,项目名称:anjuta,代码行数:101,
示例10: mainint main(int argc, char *argv[]) { gtk_init(&argc, &argv); if ( ! parse_commandline(argc, argv) ) return(EXIT_FAILURE); sterm::common::set_debugging(opt_debug); if ( opt_config_file != NULL ) config_file = opt_config_file; configuration = new sterm::config(config_file); gtk_window_set_default_icon_name("utilities-terminal"); main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(main_window), "STerm"); gtk_container_set_border_width(GTK_CONTAINER(main_window), 0); terminal = new sterm::terminal(configuration); std::string child_command; if ( opt_command != NULL ) child_command = opt_command; terminal->attach_to_container(GTK_CONTAINER(main_window)); terminal->spawn_child(child_command); terminal->connect_callback("child-exited", G_CALLBACK(main_exit_with_status_cb), NULL); terminal->connect_callback("bell", G_CALLBACK(main_bell_cb), NULL); terminal->link_property_to_terminal("window-title", G_OBJECT(main_window), "title"); g_signal_connect(G_OBJECT(main_window), "destroy", G_CALLBACK(main_exit_cb), &main_window); functions = new sterm::function_handler(configuration, terminal); gtk_widget_show_all(main_window); gtk_main(); if ( terminal != NULL ) { delete(terminal); terminal = NULL; } if ( functions != NULL ) { delete(functions); functions = NULL; } if ( configuration != NULL ) { delete(configuration); configuration = NULL; } if ( main_window != NULL ) { gtk_widget_destroy(main_window); main_window = NULL; } return ret;}
开发者ID:flocke,项目名称:sterm,代码行数:63,
示例11: calendar_sources_load_esource_liststatic voidcalendar_sources_load_esource_list (CalendarSourceData *source_data){ GSList *clients = NULL; GSList *groups, *l; gboolean emit_signal = FALSE; g_return_if_fail (source_data->esource_list != NULL); debug_dump_selected_sources (source_data->selected_sources); dprintf ("Source groups:/n"); groups = e_source_list_peek_groups (source_data->esource_list); for (l = groups; l; l = l->next) { GSList *esources, *s; dprintf (" %s/n", e_source_group_peek_uid (l->data)); dprintf (" sources:/n"); esources = e_source_group_peek_sources (l->data); for (s = esources; s; s = s->next) { ESource *esource = E_SOURCE (s->data); ECal *client; dprintf (" type = '%s' uid = '%s', name = '%s', relative uri = '%s': /n", source_data->source_type == E_CAL_SOURCE_TYPE_EVENT ? "appointment" : "task", e_source_peek_uid (esource), e_source_peek_name (esource), e_source_peek_relative_uri (esource)); if (is_source_selected (esource, source_data->selected_sources) && (client = get_ecal_from_source (esource, source_data->source_type, source_data->clients))) { clients = g_slist_prepend (clients, client); } } } dprintf ("/n"); if (source_data->loaded && !compare_ecal_lists (source_data->clients, clients)) emit_signal = TRUE; for (l = source_data->clients; l; l = l->next) { g_signal_handlers_disconnect_by_func (G_OBJECT (l->data), G_CALLBACK (backend_died_cb), source_data); g_object_unref (l->data); } g_slist_free (source_data->clients); source_data->clients = g_slist_reverse (clients); /* connect to backend_died after we disconnected the previous signal * handlers. If we do it before, we'll lose some handlers (for clients that * were already there before) */ for (l = source_data->clients; l; l = l->next) { g_signal_connect (G_OBJECT (l->data), "backend_died", G_CALLBACK (backend_died_cb), source_data); } if (emit_signal) { dprintf ("Emitting %s-sources-changed signal/n", source_data->source_type == E_CAL_SOURCE_TYPE_EVENT ? "appointment" : "task"); g_signal_emit (source_data->sources, source_data->changed_signal, 0); } debug_dump_ecal_list (source_data->clients);}
开发者ID:TheCoffeMaker,项目名称:Mate-Desktop-Environment,代码行数:74,
示例12: dt_styles_create_from_stylevoiddt_styles_create_from_style (const char *name, const char *newname, const char *description, GList *filter){ sqlite3_stmt *stmt; int id=0; int oldid=0; oldid = dt_styles_get_id_by_name(name); if(oldid == 0) return; /* create the style header */ if (!dt_styles_create_style_header(newname, description)) return; if ((id=dt_styles_get_id_by_name(newname)) != 0) { if (filter) { GList *list=filter; char tmp[64]; char include[2048]= {0}; g_strlcat(include,"num in (", 2048); do { if(list!=g_list_first(list)) g_strlcat(include,",", 2048); sprintf(tmp,"%ld",(long int)list->data); g_strlcat(include,tmp, 2048); } while ((list=g_list_next(list))); g_strlcat(include,")", 2048); char query[4096]= {0}; sprintf(query,"insert into style_items (styleid,num,module,operation,op_params,enabled,blendop_params,blendop_version) select ?1, num,module,operation,op_params,enabled,blendop_params,blendop_version from style_items where styleid=?2 and %s",include); DT_DEBUG_SQLITE3_PREPARE_V2(dt_database_get(darktable.db), query, -1, &stmt, NULL); } else DT_DEBUG_SQLITE3_PREPARE_V2(dt_database_get(darktable.db), "insert into style_items (styleid,num,module,operation,op_params,enabled,blendop_params,blendop_version) select ?1, num,module,operation,op_params,enabled,blendop_params,blendop_version from style_items where style_id=?2", -1, &stmt, NULL); DT_DEBUG_SQLITE3_BIND_INT(stmt, 1, id); DT_DEBUG_SQLITE3_BIND_INT(stmt, 2, oldid); sqlite3_step (stmt); sqlite3_finalize (stmt); /* backup style to disk */ char stylesdir[1024]; dt_loc_get_user_config_dir(stylesdir, 1024); g_strlcat(stylesdir,"/styles",1024); g_mkdir_with_parents(stylesdir,00755); dt_styles_save_to_file(newname,stylesdir,FALSE); char tmp_accel[1024]; gchar* tmp_name = g_strdup(newname); // freed by _destro_style_shortcut_callback snprintf(tmp_accel,1024,"styles/Apply %s",newname); dt_accel_register_global( tmp_accel, 0, 0); GClosure *closure; closure = g_cclosure_new( G_CALLBACK(_apply_style_shortcut_callback), tmp_name, _destroy_style_shortcut_callback); dt_accel_connect_global(tmp_accel, closure); dt_control_log(_("style named '%s' successfully created"),newname); }}
开发者ID:ksyz,项目名称:darktable,代码行数:62,
示例13: dt_styles_updatevoiddt_styles_update (const char *name, const char *newname, const char *newdescription, GList *filter){ sqlite3_stmt *stmt; int id=0; gchar *desc = NULL; id = dt_styles_get_id_by_name(name); if(id == 0) return; desc = dt_styles_get_description (name); if ((g_strcmp0(name, newname)) || (g_strcmp0(desc, newdescription))) { DT_DEBUG_SQLITE3_PREPARE_V2(dt_database_get(darktable.db), "update styles set name=?1, description=?2 where rowid=?3", -1, &stmt, NULL); DT_DEBUG_SQLITE3_BIND_TEXT(stmt, 1, newname, strlen (newname), SQLITE_STATIC); DT_DEBUG_SQLITE3_BIND_TEXT(stmt, 2, newdescription, strlen (newdescription), SQLITE_STATIC); DT_DEBUG_SQLITE3_BIND_INT(stmt, 3, id); sqlite3_step(stmt); sqlite3_finalize(stmt); } if (filter) { GList *list=filter; char tmp[64]; char include[2048] = {0}; g_strlcat(include,"num not in (", 2048); do { if(list!=g_list_first(list)) g_strlcat(include, ",", 2048); sprintf(tmp, "%ld", (long int)list->data); g_strlcat(include, tmp, 2048); } while ((list=g_list_next(list))); g_strlcat(include,")", 2048); char query[4096]= {0}; sprintf(query,"delete from style_items where styleid=?1 and %s", include); DT_DEBUG_SQLITE3_PREPARE_V2(dt_database_get(darktable.db), query, -1, &stmt, NULL); DT_DEBUG_SQLITE3_BIND_INT(stmt, 1, id); sqlite3_step(stmt); sqlite3_finalize(stmt); } /* backup style to disk */ char stylesdir[1024]; dt_loc_get_user_config_dir(stylesdir, 1024); g_strlcat(stylesdir,"/styles",1024); g_mkdir_with_parents(stylesdir,00755); dt_styles_save_to_file(newname,stylesdir,TRUE); /* delete old accelerator and create a new one */ //TODO: sould better use dt_accel_rename_global() to keep the old accel_key untouched, but it seems to be buggy if (g_strcmp0(name, newname)) { char tmp_accel[1024]; snprintf(tmp_accel, 1024, "styles/Apply %s", name); dt_accel_deregister_global(tmp_accel); gchar* tmp_name = g_strdup(newname); // freed by _destro_style_shortcut_callback snprintf(tmp_accel, 1024, "styles/Apply %s", newname); dt_accel_register_global( tmp_accel, 0, 0); GClosure *closure; closure = g_cclosure_new( G_CALLBACK(_apply_style_shortcut_callback), tmp_name, _destroy_style_shortcut_callback); dt_accel_connect_global(tmp_accel, closure); } g_free(desc);}
开发者ID:ksyz,项目名称:darktable,代码行数:74,
示例14: settings_window_createvoid settings_window_create (void) { if(win_set_main != NULL) { gtk_widget_hide(win_set_main); gtk_widget_show(win_set_main); return; } GtkWidget *vbox_set_m, *hbox_set_m, *but_set_close, *but_set_save, *but_set_reset; GtkWidget *nb_set_m, *lab_e, *vbox_nb_up, *vbox_nb_um, *vbox_nb_uq; GtkWidget *hbox_um_s, *grid_uq, *grid_up, *grid_um; win_set_main = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(win_set_main), "Pomf it! - Settings"); g_signal_connect(win_set_main, "destroy", G_CALLBACK(settings_window_destroy), NULL); gtk_container_set_border_width(GTK_CONTAINER(win_set_main), 10); gtk_window_resize(GTK_WINDOW(win_set_main), 320, 200); gtk_window_set_position(GTK_WINDOW(win_set_main), GTK_WIN_POS_CENTER); vbox_set_m = gtk_box_new(GTK_ORIENTATION_VERTICAL , 0); gtk_container_add(GTK_CONTAINER(win_set_main), vbox_set_m); nb_set_m = gtk_notebook_new(); gtk_container_add(GTK_CONTAINER(vbox_set_m),nb_set_m); vbox_nb_up = gtk_box_new(GTK_ORIENTATION_VERTICAL , 0); gtk_container_add(GTK_CONTAINER(nb_set_m), vbox_nb_up); lab_e = gtk_label_new("Uploader"); g_object_set(G_OBJECT(lab_e), "can-focus", FALSE, NULL); gtk_notebook_set_tab_label(GTK_NOTEBOOK(nb_set_m), gtk_notebook_get_nth_page(GTK_NOTEBOOK(nb_set_m), 0),lab_e); vbox_nb_um = gtk_box_new(GTK_ORIENTATION_VERTICAL , 0); gtk_container_add(GTK_CONTAINER(nb_set_m), vbox_nb_um); lab_e = gtk_label_new("Manager"); g_object_set(G_OBJECT(lab_e), "can-focus", FALSE, NULL); gtk_notebook_set_tab_label(GTK_NOTEBOOK(nb_set_m), gtk_notebook_get_nth_page(GTK_NOTEBOOK(nb_set_m), 1),lab_e); vbox_nb_uq = gtk_box_new(GTK_ORIENTATION_VERTICAL , 0); gtk_container_add(GTK_CONTAINER(nb_set_m), vbox_nb_uq); lab_e = gtk_label_new("Queue"); g_object_set(G_OBJECT(lab_e), "can-focus", FALSE, NULL); gtk_notebook_set_tab_label(GTK_NOTEBOOK(nb_set_m), gtk_notebook_get_nth_page(GTK_NOTEBOOK(nb_set_m), 2),lab_e); grid_up = gtk_grid_new (); gtk_box_pack_start(GTK_BOX(vbox_nb_up), grid_up , FALSE, FALSE, 0); lab_e = gtk_label_new("Profiles: "); gtk_grid_attach (GTK_GRID (grid_up),lab_e, 0, 0, 2, 1); com_upm_pl = gtk_combo_box_text_new(); gtk_grid_attach (GTK_GRID (grid_up),com_upm_pl, 2, 0, 2, 1); profiles_combo_fill(); hbox_um_s = gtk_box_new(GTK_ORIENTATION_HORIZONTAL , 0); gtk_grid_attach (GTK_GRID (grid_up),hbox_um_s, 4, 0, 4, 1); GtkWidget *but_up_act = gtk_button_new_with_label("Activate"); g_signal_connect(but_up_act,"clicked",G_CALLBACK(profiles_profile_activate), NULL); gtk_box_pack_start(GTK_BOX(hbox_um_s),GTK_WIDGET(but_up_act),TRUE,TRUE,0); GtkWidget *but_up_edit = gtk_button_new_with_label("Edit"); g_signal_connect(but_up_edit,"clicked",G_CALLBACK(profiles_profile_edit), NULL); gtk_box_pack_start(GTK_BOX(hbox_um_s),GTK_WIDGET(but_up_edit),TRUE,TRUE,0); hbox_um_s = gtk_box_new(GTK_ORIENTATION_HORIZONTAL , 0); gtk_grid_attach (GTK_GRID (grid_up),hbox_um_s, 8, 0, 4, 1); GtkWidget *but_up_add = gtk_button_new_with_label("Add New"); g_signal_connect(but_up_add,"clicked",G_CALLBACK(profiles_window_create), NULL); gtk_box_pack_end(GTK_BOX(hbox_um_s),GTK_WIDGET(but_up_add),TRUE,FALSE,0); GtkWidget *but_up_del = gtk_button_new_with_label("Delete"); g_signal_connect(but_up_del,"clicked",G_CALLBACK(profiles_profile_delete), NULL); gtk_box_pack_start(GTK_BOX(hbox_um_s),GTK_WIDGET(but_up_del),TRUE,FALSE,0); lab_e = gtk_label_new("Active Profile:"); gtk_grid_attach (GTK_GRID (grid_up),lab_e, 0, 1, 2, 1); lab_profile = gtk_label_new("none"); gtk_grid_attach (GTK_GRID (grid_up),lab_profile, 2, 1, 2, 1); lab_e = gtk_label_new("Keep SS:"); gtk_grid_attach (GTK_GRID (grid_up),lab_e, 4, 1, 2, 1); sw_up_kss = gtk_switch_new(); gtk_grid_attach (GTK_GRID (grid_up),sw_up_kss, 6, 1, 2, 1); grid_um = gtk_grid_new (); gtk_box_pack_start(GTK_BOX(vbox_nb_um), grid_um , FALSE, FALSE, 0); lab_e = gtk_label_new("Picture Preview:"); gtk_grid_attach (GTK_GRID (grid_um),lab_e, 0, 0, 2, 1); sw_um_pp = gtk_switch_new(); gtk_grid_attach (GTK_GRID (grid_um),sw_um_pp, 2, 0, 2, 1); lab_e = gtk_label_new("Window Size:");//.........这里部分代码省略.........
开发者ID:BucketPW,项目名称:pomfit,代码行数:101,
示例15: gimp_batch_runvoidgimp_batch_run (Gimp *gimp, const gchar *batch_interpreter, const gchar **batch_commands){ gulong exit_id; if (! batch_commands || ! batch_commands[0]) return; exit_id = g_signal_connect_after (gimp, "exit", G_CALLBACK (gimp_batch_exit_after_callback), NULL); if (! batch_interpreter) { batch_interpreter = g_getenv ("GIMP_BATCH_INTERPRETER"); if (! batch_interpreter) { batch_interpreter = BATCH_DEFAULT_EVAL_PROC; if (gimp->be_verbose) g_printerr (_("No batch interpreter specified, using the default " "'%s'./n"), batch_interpreter); } } /* script-fu text console, hardcoded for backward compatibility */ if (strcmp (batch_interpreter, "plug-in-script-fu-eval") == 0 && strcmp (batch_commands[0], "-") == 0) { const gchar *proc_name = "plug-in-script-fu-text-console"; GimpProcedure *procedure = gimp_pdb_lookup_procedure (gimp->pdb, proc_name); if (procedure) gimp_batch_run_cmd (gimp, proc_name, procedure, GIMP_RUN_NONINTERACTIVE, NULL); else g_message (_("The batch interpreter '%s' is not available. " "Batch mode disabled."), proc_name); } else { GimpProcedure *eval_proc = gimp_pdb_lookup_procedure (gimp->pdb, batch_interpreter); if (eval_proc) { gint i; for (i = 0; batch_commands[i]; i++) gimp_batch_run_cmd (gimp, batch_interpreter, eval_proc, GIMP_RUN_NONINTERACTIVE, batch_commands[i]); } else { g_message (_("The batch interpreter '%s' is not available. " "Batch mode disabled."), batch_interpreter); } } g_signal_handler_disconnect (gimp, exit_id);}
开发者ID:netenhui,项目名称:gimp,代码行数:66,
示例16: gnibbles_preferences_cbvoidgnibbles_preferences_cb (GtkWidget * widget, gpointer data){ GtkWidget *notebook; GtkWidget *label; GtkWidget *frame; GtkWidget *button; GtkWidget *levelspinner; GtkWidget *vbox, *vbox2; GtkObject *adjustment; GtkWidget *label2; GtkWidget *table, *table2; GtkWidget *omenu; GtkWidget *controls; gchar *buffer; gint i; gint running = 0; if (pref_dialog) { gtk_window_present (GTK_WINDOW (pref_dialog)); return; } if (!paused) { unpause = 1; pause_game_cb (NULL, 0); } if (game_running ()) running = 1; pref_dialog = gtk_dialog_new_with_buttons (_("Nibbles Preferences"), GTK_WINDOW (window), 0, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL); gtk_dialog_set_has_separator (GTK_DIALOG (pref_dialog), FALSE); gtk_container_set_border_width (GTK_CONTAINER (pref_dialog), 5); gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (pref_dialog)->vbox), 2); notebook = gtk_notebook_new (); gtk_container_set_border_width (GTK_CONTAINER (notebook), 5); gtk_container_add (GTK_CONTAINER (GTK_DIALOG (pref_dialog)->vbox), notebook); label = gtk_label_new (_("Game")); table = gtk_table_new (1, 2, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 18); gtk_container_set_border_width (GTK_CONTAINER (table), 12); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), table, label); frame = games_frame_new (_("Speed")); if (running) gtk_widget_set_sensitive (frame, FALSE); gtk_table_attach (GTK_TABLE (table), frame, 0, 1, 0, 1, 0, GTK_FILL | GTK_EXPAND, 0, 0); vbox = gtk_vbox_new (FALSE, 6); gtk_container_add (GTK_CONTAINER (frame), vbox); button = gtk_radio_button_new_with_label (NULL, _("Nibbles newbie")); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); if (properties->gamespeed == 4) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); g_signal_connect (GTK_OBJECT (button), "toggled", G_CALLBACK (game_speed_cb), (gpointer) 4); button = gtk_radio_button_new_with_label (gtk_radio_button_get_group (GTK_RADIO_BUTTON (button)), _("My second day")); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); if (properties->gamespeed == 3) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); g_signal_connect (GTK_OBJECT (button), "toggled", G_CALLBACK (game_speed_cb), (gpointer) 3); button = gtk_radio_button_new_with_label (gtk_radio_button_get_group (GTK_RADIO_BUTTON (button)), _("Not too shabby")); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); if (properties->gamespeed == 2) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); g_signal_connect (GTK_OBJECT (button), "toggled", G_CALLBACK (game_speed_cb), (gpointer) 2); button = gtk_radio_button_new_with_label (gtk_radio_button_get_group (GTK_RADIO_BUTTON (button)), _("Finger-twitching good")); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); if (properties->gamespeed == 1) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); g_signal_connect (GTK_OBJECT (button), "toggled", G_CALLBACK (game_speed_cb), (gpointer) 1);//.........这里部分代码省略.........
开发者ID:guillaumebel,项目名称:nibbles-clutter,代码行数:101,
示例17: test_text_mainG_MODULE_EXPORT ginttest_text_main (gint argc, gchar **argv){ ClutterActor *stage; ClutterActor *text, *text2; ClutterColor text_color = { 0x33, 0xff, 0x33, 0xff }; ClutterColor cursor_color = { 0xff, 0x33, 0x33, 0xff }; ClutterTextBuffer *buffer; if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS) return 1; stage = clutter_stage_new (); clutter_stage_set_title (CLUTTER_STAGE (stage), "Text Editing"); clutter_actor_set_background_color (stage, CLUTTER_COLOR_Black); g_signal_connect (stage, "destroy", G_CALLBACK (clutter_main_quit), NULL); buffer = clutter_text_buffer_new_with_text (" C++ G_CHILD_ADD函数代码示例 C++ G_Alloc函数代码示例
|