Support Forum

[Frage] Visibility von Strings mit Text ID [Gelöst]

Schlagworte:
  • PythonParts
  • TextID
  • PYP

Hallo.

Ich programmiere gerade einen PP. Die Eingabepalette wird auf englisch gecodet. Ich habe jedoch parallel dazu meine Translation-File auf deutsch.
Ich habe eine StringCombobox wie folgt definieret:

<Parameter>
   <Name>myName</Name> 
   <Text>Name of the control</Text>
   <TextId>1001</TextId>
   <Value>red</Value>
   <ValueTextId>1001</ValueTextId>
   <ValueList> red|blue|green</ValueList >
   <ValueList_TextIds>1001|1002|1003</ValueList_TextIds>
   <ValueType>StringComboBox</ValueType>
</Parameter>

Nun möchte ich die Sichtbarkeit einiger Parameter anhand des gewählten Wertes modifizieren. Das wollte ich so machen:

<Parameter>
    <Name>Dummy</Name>
    <Text>Test</Text>
    <TextId>1004</TextId>
    <Value>1000</Value>
    <ValueType>Length</ValueType>
    <Visible>myName == "red"</Visible>
</Parameter>

Jedoch funktioniert das dann nur wenn ich mit der englischen Version von Allplan arbeite. Sobald ich mit der deutschen Version arbeite hat der String ja nicht den Wert "red" sondern "rot" - mein Parameter Dummy wird also nie angezeigt.

Gibt es hier eine Möglichkeit die TextID zu überprüfen? In etwa so:

<Visible>myName == TextID[1001]</Visible>

Danke schon im Voraus!

Lösung anzeigen Lösung verbergen

Hallo,

die Textüberprüfung in der pyp-Datei erfolgt mit

<Visible>myName == __StringTable.get_string("1001", 'red')</Visible>

Viele Grüße
Horst

Hallo,

ein Beispiel dafür gibt es in ComboboxLocalisedStringValues.py.

Viele Grüße
Horst

Hallo Horst.

Danke für die Rückmeldung. Leider hilft mir das Beispiel nicht weiter, da ich in der PYP-Datei auf die ID zugreifen möchte und nicht in der PY-Datei.

Mein Ziel wäre es, dass sich die Eingabepalette an die Selektion der Combobox anpasst. Ich müsste also in meiner PYP-Datei auf die ID's aus meiner Language File zugreifen können. Ich hätte mir gedacht, dass das ca. so funktionieren könnte:

<Visible>myName == TextID[1001]</Visible>

Leider hab ich jedoch noch kein Beispiel dazu gefunden...

Hallo,

die Textüberprüfung in der pyp-Datei erfolgt mit

<Visible>myName == __StringTable.get_string("1001", 'red')</Visible>

Viele Grüße
Horst

Hallo Horst.

Danke! Jetzt klappt es.