#include "view_add.h" add_window *add_widgets = NULL; add_window *add_setup_window(char* glade_path) { if (add_widgets == NULL) { add_widgets = malloc(sizeof(add_window)); GtkBuilder *builder = gtk_builder_new_from_file(glade_path); add_widgets->Window = yon_gtk_builder_get_widget(builder,"wndQuotasAdding"); add_widgets->btnSaveAddSave = yon_gtk_builder_get_widget(builder,"btnSaveAddSave"); add_widgets->btnAddCancel = yon_gtk_builder_get_widget(builder,"btnAddCancel"); add_widgets->lblCPULimitAdd = yon_gtk_builder_get_widget(builder,"lblCPULimitAdd"); add_widgets->spinCPULimitAdd = yon_gtk_builder_get_widget(builder,"spinCPULimitAdd"); add_widgets->chkCPULimitAdd = yon_gtk_builder_get_widget(builder,"chkCPULimitAdd"); add_widgets->chkPaddingFLAdd = yon_gtk_builder_get_widget(builder,"chkPaddingFLAdd"); add_widgets->spinPaddingFLAdd = yon_gtk_builder_get_widget(builder,"spinPaddingFLAdd"); add_widgets->cmbPaddingFLAdd = yon_gtk_builder_get_widget(builder,"cmbPaddingFLAdd"); add_widgets->chkSevereRestrictionAdd = yon_gtk_builder_get_widget(builder,"chkSevereRestrictionAdd"); add_widgets->spinSevereRestrictionAdd = yon_gtk_builder_get_widget(builder,"spinSevereRestrictionAdd"); add_widgets->cmbSevereRestrictionAdd = yon_gtk_builder_get_widget(builder,"cmbSevereRestrictionAdd"); add_widgets->chkSoftRestrictionAdd = yon_gtk_builder_get_widget(builder,"chkSoftRestrictionAdd"); add_widgets->spiSevereRestrictionAdd = yon_gtk_builder_get_widget(builder,"spiSevereRestrictionAdd"); add_widgets->cmSevereRestrictionAdd = yon_gtk_builder_get_widget(builder,"cmSevereRestrictionAdd"); add_widgets->chbAddRead = yon_gtk_builder_get_widget(builder,"chbAddRead"); add_widgets->spinAddRead = yon_gtk_builder_get_widget(builder,"spinAddRead"); add_widgets->cbtAddRead = yon_gtk_builder_get_widget(builder,"cbtAddRead"); add_widgets->spinAddWrite = yon_gtk_builder_get_widget(builder,"spinAddWrite"); add_widgets->chbAddWrite = yon_gtk_builder_get_widget(builder,"chbAddWrite"); add_widgets->cbtAddWrite = yon_gtk_builder_get_widget(builder,"cbtAddWrite"); add_event(add_widgets); add_init_windows(); add_localization(add_widgets); } return add_widgets; } void add_init_windows() { add_set_active_widgets(add_widgets->chkSoftRestrictionAdd, add_widgets->spiSevereRestrictionAdd, add_widgets->cmSevereRestrictionAdd); add_set_active_widgets(add_widgets->chkSevereRestrictionAdd, add_widgets->spinSevereRestrictionAdd, add_widgets->cmbSevereRestrictionAdd); add_set_active_widgets(add_widgets->chkPaddingFLAdd, add_widgets->spinPaddingFLAdd, add_widgets->cmbPaddingFLAdd); add_set_active_widgets(add_widgets->chkCPULimitAdd, add_widgets->spinCPULimitAdd, add_widgets->lblCPULimitAdd); add_set_active_widgets(add_widgets->chbAddWrite, add_widgets->spinAddWrite, add_widgets->cbtAddWrite); add_set_active_widgets(add_widgets->chbAddRead, add_widgets->spinAddRead, add_widgets->cbtAddRead); } void add_event(add_window *widgets) { g_signal_connect(G_OBJECT(widgets->btnAddCancel),"clicked",G_CALLBACK(add_on_hide_subwindow),NULL); g_signal_connect(G_OBJECT(widgets->Window), "destroy", G_CALLBACK(add_destroy), NULL); g_signal_connect(G_OBJECT(widgets->chkSoftRestrictionAdd), "toggled", G_CALLBACK(add_init_windows), NULL); g_signal_connect(G_OBJECT(widgets->chkSevereRestrictionAdd), "toggled", G_CALLBACK(add_init_windows), NULL); g_signal_connect(G_OBJECT(widgets->chkPaddingFLAdd), "toggled", G_CALLBACK(add_init_windows), NULL); g_signal_connect(G_OBJECT(widgets->chkCPULimitAdd), "toggled", G_CALLBACK(add_init_windows), NULL); g_signal_connect(G_OBJECT(widgets->chbAddRead), "toggled", G_CALLBACK(add_init_windows), NULL); g_signal_connect(G_OBJECT(widgets->chbAddWrite), "toggled", G_CALLBACK(add_init_windows), NULL); } void add_destroy(GtkWidget *self) { add_widgets = NULL; } void add_set_active_widgets(GtkWidget *self, GtkWidget *entry, GtkWidget *label) { gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self)); gtk_widget_set_sensitive(entry, active); gtk_widget_set_sensitive(label, active); } void add_localization(add_window *widgets) { } void add_on_hide_subwindow(GtkWidget *self) { gtk_widget_destroy(gtk_widget_get_toplevel(self)); add_widgets = NULL; } add_window *get_widget_add() { return add_widgets; } void add_show(GtkWidget *self, char* glade_path) { if (add_widgets != NULL) { gtk_widget_show_all(add_widgets->Window); } else { add_setup_window(glade_path); gtk_widget_show_all(add_widgets->Window); } }