LCOV - code coverage report
Current view: top level - gui/source - gui_type_resource_list.c (source / functions) Hit Total Coverage
Test: crystal-facet-uml_v1.57.0_covts Lines: 0 362 0.0 %
Date: 2024-04-07 11:14:42 Functions: 0 3 0.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 <gtk/gtk.h>
       7             : #include <assert.h>
       8             : 
       9           0 : void gui_type_resource_list_init ( gui_type_resource_list_t *this_, 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 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_diagram = gui_resources_get_type_clas_diagram( (*this_).resources );
     145           0 :         gui_type_resource_init_classifier( current, DATA_CLASSIFIER_TYPE_DIAGRAM_REFERENCE, "Interaction Diagram Reference", icon_clas_diagram );
     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_table_t table, int type )
     408             : {
     409           0 :     U8_TRACE_BEGIN();
     410             : 
     411             :     gui_type_resource_t *result;
     412             : 
     413           0 :     switch (table) {
     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_classifier_type_t) 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_feature_type_t) 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_relationship_type_t) 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_diagram_type_t) 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-2024 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 1.16