[Spedit-commits] CVS: prototype/Sources/net/sourceforge/spedit/core XMLDocument.java,1.6,1.7 XMLElem
Status: Planning
Brought to you by:
krunte
|
From: S?bastien P. <kaz...@us...> - 2001-12-05 16:28:47
|
Update of /cvsroot/spedit/prototype/Sources/net/sourceforge/spedit/core
In directory usw-pr-cvs1:/tmp/cvs-serv13979/net/sourceforge/spedit/core
Modified Files:
XMLDocument.java XMLElementWrapper.java
Log Message:
Fixed a bug in the removal, but there are still some others. The
current implementation seems to be weak and crashes sometimes. Event
firing has been improved in XMLElementWrapper, in order for the events
to be fired only after the element has gained a stable state, ie. that
the actual modifications have been taken into effect.
Index: XMLDocument.java
===================================================================
RCS file: /cvsroot/spedit/prototype/Sources/net/sourceforge/spedit/core/XMLDocument.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** XMLDocument.java 2001/12/04 16:37:29 1.6
--- XMLDocument.java 2001/12/05 16:28:44 1.7
***************
*** 1149,1156 ****
{
System.out.println("Removal from:"+offset+" to:"+(offset+length));
- try
- { except(); }
- catch (Exception e)
- { e.printStackTrace(); }
doc.updatePositions(offset, -length);
--- 1149,1152 ----
***************
*** 1170,1177 ****
}
}
-
- public void except() throws Exception
- { throw new Exception(); }
}
//------------------------------------------------------------------------
//
--- 1166,1171 ----
}
}
}
+
//------------------------------------------------------------------------
//
Index: XMLElementWrapper.java
===================================================================
RCS file: /cvsroot/spedit/prototype/Sources/net/sourceforge/spedit/core/XMLElementWrapper.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** XMLElementWrapper.java 2001/12/04 16:37:29 1.3
--- XMLElementWrapper.java 2001/12/05 16:28:44 1.4
***************
*** 337,340 ****
--- 337,342 ----
* is out of the XMLElement bounds.
*/
+ public void except() throws Exception
+ { throw new Exception("wqe"); }
public Element getElementAt(int offset)
{
***************
*** 343,346 ****
--- 345,349 ----
System.err.println("XMLElementWrapper: Offset out of bounds "
+offset+" for element "+this);
+ try { except(); } catch (Exception e) { e.printStackTrace(); }
return null;
}
***************
*** 802,806 ****
//Variables
int cur_offset=getStartOffset();
! XMLDocument.DocumentEvent event;
XMLDocument doc = (XMLDocument)element.getDocument();
ArrayList new_content = new ArrayList(element.getContent().size()-1);
--- 805,809 ----
//Variables
int cur_offset=getStartOffset();
! XMLDocument.DocumentEvent event=null;
XMLDocument doc = (XMLDocument)element.getDocument();
ArrayList new_content = new ArrayList(element.getContent().size()-1);
***************
*** 839,843 ****
event = new XMLDocument.DocumentEvent(doc, offset, s);
event.addEdit(new XMLDocument.ElementEdit(((XMLText)obj).getWrapper()));
- event.fire();
}
//We add the content anyway
--- 842,845 ----
***************
*** 858,862 ****
edit.addAddedElement(new_text.getWrapper());
event.addEdit(edit);
- event.fire();
}
--- 860,863 ----
***************
*** 867,870 ****
--- 868,874 ----
//We set the new content
element.setNewContent(new_content);
+
+ //We fire the event
+ if ( event!=null ) { event.fire(); }
}
***************
*** 885,889 ****
XMLDocument.ElementEdit edit;
! XMLDocument.DocumentEvent event;
int cur_offset = getStartOffset();
XMLDocument doc = (XMLDocument)element.getDocument();
--- 889,893 ----
XMLDocument.ElementEdit edit;
! XMLDocument.DocumentEvent event=null;
int cur_offset = getStartOffset();
XMLDocument doc = (XMLDocument)element.getDocument();
***************
*** 935,939 ****
edit.addAddedElement(new_text.getWrapper());
event.addEdit(edit);
- event.fire();
}
//Or do we append it?
--- 939,942 ----
***************
*** 961,966 ****
edit.addAddedElement(elt.getWrapper());
event.addEdit(edit);
- event.fire();
- event = null;
}
}
--- 964,967 ----
***************
*** 979,983 ****
edit.addAddedElement(elt.getWrapper());
event.addEdit(edit);
- event.fire();
}
--- 980,983 ----
***************
*** 988,991 ****
--- 988,994 ----
//We set the new content
element.setNewContent(new_content);
+
+ //We fire the event
+ if ( event!=null ) { event.fire(); }
}
***************
*** 1113,1118 ****
}
! //We fire the event
! if ( fireEvent ) { event.fire(); }
System.out.println("Removal in "+getName());
//Now we detach the nodes
--- 1116,1120 ----
}
!
System.out.println("Removal in "+getName());
//Now we detach the nodes
***************
*** 1120,1123 ****
--- 1122,1129 ----
{ ((XMLElement)e.nextElement()).detach(); }
element.setNewContent(new_content);
+
+ //We fire the event
+ if ( fireEvent ) { event.fire(); }
+
return result;
|