From: Brad C. <bk...@mu...> - 2003-07-30 01:30:47
|
Finally I have a prototype dynamic dialog module. It allows one to create dialogs entirely from Python, without using a resource .dll I haven't been able to get Ex templates to work, but older style DialogTemplates appear to work. I altered the Dialog class to accept a dialog template. I'd like to see Dialog also support modeless Dialogs. I can recreate the test_dialog.py display using the code shown below. Whats the best way to integrate this into venster? Should this be a lib item, wtl, ?? Also, there's more constants that need to go somewhere. I'm worried that putting all these constants into windows.py will make that module huge. Should we split up constants into different modules based on functional groups? def testExample(): IDC_EDIT_A = 1000 IDC_EDIT_B = 1001 IDC_BUTTON_SUM = 1002 IDC_EDIT_SUM = 1003 IDC_EDIT_EVAL = 1004 IDC_EDIT_EVAL_RES = 1006 items = ( DefPushButton(title="OK", id=IDOK, rcPos=RECT(left=130,top=185,right=50,bottom=14)), PushButton(title="Cancel", id=IDCANCEL, rcPos=RECT(left=185,top=185,right=50,bottom=14)), GroupBox(title="Sum:",rcPos=RECT(5, 7, 230, 58)), EditText(orStyle=ES_AUTOHSCROLL, rcPos=RECT(40, 21, 56, 12), id=IDC_EDIT_A), EditText(orStyle=ES_AUTOHSCROLL, rcPos=RECT(40, 41, 56, 12), id=IDC_EDIT_B), PushButton(title="Sum", rcPos=RECT(105, 19, 55, 14), id=IDC_BUTTON_SUM), StaticText(title="A:", rcPos=RECT(30, 25, 8, 8)), StaticText(title="B:", rcPos=RECT(30, 45, 8, 8)), EditText(orStyle=ES_AUTOHSCROLL|ES_READONLY, rcPos=RECT(105, 41, 56, 12), id=IDC_EDIT_SUM), GroupBox(title="Eval:",rcPos=RECT(5, 70, 230, 110)), EditText(orStyle=ES_AUTOHSCROLL, rcPos=RECT(10, 82, 220, 12), id=IDC_EDIT_EVAL), EditText(orStyle=ES_AUTOHSCROLL|ES_MULTILINE|ES_AUTOVSCROLL|ES_READONLY|WS_VSCROLL, rcPos=RECT(10, 100, 220, 75), id=IDC_EDIT_EVAL_RES), ) dlg = DialogTemplate( title = "Venster Test Dialog", style = DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU|DS_SETFONT, rcPos = RECT(left=0,top=0,right=241,bottom=206), items=items ) dialog = ExampleDialog(dlgtemplate=dlg) #show the dialog and return the result: dialogResult= dialog.DoModal() print "dialog result ",dialogResult -- Brad Clements, bk...@mu... (315)268-1000 http://www.murkworks.com (315)268-9812 Fax http://www.wecanstopspam.org/ AOL-IM: BKClements |