int main (int argc, char **argv) { GtkWidget *window, *vbox, *frame, *swtch, *swtch2, *toggle, *vbox2; gboolean is_active = FALSE; gtk_init (&argc, &argv); if (argc > 1) is_active = atoi (argv[1]); g_debug ("setting switch to '%d'", is_active); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size (GTK_WINDOW (window), 320, 240); vbox = gtk_vbox_new (FALSE, 12); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add (GTK_CONTAINER (window), vbox); frame = mx_gtk_frame_new (); gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 10); gtk_frame_set_label (GTK_FRAME (frame), "Frame Title"); vbox2 = gtk_vbox_new (FALSE, 12); gtk_container_set_border_width (GTK_CONTAINER (vbox2), 10); gtk_container_add (GTK_CONTAINER (frame), vbox2); swtch = mx_gtk_light_switch_new (); mx_gtk_light_switch_set_active (MX_GTK_LIGHT_SWITCH (swtch), is_active); gtk_container_add (GTK_CONTAINER (vbox2), swtch); swtch2 = mx_gtk_light_switch_new (); gtk_widget_set_sensitive (swtch2, FALSE); mx_gtk_light_switch_set_active (MX_GTK_LIGHT_SWITCH (swtch2), is_active); gtk_container_add (GTK_CONTAINER (vbox2), swtch2); frame = gtk_alignment_new (0, 0, 0, 0); gtk_alignment_set_padding (GTK_ALIGNMENT (frame), 10, 10, 10, 10); gtk_container_add (GTK_CONTAINER (vbox), frame); toggle = gtk_toggle_button_new_with_label ("Toggle"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), is_active); gtk_container_add (GTK_CONTAINER (frame), toggle); g_signal_connect (toggle, "toggled", G_CALLBACK (_toggle_cb), swtch); gtk_widget_show_all (window); g_signal_connect (window, "delete-event", gtk_main_quit, NULL); gtk_main (); return 0; }
static void nmn_applet_init (NmnApplet *applet) { NmnAppletPrivate *priv = GET_PRIVATE (applet); GtkWidget *w; GtkWidget *vbox; GtkWidget *frame; GtkWidget *table; const char *markup_str; char *label; gtk_notebook_set_show_tabs (GTK_NOTEBOOK (applet), FALSE); priv->pane = gtk_hbox_new (FALSE, 6); gtk_container_set_border_width (GTK_CONTAINER (priv->pane), 6); gtk_notebook_append_page (GTK_NOTEBOOK (applet), priv->pane, NULL); /* left side (Networks list, add new connection button) */ vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (priv->pane), vbox, TRUE, TRUE, 0); frame = mx_gtk_frame_new (); gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0); priv->add_new_connection = gtk_button_new_with_label (_("Add new connection")); gtk_box_pack_start (GTK_BOX (vbox), priv->add_new_connection, FALSE, FALSE, 0); vbox = gtk_vbox_new (FALSE, 6); gtk_container_add (GTK_CONTAINER (frame), vbox); label = g_strdup_printf ("<span font_desc=\"Sans Bold 18\" foreground=\"#3e3e3e\">%s</span>", _("Networks")); w = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (w), label); g_free (label); gtk_misc_set_alignment (GTK_MISC (w), 0.0, 0.5); gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 0); w = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (w), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); priv->list = nmn_list_new (); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (w), priv->list); gtk_widget_show (priv->list); gtk_box_pack_start (GTK_BOX (vbox), w, TRUE, TRUE, 0); /* Right side, switches */ vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (priv->pane), vbox, FALSE, FALSE, 0); frame = mx_gtk_frame_new (); gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0); w = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (frame), w); table = gtk_table_new (5, 2, FALSE); priv->switches_table = table; gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_container_set_border_width (GTK_CONTAINER (table), 6); gtk_box_pack_start (GTK_BOX (w), table, FALSE, FALSE, 0); markup_str = "<span font_desc=\"Sans Bold 12\" foreground=\"#3e3e3e\">%s</span>"; w = gtk_label_new (NULL); label = g_strdup_printf (markup_str, _("WiFi")); gtk_label_set_markup (GTK_LABEL (w), label); g_free (label); priv->enable_wifi_label = w; gtk_misc_set_alignment (GTK_MISC (w), 0.2, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), w, 0, 1, SWITCHES_ROW_WIFI, SWITCHES_ROW_WIFI + 1); priv->enable_wifi = mx_gtk_light_switch_new (); gtk_table_attach_defaults (GTK_TABLE (table), priv->enable_wifi, 1, 2, SWITCHES_ROW_WIFI, SWITCHES_ROW_WIFI + 1); w = gtk_label_new (NULL); label = g_strdup_printf (markup_str, _("Wired")); gtk_label_set_markup (GTK_LABEL (w), label); g_free (label); priv->enable_ethernet_label = w; gtk_misc_set_alignment (GTK_MISC (w), 0.2, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), w, 0, 1, SWITCHES_ROW_ETHERNET, SWITCHES_ROW_ETHERNET + 1); priv->enable_ethernet = mx_gtk_light_switch_new (); gtk_table_attach_defaults (GTK_TABLE (table), priv->enable_ethernet, 1, 2, SWITCHES_ROW_ETHERNET, SWITCHES_ROW_ETHERNET + 1); w = gtk_label_new (NULL); label = g_strdup_printf (markup_str, _("3G")); gtk_label_set_markup (GTK_LABEL (w), label); g_free (label); priv->enable_3g_label = w; gtk_misc_set_alignment (GTK_MISC (w), 0.2, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), w, 0, 1, SWITCHES_ROW_3G, SWITCHES_ROW_3G + 1); priv->enable_3g = mx_gtk_light_switch_new (); gtk_table_attach_defaults (GTK_TABLE (table), priv->enable_3g, 1, 2, SWITCHES_ROW_3G, SWITCHES_ROW_3G + 1); w = gtk_label_new (NULL); label = g_strdup_printf (markup_str, _("WiMAX")); gtk_label_set_markup (GTK_LABEL (w), label); g_free (label); priv->enable_wimax_label = w; gtk_misc_set_alignment (GTK_MISC (w), 0.2, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), w, 0, 1, SWITCHES_ROW_WIMAX, SWITCHES_ROW_WIMAX + 1); priv->enable_wimax = mx_gtk_light_switch_new (); gtk_table_attach_defaults (GTK_TABLE (table), priv->enable_wimax, 1, 2, SWITCHES_ROW_WIMAX, SWITCHES_ROW_WIMAX + 1); w = gtk_label_new (NULL); label = g_strdup_printf (markup_str, _("Bluetooth")); gtk_label_set_markup (GTK_LABEL (w), label); g_free (label); priv->enable_bt_label = w; gtk_misc_set_alignment (GTK_MISC (w), 0.2, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), w, 0, 1, SWITCHES_ROW_BT, SWITCHES_ROW_BT + 1); priv->enable_bt = mx_gtk_light_switch_new (); gtk_table_attach_defaults (GTK_TABLE (table), priv->enable_bt, 1, 2, SWITCHES_ROW_BT, SWITCHES_ROW_BT + 1); frame = mx_gtk_frame_new (); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); table = gtk_table_new (2, 2, TRUE); gtk_container_add (GTK_CONTAINER (frame), table); w = gtk_label_new (NULL); label = g_strdup_printf (markup_str, _("Offline mode")); gtk_label_set_markup (GTK_LABEL (w), label); g_free (label); gtk_misc_set_alignment (GTK_MISC (w), 0.2, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), w, 0, 1, 0, 1); priv->enable_network = mx_gtk_light_switch_new (); gtk_table_attach_defaults (GTK_TABLE (table), priv->enable_network, 1, 2, 0, 1); w = gtk_label_new (_("This will disable all your connections")); gtk_table_attach_defaults (GTK_TABLE (table), w, 0, 2, 1, 2); gtk_widget_show_all (priv->pane); }