/* * 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-element.h * @brief Omplementation of the layer element used for configuring layer colors etc. * @author Mario Hüttel */ /** * @addtogroup Widgets * @{ */ #ifndef __LAYER_ELEMENT_H__ #define __LAYER_ELEMENT_H__ #include G_BEGIN_DECLS /* Creates Class structure etc */ G_DECLARE_FINAL_TYPE(LayerElement, layer_element, LAYER, ELEMENT, GtkListBoxRow) #define TYPE_LAYER_ELEMENT (layer_element_get_type()) typedef struct _LayerElementPriv { GtkEntry *name; GtkLabel *layer; int layer_num; GtkEventBox *event_handle; GtkColorButton *color; GtkCheckButton *export; } LayerElementPriv; struct _LayerElement { /* Inheritance */ GtkListBoxRow parent; /* Custom Elements */ LayerElementPriv priv; }; /** * @brief Create new layer element object * @return new object */ GtkWidget *layer_element_new(void); /** * @brief get name of the layer * @param elem Layer element * @return Name. Must not be changed, freed or anything else. */ const char *layer_element_get_name(LayerElement *elem); /** * @brief layer_element_set_name * @param elem set the name of the layer * @param name Name. Can be freed after call to this function */ void layer_element_set_name(LayerElement *elem, const char* name); /** * @brief Set layer number for this layer * @param elem Layer element * @param layer Layer number */ void layer_element_set_layer(LayerElement *elem, int layer); /** * @brief Get layer number * @param elem Layer Element * @return Number of this layer */ int layer_element_get_layer(LayerElement *elem); /** * @brief Set export flag for this layer * @param elem Layer Element * @param export flag */ void layer_element_set_export(LayerElement *elem, gboolean export); /** * @brief Get export flag of layer * @param elem Layer Element * @return */ gboolean layer_element_get_export(LayerElement *elem); /** * @brief Get color of layer * @param elem Layer Element * @param rgba RGBA color */ void layer_element_get_color(LayerElement *elem, GdkRGBA *rgba); /** * @brief Set color of layer * @param elem Layer Element * @param rgba RGBA color */ void layer_element_set_color(LayerElement *elem, GdkRGBA *rgba); G_END_DECLS #endif /* __LAYER_ELEMENT_H__ */ /** @} */