Sun Microsystems
Termékek
 
Támogatás
 
 

Előző Előző     Tartalom     Tárgymutató     Következő Következő

Szöveges dokumentumok: Több, mint szöveg

Eddig a fejezet csak a szövegbekezdésekkel és azok részeivel foglalkozott. De a szöveges objektumok ezenfelül más objektumokat is tartalmazhatnak. Ezek közé tartoznak a táblázatok, szövegmezők és könyvtárak. Ezek az objektumok a szöveg bármelyik pontján beszúrhatók.

A közös funkcióknak köszönhetően a StarOffice programban ezen objektumok mindegyike támogatja a com.sun.star.text.TextContent nevű közös alapszolgáltatást. Ez a következő tulajdonságokat biztosítja:

  • AnchorType (enumeráció) - a TextContent objektum rögzítési típusa (a com.sun.star.text.TextContentAnchorType enumerációnak megfelelő alapértelmezett értékek).

  • AnchorTypes (enumerációsorozat) - a speciális TextContent objektumot tartalmazó összes AnchorTypes objektum enumerációja.

  • TextWrap (enumeráció) - a szöveg körbefolyatását határozza meg a TextContent objektum körül (a com.sun.star.text.WrapTextMode enumerációnak megfelelő alapértelmezett értékek).

A TextContent objektumoknak szinték közös néhány metódusa - lényegében az objektumok létrehozása, beszúrása és törlése.

  • Az TextContent objektum a dokumentumobjektum createInstance metódusával hozható létre.

  • Egy objektum a szövegobjektum insertTextContent metódusával szúrható be.

  • A TextContent a removeTextContent metódussal törölhetők.

A következő részekben számos példát találunk ezen metódusok használatára.

Táblázatok

A következő példa egy táblázatot hoz létre az előzőekben ismertetett createInstance metódus használatával.

Dim Doc As Object

Dim Table As Object

Dim Cursor As Object



Doc = StarDesktop.CurrentComponent

Cursor = Doc.Text.createTextCursor()



Table = Doc.createInstance("com.sun.star.text.TextTable")

Table.initialize(5, 4)



Doc.Text.insertTextContent(Cursor, Table, False)

Létrehozás után az initialize metódus beállítja a táblázat sorainak és oszlopainak számát, majd a insertTextContent metódus beszúrja a táblázatot a szövegbe.

Ahogy a példában is látható, az insertTextContent metódus nem csak a beszúrni kívánt Contet objektumot várja paraméterként, hanem két másik paramétert is:

  • egy Cursor objektumot, amely meghatározza a beszúrás pozícióját;

  • egy boolean (logikai) értéket, amely megadja, hogy a kurzor által kijelölt részt lecserélje-e a Content objektum (True (igaz) érték), vagy az elé legyen beszúrva (False (hamis) érték).


Megjegyzés - Amikor táblázatokat hozunk létre szöveges dokumentumokban vagy szúrunk be azokba, a VBA-ban rendelkezésre álló objektumokhoz hasonló objektumokat használunk a StarOffice Basic programban: A StarOffice Basic dokumentumobjektuma és TextCursor objektuma vagy a VBA-beli megfelelője Range objektum. Míg a VBA-ban a Document.Tables.Add metódus hajtja végre a táblázat létrehozását és beállítását, a létrehozást a StarOffice Basic programban az előző példán bemutatottaknak megfelelően a createInstance metódus végzi, az inicializálást és a dokumentumba történő beszúrást pedig az insertTextContent metódus.


A szöveges dokumentumba beszúrt táblázatok egy egyszerű ciklussal felismerhetők. Ebből a célból használjuk a szövegesdokumentum-objektum getTextTables() metódusát:

Dim Doc As Object

Dim TextTables As Object

Dim Table As Object

Dim I As Integer

Doc = StarDesktop.CurrentComponent

TextTables = Doc.getTextTables()

For I = 0 to TextTables.count - 1



   Table = TextTables(I)

   ' Táblázat szerkesztése

Next I


Megjegyzés - A StarOffice 8 programban a szöveges táblázatok a dokumentumobjektum TextTables listáján keresztül érhetők el. Ez vette át a helyét a régi Selection objektumon keresztül elérhető listának. Az előző példa bemutatja, hogyan hozható létre egy szöveges táblázat. A szöveges táblázatok elérésére használt lehetőségeket a következő rész írja le.


Táblázatok szerkesztése

Egy táblázat önálló sorokból áll. Ezek pedig cellákból. Szigorúan véve nincsenek táblaoszlopok a StarOffice programban. Az oszlopokat az hozza létre, hogy a sorok egymás alá vannak rendezve. Ennek ellenére a táblázatokkal végzett munka megkönnyítésére a StarOffice biztosít metódusokat, amelyek oszlopokat használnak. Ezek akkor hasznosak, ha egy cella sincs összevonva egy másikkal a táblázatban.

Először tekintsük át magának a táblázatnak a tulajdonságait. Ezek a com.sun.star.text.TextTable szolgáltatásban vannak definiálva. Az alábbiakban láthatók a táblázatobjektum legfontosabb tulajdonságai:

  • BackColor (hosszú egész szám) - a táblázat háttérszíne.

  • BottomMargin (hosszú egész szám) - az alsó margó századmilliméterben.

  • LeftMargin (hosszú egész szám) - a bal margó századmilliméterben.

  • RightMargin (hosszú egész szám) - a jobb margó századmilliméterben.

  • TopMargin (hosszú egész szám) - a felső margó századmilliméterben.

  • RepeatHeadline (logikai érték) - a táblázat fejlécének megismétlése minden oldalon.

  • Width (hosszú egész szám) - a táblázat abszolút szélessége századmilliméterben.

Előző Előző     Tartalom     Tárgymutató     Következő Következő