/[gzz]/gzz/gzz/view/DefaultBinder.java
ViewVC logotype

Diff of /gzz/gzz/view/DefaultBinder.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6 by benja, Thu Oct 10 15:57:42 2002 UTC revision 1.7 by benja, Thu Oct 10 17:53:40 2002 UTC
# Line 116  public static final String rcsid = "$Id$ Line 116  public static final String rcsid = "$Id$
116                  dims[dim].connect(w.cursor, dir, other.cursor);                  dims[dim].connect(w.cursor, dir, other.cursor);
117              else {              else {
118                  c = w.cursor;                  c = w.cursor;
119                    
120                    Set alreadyConnected = new HashSet();
121                    if(c.s(dims[dim], dir) != null)
122                        alreadyConnected.add(c);
123                        
124                    for(Iterator i=marks.iterator(); i.hasNext();) {
125                        Mark m = (Mark)i.next();
126                        if(m.cell.s(dims[dim], -dir) != null)
127                            alreadyConnected.add(m.cell);
128                            
129                        if(i.hasNext() && m.cell.s(dims[dim], dir) != null)
130                            alreadyConnected.add(m.cell);
131                    }
132                    
133                    if(!alreadyConnected.isEmpty()) {
134                        // XXX should show cell(s) in the apology!
135                    
136                        String dimStr = fallback.dimList[w.dimsIndices[dim]].name;
137                        
138                        throw new ClientException(
139                            "Sorry, I couldn't connect, because "+
140                            (alreadyConnected.size() == 1 ? "one " : "some ")+
141                            "of the cells already has a connection "+
142                            "on "+dimStr+".");
143                    }
144                    
145                  for(Iterator i=marks.iterator(); i.hasNext();) {                  for(Iterator i=marks.iterator(); i.hasNext();) {
146                      Mark m = (Mark)i.next();                      Mark m = (Mark)i.next();
147                      c.connect(dims[dim], dir, m.cell);                      c.connect(dims[dim], dir, m.cell);
148                      c = m.cell;                      c = m.cell;
149                  }                  }
150                  marks = new ArrayList();                  marks = new ArrayList();
151                  markedCells = new HashSet();                  markedCells = new HashSet();
152              }              }

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26