[Megoldva] Kereszthivatkozás beszúrási módja

Szövegszerkesztő
violazoli
Önkéntesek
Hozzászólások: 47
Csatlakozott: 2010. május 7., péntek 13:02
Tartózkodási hely: Earth

[Megoldva] Kereszthivatkozás beszúrási módja

Hozzászólás Szerző: violazoli »

Sziasztok! Tudom, hogy doksiba kereszthivatkozást hogyan lehet beszúrni. Még gyorsbillentyű is van rá, az F12. A gondom az, hogy épp egy rém hosszú doksit írok, tényleg nagyon hosszút, tudniillik az általam kreált „Scrawl” nevű „interpreteres” programnyelvről, és ebben nem annyi kereszthivatkozás van ám mint egy irodalmi műben, hanem százszámra. No és én amikor beszúrok egyet, mindig ki kell válasszam az F12 lenyomásakor előbukkanó ablakban baloldalt lent az „insert reference to” feliratú menüféleségben a sok lehetőség közül a "Hivatkozás" micsodát (nem tudom minek nevezzem). Felette van még olyan szöveg hogy "Oldal" és "Fejezet", alatta meg sok más akármi is. Alapértelmezésben ez a legfelsőn, az "Oldal"-on áll. Na de ez nem jó nekem, én MINDIG a "Hivatkozás" formát használom. Biztos tök jó dolog a többi lehetőség is, de nekem ez kell. Szóval a kérdésem csak annyi lenne, hogyan tudnám beállítani a LO-t úgy, hogy alapértelmezetten nekem mindig "Hivatkozás"-t szúrjon be? Például az inverz csík alapból a 3-adik soron álljon amikor F12-t nyomok, vagy e menüpont kerüljön az első helyre, stb.
Az általam használt LO verzió:
Verzió: 4.2.0.2
Build az.: 420m0(Build:2)

Köszi előre is, ha tudtok segíteni!
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Kereszthivatkozás beszúrási módja

Hozzászólás Szerző: Zizi64 »

Makró??
Ha jól sejtem, a megírása nem okozhat gondot:
doksit írok, tényleg nagyon hosszút, tudniillik az általam kreált „Scrawl” nevű „interpreteres” programnyelvről,
Jelenleg saját, módosított LFS

Egy mintafájlt (amiben már vannak létrehozott hivatkozások) esetleg feltölthetnél ide, hátha valakinek kedve kerekedik kísérletezni a dologgal...
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
violazoli
Önkéntesek
Hozzászólások: 47
Csatlakozott: 2010. május 7., péntek 13:02
Tartózkodási hely: Earth

Re: Kereszthivatkozás beszúrási módja

Hozzászólás Szerző: violazoli »

Hm, tévedsz, egy makró megírása nekem igenis gondot okozhat, tudniillik az az izé amin írni kéne azt, nem olyan nyelv, amivel eddig foglalkoztam. Én csak a C/C++ nyelveket ismerem. Ennek ellenére, belekezdtem a megírásába, gondolván hogy majd „rögzítem” és később módosítom ahogy kell. Legnagyobb sajnálatomra azonban úgy tűnik, ez nem fog összejönni. Amiatt nem, mert ilyen sor van a makróban:

args1(2).Value = "__RefHeading__715_483845289"

Vagyis, nem külön tárolja el hogy most hivatkozásról van szó, és nem külön tárolja el a nevet amire hivatkozik, hanem egybe. Ez pedig azt jelenti, hogy ha e sort kitörlöm onnét vagy rem -mel megjegyzéssé teszem (kipróbáltam), akkor a makró futtatásakor ugyanúgy csak megjelenik a kereszthivakozás panelje mint a sima F12 megnyomásakor, és az inverz csík megint „fent” van és nem azon a soron ami nekem kéne.

Lehet hogy a megoldás nem is a writerben lesz a számomra, hanem az xautomation csomagban. Ez az ötlet most merült fel bennem, mindjárt utánanézek.
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4034
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Kereszthivatkozás beszúrási módja

Hozzászólás Szerző: Zizi64 »

