I'm wondering about how to add or remove panels from a form at runtime.
I see two approaches:
1. Creating a new panel and replacing an existing one (destroying the old one).
Meaning the new panel would take whatever sizer slot the original
panel was occupying.
I haven't thought about how this could be achieved. Any clues?
2. Creating both panels up-front with one of them hidden (with the
Visible property set to False) .
Then it would be a matter of toggling the visibility of panels to hide
or show them.
I wonder if you have a better approach, or if there is something
missing in the following approach?
# Two panel classes are previously defined
class MainForm(dui.dFormMain):
def afterInitAll(self):
vs = self.Sizer = dui.dSizer('v')
btn = dui.dButton(self, Caption='Click me')
vs.append(Panel1(self))
vs.append(Panel2(self))
vs.append(btn)
self.layout()
btn.bindEvent(dabo.dEvents.Hit, self.panelToggle)
def panelToggle(self, evt):
panel1 = self.getObjectByRegID("panel1")
panel2 = self.getObjectByRegID("panel2")
panel1.Visible = not panel1.Visible
panel2.Visible = not panel2.Visible
self.layout()
Txs for comments,
Miguel
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message:
http://leafe.com/archives/byMID/[email protected]