Seite 1 von 2

[gelöst] Konfigurationseinstellung speichern

Verfasst: Do 27. Jul 2023, 09:52
von Basilisk
Ich könnte natürlich unter /home/user/.config irgendeine INI-Datei anlegen, aber vielleicht hat LO ja schon etwas vorgesehen um die Konfiguration für eine Makro zwischen Aufrufen von LO persistent zu speichern.

Re: Konfigurationseinstellung speichern

Verfasst: Do 27. Jul 2023, 20:25
von mikele
Hallo,
wie wäre es, wenn du mal eine Frage stellst?

Re: Konfigurationseinstellung speichern

Verfasst: Do 27. Jul 2023, 21:04
von Basilisk
mikele hat geschrieben:
Do 27. Jul 2023, 20:25
Hallo,
wie wäre es, wenn du mal eine Frage stellst?
Gerne.
Hat LO schon etwas vorgesehen um die Konfiguration für eine Makro zwischen Aufrufen von LO persistent zu speichern?

Re: Konfigurationseinstellung speichern

Verfasst: Do 27. Jul 2023, 21:49
von mikele
Hallo,
da sind schon ein paar mehr Infos notwendig.
Welche Konfiguration soll das sein?

Re: Konfigurationseinstellung speichern

Verfasst: Do 27. Jul 2023, 23:29
von musikai
Du musst selbst Deine Config-Datei schreiben und lesen oder kannst in einem Dokument selbst eine Variable anlegen in:
Datei->Eigenschaften->Benutzerdefinierte Eigenschaften

Wie z.B. in dieser Datei:
viewtopic.php?f=6&t=38911#p103649

Re: Konfigurationseinstellung speichern

Verfasst: Sa 29. Jul 2023, 10:10
von Basilisk
musikai hat geschrieben:
Do 27. Jul 2023, 23:29
... in einem Dokument selbst eine Variable anlegen in:
Datei->Eigenschaften->Benutzerdefinierte Eigenschaften
Eine interessante Idee, aber in dieser Datei ...
musikai hat geschrieben:
Do 27. Jul 2023, 23:29
Wie z.B. in dieser Datei:
viewtopic.php?f=6&t=38911#p103649
... habe ich nur Makros gefunden, die die Hintergrundfarbe einer Calc-Zelle ändern, nichts was die benutzerdefinierten Eigenschaften schreibt oder liest.

Re: Konfigurationseinstellung speichern

Verfasst: Sa 29. Jul 2023, 10:18
von Basilisk
mikele hat geschrieben:
Do 27. Jul 2023, 21:49
Welche Konfiguration soll das sein?
Im Prinzip der Inhalt beliebiger Variablen in BASIC.

Der Benutzer soll Defaultwerte dafür in einem Dialog eingeben können und das Programm soll diese dann einlesen und verwenden. Im Moment geht es nur um den Inhalt einer CheckBox und eines ZahlFelds, also einen Ja/Nein-Wert und einen Long-Wert, aber das kann noch mehr werden.

Re: Konfigurationseinstellung speichern

Verfasst: Sa 29. Jul 2023, 10:43
von mikele
Hallo,
gib mal ein konkretes Beispiel.
Der Benutzer soll Defaultwerte dafür in einem Dialog eingeben können und das Programm soll diese dann einlesen und verwenden.
Das kann ich mit der ursprünglichen Frage nicht sinnvoll in Zusammenhang bringen.

Re: Konfigurationseinstellung speichern

Verfasst: Sa 29. Jul 2023, 11:29
von musikai
Basilisk hat geschrieben:
Sa 29. Jul 2023, 10:10
musikai hat geschrieben:
Do 27. Jul 2023, 23:29
... in einem Dokument selbst eine Variable anlegen in:
Datei->Eigenschaften->Benutzerdefinierte Eigenschaften
Eine interessante Idee, aber in dieser Datei ...
musikai hat geschrieben:
Do 27. Jul 2023, 23:29
Wie z.B. in dieser Datei:
viewtopic.php?f=6&t=38911#p103649
... habe ich nur Makros gefunden, die die Hintergrundfarbe einer Calc-Zelle ändern, nichts was die benutzerdefinierten Eigenschaften schreibt oder liest.
Augen auf :shock: :shock: :shock: :

Code: Alles auswählen

orange.CellBackColor = ThisComponent.getDocumentProperties().UserDefinedProperties.oldfarbe
ThisComponent.getDocumentProperties().UserDefinedProperties.oldfarbe = orange.CellBackColor
Falls Du in einem Dokument erst noch per Makro eine benutzerdefinierte Eigenschaft erzeugen willst, geht das z.B. mit:

Code: Alles auswählen

 Dim oUDP
 oUDP = ThisComponent.getDocumentProperties().UserDefinedProperties
 If NOT oUDP.getPropertySetInfo().hasPropertyByName("ChordDiagramPrefs") Then
 oUDP.addProperty("ChordDiagramPrefs", _
 com.sun.star.beans.PropertyAttribute.MAYBEVOID + _
 com.sun.star.beans.PropertyAttribute.REMOVEABLE + _
 com.sun.star.beans.PropertyAttribute.MAYBEDEFAULT,"")
 End If

Re: Konfigurationseinstellung speichern

Verfasst: Sa 29. Jul 2023, 12:14
von Basilisk
musikai hat geschrieben:
Sa 29. Jul 2023, 11:29
Augen auf :shock: :shock: :shock: :

Code: Alles auswählen

orange.CellBackColor = ThisComponent.getDocumentProperties().UserDefinedProperties.oldfarbe
ThisComponent.getDocumentProperties().UserDefinedProperties.oldfarbe = orange.CellBackColor
In der Tat. Vielen Dank.
musikai hat geschrieben:
Sa 29. Jul 2023, 11:29
Falls Du in einem Dokument erst noch per Makro eine benutzerdefinierte Eigenschaft erzeugen willst, geht das z.B. mit:

Code: Alles auswählen

 Dim oUDP
 oUDP = ThisComponent.getDocumentProperties().UserDefinedProperties
 If NOT oUDP.getPropertySetInfo().hasPropertyByName("ChordDiagramPrefs") Then
 oUDP.addProperty("ChordDiagramPrefs", _
 com.sun.star.beans.PropertyAttribute.MAYBEVOID + _
 com.sun.star.beans.PropertyAttribute.REMOVEABLE + _
 com.sun.star.beans.PropertyAttribute.MAYBEDEFAULT,"")
 End If
Muss ich probieren. Danke.