dabo Commit
Revision 4879
Date: 2008-12-19 10:10:55 -0800 (Fri, 19 Dec 2008)
Author: Paul
Trac: http://trac.dabodev.com/dabo/changeset/4879
Changed:
U trunk/dabo/lib/datanav/Form.py
Log:
Added more support for FormType="Edit" in datanav.Form. "Edit" is intended for
editing a single record modally, so don't display the select or browse pages,
and add save and cancel buttons if we are modal because otherwise the toolbar
and menu don't exist.
To use this, the caller will need to PrimaryBizobj.addWhere("<your pk> = <pk
val>")
and requery() before showing.
Diff:
Modified: trunk/dabo/lib/datanav/Form.py
===================================================================
--- trunk/dabo/lib/datanav/Form.py 2008-12-19 18:08:39 UTC (rev 4878)
+++ trunk/dabo/lib/datanav/Form.py 2008-12-19 18:10:55 UTC (rev 4879)
@@ -33,7 +33,6 @@
self.AutoUpdateStatusText = True
self.ShowToolBar = True
self.Size = (640, 480)
-
def afterInit(self):
if self.FormType == 'PickList':
@@ -49,6 +48,9 @@
# Create the various elements:
self.setupPageFrame()
+ if self.Modal and self.FormType == "Edit":
+ self.setupSaveCancelButtons()
+
if not self.Testing and not self.Modal:
self.setupToolBar()
self.setupMenu()
@@ -60,9 +62,26 @@
ret = super(Form, self).save(dataSource)
self.update()
self.refresh()
+ if self.FormType == "Edit" and self.Modal:
+ dabo.ui.callAfter(self.hide)
return ret
-
-
+
+ def cancel(self, dataSource=None):
+ ret = super(Form, self).cancel(dataSource)
+ self.update()
+ self.refresh()
+ if self.FormType == "Edit" and self.Modal:
+ dabo.ui.callAfter(self.hide)
+ return ret
+
+ def setupSaveCancelButtons(self):
+ vs = self.Sizer
+ hs = dabo.ui.dSizer("h")
+ hs.append(dabo.ui.dButton(self, Caption="Save Changes",
DefaultButton=True, OnHit=self.onSave))
+ hs.appendSpacer((3,0))
+ hs.append(dabo.ui.dButton(self, Caption="Cancel Changes",
CancelButton=True, OnHit=self.onCancel))
+ vs.append(hs, alignment="right")
+
def setupToolBar(self):
tb = self.ToolBar = dabo.ui.dToolBar(self)
if tb.Children:
@@ -285,8 +304,9 @@
hs = dabo.ui.dSizer("h")
hs.append1x(self.pageFrame, border=border,
borderSides=borderSides)
self.Sizer.append1x(hs)
- self.pageFrame.addSelectPage()
- self.pageFrame.addBrowsePage()
+ if self.FormType != "Edit":
+ self.pageFrame.addSelectPage()
+ self.pageFrame.addBrowsePage()
if self.FormType != "PickList":
self.addEditPages(ds)
self.pageFrame.SelectedpageNum = currPage
@@ -512,7 +532,7 @@
def requery(self, dataSource=None, _fromSelectPage=False):
- if not _fromSelectPage:
+ if not _fromSelectPage and self.FormType != "Edit":
# re-route the form's requery through the select page's
requery.
self.pageFrame.GetPage(0).requery()
else:
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message:
http://leafe.com/archives/byMID/[email protected]