Hallo zusammen,
Ich würde gerne eine dynamische Liste erstellen, die Elemente auflistet. Jedes Element durchläuft einen Check. Je nach Ergebnis soll in der Liste ein Icon angezeigt werden. Die Liste besteht dann aus Elementname, Nachricht und eben das Icon.
Nun habe ich aber zwei Probleme:
1. Wenn ich eine Liste direkt in der .pyp Datei erstelle, funktioniert alles gut. Verlagere ich es aber in eine .incpyp, bekomme ich die Fehlermeldung, dass es die Variable $list_row nicht kennt. Wie kann ich das vermeiden? Ich würde ungern alles in meiner .pyp Datei haben zwecks Readability
2. Wenn ich eine Liste von Bildern hinzufügen will, füge ich (zum testen mal hardgecoded) die Picture Ids ein. Leider wirft das aber immer Fehler. Habe es mal mit verschiedenen Werten für den Parameter "Value" probiert, etwa int statt str, statt [] Trenner (|), etc. Leider hat nichts geklappt.
Die Fehlermeldung:
Python argument types in None.AddPicture(PythonWpfPaletteBuilder, str, str, str, str, float, int, str, str) did not match C++ signature:.....
Nach etwas debuggen bin ich draufgekommen, dass in der BuildingElementPalette.py Zeile 381 ein data Element erzeugt wird. Als default value wird der Wert von __selected_value auf 0.0 gesetzt. Die Funktion von AddPicture erwartet sich aber ein int, nicht ein float.
Wie kann ich das umgehen? Oder liegt der Ursprung meines Problems komplett wo anders?
Das ist die Liste, die ich erzeuge (Elementname und Nachricht werden im Code erstellt, Anzahl der Values passt aber):
<Parameter> <Name>AttributeListGroup1</Name> <ValueType>ListGroup</ValueType> <Parameter> <Name>GroupRow</Name> <Text>"Field " + str($list_row + 1)</Text> <ValueType>Row</ValueType> <Value>1</Value> <Parameter> <Name>ECList_Name</Name> <Text>Section name</Text> <Value>[]</Value> <ValueType>Text</ValueType> <Dimensions>ECList_Dimension</Dimensions> </Parameter> <Parameter> <Name>ECList_Result_Text</Name> <Text>Section name</Text> <Value>[]</Value> <ValueType>Text</ValueType> <Dimensions>ECList_Dimension</Dimensions> </Parameter> <Parameter> <Name>ECList_Result_Icon</Name> <Value>["10529","10529","10529","10529","10529"]</Value> <ValueType>Picture</ValueType> <WidthInRow>10</WidthInRow> </Parameter> </Parameter> </Parameter>
Liebe Grüße
Melanie