LCOV - code coverage report
Current view: top level - gui/source - gui_type_resource_list.c (source / functions) Coverage Total Hit
Test: crystal-facet-uml_v1.64.2_covts Lines: 0.0 % 362 0
Test Date: 2025-06-21 07:03:58 Functions: 0.0 % 3 0

            Line data    Source code
       1              : /* File: gui_type_resource_list.c; Copyright and License: see below */
       2              : 
       3              : #include "gui_type_resource_list.h"
       4              : #include "u8/u8_trace.h"
       5              : #include "u8/u8_log.h"
       6              : #include "gui_gtk.h"
       7              : #include <assert.h>
       8              : 
       9            0 : void gui_type_resource_list_init ( gui_type_resource_list_t *this_, const gui_resources_t *resources )
      10              : {
      11            0 :     U8_TRACE_BEGIN();
      12            0 :     assert( resources != NULL );
      13            0 :     (*this_).resources = resources;
      14              : 
      15            0 :     unsigned int idx = 0;
      16              :     gui_type_resource_t *current;
      17              : 
      18            0 :     (*this_).diagram_types_start = idx;
      19              :     {
      20              :         /* order: structural from abstract to concrete, behavioral from abstract to concrete */
      21            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      22            0 :         GdkTexture *icon_diag_list = gui_resources_get_type_diag_list ( (*this_).resources );
      23            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_LIST, "List Diagram", icon_diag_list );
      24            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      25            0 :         GdkTexture *icon_diag_box = gui_resources_get_type_diag_box ( (*this_).resources );
      26            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_BOX_DIAGRAM, "Box Overview Diagram", icon_diag_box );
      27              : 
      28            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      29            0 :         GdkTexture *icon_diag_block = gui_resources_get_type_diag_block ( (*this_).resources );
      30            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_SYSML_BLOCK_DEFINITION_DIAGRAM, "Block Definition Diagram (SysML)", icon_diag_block );
      31            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      32            0 :         GdkTexture *icon_diag_internal = gui_resources_get_type_diag_internal ( (*this_).resources );
      33            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_SYSML_INTERNAL_BLOCK_DIAGRAM, "Internal Block Diagram (SysML)", icon_diag_internal );
      34            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      35            0 :         GdkTexture *icon_diag_parametric = gui_resources_get_type_diag_parametric ( (*this_).resources );
      36            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_SYSML_PARAMETRIC_DIAGRAM, "Parametric Diagram (SysML)", icon_diag_parametric );
      37            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      38            0 :         GdkTexture *icon_diag_deployment = gui_resources_get_type_diag_deployment ( (*this_).resources );
      39            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_UML_DEPLOYMENT_DIAGRAM, "Deployment Diagram (UML)", icon_diag_deployment );
      40            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      41            0 :         GdkTexture *icon_diag_component = gui_resources_get_type_diag_component ( (*this_).resources );
      42            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_UML_COMPONENT_DIAGRAM, "Component Diagram (UML)", icon_diag_component );
      43            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      44            0 :         GdkTexture *icon_diag_composite = gui_resources_get_type_diag_composite ( (*this_).resources );
      45            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_UML_COMPOSITE_STRUCTURE_DIAGRAM, "Composite Structure Diagram (UML)", icon_diag_composite );
      46            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      47            0 :         GdkTexture *icon_diag_package = gui_resources_get_type_diag_package ( (*this_).resources );
      48            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_UML_PACKAGE_DIAGRAM, "Package Diagram (SysML, UML)", icon_diag_package );
      49            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      50            0 :         GdkTexture *icon_diag_class = gui_resources_get_type_diag_class ( (*this_).resources );
      51            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_UML_CLASS_DIAGRAM, "Class Diagram (UML)", icon_diag_class );
      52            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      53            0 :         GdkTexture *icon_diag_profile = gui_resources_get_type_diag_profile( (*this_).resources );
      54            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_UML_PROFILE_DIAGRAM, "Profile Diagram (UML)", icon_diag_profile );
      55              : 
      56              :         /* requirements diagram: */
      57            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      58            0 :         GdkTexture *icon_diag_requirement = gui_resources_get_type_diag_requirement ( (*this_).resources );
      59            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_SYSML_REQUIREMENTS_DIAGRAM, "Requirements Diagram (SysML)", icon_diag_requirement );
      60              : 
      61              :         /* behavioral diagrams: */
      62            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      63            0 :         GdkTexture *icon_diag_usecase = gui_resources_get_type_diag_usecase ( (*this_).resources );
      64            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_UML_USE_CASE_DIAGRAM, "Use Case Diagram (SysML, UML)", icon_diag_usecase );
      65            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      66            0 :         GdkTexture *icon_diag_overview = gui_resources_get_type_diag_overview ( (*this_).resources );
      67            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_INTERACTION_OVERVIEW_DIAGRAM, "Interaction Overview Diagram (UML)", icon_diag_overview );
      68            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      69            0 :         GdkTexture *icon_diag_activity = gui_resources_get_type_diag_activity ( (*this_).resources );
      70            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_UML_ACTIVITY_DIAGRAM, "Activity Diagram (SysML, UML)", icon_diag_activity );
      71            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      72            0 :         GdkTexture *icon_diag_state  = gui_resources_get_type_diag_state ( (*this_).resources );
      73            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_UML_STATE_MACHINE_DIAGRAM, "State Machine Diagram (SysML, UML)", icon_diag_state );
      74            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      75            0 :         GdkTexture *icon_diag_communication = gui_resources_get_type_diag_communication ( (*this_).resources );
      76            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_UML_COMMUNICATION_DIAGRAM, "Communication Diagram (UML)", icon_diag_communication );
      77            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      78            0 :         GdkTexture *icon_diag_sequence = gui_resources_get_type_diag_sequence ( (*this_).resources );
      79            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_UML_SEQUENCE_DIAGRAM, "Sequence Diagram (SysML, UML)", icon_diag_sequence );
      80            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      81            0 :         GdkTexture *icon_diag_timing = gui_resources_get_type_diag_timing ( (*this_).resources );
      82            0 :         gui_type_resource_init_diagram( current, DATA_DIAGRAM_TYPE_UML_TIMING_DIAGRAM, "Timing Diagram (UML)", icon_diag_timing );
      83              :     }
      84            0 :     (*this_).diagram_types_length = idx - (*this_).diagram_types_start;
      85            0 :     assert( GUI_TYPE_RESOURCE_LIST_DIAGRAMS == (*this_).diagram_types_length );
      86              : 
      87            0 :     (*this_).classifier_types_start = idx;
      88              :     {
      89              :         /* order: structural from abstract to concrete, behavioral from abstract to concrete */
      90            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      91            0 :         GdkTexture *icon_clas_block = gui_resources_get_type_clas_block( (*this_).resources );
      92            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_BLOCK, "Block", icon_clas_block );
      93            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      94            0 :         GdkTexture *icon_clas_constraint = gui_resources_get_type_clas_constraint( (*this_).resources );
      95            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_CONSTRAINT_BLOCK, "Constraint Block", icon_clas_constraint );
      96            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
      97            0 :         GdkTexture *icon_clas_node = gui_resources_get_type_clas_node( (*this_).resources );
      98            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_NODE, "Node", icon_clas_node );
      99            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     100            0 :         GdkTexture *icon_clas_subsystem = gui_resources_get_type_clas_subsystem( (*this_).resources );
     101            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_SUBSYSTEM, "Subsystem/Boundary", icon_clas_subsystem );
     102            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     103            0 :         GdkTexture *icon_clas_component = gui_resources_get_type_clas_component( (*this_).resources );
     104            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_COMPONENT, "Component", icon_clas_component );
     105            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     106            0 :         GdkTexture *icon_clas_part = gui_resources_get_type_clas_part( (*this_).resources );
     107            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_PART, "Part (component instance)", icon_clas_part );
     108            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     109            0 :         GdkTexture *icon_clas_interface = gui_resources_get_type_clas_interface( (*this_).resources );
     110            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_INTERFACE, "Interface", icon_clas_interface );
     111            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     112            0 :         GdkTexture *icon_clas_package = gui_resources_get_type_clas_package( (*this_).resources );
     113            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_PACKAGE, "Package", icon_clas_package );
     114            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     115            0 :         GdkTexture *icon_clas_class = gui_resources_get_type_clas_class( (*this_).resources );
     116            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_CLASS, "Class", icon_clas_class );
     117            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     118            0 :         GdkTexture *icon_clas_object = gui_resources_get_type_clas_object( (*this_).resources );
     119            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_OBJECT, "Object (class instance)", icon_clas_object );
     120            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     121            0 :         GdkTexture *icon_clas_artifact = gui_resources_get_type_clas_artifact( (*this_).resources );
     122            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_ARTIFACT, "Artifact", icon_clas_artifact );
     123            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     124            0 :         GdkTexture *icon_clas_comment = gui_resources_get_type_clas_comment( (*this_).resources );
     125            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_COMMENT, "Comment", icon_clas_comment );
     126            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     127            0 :         GdkTexture *icon_clas_image = gui_resources_get_type_clas_image( (*this_).resources );
     128            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_IMAGE, "Image (profile)", icon_clas_image );
     129            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     130            0 :         GdkTexture *icon_clas_stereotype = gui_resources_get_type_clas_stereotype( (*this_).resources );
     131            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_STEREOTYPE, "Stereotype (profile)", icon_clas_stereotype );
     132              :         /* requirements classifiers: */
     133            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     134            0 :         GdkTexture *icon_clas_requirement = gui_resources_get_type_clas_requirement( (*this_).resources );
     135            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_REQUIREMENT, "Requirement", icon_clas_requirement );
     136              :         /* behavioral classifiers: */
     137            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     138            0 :         GdkTexture *icon_clas_actor = gui_resources_get_type_clas_actor( (*this_).resources );
     139            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_ACTOR, "Actor", icon_clas_actor );
     140            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     141            0 :         GdkTexture *icon_clas_usecase = gui_resources_get_type_clas_usecase( (*this_).resources );
     142            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_USE_CASE, "Use Case", icon_clas_usecase );
     143            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     144            0 :         GdkTexture *icon_clas_interaction_use = gui_resources_get_type_clas_interaction_use( (*this_).resources );
     145            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_INTERACTION_USE, "Interaction Use", icon_clas_interaction_use );
     146            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     147            0 :         GdkTexture *icon_clas_activity = gui_resources_get_type_clas_activity( (*this_).resources );
     148            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_ACTIVITY, "Activity/Action", icon_clas_activity );
     149            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     150            0 :         GdkTexture *icon_clas_region = gui_resources_get_type_clas_region( (*this_).resources );
     151            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_DYN_INTERRUPTABLE_REGION, "Interruptable Region", icon_clas_region );
     152            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     153            0 :         GdkTexture *icon_clas_fork = gui_resources_get_type_clas_fork( (*this_).resources );
     154            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_DYN_FORK_NODE, "Fork", icon_clas_fork );
     155            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     156            0 :         GdkTexture *icon_clas_join = gui_resources_get_type_clas_join( (*this_).resources );
     157            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_DYN_JOIN_NODE, "Join", icon_clas_join );
     158            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     159            0 :         GdkTexture *icon_clas_accept = gui_resources_get_type_clas_accept( (*this_).resources );
     160            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_DYN_ACCEPT_EVENT, "Accept Event", icon_clas_accept );
     161            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     162            0 :         GdkTexture *icon_clas_time = gui_resources_get_type_clas_time( (*this_).resources );
     163            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_DYN_ACCEPT_TIME_EVENT, "Accept Time Event", icon_clas_time );
     164            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     165            0 :         GdkTexture *icon_clas_send = gui_resources_get_type_clas_send( (*this_).resources );
     166            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_DYN_SEND_SIGNAL, "Send Signal", icon_clas_send );
     167            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     168            0 :         GdkTexture *icon_clas_decision = gui_resources_get_type_clas_decision( (*this_).resources );
     169            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_DYN_DECISION_NODE, "Decision/Choice", icon_clas_decision );
     170            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     171            0 :         GdkTexture *icon_clas_initial = gui_resources_get_type_clas_initial( (*this_).resources );
     172            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_DYN_INITIAL_NODE, "Initial Node", icon_clas_initial );
     173            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     174            0 :         GdkTexture *icon_clas_final = gui_resources_get_type_clas_final( (*this_).resources );
     175            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_DYN_FINAL_NODE, "Final Node", icon_clas_final );
     176            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     177            0 :         GdkTexture *icon_clas_state = gui_resources_get_type_clas_state( (*this_).resources );
     178            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_STATE, "State", icon_clas_state );
     179            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     180            0 :         GdkTexture *icon_clas_history = gui_resources_get_type_clas_history( (*this_).resources );
     181            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_DYN_SHALLOW_HISTORY, "Shallow History", icon_clas_history );
     182            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     183            0 :         GdkTexture *icon_clas_deephistory = gui_resources_get_type_clas_deephistory( (*this_).resources );
     184            0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_DYN_DEEP_HISTORY, "Deep History", icon_clas_deephistory );
     185              :     }
     186            0 :     (*this_).classifier_types_length = idx - (*this_).classifier_types_start;
     187            0 :     assert( GUI_TYPE_RESOURCE_LIST_CLASSIFIERS == (*this_).classifier_types_length );
     188              : 
     189            0 :     (*this_).feature_types_start = idx;
     190              :     {
     191              :         /* order: from close to far */
     192            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     193            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     194            0 :         GdkTexture *icon_feat_property = gui_resources_get_type_feat_property( (*this_).resources );
     195            0 :         gui_type_resource_init_feature( current, DATA_FEATURE_TYPE_PROPERTY, "Property", icon_feat_property );
     196            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     197            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     198            0 :         GdkTexture *icon_feat_operation = gui_resources_get_type_feat_operation( (*this_).resources );
     199            0 :         gui_type_resource_init_feature( current, DATA_FEATURE_TYPE_OPERATION, "Operation", icon_feat_operation );
     200            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     201            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     202            0 :         GdkTexture *icon_feat_provide = gui_resources_get_type_feat_provide( (*this_).resources );
     203            0 :         gui_type_resource_init_feature( current, DATA_FEATURE_TYPE_PROVIDED_INTERFACE, "Provided Interface", icon_feat_provide );
     204            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     205            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     206            0 :         GdkTexture *icon_feat_require = gui_resources_get_type_feat_require( (*this_).resources );
     207            0 :         gui_type_resource_init_feature( current, DATA_FEATURE_TYPE_REQUIRED_INTERFACE, "Required Interface", icon_feat_require );
     208            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     209            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     210            0 :         GdkTexture *icon_feat_port = gui_resources_get_type_feat_port( (*this_).resources );
     211            0 :         gui_type_resource_init_feature( current, DATA_FEATURE_TYPE_PORT, "Port", icon_feat_port );
     212            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     213            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     214            0 :         GdkTexture *icon_feat_rx = gui_resources_get_type_feat_rx( (*this_).resources );
     215            0 :         gui_type_resource_init_feature( current, DATA_FEATURE_TYPE_IN_PORT_PIN, "Input Pin/FlowPort(SysML)", icon_feat_rx );
     216            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     217            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     218            0 :         GdkTexture *icon_feat_tx = gui_resources_get_type_feat_tx( (*this_).resources );
     219            0 :         gui_type_resource_init_feature( current, DATA_FEATURE_TYPE_OUT_PORT_PIN, "Output Pin/FlowPort(SysML)", icon_feat_tx );
     220            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     221            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     222            0 :         GdkTexture *icon_feat_entry = gui_resources_get_type_feat_entry( (*this_).resources );
     223            0 :         gui_type_resource_init_feature( current, DATA_FEATURE_TYPE_ENTRY, "State Entry", icon_feat_entry );
     224            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     225            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     226            0 :         GdkTexture *icon_feat_exit = gui_resources_get_type_feat_exit( (*this_).resources );
     227            0 :         gui_type_resource_init_feature( current, DATA_FEATURE_TYPE_EXIT, "State Exit", icon_feat_exit );
     228            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     229            0 :         GdkTexture *icon_feat_tag = gui_resources_get_type_feat_tag( (*this_).resources );
     230            0 :         gui_type_resource_init_feature( current, DATA_FEATURE_TYPE_TAGGED_VALUE, "Tagged Value", icon_feat_tag );
     231              : 
     232            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     233            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     234            0 :         GdkTexture *icon_feat_life = gui_resources_get_type_feat_life( (*this_).resources );
     235            0 :         gui_type_resource_init_feature( current, DATA_FEATURE_TYPE_LIFELINE, "Lifeline", icon_feat_life );
     236              :     }
     237            0 :     (*this_).feature_types_length = idx - (*this_).feature_types_start;
     238            0 :     assert( GUI_TYPE_RESOURCE_LIST_FEATURES == (*this_).feature_types_length );
     239              : 
     240            0 :     (*this_).relationship_types_start = idx;
     241              :     {
     242              :         /* order: structural from abstract to concrete, behavioral from abstract to concrete */
     243            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     244            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     245            0 :         GdkTexture *icon_rel_depend = gui_resources_get_type_rel_depend( (*this_).resources );
     246            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_DEPENDENCY, "Dependency", icon_rel_depend );
     247            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     248            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     249            0 :         GdkTexture *icon_rel_contain = gui_resources_get_type_rel_contain( (*this_).resources );
     250            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_CONTAINMENT, "Containment", icon_rel_contain );
     251            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     252            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     253            0 :         GdkTexture *icon_rel_deploy = gui_resources_get_type_rel_deploy( (*this_).resources );
     254            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_DEPLOY, "Deploy", icon_rel_deploy );
     255            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     256            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     257            0 :         GdkTexture *icon_rel_manifest = gui_resources_get_type_rel_manifest( (*this_).resources );
     258            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_MANIFEST, "Manifest", icon_rel_manifest );
     259            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     260            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     261            0 :         GdkTexture *icon_rel_communication_path = gui_resources_get_type_rel_communication_path( (*this_).resources );
     262            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_COMMUNICATION_PATH, "Communication Path", icon_rel_communication_path );
     263            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     264            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     265            0 :         GdkTexture *icon_rel_associate = gui_resources_get_type_rel_associate( (*this_).resources );
     266            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_ASSOCIATION, "Association", icon_rel_associate );
     267            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     268            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     269            0 :         GdkTexture *icon_rel_aggregate = gui_resources_get_type_rel_aggregate( (*this_).resources );
     270            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_AGGREGATION, "Aggregation", icon_rel_aggregate );
     271            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     272            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     273            0 :         GdkTexture *icon_rel_compose = gui_resources_get_type_rel_compose( (*this_).resources );
     274            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_COMPOSITION, "Composition", icon_rel_compose );
     275            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     276            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     277            0 :         GdkTexture *icon_rel_generalize = gui_resources_get_type_rel_generalize( (*this_).resources );
     278            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_GENERALIZATION, "Generalization", icon_rel_generalize );
     279            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     280            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     281            0 :         GdkTexture *icon_rel_realize = gui_resources_get_type_rel_realize( (*this_).resources );
     282            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_REALIZATION, "Realization", icon_rel_realize );
     283              :         /* requirements relationships: */
     284            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     285            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     286            0 :         GdkTexture *icon_rel_trace = gui_resources_get_type_rel_trace( (*this_).resources );
     287            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_TRACE, "Trace (requirement)", icon_rel_trace );
     288            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     289            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     290            0 :         GdkTexture *icon_rel_refine = gui_resources_get_type_rel_refine( (*this_).resources );
     291            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_REFINE, "Refine (requirement)", icon_rel_refine );
     292              :         /* behavioral relationships: */
     293            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     294            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     295            0 :         GdkTexture *icon_rel_extend = gui_resources_get_type_rel_extend( (*this_).resources );
     296            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_EXTEND, "Extend (use case)", icon_rel_extend );
     297            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     298            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     299            0 :         GdkTexture *icon_rel_include = gui_resources_get_type_rel_include( (*this_).resources );
     300            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_INCLUDE, "Include (use case)", icon_rel_include );
     301            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     302            0 :         GdkTexture *icon_rel_control_flow = gui_resources_get_type_rel_control_flow( (*this_).resources );
     303            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_CONTROL_FLOW, "Control Flow/Transition", icon_rel_control_flow );
     304            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     305            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     306            0 :         GdkTexture *icon_rel_object_flow = gui_resources_get_type_rel_object_flow( (*this_).resources );
     307            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_OBJECT_FLOW, "Object Flow", icon_rel_object_flow );
     308            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     309            0 :         GdkTexture *icon_rel_async = gui_resources_get_type_rel_async( (*this_).resources );
     310            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_ASYNC_CALL, "Async. Call", icon_rel_async );
     311            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     312            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     313            0 :         GdkTexture *icon_rel_sync = gui_resources_get_type_rel_sync( (*this_).resources );
     314            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_SYNC_CALL, "Sync. Call", icon_rel_sync );
     315            0 :         assert( idx < GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     316            0 :         current = &((*this_).type_name_icon_list[idx]); idx++;
     317            0 :         GdkTexture *icon_rel_return = gui_resources_get_type_rel_return( (*this_).resources );
     318            0 :         gui_type_resource_init_relationship( current, DATA_RELATIONSHIP_TYPE_UML_RETURN_CALL, "Return Call", icon_rel_return );
     319              :     }
     320            0 :     (*this_).relationship_types_length = idx - (*this_).relationship_types_start;
     321            0 :     assert( GUI_TYPE_RESOURCE_LIST_RELATIONS == (*this_).relationship_types_length );
     322              : 
     323            0 :     assert( idx == GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     324            0 :     assert( (*this_).diagram_types_length + (*this_).classifier_types_length + (*this_).feature_types_length + (*this_).relationship_types_length
     325              :             == GUI_TYPE_RESOURCE_LIST_MAX_TYPES );
     326              : 
     327            0 :     GdkTexture *icon_undef = gui_resources_get_type_undef( (*this_).resources );
     328            0 :     gui_type_resource_init_classifier( &((*this_).type_undef), DATA_CLASSIFIER_TYPE_VOID, "", icon_undef );
     329              : 
     330            0 :     (*this_).no_types = g_list_store_new( gui_type_resource_get_type() );
     331            0 :     (*this_).diagram_types = g_list_store_new( gui_type_resource_get_type() );
     332            0 :     (*this_).classifier_types = g_list_store_new( gui_type_resource_get_type() );
     333            0 :     (*this_).relationship_types = g_list_store_new( gui_type_resource_get_type() );
     334            0 :     (*this_).feature_types = g_list_store_new( gui_type_resource_get_type() );
     335            0 :     (*this_).feature_lifeline_type = g_list_store_new( gui_type_resource_get_type() );
     336            0 :     for ( unsigned int t_index = 0; t_index < GUI_TYPE_RESOURCE_LIST_MAX_TYPES; t_index ++ )
     337              :     {
     338            0 :         GuiTypeResource *type_res = GUI_TYPE_RESOURCE( g_object_new( gui_type_resource_get_type(), NULL ) );
     339            0 :         gui_type_resource_replace( type_res, &((*this_).type_name_icon_list[t_index]) );
     340            0 :         switch ( data_type_get_context( gui_type_resource_get_type_id( type_res ) ) )
     341              :         {
     342            0 :             case DATA_TABLE_CLASSIFIER:
     343              :             {
     344            0 :                 g_list_store_append( (*this_).classifier_types, type_res );
     345              :             }
     346            0 :             break;
     347              : 
     348            0 :             case DATA_TABLE_FEATURE:
     349              :             {
     350            0 :                 if ( data_type_get_type_as_int( gui_type_resource_get_type_id( type_res ) ) == DATA_FEATURE_TYPE_LIFELINE )
     351              :                 {
     352            0 :                     g_list_store_append( (*this_).feature_lifeline_type, type_res );
     353              :                 }
     354              :                 else
     355              :                 {
     356            0 :                     g_list_store_append( (*this_).feature_types, type_res );
     357              :                 }
     358              :             }
     359            0 :             break;
     360              : 
     361            0 :             case DATA_TABLE_RELATIONSHIP:
     362              :             {
     363            0 :                 g_list_store_append( (*this_).relationship_types, type_res );
     364              :             }
     365            0 :             break;
     366              : 
     367            0 :             case DATA_TABLE_DIAGRAM:
     368              :             {
     369            0 :                 g_list_store_append( (*this_).diagram_types, type_res );
     370              :             }
     371            0 :             break;
     372              : 
     373            0 :             default:
     374              :             {
     375            0 :                 U8_LOG_WARNING("unexpected data_table_t in gui_type_resource_list_t.type_name_icon_list");
     376              :             }
     377            0 :             break;
     378              :         }
     379            0 :         g_object_unref( type_res );
     380              :     }
     381              :     {
     382            0 :         GuiTypeResource *no_type_res = GUI_TYPE_RESOURCE( g_object_new( gui_type_resource_get_type(), NULL ) );
     383            0 :         gui_type_resource_replace( no_type_res, &((*this_).type_undef) );
     384            0 :         g_list_store_append( (*this_).no_types, no_type_res );
     385            0 :         g_object_unref( no_type_res );
     386              :     }
     387              : 
     388            0 :     U8_TRACE_END();
     389            0 : }
     390              : 
     391            0 : void gui_type_resource_list_destroy ( gui_type_resource_list_t *this_ )
     392              : {
     393            0 :     U8_TRACE_BEGIN();
     394              : 
     395            0 :     g_object_unref( (*this_).no_types );
     396            0 :     g_object_unref( (*this_).diagram_types );
     397            0 :     g_object_unref( (*this_).classifier_types );
     398            0 :     g_object_unref( (*this_).relationship_types );
     399            0 :     g_object_unref( (*this_).feature_types );
     400            0 :     g_object_unref( (*this_).feature_lifeline_type );
     401              : 
     402            0 :     gui_type_resource_destroy( &((*this_).type_undef) );
     403              : 
     404            0 :     U8_TRACE_END();
     405            0 : }
     406              : 
     407            0 : gui_type_resource_t * gui_type_resource_list_get_type ( gui_type_resource_list_t *this_, data_type_t type )
     408              : {
     409            0 :     U8_TRACE_BEGIN();
     410              : 
     411              :     gui_type_resource_t *result;
     412              : 
     413            0 :     switch ( data_type_get_context( &type ) ) {
     414            0 :         case DATA_TABLE_VOID:
     415              :         {
     416            0 :             result = &((*this_).type_undef);
     417            0 :             U8_LOG_ANOMALY("unexpected data_table_t in gui_type_resource_list_get_icon");
     418              :         }
     419            0 :         break;
     420              : 
     421            0 :         case DATA_TABLE_CLASSIFIER:
     422              :         {
     423            0 :             result = gui_type_resource_list_get_classifier_type( this_, data_type_get_classifier_type( &type ) );
     424              :         }
     425            0 :         break;
     426              : 
     427            0 :         case DATA_TABLE_FEATURE:
     428              :         {
     429            0 :             result = gui_type_resource_list_get_feature_type( this_, data_type_get_feature_type( &type ) );
     430              :         }
     431            0 :         break;
     432              : 
     433            0 :         case DATA_TABLE_RELATIONSHIP:
     434              :         {
     435            0 :             result = gui_type_resource_list_get_relationship_type( this_, data_type_get_relationship_type( &type ) );
     436              :         }
     437            0 :         break;
     438              : 
     439            0 :         case DATA_TABLE_DIAGRAMELEMENT:
     440              :         {
     441            0 :             result = &((*this_).type_undef);
     442            0 :             U8_LOG_WARNING("unexpected data_table_t in gui_type_resource_list_get_icon");
     443              :         }
     444            0 :         break;
     445              : 
     446            0 :         case DATA_TABLE_DIAGRAM:
     447              :         {
     448            0 :             result = gui_type_resource_list_get_diagram_type( this_, data_type_get_diagram_type( &type ) );
     449              :         }
     450            0 :         break;
     451              : 
     452            0 :         default:
     453              :         {
     454            0 :             result = &((*this_).type_undef);
     455            0 :             U8_LOG_WARNING("unexpected data_table_t in gui_type_resource_list_get_icon");
     456              :         }
     457            0 :         break;
     458              :     }
     459              : 
     460            0 :     U8_TRACE_END();
     461            0 :     return result;
     462              : }
     463              : 
     464              : 
     465              : /*
     466              : Copyright 2020-2025 Andreas Warnke
     467              : 
     468              : Licensed under the Apache License, Version 2.0 (the "License");
     469              : you may not use this file except in compliance with the License.
     470              : You may obtain a copy of the License at
     471              : 
     472              :     http://www.apache.org/licenses/LICENSE-2.0
     473              : 
     474              : Unless required by applicable law or agreed to in writing, software
     475              : distributed under the License is distributed on an "AS IS" BASIS,
     476              : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     477              : See the License for the specific language governing permissions and
     478              : limitations under the License.
     479              : */
        

Generated by: LCOV version 2.0-1