Добавлено новое окно

pull/24/head
Igor Belitskiy 2 years ago
parent 489468944e
commit 5b6e074d8c

@ -70,6 +70,8 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissin
set(SOURCE_FILES
view_set_disk.c
view_set_disk.h
controler.h
controler.c
view_check_user_table.c

@ -0,0 +1,137 @@
#include "view_set_disk.h"
view_device_set_window *obj_view_device_widgets = NULL;
char* view_device_glade_path = NULL;
int view_device_index = 0;
char* view_device_set_add_edit = NULL;
void get_spin_time_gui(vector* vec_u_g_p, hotebook* view_device_widgets) {
if (index_selected != -1) {
config_u_g_p* _config = (config_u_g_p*)vec_u_g_p->pfVectorGet(vec_u_g_p, index_selected);
int spin_week_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksSize));
int spin_days_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysSize));
int spin_hours_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursSize));
int spin_minutes_size = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesSize));
size_t second_size = spin_week_size*7*24*3600+spin_days_size*24*3600+spin_hours_size*3600+spin_minutes_size*60;
int spin_week_file = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksFile));
int spin_days_file = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysFile));
int spin_hours_file = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursFile));
int spin_minutes_file = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesFile));
size_t second_file = spin_week_file*7*24*3600+spin_days_file*24*3600+spin_hours_file*3600+spin_minutes_file*60;
set_time_spin(second_file, second_size);
_config->deferring_size = second_size;
_config->deferring_file = second_file;
vec_u_g_p->pfVectorSet(vec_u_g_p, index_selected, _config);
}
}
void set_view_device_menu(char* _set_add_edit) {
view_device_set_add_edit = _set_add_edit;
}
void set_time_spin(size_t seconds_file, size_t seconds_size) {
me_time t_file = time_convert(seconds_file);
me_time t_size = time_convert(seconds_size);
if (seconds_file!=-1) {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksFile), t_file.weeks);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysFile), t_file.days);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursFile), t_file.hours);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesFile), t_file.minutes);
}
else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksFile), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysFile), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursFile), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesFile), 0);
}
if (seconds_size!=-1) {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksSize), t_size.weeks);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysSize), t_size.days);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursSize), t_size.hours);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesSize), t_size.minutes);
}
else {
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinWeeksSize), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinDaysSize), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinHoursSize), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(obj_view_device_widgets->spinMinutesSize), 0);
}
}
view_device_set_window* get_widget_view_device() {
return obj_view_device_widgets;
}
void view_device_set_index(int _index) {
view_device_index = _index;
}
view_device_set_window *view_device_setup_window_base(char* __glade_path) {
view_device_glade_path = __glade_path;
if (obj_view_device_widgets == NULL) {
obj_view_device_widgets = malloc(sizeof(view_device_set_window));
GtkBuilder *builder = gtk_builder_new_from_resource(__glade_path);
obj_view_device_widgets->Window = yon_gtk_builder_get_widget(builder,"SetDeviceWindow");
obj_view_device_widgets->btnSaveTempSave = yon_gtk_builder_get_widget(builder,"SetDeviceSaveButton");
obj_view_device_widgets->btnTempCancel = yon_gtk_builder_get_widget(builder,"SetDeviceCancelButton");
view_device_setup_window_custom(obj_view_device_widgets, builder);
view_device_event(obj_view_device_widgets);
}
return obj_view_device_widgets;
}
view_device_set_window *view_device_setup_window_custom(view_device_set_window* view_device_view_device_widgets, GtkBuilder *builder) {
obj_view_device_widgets->spinWeeksFile = yon_gtk_builder_get_widget(builder,"spinWeeksFile");
obj_view_device_widgets->spinDaysFile = yon_gtk_builder_get_widget(builder,"spinDaysFile");
obj_view_device_widgets->spinHoursFile = yon_gtk_builder_get_widget(builder,"spinHoursFile");
obj_view_device_widgets->spinMinutesFile = yon_gtk_builder_get_widget(builder,"spinMinutesFile");
obj_view_device_widgets->spinWeeksSize = yon_gtk_builder_get_widget(builder,"spinWeeksSize");
obj_view_device_widgets->spinDaysSize = yon_gtk_builder_get_widget(builder,"spinDaysSize");
obj_view_device_widgets->spinHoursSize = yon_gtk_builder_get_widget(builder,"spinHoursSize");
obj_view_device_widgets->spinMinutesSize = yon_gtk_builder_get_widget(builder,"spinMinutesSize");
obj_view_device_widgets->lblNameDevice = yon_gtk_builder_get_widget(builder,"lblNameDevice");
obj_view_device_widgets->DeviceCombo = yon_gtk_builder_get_widget(builder,"DeviceCombo");
if (strcmp(view_device_set_add_edit, "add") == 0) {
gtk_widget_hide(obj_view_device_widgets->lblNameDevice);
device_fill_disk(obj_view_device_widgets->DeviceCombo);
}
else {
gtk_widget_hide(obj_view_device_widgets->DeviceCombo);
}
}
void view_device_show(GtkWidget *self, char* __glade_path) {
if (obj_view_device_widgets != NULL) {
gtk_widget_show(obj_view_device_widgets->Window);
}
else {
view_device_setup_window_base(__glade_path);
gtk_widget_show(obj_view_device_widgets->Window);
}
}
void view_device_event(view_device_set_window* view_device_view_device_widgets) {
g_signal_connect(G_OBJECT(obj_view_device_widgets->Window), "destroy", G_CALLBACK(view_device_destroy), NULL);
g_signal_connect(G_OBJECT(obj_view_device_widgets->btnSaveTempSave),"clicked",G_CALLBACK(view_device_on_destroy_subwindow), NULL);
g_signal_connect(G_OBJECT(obj_view_device_widgets->btnTempCancel),"clicked",G_CALLBACK(view_device_on_destroy_subwindow), NULL);
}
void view_device_on_destroy_subwindow(GtkWidget *self) {
if (self) {
gtk_widget_destroy(gtk_widget_get_toplevel(self));
obj_view_device_widgets = NULL;
}
}
void view_device_destroy(GtkWidget *self) {
if (self) {
obj_view_device_widgets = NULL;
}
}
void view_device_get_gui() {
char* disk = yon_char_new(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX(obj_view_device_widgets->DeviceCombo)));
disk = yon_char_divide_search(disk, " ", -1);
int status = gtk_combo_box_get_active_id(GTK_COMBO_BOX(obj_view_device_widgets->cmbDeviceSetStatus));
}

@ -0,0 +1,42 @@
#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"
typedef struct {
GtkWidget* Window;
GtkWidget* btnSaveTempSave;
GtkWidget* btnTempCancel;
GtkWidget* spinWeeksFile;
GtkWidget* spinDaysFile;
GtkWidget* spinHoursFile;
GtkWidget* spinMinutesFile;
GtkWidget* spinWeeksSize;
GtkWidget* spinDaysSize;
GtkWidget* spinHoursSize;
GtkWidget* spinMinutesSize;
GtkWidget* lblNameDevice;
GtkWidget* DeviceCombo;
char* name;
} view_device_set_window;
void set_view_device_menu(char* _set_add_edit);
void view_device_show(GtkWidget *self, char* __glade_path);
void view_device_event(view_device_set_window* view_device_view_device_widgets);
void view_device_on_destroy_subwindow(GtkWidget *self);
void view_device_destroy(GtkWidget *self);
view_device_set_window *view_device_setup_window_base(char* __glade_path);
view_device_set_window *view_device_setup_window_custom(view_device_set_window* view_device_view_device_widgets, GtkBuilder *builder);
Loading…
Cancel
Save