Implement fucntion to force sort of the layer selector
This commit is contained in:
parent
ab23be1cfc
commit
960a773ed1
@ -190,7 +190,6 @@ void generate_layer_widgets(GtkListBox *listbox, GList *libs)
|
|||||||
global_list_box = listbox;
|
global_list_box = listbox;
|
||||||
|
|
||||||
clear_list_box_widgets(listbox);
|
clear_list_box_widgets(listbox);
|
||||||
gtk_list_box_set_sort_func(listbox, sort_func, NULL, NULL);
|
|
||||||
|
|
||||||
for (; libs != NULL; libs = libs->next) {
|
for (; libs != NULL; libs = libs->next) {
|
||||||
lib = (struct gds_library *)libs->data;
|
lib = (struct gds_library *)libs->data;
|
||||||
@ -199,11 +198,8 @@ void generate_layer_widgets(GtkListBox *listbox, GList *libs)
|
|||||||
} /* For Cell List */
|
} /* For Cell List */
|
||||||
} /* For libs */
|
} /* For libs */
|
||||||
|
|
||||||
/* Force sort */
|
/* Sort the layers */
|
||||||
gtk_list_box_invalidate_sort(listbox);
|
layer_selector_force_sort(LAYER_SELECTOR_SORT_DOWN);
|
||||||
|
|
||||||
/* Disable sort, so user can sort layers */
|
|
||||||
gtk_list_box_set_sort_func(listbox, NULL, NULL, NULL);
|
|
||||||
|
|
||||||
/* Activate Buttons */
|
/* Activate Buttons */
|
||||||
gtk_widget_set_sensitive(global_load_button, TRUE);
|
gtk_widget_set_sensitive(global_load_button, TRUE);
|
||||||
@ -446,4 +442,15 @@ void setup_save_mapping_callback(GtkWidget *button, GtkWindow *main_window)
|
|||||||
g_signal_connect(button, "clicked", G_CALLBACK(save_mapping_clicked), main_window);
|
g_signal_connect(button, "clicked", G_CALLBACK(save_mapping_clicked), main_window);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void layer_selector_force_sort(enum layer_selector_sort_algo sort_function)
|
||||||
|
{
|
||||||
|
if (!global_list_box)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* Set dorting function, sort, and disable sorting function */
|
||||||
|
gtk_list_box_set_sort_func(global_list_box, sort_func, (gpointer)&sort_function, NULL);
|
||||||
|
gtk_list_box_invalidate_sort(global_list_box);
|
||||||
|
gtk_list_box_set_sort_func(global_list_box, NULL, NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
@ -69,4 +69,14 @@ GList *export_rendered_layer_info();
|
|||||||
* @note The layer_info::name Element has to be freed manually
|
* @note The layer_info::name Element has to be freed manually
|
||||||
*/
|
*/
|
||||||
void delete_layer_info_struct(struct layer_info *info);
|
void delete_layer_info_struct(struct layer_info *info);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Force sorting of the layer selector in a specified way
|
||||||
|
*
|
||||||
|
* If the layer selector is not yet set up, this function has no effect.
|
||||||
|
*
|
||||||
|
* @param sort_function Sorting direction
|
||||||
|
*/
|
||||||
|
void layer_selector_force_sort(enum layer_selector_sort_algo sort_function);
|
||||||
|
|
||||||
#endif /* __LAYER_SELECTOR_H__ */
|
#endif /* __LAYER_SELECTOR_H__ */
|
||||||
|
Loading…
Reference in New Issue
Block a user