LCOV - code coverage report
Current view: top level - gui/include - gui_type_resource.h (source / functions) Hit Total Coverage
Test: crystal-facet-uml_v1.57.0_covts Lines: 0 1 0.0 %
Date: 2024-04-07 11:14:42 Functions: 0 1 0.0 %

          Line data    Source code
       1             : /* File: gui_type_resource.h; Copyright and License: see below */
       2             : 
       3             : #ifndef GUI_TYPE_RESOURCE_H
       4             : #define GUI_TYPE_RESOURCE_H
       5             : 
       6             : /* public file for the doxygen documentation: */
       7             : /*! \file
       8             :  *  \brief Data objects needed to display an element type: name and icon
       9             :  *
      10             :  *  This data object is a gobject to be able to store it in a GListModel like GListStore.
      11             :  */
      12             : 
      13             : #include "data_table.h"
      14             : #include "data_relationship_type.h"
      15             : #include "data_feature_type.h"
      16             : #include "data_classifier_type.h"
      17             : #include "data_diagram_type.h"
      18             : #include "data_type.h"
      19             : #include <gdk/gdk.h>
      20             : #include <glib-object.h>
      21             : #include <stdint.h>
      22             : 
      23             : G_BEGIN_DECLS
      24             : 
      25             : /*
      26             :  * Type declaration.
      27             :  */
      28             : #define GUI_TYPE_TYPE_RESOURCE gui_type_resource_get_type()
      29           0 : G_DECLARE_FINAL_TYPE (GuiTypeResource, gui_type_resource, GUI, TYPE_RESOURCE, GObject)
      30             : 
      31             : /*!
      32             :  *  \brief attributes of the type resource
      33             :  *
      34             :  *  The notation of the struct name is required by glib
      35             :  */
      36             : struct _GuiTypeResource {
      37             :     GObject parent_instance;  /*!<  glib parent object */
      38             :     data_type_t type_id;  /*!<  element type for which this type resource applies */
      39             :     const char * name;  /*!<  display name */
      40             :     GdkTexture * icon;  /*!<  icon to be displayed */
      41             : };
      42             : 
      43             : /*
      44             :  * Method definitions.
      45             :  */
      46             : GuiTypeResource *gui_type_resource_new (void);
      47             : 
      48             : G_END_DECLS
      49             : 
      50             : typedef struct _GuiTypeResource gui_type_resource_t;
      51             : 
      52             : /*!
      53             :  *  \brief initializes the gui_type_resource_t struct
      54             :  *
      55             :  *  \param this_ pointer to own object attributes
      56             :  *  \param type type id
      57             :  *  \param name name of the type
      58             :  *  \param icon icon of the type
      59             :  */
      60             : static inline void gui_type_resource_init_diagram ( gui_type_resource_t *this_,
      61             :                                                     data_diagram_type_t type,
      62             :                                                     const char * name,
      63             :                                                     GdkTexture * icon
      64             :                                                   );
      65             : 
      66             : /*!
      67             :  *  \brief initializes the gui_type_resource_t struct
      68             :  *
      69             :  *  \param this_ pointer to own object attributes
      70             :  *  \param type type id
      71             :  *  \param name name of the type
      72             :  *  \param icon icon of the type
      73             :  */
      74             : static inline void gui_type_resource_init_classifier ( gui_type_resource_t *this_,
      75             :                                                        data_classifier_type_t type,
      76             :                                                        const char * name,
      77             :                                                        GdkTexture * icon
      78             :                                                      );
      79             : 
      80             : /*!
      81             :  *  \brief initializes the gui_type_resource_t struct
      82             :  *
      83             :  *  \param this_ pointer to own object attributes
      84             :  *  \param type type id
      85             :  *  \param name name of the type
      86             :  *  \param icon icon of the type
      87             :  */
      88             : static inline void gui_type_resource_init_feature ( gui_type_resource_t *this_,
      89             :                                                     data_feature_type_t type,
      90             :                                                     const char * name,
      91             :                                                     GdkTexture * icon
      92             :                                                   );
      93             : 
      94             : /*!
      95             :  *  \brief initializes the gui_type_resource_t struct
      96             :  *
      97             :  *  \param this_ pointer to own object attributes
      98             :  *  \param type type id
      99             :  *  \param name name of the type
     100             :  *  \param icon icon of the type
     101             :  */
     102             : static inline void gui_type_resource_init_relationship ( gui_type_resource_t *this_,
     103             :                                                          data_relationship_type_t type,
     104             :                                                          const char * name,
     105             :                                                          GdkTexture * icon
     106             :                                                        );
     107             : 
     108             : /*!
     109             :  *  \brief initializes the gui_type_resource_t struct with a copy
     110             :  *
     111             :  *  parent_instance is not modified.
     112             :  *
     113             :  *  \param this_ pointer to own object attributes
     114             :  *  \param original pointer to object attributes to copy
     115             :  */
     116             : static inline void gui_type_resource_replace ( gui_type_resource_t *this_, const gui_type_resource_t *original );
     117             : 
     118             : /*!
     119             :  *  \brief destroys the gui_type_resource_t struct
     120             :  *
     121             :  *  \param this_ pointer to own object attributes
     122             :  */
     123             : static inline void gui_type_resource_destroy ( gui_type_resource_t *this_ );
     124             : 
     125             : /*!
     126             :  *  \brief checks if two gui_type_resource_t are equal
     127             :  *
     128             :  *  This function can be used as type GEqualFunc
     129             :  *
     130             :  *  \param this_ pointer to own object attributes
     131             :  *  \param that pointer to other object attributes
     132             :  *  \return TRUE if equal
     133             :  */
     134             : gboolean gui_type_resource_equal( const gui_type_resource_t *this_, const gui_type_resource_t *that );
     135             : 
     136             : /*!
     137             :  *  \brief gets the type
     138             :  *
     139             :  *  \param this_ pointer to own object attributes
     140             :  *  \return type_id of this gui_type_resource_t
     141             :  */
     142             : static inline const data_type_t * gui_type_resource_get_type_id ( const gui_type_resource_t *this_ );
     143             : 
     144             : /*!
     145             :  *  \brief gets the name
     146             :  *
     147             :  *  \param this_ pointer to own object attributes
     148             :  *  \return name of this gui_type_resource_t
     149             :  */
     150             : static inline const char * gui_type_resource_get_name ( const gui_type_resource_t *this_ );
     151             : 
     152             : /*!
     153             :  *  \brief gets the icon
     154             :  *
     155             :  *  GdkTexture cannot be const because most gtk functions require mutable GdkTexture as parameter.
     156             :  *
     157             :  *  \param this_ pointer to own object attributes
     158             :  *  \return icon of this gui_type_resource_t
     159             :  */
     160             : static inline GdkTexture * gui_type_resource_get_icon ( const gui_type_resource_t *this_ );
     161             : 
     162             : #include "gui_type_resource.inl"
     163             : 
     164             : #endif  /* GUI_TYPE_RESOURCE_H */
     165             : 
     166             : 
     167             : /*
     168             : Copyright 2020-2024 Andreas Warnke
     169             : 
     170             : Licensed under the Apache License, Version 2.0 (the "License");
     171             : you may not use this file except in compliance with the License.
     172             : You may obtain a copy of the License at
     173             : 
     174             :     http://www.apache.org/licenses/LICENSE-2.0
     175             : 
     176             : Unless required by applicable law or agreed to in writing, software
     177             : distributed under the License is distributed on an "AS IS" BASIS,
     178             : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     179             : See the License for the specific language governing permissions and
     180             : limitations under the License.
     181             : */

Generated by: LCOV version 1.16