Общие функции вынесены в отдельный файл

pull/4/head
Igor Belitskiy 2 years ago
parent fef1f3a235
commit 4efa64f653

@ -47,23 +47,4 @@ void device_fill_disk(GtkWidget* combo_box_text) {
}
}
size_t get_resurs_total(char* cmd) {
int size = 0;
size_t size_memory = 0;
char **responce = yon_config_load(cmd, &size);
for (int index = 0; index < size; index++ ) {
char* mem_size_kb = yon_char_divide_search(responce[index], "\n", -1);
size_memory = atoll(mem_size_kb);
free(mem_size_kb);
}
philos_free_string_array(&responce, size);
return size_memory;
}
float get_size_pow_memory(size_t size_memory, int size) {
float res = size_memory;
for (size_t index = 0; index < size; index++) {
res = res/1024;
}
return res;
}

@ -424,6 +424,20 @@ void str_split_value(char* values, int index) {
}
}
/*
void get_param(char** arr_values, int index_start , int size) {
int count = 0;
for (int index = index_start; index < size; index++) {
if (strstr(arr_values[index], "BandwidthMax")!=NULL) {
count = count + 1;
}
if ((index+1) == size) {
}
}
}
*/
void set_pow_size(char* str_find, int** array_size, char*** array_data , int index) {
char* disk = NULL;

@ -1368,5 +1368,95 @@ void yon_ubl_browser_window_open(char *link, char *browser_window_name){
yon_launch_app(command);
}
#endif
// Mem Size pow
void philos_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
guint value_spin = gtk_spin_button_get_digits(GTK_SPIN_BUTTON(spin));
if (active != -1) {
GtkAdjustment* adjustment = NULL;
adjustment = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(spin));
gtk_adjustment_set_lower(adjustment, 0.0);
gtk_adjustment_set_page_increment(adjustment, 1.0);
if (combo == NULL) {
gtk_adjustment_set_upper(adjustment, (gdouble)(value*100));
if ((value*100)<value_spin) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), (value*100));
}
}
else {
int index = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
if (index == 0) {
float pow_mem_size = get_size_pow_memory(value, index);
gtk_adjustment_set_upper(adjustment, (gdouble)value);
if (value<value_spin) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), value);
}
}
else if (index == -1) {}
else {
float pow_mem_size = get_size_pow_memory(value, index);
gtk_adjustment_set_upper(adjustment, (gdouble)pow_mem_size);
if (pow_mem_size<value_spin) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), pow_mem_size);
}
}
}
}
}
void philos_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
gtk_widget_set_sensitive(spin, active);
gtk_widget_set_sensitive(combo, active);
if (active == 0) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
if (flag_cpu == 0) {
philos_set_spin_adjustment(check, spin, combo, get_resurs_total(cmd));
}
else {
philos_set_spin_adjustment(check, spin, NULL, get_resurs_total(cmd));
}
}
size_t get_resurs_total(char* cmd) {
int size = 0;
size_t size_memory = 0;
char **responce = yon_config_load(cmd, &size);
for (int index = 0; index < size; index++ ) {
char* mem_size_kb = yon_char_divide_search(responce[index], "\n", -1);
size_memory = atoll(mem_size_kb);
free(mem_size_kb);
}
philos_free_string_array(&responce, size);
return size_memory;
}
float get_size_pow_memory(size_t size_memory, int size) {
float res = size_memory;
for (size_t index = 0; index < size; index++) {
res = res/1024;
}
return res;
}
void philos_set_active_widgets_device_io(GtkWidget* combo_to_l2,GtkWidget *check, GtkWidget *spin, GtkWidget *combo) {
int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(combo_to_l2));
if (menu_id != -1) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
gtk_widget_set_sensitive(spin, active);
gtk_widget_set_sensitive(combo, active);
if (active == 0) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
}
else {
gtk_widget_set_sensitive(spin, 0);
gtk_widget_set_sensitive(combo, 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), 0);
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
philos_set_spin_adjustment(check, spin, combo, 12582912);
}
#endif

