Changeset 7301

Show
Ignore:
Timestamp:
04/27/08 16:35:31 (6 years ago)
Author:
stedwar2
Message:

Now uses the edu.vt.ossie.wavedev wrappers.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • ossiedev/branches/jsnyder/ComponentProject/src/edu/vt/ossie/editors/OWDEditor.java

    r7295 r7301  
    1919import org.eclipse.ui.PlatformUI; 
    2020import org.eclipse.ui.part.EditorPart; 
    21 import org.eclipse.ui.texteditor.IElementStateListener; 
    2221import org.eclipse.jface.action.Action; 
    2322import org.eclipse.jface.action.IMenuListener; 
     
    3837import org.eclipse.swt.widgets.Label; 
    3938import org.eclipse.swt.widgets.Shell; 
    40 import org.eclipse.swt.widgets.Text; 
    4139import org.eclipse.swt.widgets.Tree; 
    4240import org.python.core.Py; 
    4341import org.python.core.PyList; 
    44 import org.python.core.PyObject; 
    4542import edu.vt.ossie.OWDPlugin; 
    4643import edu.vt.ossie.jyinterface.interfaces.MainFrame; 
     
    4845import edu.vt.ossie.views.ResourceTreeLabelProvider; 
    4946import edu.vt.ossie.views.ResourceTreeContentProvider.TreeNode; 
     47import edu.vt.ossie.wavedev.*; 
    5048 
    5149public class OWDEditor 
     
    107105                        public void widgetSelected(SelectionEvent event) 
    108106                        { 
    109                             System.out.println("button pressed"); 
    110                             PyList results = mainFrame().loadResources(); 
    111                             availableResourcesTreeViewer.setInput(results); 
     107                            refreshResources(); 
    112108                        } 
    113109                    }); 
     
    122118                availableResourcesTreeViewer.setLabelProvider( 
    123119                    new ResourceTreeLabelProvider()); 
    124                 availableResourcesTreeViewer.setInput( 
    125                     mainFrame().loadResources()); 
    126  
    127                 final Action addToWaveform = new Action("Add to Waveform") 
    128                 { 
    129                 }; 
    130120 
    131121                final Action addToNode = new Action("Add to Node") 
     
    156146                                if (!node.hasChildren()) 
    157147                                { 
    158                                      
    159                                     mgr.add(new AddToWaveformAction(node.data())); 
    160                                     mgr.add(addToNode); 
    161                                     mgr.add(addToPlatform); 
     148                                    if ("Components".equals( 
     149                                            node.parent().getName())) 
     150                                    { 
     151                                        mgr.add(new AddToWaveformAction( 
     152                                            node.data())); 
     153                                    } 
     154                                    else if ("Devices".equals( 
     155                                        node.parent().getName())) 
     156                                    { 
     157                                        mgr.add(addToNode); 
     158                                    } 
     159                                    else if ("Nodes".equals( 
     160                                        node.parent().getName())) 
     161                                    { 
     162                                        mgr.add(addToPlatform); 
     163                                    } 
    162164                                    mgr.add(new DoxygenAction(node.data())); 
    163165                                } 
     
    182184            } 
    183185            { 
    184                 activeWaveformTree = new Tree(mainWindow, SWT.NONE); 
     186                activeWaveformTree = new Tree(mainWindow, SWT.BORDER); 
    185187                                activeWaveformTree.setBounds(257, 30, 490, 149); 
    186188                                activeWaveformTreeViewer = new TreeViewer(activeWaveformTree); 
    187189                                activeWaveformTreeViewer.setContentProvider(new ResourceTreeContentProvider()); 
    188190                                activeWaveformTreeViewer.setLabelProvider(new ResourceTreeLabelProvider()); 
    189                                  
     191 
    190192            } 
    191193            { 
     
    200202        scroller.setMinSize(mainWindow.computeSize(SWT.DEFAULT, SWT.DEFAULT)); 
    201203        scroller.setContent(mainWindow); 
     204 
     205        // Load the trees 
     206        refreshResources(); 
     207        refreshWaveform(); 
     208        refreshPlatform(); 
    202209        } 
    203210 
     
    302309 
    303310    // ---------------------------------------------------------- 
    304     public PyObject getActiveWavefrom() 
    305     { 
    306         if(activeWaveform == null) 
    307             activeWaveform = mainFrame().getActiveWaveform(); 
     311    public void refreshResources() 
     312    { 
     313        System.out.println("Refreshing resources tree"); 
     314        availableResourcesTreeViewer.setInput( 
     315            wavedevFactory().toArrayOfWrappedElements( 
     316                mainFrame().loadResources())); 
     317    } 
     318 
     319 
     320    // ---------------------------------------------------------- 
     321    public Waveform getActiveWaveform() 
     322    { 
     323        if (activeWaveform == null) 
     324        { 
     325            activeWaveform = (Waveform)wavedevFactory() 
     326                .wrap(mainFrame().getActiveWaveform()); 
     327        } 
    308328        return activeWaveform; 
    309329    } 
     
    311331 
    312332    // ---------------------------------------------------------- 
    313     public PyObject getActivePlatform() 
    314     { 
    315         if(activePlatform == null) 
    316             activePlatform = mainFrame().getActivePlatform(); 
     333    public void refreshWaveform() 
     334    { 
     335        System.out.println("Refreshing waveform tree"); 
     336        activeWaveformTreeViewer.setInput(getActiveWaveform()); 
     337    } 
     338 
     339 
     340    // ---------------------------------------------------------- 
     341    public PyWrapper getActivePlatform() 
     342    { 
     343        if (activePlatform == null) 
     344        { 
     345            activePlatform = wavedevFactory().wrap( 
     346                mainFrame.getActivePlatform()); 
     347        } 
    317348        return activePlatform; 
     349    } 
     350 
     351 
     352    // ---------------------------------------------------------- 
     353    public void refreshPlatform() 
     354    { 
     355        System.out.println("Refreshing platform tree"); 
     356        // deployedNodesTreeViewer.setInput(getActivePlatform()); 
    318357    } 
    319358 
     
    401440            System.out.println("OWDEditor: loading file " + fileName); 
    402441            mainFrame().loadProject(Py.newString(fileName)); 
     442            activeWaveform = null; 
     443            activePlatform = null; 
    403444            initializeTitle(input); 
    404445        } 
     
    460501 
    461502    // ---------------------------------------------------------- 
     503    private Factory wavedevFactory() 
     504    { 
     505        if (wavedevFactory == null) 
     506        { 
     507            wavedevFactory = new Factory(OWDPlugin.getInterpreter()); 
     508        } 
     509        return wavedevFactory; 
     510    } 
     511 
     512 
     513 
     514    // ---------------------------------------------------------- 
    462515    private static abstract class ComponentAction 
    463516        extends Action 
    464517    { 
    465518        // ---------------------------------------------------------- 
    466         public ComponentAction(String name, PyObject subject) 
     519        public ComponentAction(String name, PyWrapper subject) 
    467520        { 
    468521            super(name); 
     
    470523        } 
    471524 
    472         protected PyObject subject; 
     525        protected PyWrapper subject; 
    473526    } 
    474527 
     
    479532    { 
    480533        // ---------------------------------------------------------- 
    481         public DoxygenAction(PyObject subject) 
     534        public DoxygenAction(PyWrapper subject) 
    482535        { 
    483536            super("Display Doxygen", subject); 
     
    488541        public void run() 
    489542        { 
    490             mainFrame().displayDoxygen(subject); 
    491         } 
    492     } 
    493      
     543            mainFrame().displayDoxygen(subject.pyObject()); 
     544        } 
     545    } 
     546 
    494547    private class AddToWaveformAction 
    495548        extends ComponentAction 
    496549    { 
    497550 
    498                 public AddToWaveformAction(PyObject subject)  
     551                public AddToWaveformAction(PyWrapper subject) 
    499552                { 
    500553                        super("Add to Waveform", subject); 
    501554                        // TODO Auto-generated constructor stub 
    502555                } 
    503                  
     556 
    504557                public void run() 
    505558                { 
    506559                        System.out.println("here"); 
    507                         mainFrame.addComponentToActiveWaveform(subject); 
    508                         activeWaveformTreeViewer.setInput(mainFrame.getActiveWaveform()); 
    509                          
     560                        mainFrame.addComponentToActiveWaveform(subject.pyObject()); 
     561                        refreshWaveform(); 
    510562                } 
    511          
     563 
    512564        } 
    513565 
     
    558610 
    559611    private MainFrame  mainFrame; 
    560     private PyObject   activeWaveform; 
    561     private PyObject   activePlatform; 
     612    private Waveform   activeWaveform; 
     613    private PyWrapper  activePlatform; 
    562614    private Image      titleImage; 
     615    private Factory    wavedevFactory; 
    563616}