#include "view_edit.h" edit_window *edit_widgets = NULL; edit_window *edit_setup_window(char* glade_path){ if (edit_widgets == NULL) { edit_widgets = malloc(sizeof(edit_window)); GtkBuilder *builder = gtk_builder_new_from_file(glade_path); edit_widgets->Window = yon_gtk_builder_get_widget(builder,"wndQuotasEdit"); edit_widgets->btnEditCancel = yon_gtk_builder_get_widget(builder,"btnEditCancel"); edit_widgets->btnSaveEditSave = yon_gtk_builder_get_widget(builder,"btnSaveEditSave"); edit_event(edit_widgets); } return edit_widgets; } void edit_event(edit_window *widgets) { g_signal_connect(G_OBJECT(widgets->btnEditCancel),"clicked",G_CALLBACK(edit_on_hide_subwindow),NULL); g_signal_connect(G_OBJECT(widgets->Window), "destroy", G_CALLBACK(edit_destroy), NULL); } void edit_destroy(GtkWidget *self) { edit_widgets = NULL; } void edit_localization(edit_window *widgets) { } void edit_on_hide_subwindow(GtkWidget *self) { gtk_widget_destroy(gtk_widget_get_toplevel(self)); edit_widgets = NULL; } edit_window *get_widget_edit() { return edit_widgets; } void edit_show(GtkWidget *self, char* glade_path) { if (edit_widgets != NULL) { gtk_widget_show_all(edit_widgets->Window); } else { edit_setup_window(glade_path); gtk_widget_show_all(edit_widgets->Window); } }