@ -335,4 +335,9 @@ void yon_ubl_browser_window_open(char *link, char *browser_window_name);
void yon_ubl_browser_window_open(char *link, char *browser_window_name);
#endif
#endif
void philos_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value);
void philos_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd);
size_t get_resurs_total(char* cmd);
float get_size_pow_memory(size_t size_memory, int size);
void philos_set_active_widgets_device_io(GtkWidget* combo_to_l2,GtkWidget *check, GtkWidget *spin, GtkWidget *combo);
#endif

@ -52,12 +52,12 @@ void add_init_windows() {
if (gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbxAddQuotaLevel2)) != -1) {
gtk_widget_set_sensitive(add_widgets->boxBlockGui, 1);
gtk_widget_set_sensitive(add_widgets->btnSaveAddSave, 1);
add_set_active_widgets(add_widgets->chkSoftRestrictionAdd, add_widgets->spiSevereRestrictionAdd, add_widgets->cmSevereRestrictionAdd, 0 , CMD_RAW);
add_set_active_widgets(add_widgets->chkSevereRestrictionAdd, add_widgets->spinSevereRestrictionAdd, add_widgets->cmbSevereRestrictionAdd,0 , CMD_RAW);
add_set_active_widgets(add_widgets->chkPaddingFLAdd, add_widgets->spinPaddingFLAdd, add_widgets->cmbPaddingFLAdd,0 , CMD_SWAP);
add_set_active_widgets(add_widgets->chkCPULimitAdd, add_widgets->spinCPULimitAdd, add_widgets->lblCPULimitAdd,1 , CMD_CPU);
//add_set_active_widgets_device_io(add_widgets->chbAddWrite, add_widgets->spinAddWrite, add_widgets->cbtAddWrite);
//add_set_active_widgets_device_io(add_widgets->chbAddRead, add_widgets->spinAddRead, add_widgets->cbtEditRead);
philos_set_active_widgets(add_widgets->chkSoftRestrictionAdd, add_widgets->spiSevereRestrictionAdd, add_widgets->cmSevereRestrictionAdd, 0 , CMD_RAW);
philos_set_active_widgets(add_widgets->chkSevereRestrictionAdd, add_widgets->spinSevereRestrictionAdd, add_widgets->cmbSevereRestrictionAdd,0 , CMD_RAW);
philos_set_active_widgets(add_widgets->chkPaddingFLAdd, add_widgets->spinPaddingFLAdd, add_widgets->cmbPaddingFLAdd,0 , CMD_SWAP);
philos_set_active_widgets(add_widgets->chkCPULimitAdd, add_widgets->spinCPULimitAdd, add_widgets->lblCPULimitAdd,1 , CMD_CPU);
philos_set_active_widgets_device_io(add_widgets->cbtAddDevice, add_widgets->chbAddWrite, add_widgets->spinAddWrite, add_widgets->cbtAddWrite);
philos_set_active_widgets_device_io(add_widgets->cbtAddDevice, add_widgets->chbAddRead, add_widgets->spinAddRead, add_widgets->cbtAddRead);
add_generate_cmd();
}
else {
@ -67,31 +67,7 @@ void add_init_windows() {
}
}
void add_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
if (active != -1) {
GtkAdjustment* adjustment = NULL;
adjustment = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(spin));
gtk_adjustment_set_lower(adjustment, 0.0);
gtk_adjustment_set_page_increment(adjustment, 1.0);
if (combo == NULL) {
gtk_adjustment_set_upper(adjustment, (gdouble)(value*100));
}
else {
int index = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
if (index == 0) {
float pow_mem_size = get_size_pow_memory(value, index);
gtk_adjustment_set_upper(adjustment, (gdouble)value);
}
else if (index == -1) {}
else {
float pow_mem_size = get_size_pow_memory(value, index);
gtk_adjustment_set_upper(adjustment, (gdouble)pow_mem_size);
}
}
}
}
void add_event(add_window *widgets) {
g_signal_connect(G_OBJECT(widgets->btnAddCancel),"clicked",G_CALLBACK(add_on_destroy_subwindow),NULL);
g_signal_connect(G_OBJECT(widgets->Window), "destroy", G_CALLBACK(add_destroy), NULL);
@ -104,12 +80,13 @@ void add_event(add_window *widgets) {
g_signal_connect(G_OBJECT(widgets->cbxAddQuotaObj),"changed",G_CALLBACK(add_update_combo_box), NULL);
g_signal_connect(G_OBJECT(widgets->cbxAddQuotaLevel2),"changed",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spiSevereRestrictionAdd),"change-value",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinSevereRestrictionAdd),"change-value",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinPaddingFLAdd),"change-value",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinCPULimitAdd),"change-value",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinAddRead),"change-value",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinAddWrite),"change-value",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spiSevereRestrictionAdd),"changed",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinSevereRestrictionAdd),"changed",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinPaddingFLAdd),"changed",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinCPULimitAdd),"changed",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinAddRead),"changed",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->spinAddWrite),"changed",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->cmSevereRestrictionAdd),"changed",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->cmbSevereRestrictionAdd),"changed",G_CALLBACK(add_init_windows), NULL);
g_signal_connect(G_OBJECT(widgets->cmbPaddingFLAdd),"changed",G_CALLBACK(add_init_windows), NULL);
@ -130,40 +107,6 @@ void add_destroy(GtkWidget *self) {
add_widgets = NULL;
}
void add_set_active_widgets_device_io(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, char* cmd) {
int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddDevice));
if (menu_id != -1) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
gtk_widget_set_sensitive(spin, active);
gtk_widget_set_sensitive(combo, active);
if (active == 0) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
}
else {
gtk_widget_set_sensitive(spin, 0);
gtk_widget_set_sensitive(combo, 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), 0);
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
add_set_spin_adjustment(check, spin, combo, get_resurs_total(cmd));
}
void add_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
gtk_widget_set_sensitive(spin, active);
gtk_widget_set_sensitive(combo, active);
if (active == 0) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
if (flag_cpu == 0) {
add_set_spin_adjustment(check, spin, combo, get_resurs_total(cmd));
}
else {
add_set_spin_adjustment(check, spin, NULL, get_resurs_total(cmd));
}
}
void add_localization(add_window *widgets) {
}

