public void CursorPosSetzenDurchMausAktion( XmlNode xmlNode, XMLCursorPositionen cursorPos, MausKlickAktionen aktion) { this.CursorPosSetzenDurchMausAktion(xmlNode, cursorPos, 0, aktion); }
public void CursorSetzen(XmlNode aktNode, XMLCursorPositionen posAmNode, int posImTextnode) { bool flag = (byte)((aktNode != this._aktNode) ? 1 : ((posAmNode != this._posAmNode) ? 1 : ((posImTextnode != this._posImTextnode) ? 1 : 0))) != 0; this._aktNode = aktNode; this._posAmNode = posAmNode; this._posImTextnode = posImTextnode; if (flag) { this.PosChanged(EventArgs.Empty); } }
public void SelektionOptimieren() { if (this._startPos.AktNode == null) { return; } if (this._startPos.AktNode == this._endPos.AktNode) { if (this._startPos.PosAmNode > this._endPos.PosAmNode) { XMLCursorPositionen posAmNode = this._startPos.PosAmNode; int posImTextnode = this._startPos.PosImTextnode; this._startPos.CursorSetzen(this._endPos.AktNode, this._endPos.PosAmNode, this._endPos.PosImTextnode); this._endPos.CursorSetzen(this._endPos.AktNode, posAmNode, posImTextnode); } else if (this._startPos.PosAmNode == XMLCursorPositionen.CursorInnerhalbDesTextNodes && this._endPos.PosAmNode == XMLCursorPositionen.CursorInnerhalbDesTextNodes && this._startPos.PosImTextnode > this._endPos.PosImTextnode) { int posImTextnode = this._startPos.PosImTextnode; this._startPos.CursorSetzen(this._startPos.AktNode, XMLCursorPositionen.CursorInnerhalbDesTextNodes, this._endPos.PosImTextnode); this._endPos.CursorSetzen(this._startPos.AktNode, XMLCursorPositionen.CursorInnerhalbDesTextNodes, posImTextnode); } } else { if (ToolboxXML.Node1LiegtVorNode2(this._endPos.AktNode, this._startPos.AktNode)) { XMLCursorPos startPos = this._startPos; this._startPos = this._endPos; this._endPos = startPos; } if (ToolboxXML.IstChild(this._endPos.AktNode, this._startPos.AktNode)) { this.BeideCursorPosSetzen(this._startPos.AktNode, XMLCursorPositionen.CursorAufNodeSelbstVorderesTag); } if (this._startPos.AktNode.ParentNode != this._endPos.AktNode.ParentNode) { XmlNode xmlNode = this.TiefsterGemeinsamerParent(this._startPos.AktNode, this._endPos.AktNode); XmlNode aktNode1 = this._startPos.AktNode; while (aktNode1.ParentNode != xmlNode) { aktNode1 = aktNode1.ParentNode; } XmlNode aktNode2 = this._endPos.AktNode; while (aktNode2.ParentNode != xmlNode) { aktNode2 = aktNode2.ParentNode; } this._startPos.CursorSetzen(aktNode1, XMLCursorPositionen.CursorAufNodeSelbstVorderesTag); this._endPos.CursorSetzen(aktNode2, XMLCursorPositionen.CursorAufNodeSelbstVorderesTag); } } }
public void CursorSetzen(XmlNode aktNode, XMLCursorPositionen posAmNode, int posImTextnode) { bool flag = aktNode != this._aktNode || (posAmNode != this._posAmNode || posImTextnode != this._posImTextnode); this._aktNode = aktNode; this._posAmNode = posAmNode; this._posImTextnode = posImTextnode; if (!flag) { return; } this.PosChanged(EventArgs.Empty); }
public void CursorPosSetzenDurchMausAktion(XmlNode xmlNode, XMLCursorPositionen cursorPos, int posInZeile, MausKlickAktionen aktion) { switch (aktion) { case MausKlickAktionen.MouseDown: this.BeideCursorPosSetzen(xmlNode, cursorPos, posInZeile); break; case MausKlickAktionen.MouseDownMove: case MausKlickAktionen.MouseUp: this.EndPos.CursorSetzen(xmlNode, cursorPos, posInZeile); break; } }
public void BeideCursorPosSetzen(XmlNode node, XMLCursorPositionen posAmNode, int posImTextnode) { bool flag = (byte)((node != this._startPos.AktNode) ? 1 : ((posAmNode != this._startPos.PosAmNode) ? 1 : ((posImTextnode != this._startPos.PosImTextnode) ? 1 : 0))) != 0; if (!flag) { flag = ((byte)((node != this._endPos.AktNode) ? 1 : ((posAmNode != this._endPos.PosAmNode) ? 1 : ((posImTextnode != this._endPos.PosImTextnode) ? 1 : 0))) != 0); } this._cursorWirdGeradeGesetzt = true; this._startPos.CursorSetzen(node, posAmNode, posImTextnode); this._endPos.CursorSetzen(node, posAmNode, posImTextnode); this._cursorWirdGeradeGesetzt = false; if (flag) { this.Changed(EventArgs.Empty); } }
public void BeideCursorPosSetzen( XmlNode node, XMLCursorPositionen posAmNode, int posImTextnode) { bool flag = node != this._startPos.AktNode || (posAmNode != this._startPos.PosAmNode || posImTextnode != this._startPos.PosImTextnode); if (!flag) { flag = node != this._endPos.AktNode || (posAmNode != this._endPos.PosAmNode || posImTextnode != this._endPos.PosImTextnode); } this._cursorWirdGeradeGesetzt = true; this._startPos.CursorSetzen(node, posAmNode, posImTextnode); this._endPos.CursorSetzen(node, posAmNode, posImTextnode); this._cursorWirdGeradeGesetzt = false; if (!flag) { return; } this.Changed(EventArgs.Empty); }
public XMLCursorPos() { this._aktNode = null; this._posAmNode = XMLCursorPositionen.CursorAufNodeSelbstVorderesTag; this._posImTextnode = 0; }
public void CursorSetzen(XmlNode aktNode, XMLCursorPositionen posAmNode) { this.CursorSetzen(aktNode, posAmNode, 0); }
public void BeideCursorPosSetzen(XmlNode node, XMLCursorPositionen posAmNode) { this.BeideCursorPosSetzen(node, posAmNode, 0); }
public virtual bool AktionPasteFromClipboard(UndoSnapshotSetzenOptionen undoSnapshotSetzen) { if (!this.AktionenMoeglich) { return(false); } string text = ""; try { XMLCursorPos startPos; if (Clipboard.ContainsText(TextDataFormat.Text)) { if (this.IstRootNodeSelektiert) { return(this.AktionRootNodeDurchClipboardInhaltErsetzen(undoSnapshotSetzen)); } if (this.IstEtwasSelektiert) { if (this.AktionDelete(UndoSnapshotSetzenOptionen.nein)) { startPos = this._cursor.StartPos; goto IL_008a; } return(false); } startPos = this.CursorOptimiert.StartPos; goto IL_008a; } return(false); IL_008a: if (undoSnapshotSetzen == UndoSnapshotSetzenOptionen.ja) { this._undoHandler.SnapshotSetzen(ResReader.Reader.GetString("AktionEinfuegen"), this._cursor); } text = Clipboard.GetText(TextDataFormat.Text); text = text.Replace("\r\n", " "); text = text.Replace("\n\r", " "); text = text.Replace("\r", " "); text = text.Replace("\n", " "); text = text.Replace("\t", " "); string xmlFragment = string.Format("<paste>{0}</paste>", text); XmlTextReader xmlTextReader = new XmlTextReader(xmlFragment, XmlNodeType.Element, null); xmlTextReader.MoveToContent(); XmlNode xmlNode = this._rootNode.OwnerDocument.ReadNode(xmlTextReader); XMLCursorPos xMLCursorPos = startPos.Clone(); foreach (XmlNode childNode in xmlNode.ChildNodes) { if (childNode is XmlText) { XmlNode xmlNode3 = null; xMLCursorPos.TextEinfuegen(childNode.Clone().Value, this.Regelwerk, out xmlNode3); if (xmlNode3 != null) { xMLCursorPos.InsertXMLNode(xmlNode3.Clone(), this.Regelwerk, true); } } else { xMLCursorPos.InsertXMLNode(childNode.Clone(), this.Regelwerk, true); } } XMLCursorPositionen posAmNode = this._cursor.EndPos.PosAmNode; if (posAmNode == XMLCursorPositionen.CursorVorDemNode || posAmNode == XMLCursorPositionen.CursorInnerhalbDesTextNodes) { this._cursor.BeideCursorPosSetzen(xMLCursorPos.AktNode, xMLCursorPos.PosAmNode, xMLCursorPos.PosImTextnode); } else { this._cursor.BeideCursorPosSetzen(xMLCursorPos.AktNode, XMLCursorPositionen.CursorHinterDemNode); } return(true); } catch (Exception ex) { Debugger.GlobalDebugger.Protokolliere(string.Format("AktionPasteFromClipboard:Fehler für Einfügetext '{0}':{1}", text, ex.Message), Debugger.ProtokollTypen.Fehlermeldung); return(false); } }
private DTDTestmuster CreateTestMuster(string elementName, XMLCursorPos cursorPos) { XmlNode aktNode = cursorPos.AktNode; XMLCursorPositionen posAmNode = cursorPos.PosAmNode; DTDTestmuster dTDTestmuster; if (posAmNode == XMLCursorPositionen.CursorInDemLeeremNode) { dTDTestmuster = new DTDTestmuster(elementName, DTD.GetElementNameFromNode(aktNode)); dTDTestmuster.AddElement(elementName); } else { if (aktNode.ParentNode is XmlDocument) { throw new ApplicationException(ResReader.Reader.GetString("FuerRootElementKeinTestmuster")); } dTDTestmuster = new DTDTestmuster(elementName, DTD.GetElementNameFromNode(aktNode.ParentNode)); for (XmlNode xmlNode = aktNode.ParentNode.FirstChild; xmlNode != null; xmlNode = xmlNode.NextSibling) { if (!(xmlNode is XmlWhitespace)) { if (xmlNode == aktNode) { if (xmlNode is XmlComment) { dTDTestmuster.AddElement("#COMMENT"); } else if (this._dtd.DTDElementByName(DTD.GetElementNameFromNode(aktNode), false) != null) { switch (cursorPos.PosAmNode) { case XMLCursorPositionen.CursorAufNodeSelbstVorderesTag: case XMLCursorPositionen.CursorAufNodeSelbstHinteresTag: if (elementName != null) { dTDTestmuster.AddElement(elementName); } break; case XMLCursorPositionen.CursorHinterDemNode: if (elementName == null) { throw new ApplicationException("CreateTestMuster: Löschen darf bei XMLCursorPositionen.CursorHinterDemNode nicht geprüft werden!"); } dTDTestmuster.AddElement(DTD.GetElementNameFromNode(aktNode)); dTDTestmuster.AddElement(elementName); break; case XMLCursorPositionen.CursorInDemLeeremNode: if (elementName == null) { throw new ApplicationException("CreateTestMuster: Löschen darf bei XMLCursorPositionen.CursorHinterDemNode nicht geprüft werden!"); } throw new ApplicationException("CreateTestMuster: CursorInDemLeeremNode can\u00b4t be handled at this place!"); case XMLCursorPositionen.CursorVorDemNode: if (elementName == null) { throw new ApplicationException("CreateTestMuster: Löschen darf bei XMLCursorPositionen.CursorVorDemNode nicht geprüft werden!"); } dTDTestmuster.AddElement(elementName); dTDTestmuster.AddElement(DTD.GetElementNameFromNode(aktNode)); break; case XMLCursorPositionen.CursorInnerhalbDesTextNodes: if (elementName == null) { throw new ApplicationException("CreateTestMuster: Löschen darf bei XMLCursorPositionen.CursorInnerhalbDesTextNodes nicht geprüft werden!"); } if (DTD.GetElementNameFromNode(aktNode) != "#PCDATA") { throw new ApplicationException("CreateTestMuster: CursorInnerhalbDesTextNodes angegeben, aber node.name=" + DTD.GetElementNameFromNode(aktNode)); } dTDTestmuster.AddElement("#PCDATA"); dTDTestmuster.AddElement(elementName); dTDTestmuster.AddElement("#PCDATA"); break; default: throw new ApplicationException("Unknown XMLCursorPositionen value:" + cursorPos.PosAmNode); } } } else { dTDTestmuster.AddElement(DTD.GetElementNameFromNode(xmlNode)); } } } } return(dTDTestmuster); }