LCOV - code coverage report
Current view: top level - gui/include/pos - pos_nav_tree_node.inl (source / functions) Coverage Total Hit
Test: crystal-facet-uml_v1.63.2_covts Lines: 100.0 % 25 25
Test Date: 2025-05-01 10:10:14 Functions: 100.0 % 8 8

            Line data    Source code
       1              : /* File: pos_nav_tree_node.inl; Copyright and License: see below */
       2              : 
       3              : #include <assert.h>
       4              : 
       5           15 : static inline void pos_nav_tree_node_init ( pos_nav_tree_node_t *this_,
       6              :                                             pos_nav_tree_node_type_t node_type,
       7              :                                             const data_diagram_t *diagram_data )
       8              : {
       9           15 :     shape_int_rectangle_init_empty( &((*this_).icon_box) );
      10           15 :     shape_int_rectangle_init_empty( &((*this_).label_box) );
      11           15 :     (*this_).node_type = node_type;
      12           15 :     (*this_).data = diagram_data;
      13           15 : }
      14              : 
      15           15 : static inline void pos_nav_tree_node_destroy ( pos_nav_tree_node_t *this_ )
      16              : {
      17           15 :     shape_int_rectangle_destroy( &((*this_).icon_box) );
      18           15 :     shape_int_rectangle_destroy( &((*this_).label_box) );
      19           15 :     (*this_).data = NULL;
      20           15 : }
      21              : 
      22              : static inline bool pos_nav_tree_node_is_valid ( const pos_nav_tree_node_t *this_ )
      23              : {
      24              :     bool result;
      25              :     if ( (*this_).data == NULL )
      26              :     {
      27              :         assert(false);
      28              :         result = false;  /* cannot happen on initialized objects */
      29              :     }
      30              :     else
      31              :     {
      32              :         result = data_diagram_is_valid( (*this_).data );
      33              :     }
      34              :     return result;
      35              : }
      36              : 
      37          160 : static inline const shape_int_rectangle_t *pos_nav_tree_node_get_icon_box_const ( const pos_nav_tree_node_t *this_ )
      38              : {
      39          160 :     return &((*this_).icon_box);
      40              : }
      41              : 
      42           15 : static inline void pos_nav_tree_node_set_icon_box ( pos_nav_tree_node_t *this_, const shape_int_rectangle_t *icon_box )
      43              : {
      44           15 :     shape_int_rectangle_replace( &((*this_).icon_box), icon_box );
      45           15 : }
      46              : 
      47          130 : static inline const shape_int_rectangle_t *pos_nav_tree_node_get_label_box_const ( const pos_nav_tree_node_t *this_ )
      48              : {
      49          130 :     return &((*this_).label_box);
      50              : }
      51              : 
      52           15 : static inline void pos_nav_tree_node_set_label_box ( pos_nav_tree_node_t *this_, const shape_int_rectangle_t *label_box )
      53              : {
      54           15 :     shape_int_rectangle_replace( &((*this_).label_box), label_box );
      55           15 : }
      56              : 
      57           30 : static inline pos_nav_tree_node_type_t pos_nav_tree_node_get_type ( const pos_nav_tree_node_t *this_ )
      58              : {
      59           30 :     return (*this_).node_type;
      60              : }
      61              : 
      62           30 : static inline const data_diagram_t *pos_nav_tree_node_get_data_const ( const pos_nav_tree_node_t *this_ )
      63              : {
      64           30 :     return (*this_).data;
      65              : }
      66              : 
      67              : static inline data_row_t pos_nav_tree_node_get_diagram_id ( const pos_nav_tree_node_t *this_ )
      68              : {
      69              :     return data_diagram_get_row_id( (*this_).data );
      70              : }
      71              : 
      72              : 
      73              : /*
      74              : Copyright 2021-2025 Andreas Warnke
      75              : 
      76              : Licensed under the Apache License, Version 2.0 (the "License");
      77              : you may not use this file except in compliance with the License.
      78              : You may obtain a copy of the License at
      79              : 
      80              :     http://www.apache.org/licenses/LICENSE-2.0
      81              : 
      82              : Unless required by applicable law or agreed to in writing, software
      83              : distributed under the License is distributed on an "AS IS" BASIS,
      84              : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      85              : See the License for the specific language governing permissions and
      86              : limitations under the License.
      87              : */
        

Generated by: LCOV version 2.0-1