Dynamisches Panel umsetzen
Verfasst: Dienstag 28. August 2007, 17:57
Hallo
Ich habe ein Panel, in dem ein HtmlWindow und ein TextCtrl in einem vertikalen BoxSizer angeordnet sind. Der vertikale BoxSizer ist in einem horizontalen BoxSizer, der außerdem noch ein paar Buttons enthält.
Ich will dem Benutzer die Möglichkeit geben, wahlweise das TextCtrl ein- oder auszublenden (so dass sich das HtmlWindow über das gesamte Panel breit macht, der vertikale BoxSizer muss also auch weg). [Edit: er "muss" natürlich nicht weg, aber mit nur einem Element drin macht er wenig Sinn]
Ich habe mir ein paar Gedanken gemacht, bin mir aber nicht sicher, wie ich das umsetzen sollte.
Ideen:
1) das Panel ohne TextCtrl (und ohne vertikalem BoxSizer) als Klasse hinterlegen, und das Panel mit TextCtrl davon ableiten. Umständlich?
2) der Klasse noch einen weiteren Parameter übergeben (bool withTextCtrl) und das über ein If-Konstrukt lösen. Nicht sehr objektorientiert?
3) ...?
In beiden Fällen müsste ich das Panel neu zeichnen (wie geht das eigentlich?).
Wie macht man das möglichst pythonisch? Hat wx irgendwas vorgefertigtes dafür?
Ich habe ein Panel, in dem ein HtmlWindow und ein TextCtrl in einem vertikalen BoxSizer angeordnet sind. Der vertikale BoxSizer ist in einem horizontalen BoxSizer, der außerdem noch ein paar Buttons enthält.
Ich will dem Benutzer die Möglichkeit geben, wahlweise das TextCtrl ein- oder auszublenden (so dass sich das HtmlWindow über das gesamte Panel breit macht, der vertikale BoxSizer muss also auch weg). [Edit: er "muss" natürlich nicht weg, aber mit nur einem Element drin macht er wenig Sinn]
Ich habe mir ein paar Gedanken gemacht, bin mir aber nicht sicher, wie ich das umsetzen sollte.
Ideen:
1) das Panel ohne TextCtrl (und ohne vertikalem BoxSizer) als Klasse hinterlegen, und das Panel mit TextCtrl davon ableiten. Umständlich?
2) der Klasse noch einen weiteren Parameter übergeben (bool withTextCtrl) und das über ein If-Konstrukt lösen. Nicht sehr objektorientiert?
3) ...?
In beiden Fällen müsste ich das Panel neu zeichnen (wie geht das eigentlich?).
Wie macht man das möglichst pythonisch? Hat wx irgendwas vorgefertigtes dafür?