#include <gtk/gtk.h>
#include <gtk/gtkx.h>
#include "model/ubl-utils.h"
#include <locale.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <libintl.h>
#include <getopt.h>
#include <libintl.h>
#include "../compile/ubl-cmake.h"
#include "model/model.h"
#include "model/load.h"
#include "ubl-strings.h"
#include "model/my_device.h"

typedef struct {
    GtkWidget* btnCancel;
    GtkWidget* Window;
    GtkWidget* btnSave;
    GtkWidget* treeViewCheckUsersGroups;
    GtkListStore* liststoreUsersGroups;
    GtkCellRendererToggle* checkColUserGroup;
    GtkWidget* chkActivUsersGroup;
    GtkWidget* lblHeadQuotaUsersGroups;
} table_u_g;

void table_u_g_table_u_g_event(table_u_g *widgets);
void table_u_g_on_hide_subwindow(GtkWidget *self);
table_u_g *table_u_g_get_widget_filters();
void table_u_g_destroy(GtkWidget *self);
void table_u_g_event();
void table_u_g_fill_tree_view(char** array, int size);
void table_u_g_set_flag(char* _flag_u_g, char* _table_u_g_set_add_edit);
void table_u_g_set_glade_path(char* _glade_path);
void table_u_g_show(GtkWidget *self, char* glade_path);
void set_vector(vector* _vec_temp);
vector* get_actors_table(vector* actors);
void table_u_g_get_actors(vector* actors);
void set_actors(vector* actors);
table_u_g* get_widget_table_u_g();
void chk_toggled_user_group(
  GtkCellRendererToggle* self,
  gchar* path,
  gpointer user_data
);
void table_btn_block_save();