/* * GDSII-Converter * Copyright (C) 2018 Mario Hüttel * * This file is part of GDSII-Converter. * * GDSII-Converter is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * GDSII-Converter is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GDSII-Converter. If not, see . */ /** * @file layer-selector.h * @brief Implementation of the Layer selection list * @author Mario Hüttel */ #ifndef __LAYER_SELECTOR_H__ #define __LAYER_SELECTOR_H__ #include #include #include "mapping-parser.h" /** * @brief Generate layer widgets in \p listbox * @note This clears all previously inserted elements * @param listbox * @param libs The library to add */ void generate_layer_widgets(GtkListBox *listbox, GList *libs); /** * @brief Supply button for loading the layer mapping * @param button * @param main_window Parent window for dialogs */ void setup_load_mapping_callback(GtkWidget *button, GtkWindow *main_window); /** * @brief Supply button for saving the layer mapping * @param button * @param main_window */ void setup_save_mapping_callback(GtkWidget *button, GtkWindow *main_window); /** * @brief get the layer information present in the listbox of the selector * @return List with layer_info elements */ GList *export_rendered_layer_info(); /** * @brief Delete a layer_info struct * @param info Struct to be deleted. * @note The layer_info::name Element has to be freed manually */ void delete_layer_info_struct(struct layer_info *info); #endif /* __LAYER_SELECTOR_H__ */