Добавил редактирование treeView

pull/2/head
Igor Belitskiy 2 years ago
parent 2c9c5cc172
commit 4602a0c98a

@ -306,9 +306,8 @@ void tree_view_select(GtkWidget *self, main_window *widgets) {
void tree_view_add(int index) {
main_config.type_quota= yon_char_parsed_append(main_config.type_quota, &main_config.size_tree_view, add_get_quota_object());
char* text = " ";
main_config.size_tree_view--;
main_config.quota_volume = yon_char_parsed_append(main_config.quota_volume, &main_config.size_tree_view, text );
main_config.quota_volume = yon_char_parsed_append(main_config.quota_volume, &main_config.size_tree_view, add_get_select_device_to_level_2());
main_config.size_tree_view--;
main_config.soft_raw_limit = yon_char_parsed_append(main_config.soft_raw_limit, &main_config.size_tree_view, add_get_soft());
main_config.size_tree_view--;
@ -332,22 +331,36 @@ void tree_view_add(int index) {
6,main_config.i_o_limit_read[index],
7,main_config.i_o_limit_write[index],-1);
}
void tree_view_edit(int index) {
main_config.soft_raw_limit[index] = edit_get_soft();
main_config.hard_raw_limit[index] = edit_get_hard();
main_config.swap[index] = edit_get_limit_swap();
main_config.cpu_limit[index] = edit_get_limit_cpu();
main_config.i_o_limit_read[index] = edit_get_read_device();
main_config.i_o_limit_write[index] = edit_get_write_device();
int tree_view_edit() {
int index = 0;
GtkTreeIter iter;
gtk_list_store_set(main_config.list, &iter, main_config.type_quota[index],
main_config.quota_volume[index],
main_config.soft_raw_limit[index],
main_config.hard_raw_limit[index],
main_config.swap[index],
main_config.cpu_limit[index],
main_config.i_o_limit_read[index],
main_config.i_o_limit_write[index]);
GtkTreeModel *model = GTK_TREE_MODEL(main_config.list);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->treeViewMain));
if(gtk_tree_selection_get_selected(selection, &model, &iter)) {
char* str_iter = gtk_tree_model_get_string_from_iter(model, &iter);
puts(str_iter);
index = atoi(str_iter);
main_config.soft_raw_limit[index] = edit_get_soft();
main_config.hard_raw_limit[index] = edit_get_hard();
main_config.swap[index] = edit_get_limit_swap();
main_config.cpu_limit[index] = edit_get_limit_cpu();
main_config.i_o_limit_read[index] = edit_get_read_device();
main_config.i_o_limit_write[index] = edit_get_write_device();
gtk_list_store_set(main_config.list,&iter,0,main_config.type_quota[index],
1,main_config.quota_volume[index],
2,main_config.soft_raw_limit[index],
3,main_config.hard_raw_limit[index],
4,main_config.swap[index],
5,main_config.cpu_limit[index],
6,main_config.i_o_limit_read[index],
7,main_config.i_o_limit_write[index],-1);
return 0;
}
else {
return 0;
}
}
/*
void yon_gtk_list_store_fill_with_proprietaries(GtkListStore *list){
@ -412,7 +425,7 @@ void main_event(main_window *widgets) {
g_signal_connect(G_OBJECT(widgets->btnShowFilters),"clicked",G_CALLBACK(wrapper_filters_show), NULL);
g_signal_connect(G_OBJECT(widgets->btnAdd),"clicked",G_CALLBACK(wrapper_add_show), glade_path);
g_signal_connect(G_OBJECT(widgets->btnEdit),"clicked",G_CALLBACK(edit_show), glade_path);
g_signal_connect(G_OBJECT(widgets->btnEdit),"clicked",G_CALLBACK(wrapper_edit_show), glade_path);
g_signal_connect(G_OBJECT(widgets->btnInfo),"clicked",G_CALLBACK(info_show), glade_path);
g_signal_connect(G_OBJECT(widgets->btnUpdateDispatcher),"clicked",G_CALLBACK(main_update_dispatcher), NULL);
g_signal_connect(G_OBJECT(widgets->btnMainShowAllEmpty), "toggled", G_CALLBACK(main_update_processes), NULL);
@ -442,8 +455,27 @@ void main_add_btn_save() {
void wrapper_filters_show(GtkWidget *self) {
filters_show(self, glade_path);
g_signal_connect(G_OBJECT(get_widget_filters()->btnFiltersSave),"clicked",G_CALLBACK(main_visible_columns), NULL);
}
void wrapper_edit_show() {
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(main_config.list);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->treeViewMain));
if(gtk_tree_selection_get_selected(selection, &model, &iter)) {
edit_show(NULL, glade_path);
g_signal_connect(G_OBJECT(get_widget_edit()->btnSaveEditSave), "clicked", G_CALLBACK(main_edit_btn_save), NULL);
}
}
void main_edit_btn_save() {
if (tree_view_edit(main_config.size_tree_view)) {
add_on_destroy_subwindow(get_widget_edit()->Window);
}
else {
}
}
void main_localization(main_window *widgets) {

@ -152,6 +152,7 @@ void main_cbx_2_event();
void tree_view_delete(GtkWidget *self, main_window *widgets);
void tree_view_select(GtkWidget *self, main_window *widgets);
void tree_view_add(int index);
void tree_view_edit(int index);
int tree_view_edit();
void main_add_btn_save();
void wrapper_add_show(GtkWidget *self);
void wrapper_add_show(GtkWidget *self);
void main_edit_btn_save();

@ -103,6 +103,19 @@ void add_show(GtkWidget *self, char* glade_path) {
}
}
char* add_get_select_device_to_level_2() {
char* text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbxAddQuotaLevel2));
if (text != NULL) {
return text;
}
else {
char* str = (char*)malloc(sizeof(char*)*2);
str[0] = '-';
str[1] = '\0';
return str;
}
}
char* add_get_select_device() {
char* text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddDevice));
if (text != NULL) {
@ -114,8 +127,8 @@ char* add_get_select_device() {
str[1] = '\0';
return str;
}
}
char* add_get_read_device() {
return philos_get_size_bite(add_widgets->chbAddRead, add_widgets->spinAddRead,
add_widgets->cbtAddRead);

@ -66,4 +66,5 @@ char* add_get_hard();
char* add_get_limit_cpu();
char* add_get_limit_swap();
char* add_get_quota_object();
char* add_get_select_device_to_level_2();
#endif

@ -96,19 +96,30 @@ void edit_set_active_widgets(GtkWidget *self, GtkWidget *entry, GtkWidget *label
}
char* edit_get_select_device() {
return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(edit_widgets->cbtEditDevice));
char* text = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(edit_widgets->cbtEditDevice));
if (text != NULL) {
return text;
}
else {
char* str = (char*)malloc(sizeof(char*)*2);
str[0] = '-';
str[1] = '\0';
return str;
}
}
char* edit_get_read_device() {
return philos_get_size_bite(edit_widgets->chbEditRead, edit_widgets->spiSevereRestrictionEdit,
edit_widgets->cmSevereRestrictionEdit);
return philos_get_size_bite(edit_widgets->chbEditRead, edit_widgets->spinEditRead,
edit_widgets->cbtEditRead);
}
char* edit_get_write_device() {
return philos_get_size_bite(edit_widgets->chbEditWrite, edit_widgets->spinEditRead,
edit_widgets->cbtEditRead);
return philos_get_size_bite(edit_widgets->chbEditWrite, edit_widgets->spinEditWrite,
edit_widgets->cbtEditWrite);
}
char* edit_get_soft() {
return philos_get_size_bite(edit_widgets->chkSoftRestrictionEdit, edit_widgets->spinEditWrite,
edit_widgets->cbtEditWrite);
return philos_get_size_bite(edit_widgets->chkSoftRestrictionEdit, edit_widgets->spiSevereRestrictionEdit,
edit_widgets->cmSevereRestrictionEdit);
}
char* edit_get_hard() {
return philos_get_size_bite(edit_widgets->chkSevereRestrictionEdit, edit_widgets->spinSevereRestrictionEdit,
@ -127,6 +138,6 @@ char* edit_get_limit_cpu() {
}
}
char* edit_get_limit_swap() {
return philos_get_size_bite(edit_widgets->spinPaddingFLEdit, edit_widgets->spinPaddingFLEdit,
edit_widgets->spinPaddingFLEdit);
return philos_get_size_bite(edit_widgets->chkPaddingFLEdit, edit_widgets->spinPaddingFLEdit,
edit_widgets->cmbPaddingFLEdit);
}

@ -61,4 +61,5 @@ char* edit_get_soft();
char* edit_get_hard();
char* edit_get_limit_cpu();
char* edit_get_limit_swap();
void wrapper_edit_show();
#endif
Loading…
Cancel
Save