Changeset 8303

Show
Ignore:
Timestamp:
09/12/08 09:08:00 (5 years ago)
Author:
stedwar2
Message:

Fixed several DND problems with ports in the platform tree.

Files:
1 modified

Legend:

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

    r7884 r8303  
    961961                                p.getConnectionsAsArray(); 
    962962                            p.removeAllConnections(); 
    963                             viewer().refresh(p); 
     963                            refresh(p); 
    964964                            for (Connection c : connections) 
    965965                            { 
    966                                 viewer().refresh(c.getRemotePort()); 
     966                                refresh(c.getRemotePort()); 
    967967                            } 
    968968                            setIsDirty(true); 
     
    10401040                        return dropPortConnection(event, onNode); 
    10411041                    } 
     1042                    else if (data.tree == platformTreeViewer.hashCode()) 
     1043                    { 
     1044                        return dropPortConnection(event, onNode); 
     1045                    } 
    10421046                    else // could be from platform viewer 
    10431047                    { 
     
    10511055                    DropTargetEvent event, ITreeNode onNode) 
    10521056                { 
     1057                    ITreeNode droppedNode = getDroppedNode(event, viewer()); 
     1058                    if (droppedNode == null) 
     1059                    { 
     1060                        droppedNode = getDroppedNode(event, platformTreeViewer); 
     1061                    } 
     1062                    if (droppedNode == null 
     1063                        || !(droppedNode.data() instanceof Port)) 
     1064                    { 
     1065                        return false; 
     1066                    } 
     1067 
     1068                    Port fromPort = (Port)droppedNode.data(); 
     1069                    return dropPortConnection(fromPort, onNode); 
     1070                } 
     1071 
     1072 
     1073                // ---------------------------------------------------------- 
     1074                private boolean dropPortConnection( 
     1075                    Port droppedPort, ITreeNode onNode) 
     1076                { 
    10531077                    Port toPort = 
    10541078                        nearestEnclosingObject(Port.class, onNode); 
    10551079                    if (toPort == null) return false; 
    10561080 
    1057                     ITreeNode droppedNode = 
    1058                         getDroppedNode(event, viewer()); 
    1059                     if (droppedNode == null 
    1060                         || !(droppedNode.data() instanceof Port)) 
    1061                     { 
    1062                         return false; 
    1063                     } 
    1064  
    1065                     Port fromPort = (Port)droppedNode.data(); 
    1066  
    1067                     log.debug("waveform: connecting port " + fromPort 
     1081                    log.debug("waveform: connecting port " + droppedPort 
    10681082                        + " to " + toPort); 
    1069                     String result = fromPort.connectTo(toPort); 
     1083                    String result = droppedPort.connectTo(toPort); 
    10701084                    if (result == null) 
    10711085                    { 
    10721086                        refresh(toPort); 
    1073                         refresh(fromPort); 
     1087                        refresh(droppedPort); 
    10741088                        return true; 
    10751089                    } 
     
    11381152            public void aboutToShow(IMenuManager manager, final ITreeNode node) 
    11391153            { 
     1154                if (!(node.data() instanceof Port)) 
    11401155                manager.add(new Action("Rename") 
    11411156                { 
     
    11721187                                p.getConnectionsAsArray(); 
    11731188                            p.removeAllConnections(); 
    1174                             viewer().refresh(p); 
     1189                            refresh(p); 
    11751190                            for (Connection c : connections) 
    11761191                            { 
    1177                                 viewer().refresh(c.getRemotePort()); 
     1192                                refresh(c.getRemotePort()); 
    11781193                            } 
    11791194                            setIsDirty(true); 
     
    12141229            public boolean allowAction(PyWrapper object) 
    12151230            { 
    1216                 return object instanceof Component 
    1217                     && !((Component)object).isDevice(); 
     1231                return (object instanceof Component 
     1232                        && !((Component)object).isDevice()) 
     1233                    || (object instanceof Port); 
    12181234            } 
    12191235        }); 
     
    12671283                    else 
    12681284                    { 
    1269                         return dropComponentAssignment(event, onNode); 
     1285                        ITreeNode droppedNode = 
     1286                            getDroppedNode(event, platformTreeViewer); 
     1287                        if (droppedNode != null 
     1288                            && droppedNode.data() instanceof Port) 
     1289                        { 
     1290                            return dropPortConnection( 
     1291                                (Port)droppedNode.data(), onNode); 
     1292                        } 
     1293                        else 
     1294                        { 
     1295                            return dropComponentAssignment(event, onNode); 
     1296                        } 
    12701297                    } 
    12711298                }