static void create_plugin_tab(GtkWidget *tab_vbox) { GtkWidget* tabs; GtkWidget* vbox; GtkWidget* vbox1; GtkWidget* text; gint i; tabs = gtk_notebook_new(); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(tabs), GTK_POS_TOP); gtk_box_pack_start(GTK_BOX(tab_vbox), tabs, TRUE, TRUE, 0); /* -- Options tab -- */ vbox = gkrellm_gtk_framed_notebook_page(tabs, "Options"); /* -- Governor options -- */ vbox1 = gkrellm_gtk_framed_vbox(vbox, "CPUfreq governor", 4, FALSE, 0, 2); gkrellm_gtk_check_button(vbox1, &gov_enable_button, gov_enable, FALSE, 0, "Show governor (see Info tab)"); gkrellm_gtk_check_button(vbox1, &slider_userspace_enable_button, slider_userspace_enable, FALSE, 0, "Set userspace governor when moving slider"); /* -- Slider options -- */ vbox1 = gkrellm_gtk_framed_vbox(vbox, "Slider", 4, FALSE, 0, 2); gkrellm_gtk_check_button(vbox1, &slider_enable_button, slider_enable, FALSE, 0, "Show slider (see Info tab)"); /* -- SMP options -- */ vbox1 = gkrellm_gtk_framed_vbox(vbox, "SMP", 4, FALSE, 0, 2); gkrellm_gtk_check_button(vbox1, &controls_coupled_button, controls_coupled, FALSE, 0, "Couple controls of multiple CPUs"); /* -- Info tab -- */ vbox = gkrellm_gtk_framed_notebook_page(tabs, "Info"); text = gkrellm_gtk_scrolled_text_view(vbox, NULL, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); for (i = 0; i < sizeof(plugin_info_text)/sizeof(gchar *); ++i) gkrellm_gtk_text_view_append(text, plugin_info_text[i]); }
static void create_plugin_tab(GtkWidget *tab_vbox) { Reader *reader; GtkWidget *tabs; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *button; GtkWidget *arrow; GtkWidget *scrolled; GtkWidget *text; GtkWidget *label; gchar *buf[CLIST_WIDTH]; gint row, i; /* Make a couple of tabs. One for setup and one for info */ tabs = gtk_notebook_new(); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(tabs), GTK_POS_TOP); gtk_box_pack_start(GTK_BOX(tab_vbox), tabs, TRUE, TRUE, 0); /* --- Setup tab */ vbox = gkrellm_gtk_framed_notebook_page(tabs, "Setup"); hbox = gtk_hbox_new(FALSE,0); label = gtk_label_new("Label : "); gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0); label_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(label_entry), ""); gtk_box_pack_start(GTK_BOX(hbox),label_entry,FALSE,FALSE,0); label = gtk_label_new("Peer : "); gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0); peer_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(peer_entry), ""); gtk_box_pack_start(GTK_BOX(hbox),peer_entry,FALSE,FALSE,0); label = gtk_label_new("Port : "); gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0); port_spin_adj = gtk_adjustment_new (161, 1, 65535, 1, 10, 10); port_spin = gtk_spin_button_new (GTK_ADJUSTMENT (port_spin_adj), 1, 0); gtk_box_pack_start(GTK_BOX(hbox),port_spin,FALSE,FALSE,0); label = gtk_label_new("Freq : "); gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0); freq_spin_adj = gtk_adjustment_new (100, 10, 6000, 10, 100, 100); freq_spin = gtk_spin_button_new (GTK_ADJUSTMENT (freq_spin_adj), 1, 0); gtk_box_pack_start(GTK_BOX(hbox),freq_spin,FALSE,FALSE,0); gtk_container_add(GTK_CONTAINER(vbox),hbox); hbox = gtk_hbox_new(FALSE,0); label = gtk_label_new("Community : "); gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0); community_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(community_entry), ""); gtk_box_pack_start(GTK_BOX(hbox), community_entry, FALSE, FALSE, 0); label = gtk_label_new("OID : "); gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0); oid_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(oid_entry), ""); gtk_box_pack_start(GTK_BOX(hbox), oid_entry, FALSE, FALSE, 0); label = gtk_label_new("Unit : "); gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0); unit_entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(unit_entry), ""); gtk_box_pack_start(GTK_BOX(hbox),unit_entry,FALSE,FALSE,0); gtk_container_add(GTK_CONTAINER(vbox),hbox); hbox = gtk_hbox_new(FALSE,0); label = gtk_label_new("Divisor : "); gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0); div_spin_adj = gtk_adjustment_new (1, 1, 1024, 1, 1, 1); div_spin = gtk_spin_button_new (GTK_ADJUSTMENT (div_spin_adj), 1, 0); gtk_box_pack_start(GTK_BOX(hbox),div_spin,FALSE,FALSE,0); delta_button = gtk_check_button_new_with_label("Compute delta"); gtk_box_pack_start(GTK_BOX(hbox),delta_button,FALSE,FALSE,0); scale_button = gtk_check_button_new_with_label("Auto scale"); gtk_box_pack_start(GTK_BOX(hbox),scale_button,FALSE,FALSE,0); button = gtk_button_new_with_label("Probe"); gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) cb_probe, NULL); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 4); gtk_container_add(GTK_CONTAINER(vbox),hbox); hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); /* *mount_button = gtk_check_button_new_with_label( "Enable /etc/fstab mounting"); gtk_box_pack_start(GTK_BOX(hbox), *mount_button, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(GTK_BUTTON(*mount_button)), "clicked", GTK_SIGNAL_FUNC (cb_mount_button_clicked), NULL); */ button = gtk_button_new(); arrow = gtk_arrow_new(GTK_ARROW_UP, GTK_SHADOW_ETCHED_OUT); gtk_container_add(GTK_CONTAINER(button), arrow); gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) cb_clist_up, NULL); gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 4); button = gtk_button_new(); arrow = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_ETCHED_OUT); gtk_container_add(GTK_CONTAINER(button), arrow); gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) cb_clist_down, NULL); gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 4); button = gtk_button_new_with_label("Enter"); gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) cb_enter, NULL); gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 4); button = gtk_button_new_with_label("Delete"); gtk_signal_connect(GTK_OBJECT(button), "clicked", (GtkSignalFunc) cb_delete, NULL); gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 4); scrolled = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start(GTK_BOX(vbox), scrolled, TRUE, TRUE, 0); reader_clist = gtk_clist_new_with_titles(CLIST_WIDTH, reader_title); gtk_clist_set_shadow_type (GTK_CLIST(reader_clist), GTK_SHADOW_OUT); gtk_clist_set_column_width (GTK_CLIST(reader_clist), 1, 100); gtk_clist_set_column_width (GTK_CLIST(reader_clist), 4, 100); gtk_signal_connect(GTK_OBJECT(reader_clist), "select_row", (GtkSignalFunc) cb_clist_selected, NULL); gtk_signal_connect(GTK_OBJECT(reader_clist), "unselect_row", (GtkSignalFunc) cb_clist_unselected, NULL); gtk_container_add(GTK_CONTAINER(scrolled), reader_clist); for (reader = readers; reader; reader = reader->next) { i = 0; buf[i++] = reader->label; buf[i++] = reader->peer; buf[i++] = g_strdup_printf("%d", reader->port); buf[i++] = reader->community; buf[i++] = reader->oid_str; buf[i++] = reader->unit; buf[i++] = g_strdup_printf("%d", reader->delay); buf[i++] = g_strdup_printf("%d", reader->divisor); buf[i++] = reader->delta ? "yes" : "no"; buf[i++] = reader->scale ? "yes" : "no"; buf[i++] = reader->active ? "yes" : "no"; row = gtk_clist_append(GTK_CLIST(reader_clist), buf); } /* --- Info tab */ vbox = gkrellm_gtk_framed_notebook_page(tabs, "Info"); // scrolled = gtk_scrolled_window_new(NULL, NULL); // gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), // GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); // gtk_box_pack_start(GTK_BOX(vbox), scrolled, TRUE, TRUE, 0); // text = gtk_text_new(NULL, NULL); text = gkrellm_gtk_scrolled_text_view(vbox, NULL, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); // gtk_text_insert(GTK_TEXT(text), NULL, NULL, NULL, plugin_info_text, -1); gkrellm_gtk_text_view_append(text, plugin_info_text); // gtk_text_set_editable(GTK_TEXT(text), FALSE); // gtk_container_add(GTK_CONTAINER(scrolled), text); /* --- about text */ text = gtk_label_new(plugin_about_text); gtk_notebook_append_page(GTK_NOTEBOOK(tabs), text, gtk_label_new("About")); }
void gkrellm_plugins_config_create(GtkWidget *tab_vbox) { GtkWidget *tabs; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *scrolled; GtkWidget *view; GtkTreeModel *model; GtkCellRenderer *renderer; GtkTreeSelection *selection; GtkTreeViewColumn *column; GtkTextIter iter; GtkTextBuffer *buffer; row_reference = NULL; tabs = gtk_notebook_new(); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(tabs), GTK_POS_TOP); gtk_box_pack_start(GTK_BOX(tab_vbox), tabs, TRUE, TRUE, 0); /* -- Plugins tab */ vbox = gkrellm_gtk_framed_notebook_page(tabs, _("Plugins")); scrolled = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start(GTK_BOX(vbox), scrolled, TRUE, TRUE, 2); model = create_model(); treeview = GTK_TREE_VIEW(gtk_tree_view_new_with_model(model)); g_object_unref(G_OBJECT(model)); gtk_tree_view_set_rules_hint(treeview, TRUE); renderer = gtk_cell_renderer_toggle_new(); gtk_tree_view_insert_column_with_attributes(treeview, -1, _("Enable"), renderer, "active", ENABLE_COLUMN, NULL); g_signal_connect (G_OBJECT(renderer), "toggled", G_CALLBACK(cb_enable_plugin), model); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes (_("Plugin"), renderer, "text", NAME_COLUMN, NULL); gtk_tree_view_append_column(treeview, column); gtk_tree_view_column_set_sort_column_id(column, NAME_COLUMN); gtk_tree_view_column_clicked(column); /* Sort it */ /* gtk_tree_sortable_set_sort_column_id(model, NAME_COLUMN, GTK_ORDER_ASCENDING); */ gtk_container_add(GTK_CONTAINER(scrolled), GTK_WIDGET(treeview)); selection = gtk_tree_view_get_selection(treeview); gtk_tree_selection_set_mode(selection, GTK_SELECTION_SINGLE); g_signal_connect(G_OBJECT(selection), "changed", G_CALLBACK(cb_tree_selection_changed), NULL); hbox = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(hbox), GTK_BUTTONBOX_START); gtk_box_set_spacing(GTK_BOX(hbox), 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2); place_button = gtk_button_new_with_label(_("Place")); gtk_box_pack_start(GTK_BOX(hbox), place_button, TRUE, TRUE, 0); g_signal_connect(G_OBJECT(GTK_BUTTON(place_button)), "clicked", G_CALLBACK(cb_place_button), NULL); gtk_widget_set_sensitive(place_button, FALSE); /* --Plugins detect log tab */ vbox = gkrellm_gtk_framed_notebook_page(tabs, _("Install Log")); view = gkrellm_gtk_scrolled_text_view(vbox, NULL, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); gtk_text_buffer_get_end_iter(buffer, &iter); if (plugin_install_log) gtk_text_buffer_insert(buffer, &iter, plugin_install_log, -1); else gtk_text_buffer_insert(buffer, &iter, _("No plugins found."), -1); }
static void create_proc_tab(GtkWidget *tab_vbox) { GtkWidget *tabs, *table, *vbox, *vbox1, *hbox, *text, *label; gint i; tabs = gtk_notebook_new(); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(tabs), GTK_POS_TOP); gtk_box_pack_start(GTK_BOX(tab_vbox), tabs, TRUE, TRUE, 0); /* ---Options tab */ vbox = gkrellm_gtk_framed_notebook_page(tabs, _("Options")); gkrellm_gtk_check_button_connected(vbox, NULL, proc.enabled, FALSE, FALSE, 4, cb_enable, NULL, _("Enable Proc chart")); if (gkrellm_sensors_available()) gkrellm_gtk_check_button_connected(vbox, NULL, sensor_separate_mode, FALSE, FALSE, 0, cb_sensor_separate, NULL, _("Draw fan and temperature values separately (not alternating).")); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, TRUE, 5); gkrellm_gtk_alert_button(hbox, &processes_alert_button, FALSE, FALSE, 4, TRUE, cb_processes_alert, NULL); label = gtk_label_new(_("Processes")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 4); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, TRUE, 5); gkrellm_gtk_alert_button(hbox, &users_alert_button, FALSE, FALSE, 4, TRUE, cb_users_alert, NULL); label = gtk_label_new(_("Users")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 4); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, TRUE, 5); gkrellm_gtk_alert_button(hbox, &load_alert_button, FALSE, FALSE, 4, TRUE, cb_load_alert, NULL); label = gtk_label_new(_("Load")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 4); if (!proc.enabled) { gtk_widget_set_sensitive(load_alert_button, FALSE); gtk_widget_set_sensitive(users_alert_button, FALSE); gtk_widget_set_sensitive(processes_alert_button, FALSE); } vbox = gkrellm_gtk_framed_notebook_page(tabs, _("Setup")); vbox1 = gkrellm_gtk_category_vbox(vbox, _("Format String for Chart Labels"), 4, 0, TRUE); text_format_combo_box = gtk_combo_box_entry_new_text(); gtk_widget_set_size_request (GTK_WIDGET(text_format_combo_box), 350, -1); gtk_box_pack_start(GTK_BOX(vbox1), text_format_combo_box, FALSE, FALSE, 2); gtk_combo_box_append_text(GTK_COMBO_BOX(text_format_combo_box), text_format); gtk_combo_box_append_text(GTK_COMBO_BOX(text_format_combo_box), _(DEFAULT_TEXT_FORMAT)); gtk_combo_box_append_text(GTK_COMBO_BOX(text_format_combo_box), _("\\f$L\\r\\f$F \\w88\\b\\p\\a$p\\f procs\\n\\e$u\\f users")); gtk_combo_box_set_active(GTK_COMBO_BOX(text_format_combo_box), 0); g_signal_connect(G_OBJECT(GTK_COMBO_BOX(text_format_combo_box)), "changed", G_CALLBACK(cb_text_format), NULL); vbox1 = gkrellm_gtk_category_vbox(vbox, _("Launch Commands"), 4, 0, TRUE); table = gkrellm_gtk_launcher_table_new(vbox1, 1); gkrellm_gtk_config_launcher(table, 0, &proc_launch_entry, &proc_tooltip_entry, _("Proc"), &proc_launch); g_signal_connect(G_OBJECT(proc_launch_entry), "changed", G_CALLBACK(cb_launch_entry), NULL); g_signal_connect(G_OBJECT(proc_tooltip_entry), "changed", G_CALLBACK(cb_launch_entry), NULL); /* --Info tab */ vbox = gkrellm_gtk_framed_notebook_page(tabs, _("Info")); text = gkrellm_gtk_scrolled_text_view(vbox, NULL, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); for (i = 0; i < sizeof(proc_info_text)/sizeof(gchar *); ++i) gkrellm_gtk_text_view_append(text, _(proc_info_text[i])); }