belekezdtem a megírásába, gondolván hogy majd „rögzítem” és később módosítom ahogy kell.
Makrórögzítővel ez reménytelen vállalkozás. Például amiatt is, amit leírtál: a rögzített makró mereven előhozza ugyanazt a beépített form-ot, amit kézzel is használnál.

Az Apache OpenOffice/LibreOffice "API" (Application Programming Interface) függvényeit kell megismerned, és azokat használni.

Az API függvényei és eljárásai a használatukat tekintve teljesen függetlenek mindenféle fejlesztőrendszertől és programnyelvtől. Azaz: nagyon sokféle környezetből és programnyelvből meghívhatók, tehát nem kell az elavultnak számító (de szerintem még mindig jól használható) beépített Basic IDE tudására hagyatkoznod. Az API függvények leírása megtalálható a neten az AOO és a LO oldalain - és ezen a fórumon néhány; az angol fórumon pedig rengeteg mintapélda van a használatukra.
Andrew Pitonyak könyvei és leírásai mind a StarBasic használatára, mind pedig az API függvények StarBasic-ből történő meghívására adnak rengeteg segítséget.

Részletesebb segítséget így elsőre nem tudok adni. Meglehet, hogy teljesen új, saját form létrehozása, vagy a folyamat egyéb módon történő automatizálása ad majd megoldást...
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
violazoli
Önkéntesek
Hozzászólások: 47
Csatlakozott: 2010. május 7., péntek 13:02
Tartózkodási hely: Earth

Re: [Megoldva] Kereszthivatkozás beszúrási módja [SOLVED]

Hozzászólás Szerző: violazoli »

Hát köszi, de bevallom, nem sok kedvet érzek ezen egyszeri, kis feladat kedvéért belekezdeni akkora tanulásba, mint a komplett API elsajátítása! Annyiból igazat adok neked, hogy a tökéletes megoldás ez volna. Ennyit azonban nem ér meg nekem. Rengeteg időbe kerülne ugyanis, és az hiányzana a saját programnyelvem fejlesztéséből.

Azonban, „problem solved”. Az előző postomban írt ötlet bevált, csak nem az xautomation kellett hozzá, elég volt az xdotools is, amit amúgy régebben is használtam (úgy értem használom jelenleg is, régóta) a középső egérgomb emulációjához. Ugyanis Logitech K400 wireless billcsim van, de azon olyan gomb nincs. Na ezt emulálom az xdotools-sal (kell hozzá persze az xbindkeys is). Szóval, ez az út ismerős volt a számomra, csodálkozom is magamon hogy korábban nem ugrott be azonnal. Tehát:

A megoldás a következő szkript:

Kód: Egész kijelölése

#!/bin/bash
xprop_command=`which xprop`
xdotool_command=`which xdotool`
xte_command=`which xte`

xte "sleep 1" "keydown Alt_L" "keydown B" "keyup B" "keyup Alt_L" "keydown K" "keyup K" "sleep 1" "keydown Tab" "keyup Tab" "keydown Down" "keyup Down" "keydown Down" "keyup Down"
Ezt elmentjük valahova ami benne van a $PATH-unkban, én stílszerűen az F12 nevet adtam e szkriptnek, s a $HOME/.xbindkeysrc fájlba felveszek valami ilyesmit:

Kód: Egész kijelölése

"F12"
 F12
Ennek hatására (legalábbis a grafikus felület újraindítása után - bár elég csak az xbindkeys progit újraindítani) ha megnyomom az F12 gombot, előugrik a megfelelő LO menü, s az inverz csík rögvest oda áll ahol én szeretem látni azt.

A megoldás szépséghibája, hogy akkor is beszúrja az F12 megnyomása e billentyűlenyomásokat az X11 eseménypufferébe ha nem fut a LO, de ezt a kockázatot (hogy véletlenül nyomom meg) kész vagyok bevállalni. Ugyanis az utóbbi napokban állandóan azzal dolgozom úgyis a doksiírás miatt, s ez így lesz még hetekig. Azután legfeljebb kitörlöm azt a 2 sort az .xbindkeysrc fájlból.

Köszi a segíteniakarást!
Válasz küldése