Calc: eigener Dialog beim Schließen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

urbarobe
**
Beiträge: 25
Registriert: Mi, 08.07.2015 14:30

Calc: eigener Dialog beim Schließen

Beitrag von urbarobe »

Hallo,

beim Schließen der Tabelle verwende ich meinen eigenen Dialog, der dem Anwender die Möglichkeit bietet, die Tabelle zu speichern,
nicht zu speichern oder abzubrechen. Meinen Dialog gebe ich im Event 'OnPrepareViewClosing' aus. Im Nachlauf erscheint der interne Dialog
von LibreOffice zum Speichern. Wie verhindere ich die Anzeige des internen Dialogs, wenn der Anwender im eigenen Dialog 'Abbrechen'
gewählt hat?

Viele Grüße,
Robert
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Calc: eigener Dialog beim Schließen

Beitrag von F3K Total »

Hi,
aus dem Kopf:
sollte mit

Code: Alles auswählen

ThisComponent.modified = false
oder

Code: Alles auswählen

ThisComponent.isModified = false
funktionieren.
Gruß R
urbarobe
**
Beiträge: 25
Registriert: Mi, 08.07.2015 14:30

Re: Calc: eigener Dialog beim Schließen

Beitrag von urbarobe »

Das setzen von Modified auf False verwende ich bei 'Nein', also nicht speichern. Das funktioniert.
Bei 'Abbrechen' gilt es den internen Dialog nicht anzuzeigen, jedoch das Schließen des Dokuments zu verhindern.

Ich habe das hier gefunden: http://openoffice.2283327.n4.nabble.com ... 70187.html
Mir fehlt aber noch das Verständnis, dies an der richtigen Stelle einzusetzen :( .
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Calc: eigener Dialog beim Schließen

Beitrag von F3K Total »

Moin,
warum nimmst Du dann nicht den Originaldialog? Der macht doch genau das.
Gruß R
urbarobe
**
Beiträge: 25
Registriert: Mi, 08.07.2015 14:30

Re: Calc: eigener Dialog beim Schließen

Beitrag von urbarobe »

Moin R,

klar macht der Originaldialog genau das, was ich brauche. Im Grunde genommen möchte ich nur, dass ein anderer Text für den
Dokumentnamen angezeigt wird, nämlich dessen Beschreibung.

Gibt es hier die Möglichkeit, den Text anzupassen?

Gruß,
Robert
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Calc: eigener Dialog beim Schließen

Beitrag von Stephan »

Ich habe das hier gefunden: http://openoffice.2283327.n4.nabble.com ... 70187.html
Mir fehlt aber noch das Verständnis, dies an der richtigen Stelle einzusetzen :( .
Wenn ich das tue was dort als Lösung steht, also auf den Frame registrieren:

Code: Alles auswählen

global doc as object 
global lck as object 

sub testLocker 
        doc = ThisComponent.CurrentController.Frame
        oCB = CreateUnoListener("my_", "com.sun.star.embed.XActionsApproval") 
        args() = Array( CreateUnoValue("any", doc), _ 
                                        CreateUnoValue("any", 1), _ 
                                        oCB _ 
                                  ) 
        psm = GetProcessServiceManager() 
        lck = psm.createInstanceWithArguments("com.sun.star.embed.InstanceLocker", args()) 
end sub 

function my_approveAction(nAction as long) as boolean 
        'msgbox "Ping!" 
        my_approveAction = FALSE 
end function 

sub ReleaseLock 
        if NOT IsNull(lck) then lck.dispose() 
end sub
wird zwar das Dokument nicht geschlossen aber es friert komplett ein.

Ich kann Dir weder an dieser Stelle noch generell zu Deiner Frage weiterhelfen.


Gruß
Stephan
urbarobe
**
Beiträge: 25
Registriert: Mi, 08.07.2015 14:30

Re: Calc: eigener Dialog beim Schließen

Beitrag von urbarobe »

Code: Alles auswählen

oDoc.Title
wird im Originaldialog für den Dokumentnamen hergenommen. Den gilt es zu ändern. Dann passt's :D .
Antworten