#ifndef VIEW_SET_USER_GROUP_H
#define VIEW_SET_USER_GROUP_H
#include "../project_lib.h"
#include "../var.h"

using namespace std;
class View_add_user_group
{
private:
    string str_path_glade;
private:
    Glib::RefPtr<Gtk::Builder> builder;
    Gtk::Label* lblSetDevice;
    Gtk::Label* lblQuotasStatus;
    Gtk::Label* lblSetUGP;
    Gtk::Label* lblSetNameDevice;
    Gtk::Label* lblSetQuotasStatus;
    Gtk::ComboBoxText* cmbSetNameUGP;
    Gtk::Label *quotegroupSizeFrameLabel;
    Gtk::Label *quotegroupSizeCurrentlyLabel;
    Gtk::Label *quoteSizeHardLimitLabel;
    Gtk::Label *quotegroupFilesFrameLabel;
    Gtk::Label *quotegroupFilesCurrentlyLabel;
    Gtk::Label *quotegroupFilesSoftLimitLabel;
    Gtk::Label *quoteFilesHardLimitLabel;
    Gtk::Label *quotegroupFilesHarLimitLabel;
    Gtk::Label *quotegroupSizeSoftLimitLabel;
    Gtk::Window *QuotasEditWindow;
    Gtk::Label *lblHeadQuotasEditWindow;
    Gtk::Button *quotegroupCancelButton;
    Gtk::Button *quotegroupSaveButton;
    Gtk::SpinButton *quotegroupSizeSoftLimitSpin;
    Gtk::SpinButton *quotegroupSizeHardLimitSpin;
    Gtk::SpinButton *quotegroupFilesSoftLimitSpin;
    Gtk::SpinButton *quotegroupFilesHardLimitSpin;
    Gtk::Label *quotegroupFilesSoftLimitlabel;
    Gtk::ComboBoxText *quotegroupSizeSoftLimitCombo;
    Gtk::ComboBoxText *quotegroupSizeHardLimitCombo;
    Gtk::CheckButton *quotegroupSizeSoftLimitCheck;
    Gtk::CheckButton *quotegroupSizeHardLimitCheck;
    Gtk::CheckButton *quotegroupFilesSoftLimitCheck;
    Gtk::CheckButton *quotegroupFilesHardLimitCheck;
public:
    View_add_user_group(/* args */);
    ~View_add_user_group();
    void lacalization();
    void event();
    void get_builder();
    void settings();
    void show();
    void set_path_glade(string str_path_glade);
    void set_label_type_quota(string name);
private:
    void set_change_gui(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter,   bool& flag_validate, Gtk::ComboBoxText *combo_box);
    void fill_in_pow_memory(Gtk::ComboBoxText *cb_text);
    void check_limit(Gtk::CheckButton *check_button, Gtk::SpinButton *spin, Gtk::ComboBoxText *combo_box);
    void check_limit(Gtk::CheckButton *check_button, Gtk::SpinButton *spin, Gtk::Label *combo_box);
    void edit_tree_view_U(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate);
    void edit_tree_view_G(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate);
    void edit_tree_view_P(Glib::RefPtr<Gtk::ListStore>* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate);
};

#endif