Changeset 7376

Show
Ignore:
Timestamp:
04/30/08 12:31:34 (5 years ago)
Author:
stedwar2
Message:

The ports tree is now filled.

Files:
1 modified

Legend:

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

    r7368 r7376  
    77import org.eclipse.jface.dialogs.ErrorDialog; 
    88import org.eclipse.jface.resource.ImageDescriptor; 
     9import org.eclipse.jface.viewers.TreeViewer; 
    910import org.eclipse.swt.SWT; 
    1011import org.eclipse.swt.custom.ScrolledComposite; 
     
    3334import org.eclipse.ui.PlatformUI; 
    3435import org.eclipse.ui.part.EditorPart; 
     36import org.python.core.PyList; 
    3537import edu.vt.ossie.OWDPlugin; 
    36 import edu.vt.ossie.wavedev.Component; 
     38import edu.vt.ossie.views.ResourceTreeContentProvider; 
     39import edu.vt.ossie.views.ResourceTreeLabelProvider; 
     40import edu.vt.ossie.wavedev.*; 
    3741 
    3842//------------------------------------------------------------------------- 
     
    195199        } 
    196200        { 
    197             portsTree = new Tree(mainWindow, SWT.BORDER); 
     201            Tree portsTree = new Tree(mainWindow, SWT.BORDER); 
    198202            portsTree.setBounds(12, 126, 228, 136); 
    199  
     203            portsTreeViewer = new TreeViewer(portsTree); 
     204            portsTreeViewer.setContentProvider( 
     205                new ResourceTreeContentProvider()); 
     206            portsTreeViewer.setLabelProvider( 
     207                new ResourceTreeLabelProvider()); 
     208            portsTreeViewer.setAutoExpandLevel(2); 
    200209        } 
    201210        { 
     
    458467        componentNameInputField.setText(guiString(component.getName())); 
    459468        componentBaseName.setText(guiString(component.getBaseName())); 
     469 
     470        // Set up the ports tree 
     471        { 
     472            // Get list of ports from component 
     473            PyList ports = component.getPorts(); 
     474 
     475            // Declare holders for the in- and out-ports 
     476            PyList usesPorts = new PyList(); 
     477            PyList providesPorts = new PyList(); 
     478 
     479            // Now split the list into the two kinds 
     480            for (int i = 0; i < ports.size(); i++) 
     481            { 
     482                Port p = (Port)component.factory().wrap(ports.pyget(i)); 
     483                if (p.isUsesPort()) 
     484                { 
     485                    usesPorts.append(p.pyObject()); 
     486                } 
     487                else 
     488                { 
     489                    providesPorts.append(p.pyObject()); 
     490                } 
     491            } 
     492 
     493            // Now build a tree node for the uses list 
     494            MainFrameTreeNode usesNode = (MainFrameTreeNode)component.factory() 
     495                .create("MainFrameGlue.MainFrameTreeNode", "Uses", usesPorts); 
     496            // and for the provides list 
     497            MainFrameTreeNode providesNode = (MainFrameTreeNode)component 
     498                .factory().create("MainFrameGlue.MainFrameTreeNode", 
     499                    "Provides", providesPorts); 
     500 
     501            // Now place them in the tree 
     502            portsTreeViewer.setInput( 
     503                new PyWrapper[] { usesNode, providesNode }); 
     504        } 
    460505    } 
    461506 
     
    551596 
    552597    private Table  propertiesTable; 
    553     private Tree   portsTree; 
     598    private TreeViewer portsTreeViewer; 
    554599 
    555600    private boolean dirty;