On 1/1/2012 9:00 PM, Ed Leafe wrote: > On Jan 1, 2012, at 7:22 PM, OKB (not okblacke) wrote: >> What you mention about passing information before the form instance >> is created, though, makes me wonder a bit about the bigger picture. I >> suppose it's true that I want to pass information before the instance is >> created, but that's only because Dabo hides the instance creation inside >> its own innards. It doesn't much matter to me whether I pass my >> information when I create the app instance, or when I specify the app's >> main form, or when I do app.start(). But, as far as I can tell, at none >> of those three places is there a way to pass information in. Is there >> some other place to do it? What would it mean to pass it in after the >> instance is created? It seems like that would mean passing it in once >> the GUI app is already up and running, but that defeats the purpose of >> passing it in order to influence initialization. > Like I said above, I don't believe that anyone has ever suggested this > approach to customization before. The only thing even close would be forms > that read some sort of .ini file or similar when they are created, but that > doesn't seem to be what you're doing. You want to be able to create the app > with parameters and have the form receive them. Maybe we could add a > MainFormParameters property to dApp that would take a dict of params, and > these would be passed to the MainFormClass when it is instantiated as its > kwargs. > > Paul, I'm hoping that you'll chime in here with any thoughts on this > approach. I know I have been doing this on my dialog forms for years to automatically pass in the bizobj. I just override the init method. Probably not the best solution, but it works for me.
There are some other ways to approach this. You could make the panel list a property on the form and set it outside of the init method. This would require an extra line but decouples things a bit and is more flexible. If I am not mistaken, you can also not pass it into the constructor and the property setting logic will properly pick it up. The last way to do this is to use a plugin manager like Yapsy to manage the panel set for you. Your form would look for the plugin manager on instantiation and find all of the panels and add them to the form. I am actually moving this way for most all my applications and am almost there. The nice part about this is you can now have a standard application template and you just add panel plugins. Makes everything very convenient. However, fair warning, this will be a good bit more work to get up an running than the other methods. Regards, Nate I also have _______________________________________________ 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]
