Ignore:
Timestamp:
09/24/11 04:17:48 (13 years ago)
Author:
sherbold
Message:

Work on the SWT GUI prototype. The prototype is still incomplete and should not be used.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/swt/ModelPropertiesDialog.java

    r192 r194  
    33import org.eclipse.swt.widgets.Dialog; 
    44import org.eclipse.swt.widgets.Display; 
     5import org.eclipse.swt.widgets.MessageBox; 
    56import org.eclipse.swt.widgets.Shell; 
    67import org.eclipse.swt.widgets.List; 
     
    1314import org.eclipse.swt.layout.FillLayout; 
    1415 
     16import de.ugoe.cs.eventbench.models.FirstOrderMarkovModel; 
     17import de.ugoe.cs.eventbench.models.IStochasticProcess; 
     18import org.eclipse.swt.events.SelectionAdapter; 
     19import org.eclipse.swt.events.SelectionEvent; 
     20 
    1521public class ModelPropertiesDialog extends Dialog { 
    1622 
     23        private IStochasticProcess process; 
     24         
    1725        protected Object result; 
    1826        protected Shell shlModelProperties; 
     
    6371                 
    6472                List list = new List(grpEvents, SWT.BORDER | SWT.V_SCROLL); 
     73                for( String symbol : process.getSymbolStrings() ) { 
     74                        list.add(symbol); 
     75                } 
    6576                 
    6677                Group grpStatistics = new Group(shlModelProperties, SWT.NONE); 
     
    7586                Label label = new Label(grpStatistics, SWT.RIGHT); 
    7687                label.setLayoutData(new GridData(SWT.RIGHT, SWT.TOP, false, false, 1, 1)); 
    77                 label.setText("####"); 
     88                label.setText(""+process.getNumSymbols()); 
    7889                 
    7990                Label lblNumTrieLeafs = new Label(grpStatistics, SWT.NONE); 
    8091                lblNumTrieLeafs.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1)); 
    81                 lblNumTrieLeafs.setText("Size (#Trie Leafs)"); 
     92                lblNumTrieLeafs.setText("Size (Flattend FOM)"); 
    8293                 
    8394                Label label_1 = new Label(grpStatistics, SWT.RIGHT); 
    8495                label_1.setLayoutData(new GridData(SWT.RIGHT, SWT.TOP, false, false, 1, 1)); 
    85                 label_1.setText("####"); 
     96                label_1.setText(""+process.getNumFOMStates()); 
    8697                 
    8798                Label lblEntropy = new Label(grpStatistics, SWT.NONE); 
     
    89100                lblEntropy.setText("Entropy"); 
    90101                 
    91                 Label label_2 = new Label(grpStatistics, SWT.RIGHT); 
    92                 label_2.setLayoutData(new GridData(SWT.RIGHT, SWT.TOP, false, false, 1, 1)); 
     102                final Label label_2 = new Label(grpStatistics, SWT.RIGHT); 
     103                label_2.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1)); 
    93104                label_2.setText("####"); 
    94105                 
    95106                Button btnCalculateEntropy = new Button(shlModelProperties, SWT.NONE); 
     107                btnCalculateEntropy.addSelectionListener(new SelectionAdapter() { 
     108                        @Override 
     109                        public void widgetSelected(SelectionEvent e) { 
     110                                if( process instanceof FirstOrderMarkovModel) { 
     111                                        label_2.setText(""+((FirstOrderMarkovModel) process).calcEntropy()); 
     112                                } else { 
     113                                        MessageBox messageBox = new MessageBox(shlModelProperties, SWT.NONE); 
     114                                        messageBox.setText("Feature Not Available"); 
     115                                        messageBox.setMessage("The feature is currently only available for first-order Markov models."); 
     116                                        messageBox.open(); 
     117                                } 
     118                        } 
     119                }); 
    96120                btnCalculateEntropy.setText("Calculate Entropy"); 
    97121                 
     
    100124 
    101125        } 
     126         
     127        public void setStochasticProcess(IStochasticProcess process) { 
     128                this.process = process; 
     129        } 
    102130} 
Note: See TracChangeset for help on using the changeset viewer.