Changeset 8266

Show
Ignore:
Timestamp:
30/11/11 12:22:58 (6 months ago)
Author:
westram
Message:
  • DRYed code in ED4_with_whole_block
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/EDIT4/ED4_block.cxx

    r8264 r8266  
    179179            break; 
    180180        } 
    181         case ED4_BT_LINEBLOCK: { // @@@ dry 
     181        case ED4_BT_LINEBLOCK: 
     182        case ED4_BT_MODIFIED_COLUMNBLOCK: 
     183        case ED4_BT_COLUMNBLOCK: { 
    182184            ED4_list_elem *listElem = ED4_ROOT->selected_objects.first(); 
    183185            while (listElem && !error) { 
     
    185187                ED4_sequence_terminal *seqTerm        = selectionEntry->object->get_parent(ED4_L_SPECIES)->search_spec_child_rek(ED4_L_SEQUENCE_STRING)->to_sequence_terminal(); 
    186188 
    187                 error    = perform_block_operation_on_whole_sequence(block_operation, seqTerm, repeat); 
    188                 listElem = listElem->next(); 
    189             } 
    190             break; 
    191         } 
    192         case ED4_BT_MODIFIED_COLUMNBLOCK: 
    193         case ED4_BT_COLUMNBLOCK: { // @@@ vs here 
    194             ED4_list_elem *listElem = ED4_ROOT->selected_objects.first(); 
    195             while (listElem && !error) { 
    196                 ED4_selection_entry *selectionEntry = (ED4_selection_entry*)listElem->elem(); 
    197                 ED4_sequence_terminal *seqTerm = selectionEntry->object->get_parent(ED4_L_SPECIES)->search_spec_child_rek(ED4_L_SEQUENCE_STRING)->to_sequence_terminal(); 
    198  
    199                 error    = perform_block_operation_on_part_of_sequence(block_operation, seqTerm, repeat); 
     189                error = blocktype == ED4_BT_LINEBLOCK 
     190                    ? perform_block_operation_on_whole_sequence(block_operation, seqTerm, repeat) 
     191                    : perform_block_operation_on_part_of_sequence(block_operation, seqTerm, repeat); 
     192 
    200193                listElem = listElem->next(); 
    201194            }