@ -85,7 +85,7 @@ int add_get_limit_cpu_size();
int add_get_limit_swap_size();
int add_get_quota_object_size();
void add_set_active_widgets_device_ioadd_set_active_widgets_device_io(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, char* cmd);
void add_set_active_widgets_device_io(GtkWidget *check, GtkWidget *spin, GtkWidget *combo);
void add_get_cmd_group(char* cmd_get_group);
char* add_get_select_device_to_level_2();
void add_generate_cmd();

@ -101,77 +101,19 @@ void wrapper_edit_init_windows_size_memory(GtkWidget *spin) {
}
void edit_init_windows() {
edit_set_active_widgets(edit_widgets->chkSoftRestrictionEdit, edit_widgets->spiSevereRestrictionEdit, edit_widgets->cmSevereRestrictionEdit,0 ,CMD_RAW);
edit_set_active_widgets(edit_widgets->chkSevereRestrictionEdit, edit_widgets->spinSevereRestrictionEdit, edit_widgets->cmbSevereRestrictionEdit,0 , CMD_RAW);
edit_set_active_widgets(edit_widgets->chkPaddingFLEdit, edit_widgets->spinPaddingFLEdit, edit_widgets->cmbPaddingFLEdit,0 , CMD_SWAP);
edit_set_active_widgets(edit_widgets->chkCPULimitEdit, edit_widgets->spinCPULimitEdit, edit_widgets->lblCPULimitEdit,1 ,CMD_CPU);
//edit_set_active_widgets_device_io(edit_widgets->chbEditWrite, edit_widgets->spinEditWrite, edit_widgets->cbtEditWrite);
//edit_set_active_widgets_device_io(edit_widgets->chbEditRead, edit_widgets->spinEditRead, edit_widgets->cbtEditRead);
philos_set_active_widgets(edit_widgets->chkSoftRestrictionEdit, edit_widgets->spiSevereRestrictionEdit, edit_widgets->cmSevereRestrictionEdit,0 ,CMD_RAW);
philos_set_active_widgets(edit_widgets->chkSevereRestrictionEdit, edit_widgets->spinSevereRestrictionEdit, edit_widgets->cmbSevereRestrictionEdit,0 , CMD_RAW);
philos_set_active_widgets(edit_widgets->chkPaddingFLEdit, edit_widgets->spinPaddingFLEdit, edit_widgets->cmbPaddingFLEdit,0 , CMD_SWAP);
philos_set_active_widgets(edit_widgets->chkCPULimitEdit, edit_widgets->spinCPULimitEdit, edit_widgets->lblCPULimitEdit,1 ,CMD_CPU);
philos_set_active_widgets_device_io(edit_widgets->cbtEditDevice,edit_widgets->chbEditWrite, edit_widgets->spinEditWrite, edit_widgets->cbtEditWrite);
philos_set_active_widgets_device_io(edit_widgets->cbtEditDevice,edit_widgets->chbEditRead, edit_widgets->spinEditRead, edit_widgets->cbtEditRead);
edit_generate_cmd();
}
void edit_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
gtk_widget_set_sensitive(spin, active);
gtk_widget_set_sensitive(combo, active);
if (active == 0) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
if (flag_cpu == 0) {
edit_set_spin_adjustment(check, spin, combo, get_resurs_total(cmd));
}
else {
edit_set_spin_adjustment(check, spin, NULL, get_resurs_total(cmd));
}
}
void edit_set_active_widgets_device_io(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, char* cmd) {
int menu_id = gtk_combo_box_get_active(GTK_COMBO_BOX(edit_widgets->cbtEditDevice));
if (menu_id != -1) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
gtk_widget_set_sensitive(spin, active);
gtk_widget_set_sensitive(combo, active);
if (active == 0) {
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
}
else {
gtk_widget_set_sensitive(spin, 0);
gtk_widget_set_sensitive(combo, 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), 0);
gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 0);
}
edit_set_spin_adjustment(check, spin, combo, get_resurs_total(cmd));
}
void edit_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value) {
gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
if (active != -1) {
GtkAdjustment* adjustment = NULL;
adjustment = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(spin));
gtk_adjustment_set_lower(adjustment, 0.0);
gtk_adjustment_set_page_increment(adjustment, 1.0);
if (combo == NULL) {
gtk_adjustment_set_upper(adjustment, (gdouble)(value*100));
}
else {
int index = gtk_combo_box_get_active(GTK_COMBO_BOX(combo));
if (index == 0) {
float pow_mem_size = get_size_pow_memory(value, index);
gtk_adjustment_set_upper(adjustment, (gdouble)value);
}
else if (index == -1) {}
else {
float pow_mem_size = get_size_pow_memory(value, index);
printf("%f\n", pow_mem_size);
gtk_adjustment_set_upper(adjustment, (gdouble)pow_mem_size);
}
}
}
}
char* edit_get_select_device() {
char* text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(edit_widgets->cbtEditDevice));

@ -84,6 +84,6 @@ int edit_get_soft_size();
int edit_get_hard_size();
int edit_get_limit_cpu_size();
int edit_get_limit_swap_size();
void edit_set_active_widgets_device_io(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, char* cmd);
void edit_set_active_widgets_device_io(GtkWidget *check, GtkWidget *spin, GtkWidget *combo);
void edit_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value);
#endif
Loading…
Cancel
Save