Ignore:
Timestamp:
08/17/12 11:38:43 (12 years ago)
Author:
sherbold
Message:
  • adapted to quest coding style
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/quest-ui-swt/src/main/java/de/ugoe/cs/quest/ui/swt/SequencesDialog.java

    r548 r570  
     1 
    12package de.ugoe.cs.quest.ui.swt; 
    23 
     
    2425public class SequencesDialog extends Dialog { 
    2526 
    26         private String sequencesName; 
    27          
    28         private List sequenceList; 
    29         private Collection<java.util.List<Event>> sequences; 
    30         private SortedSet<String> targets; 
    31          
    32         protected Shell shell; 
     27    private String sequencesName; 
    3328 
    34         /** 
    35          * Create the dialog. 
    36          * @param parent 
    37          * @param style 
    38          */ 
    39         public SequencesDialog(Shell parent, int style) { 
    40                 super(parent, style); 
    41                 setText("SWT Dialog"); 
    42         } 
     29    private List sequenceList; 
     30    private Collection<java.util.List<Event>> sequences; 
     31    private SortedSet<String> targets; 
    4332 
    44         /** 
    45          * Open the dialog. 
    46          */ 
    47         public void open(String sequencesName) { 
    48                 this.sequencesName = sequencesName; 
    49                 sequences = null; 
    50                 createContents(); 
    51                 shell.open(); 
    52                 shell.layout(); 
    53                 Display display = getParent().getDisplay(); 
    54                 while (!shell.isDisposed()) { 
    55                         if (!display.readAndDispatch()) { 
    56                                 display.sleep(); 
    57                         } 
    58                 } 
    59         } 
     33    protected Shell shell; 
    6034 
    61         /** 
    62          * Create contents of the dialog. 
    63          */ 
    64         private void createContents() { 
    65                 shell = new Shell(getParent(), SWT.SHELL_TRIM | SWT.BORDER | SWT.APPLICATION_MODAL); 
    66                 shell.setSize(248, 299); 
    67                 shell.setText(getText()); 
    68                 shell.setLayout(new GridLayout(2, false)); 
    69                  
    70                 sequenceList = new List(shell, SWT.BORDER | SWT.V_SCROLL); 
    71                 sequenceList.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); 
    72                 updateSequenceList(); 
    73                  
    74                 Button btnShow = new Button(shell, SWT.NONE); 
    75                 btnShow.addSelectionListener(new SelectionAdapter() { 
    76                         @Override 
    77                         public void widgetSelected(SelectionEvent e) { 
    78                                 int index = sequenceList.getSelectionIndex(); 
    79                                 if( index==-1 ) { 
    80                                         MessageBox messageBox = new MessageBox(shell, SWT.ERROR); 
    81                                         messageBox.setMessage("No sequence selected!"); 
    82                                         messageBox.setText("Error"); 
    83                                         messageBox.open(); 
    84                                 } else { 
    85                                         EditSequenceDialog editSequenceDialog = new EditSequenceDialog(shell, SWT.NONE, targets); 
    86                                         int counter = 0; 
    87                                         java.util.List<Event> selectedSequence = null; 
    88                                         for( java.util.List<Event> sequence : sequences ) { 
    89                                                 if( counter==index ) { 
    90                                                         selectedSequence = sequence; 
    91                                                         break; 
    92                                                 } 
    93                                                 counter++; 
    94                                         } 
    95                                         editSequenceDialog.open(selectedSequence); 
    96                                         updateSequenceList(); 
    97                                 } 
    98                         } 
    99                 }); 
    100                 btnShow.setText("Show"); 
    101                  
    102                 Button btnClose = new Button(shell, SWT.NONE); 
    103                 btnClose.addSelectionListener(new SelectionAdapter() { 
    104                         @Override 
    105                         public void widgetSelected(SelectionEvent e) { 
    106                                 shell.dispose(); 
    107                         } 
    108                 }); 
    109                 btnClose.setText("Close"); 
     35    /** 
     36     * Create the dialog. 
     37     *  
     38     * @param parent 
     39     * @param style 
     40     */ 
     41    public SequencesDialog(Shell parent, int style) { 
     42        super(parent, style); 
     43        setText("SWT Dialog"); 
     44    } 
    11045 
    111         } 
    112          
    113         @SuppressWarnings("unchecked") 
    114         private void updateSequenceList() { 
    115                 sequenceList.removeAll(); 
    116                 Object dataObject = GlobalDataContainer.getInstance().getData(sequencesName); 
    117                 if( SequenceInstanceOf.isCollectionOfSequences(dataObject)) { 
    118                         sequences = (Collection<java.util.List<Event>>) dataObject; 
    119                         int seqDigits = Integer.toString(sequences.size()).length(); 
    120                         int counter = 1; 
    121                         for( java.util.List<Event> sequence : sequences ) { 
    122                                 String seqName = "#"+String.format("%0"+seqDigits+"d", counter)+": "+sequence.size(); 
    123                                 sequenceList.add(seqName); 
    124                                 counter++; 
    125                         } 
    126                         Object targetObject = GlobalDataContainer.getInstance().getData(sequencesName+"_targets"); 
    127                         targets = null; 
    128                         if( targetObject instanceof SortedSet ) { 
    129                                 if( !((SortedSet<?>) targetObject).isEmpty() ) { 
    130                                         if( ((SortedSet<?>) targetObject).first() instanceof String ) { 
    131                                                 targets = (SortedSet<String>) targetObject; 
    132                                         } 
    133                                 } 
    134                         } 
    135                         if( targets==null ) { 
    136                                 targets = new TreeSet<String>(); 
    137                                 for( java.util.List<Event> sequence : sequences ) { 
    138                                         for( Event event : sequence ) { 
    139                                                 String target = event.getTarget(); 
    140                                                 if( target!=null ) { 
    141                                                         targets.add(target); 
    142                                                 } 
    143                                         } 
    144                                 } 
    145                         } 
    146                 } else { 
    147                         MessageBox messageBox = new MessageBox(shell, SWT.ERROR); 
    148                         messageBox.setMessage("Internal error. Sequences object not of expected type!"); 
    149                         messageBox.setText("Error"); 
    150                         messageBox.open(); 
    151                 } 
    152         } 
     46    /** 
     47     * Open the dialog. 
     48     */ 
     49    public void open(String sequencesName) { 
     50        this.sequencesName = sequencesName; 
     51        sequences = null; 
     52        createContents(); 
     53        shell.open(); 
     54        shell.layout(); 
     55        Display display = getParent().getDisplay(); 
     56        while (!shell.isDisposed()) { 
     57            if (!display.readAndDispatch()) { 
     58                display.sleep(); 
     59            } 
     60        } 
     61    } 
     62 
     63    /** 
     64     * Create contents of the dialog. 
     65     */ 
     66    private void createContents() { 
     67        shell = new Shell(getParent(), SWT.SHELL_TRIM | SWT.BORDER | SWT.APPLICATION_MODAL); 
     68        shell.setSize(248, 299); 
     69        shell.setText(getText()); 
     70        shell.setLayout(new GridLayout(2, false)); 
     71 
     72        sequenceList = new List(shell, SWT.BORDER | SWT.V_SCROLL); 
     73        sequenceList.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); 
     74        updateSequenceList(); 
     75 
     76        Button btnShow = new Button(shell, SWT.NONE); 
     77        btnShow.addSelectionListener(new SelectionAdapter() { 
     78            @Override 
     79            public void widgetSelected(SelectionEvent e) { 
     80                int index = sequenceList.getSelectionIndex(); 
     81                if (index == -1) { 
     82                    MessageBox messageBox = new MessageBox(shell, SWT.ERROR); 
     83                    messageBox.setMessage("No sequence selected!"); 
     84                    messageBox.setText("Error"); 
     85                    messageBox.open(); 
     86                } 
     87                else { 
     88                    EditSequenceDialog editSequenceDialog = 
     89                        new EditSequenceDialog(shell, SWT.NONE, targets); 
     90                    int counter = 0; 
     91                    java.util.List<Event> selectedSequence = null; 
     92                    for (java.util.List<Event> sequence : sequences) { 
     93                        if (counter == index) { 
     94                            selectedSequence = sequence; 
     95                            break; 
     96                        } 
     97                        counter++; 
     98                    } 
     99                    editSequenceDialog.open(selectedSequence); 
     100                    updateSequenceList(); 
     101                } 
     102            } 
     103        }); 
     104        btnShow.setText("Show"); 
     105 
     106        Button btnClose = new Button(shell, SWT.NONE); 
     107        btnClose.addSelectionListener(new SelectionAdapter() { 
     108            @Override 
     109            public void widgetSelected(SelectionEvent e) { 
     110                shell.dispose(); 
     111            } 
     112        }); 
     113        btnClose.setText("Close"); 
     114 
     115    } 
     116 
     117    @SuppressWarnings("unchecked") 
     118    private void updateSequenceList() { 
     119        sequenceList.removeAll(); 
     120        Object dataObject = GlobalDataContainer.getInstance().getData(sequencesName); 
     121        if (SequenceInstanceOf.isCollectionOfSequences(dataObject)) { 
     122            sequences = (Collection<java.util.List<Event>>) dataObject; 
     123            int seqDigits = Integer.toString(sequences.size()).length(); 
     124            int counter = 1; 
     125            for (java.util.List<Event> sequence : sequences) { 
     126                String seqName = 
     127                    "#" + String.format("%0" + seqDigits + "d", counter) + ": " + sequence.size(); 
     128                sequenceList.add(seqName); 
     129                counter++; 
     130            } 
     131            Object targetObject = 
     132                GlobalDataContainer.getInstance().getData(sequencesName + "_targets"); 
     133            targets = null; 
     134            if (targetObject instanceof SortedSet) { 
     135                if (!((SortedSet<?>) targetObject).isEmpty()) { 
     136                    if (((SortedSet<?>) targetObject).first() instanceof String) { 
     137                        targets = (SortedSet<String>) targetObject; 
     138                    } 
     139                } 
     140            } 
     141            if (targets == null) { 
     142                targets = new TreeSet<String>(); 
     143                for (java.util.List<Event> sequence : sequences) { 
     144                    for (Event event : sequence) { 
     145                        // TODO check if toString() is sufficient 
     146                        String target = event.getTarget().toString(); 
     147                        if (target != null) { 
     148                            targets.add(target); 
     149                        } 
     150                    } 
     151                } 
     152            } 
     153        } 
     154        else { 
     155            MessageBox messageBox = new MessageBox(shell, SWT.ERROR); 
     156            messageBox.setMessage("Internal error. Sequences object not of expected type!"); 
     157            messageBox.setText("Error"); 
     158            messageBox.open(); 
     159        } 
     160    } 
    153161 
    154162} 
Note: See TracChangeset for help on using the changeset viewer.