ViewCursor in einem TextShape

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: ViewCursor in einem TextShape

von ubsch » Mo, 26.02.2007 14:43

Hallo Thomas,
vielen Dank für die Antwort. Es ging genau um das "Erkennen, wo ich eigentlich bin". OOo verhält sich ja innerhalb des TextShape genau wie im Textbody (Text markieren, formatieren, etc.). Daher bin ich davon ausgegangen, dass der dort sichtbare ViewCursor ähnlich wie im Textbody zu ermitteln ist. Vermutlich geschieht das programm-intern auch, wird aber nicht durch die API nach "außen" weitergegeben. So werde ich also mit der DrawPage arbeiten müssen. Vermutlich ist auch der zweite Teil meiner Frage nicht durch die API zugänglich:
Kann man in BASIC zwischen den Ansichten eines TextShapes (nach Click, nach Doppelclick) wechseln?
Oder doch?

ubsch

von Toxitom » Mo, 26.02.2007 09:03

Hey Ubsch,
gibt einen TextViewCursor zurück.
Das gibt es nicht! OOo unterscheidet zwischen einem Text-Cursor (nicht sichtbar) und dem View-Cursor (sichtbar, das blingende Ding im Dokument).
Deine Codezeile liefert den View-Cursor zurück und der bezieht sich auf den Textbody. Dein Shape jedoch ist Teil der Drawpage und - wenn aktiviert - nicht Inhalt deines Viewcursors. Hier musst du anders vorgehen.
Du brauchst zuerst das aktuelle Shape (muss man leider über eine Schleife und dann am besten über den Namen auslesen) dieses hat dann die gewünschten Eigenschaften (z.B. ein Objekt "Text", in dem die Texte verwaltet werden) Mit diesem Objekt kjannst du dann einen Textcursor erstellen und die gewünschten Formatierungen vornehmen.

Die größte Problematik ist eigentlich das "Erkennen, wo ich denn eigentlich bin...". Das geht auf der Drawpage leider nur über die Koordinaten - mit allen Schwierigkeiten.

Viele Grüße
Thomas

ViewCursor in einem TextShape

von ubsch » So, 25.02.2007 16:37

Ich möchte in einem TextShape (in Writer) ein Wort unterstreichen. Wie komme ich zu dem ViewCursor in dem TextShape (nach Doppelclick sichtbar)?

Code: Alles auswählen

ThisComponent.getCurrentController.getViewCursor
gibt einen TextViewCursor zurück. Versuche ich aber, auf Textmethoden zuzugreifen (z.B. getText, getString,...) kommt eine Fehlermeldung "no text selection". Der TextViewCursor bezieht sich offensichtlich auf das TextShape und nicht auf dessen Inhalt.

PS: Kann man in BASIC zwischen den Ansichten eines TextShapes (nach Click, nach Doppelclick) wechseln?

Nach oben