|
From: <ki...@us...> - 2003-02-11 02:29:44
|
Update of /cvsroot/pymerase/pymerase/output/PyTkWidgets
In directory sc8-pr-cvs1:/tmp/cvs-serv25045
Modified Files:
HelperUtil.py
Log Message:
Updated to support CreatePyTkDbWidgets.py output module with DEFAULT
and OPTION_MENU modes!
Foriegn Key Linking now working in OPTION_MENU mode!!!
Index: HelperUtil.py
===================================================================
RCS file: /cvsroot/pymerase/pymerase/output/PyTkWidgets/HelperUtil.py,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** HelperUtil.py 5 Feb 2003 22:54:27 -0000 1.11
--- HelperUtil.py 11 Feb 2003 02:29:41 -0000 1.12
***************
*** 465,495 ****
! def makeOptionMenuDict(self, name):
code = []
! code.append(" self.%sOptionMenuDict = {}" % (name))
! code.append(" self.update%sOptionMenu()" % (name))
code.append("")
code.append("%OPTION_MENU_DICT%")
! def makeUpdateOptionMenu(self, className, attribName, getterName):
#FIXME: Grabbing wrong end of Association
code = []
code.append(" def update%sOptionMenu(self):" % (attribName))
code.append(" %sList = self.dbs.getAllObjects(self.dbs.%s)" % \
! (className, className))
! code.append(" %sNameList = []" % (className))
code.append("")
code.append(" counter = 0")
! code.append(" for obj in %sList:" % \
! (className))
! code.append(" %sNameList.append(obj.%s())" % \
! (className, getterName))
! code.append(" self.%sOptionMenuDict[obj.%s()] = counter" % \
(attribName, getterName))
code.append(" counter += 1")
code.append("")
code.append(" self.set%sOptionMenu(%sNameList)" % \
! (attribName, className))
code.append("")
code.append("%UPDATE_FUNCTIONS%")
--- 465,501 ----
! def makeOptionMenuDict(self, name, fClassName):
code = []
! code.append(" if mode == modes.OPTION_MENU:")
! code.append(" self.%sOptionMenuDict = {}" % (name))
! code.append(" self.%sPkDict = {}" % (fClassName))
! code.append(" self.update%sOptionMenu()" % (name))
code.append("")
code.append("%OPTION_MENU_DICT%")
! return string.join(code, '\n')
!
! def makeUpdateOptionMenu(self, fClassName, attribName, getterName, pkGetter):
#FIXME: Grabbing wrong end of Association
code = []
code.append(" def update%sOptionMenu(self):" % (attribName))
code.append(" %sList = self.dbs.getAllObjects(self.dbs.%s)" % \
! (fClassName, fClassName))
! code.append(" %sNameList = []" % (fClassName))
code.append("")
code.append(" counter = 0")
! code.append(" for fObj in %sList:" % \
! (fClassName))
! code.append(" %sNameList.append(fObj.%s())" % \
! (fClassName, getterName))
! code.append(" self.%sOptionMenuDict[fObj.%s()] = counter" % \
(attribName, getterName))
+ code.append(" self.%sPkDict[fObj.%s()] = fObj.%s()" % \
+ (fClassName, getterName, pkGetter))
code.append(" counter += 1")
code.append("")
code.append(" self.set%sOptionMenu(%sNameList)" % \
! (attribName, fClassName))
code.append("")
code.append("%UPDATE_FUNCTIONS%")
***************
*** 498,509 ****
! def makeSaveFk(self, className, attribName, sqlName):
! #FIXME: Grabbing wrong end of association
! newCode = []
! newCode.append(" if self.mode == modes.OPTION_MENU:")
! newCode.append(" var = self.get%sOptionMenu()" % \
! (attribName))
! newCode.append(" %sList = self.dbs.getObjectsWhere(self.dbs.%s, '%s = \'%s\'' % var" % \
! (className, className, sqlName, '%s'))
! #FIXME: Not finished yet
--- 504,545 ----
! def makeSaveFk(self, fClassName, attribName):
!
! code = []
! code.append(" if self.mode == modes.OPTION_MENU:")
! code.append(" fObjList = self.dbs.getObjects(self.dbs.%s," %\
! (fClassName))
! code.append(" str(self.%sPkDict[self.get%sOptionMenu()]))" % \
! (fClassName, attribName))
! code.append(" if len(fObjList) == 1:")
! code.append(" obj.setStudio(fObjList[0])")
! code.append(" elif len(fObjList) > 1:")
! code.append(" print \"Many-to-one! Panic! Not implemented yet!\"")
! code.append(" else:")
! code.append(" pass")
! code.append(" else:")
! code.append(" if self.get%sEntry() is not None:" % (attribName))
! code.append(" obj.set%s(self.get%sEntry())" % (attribName, attribName))
! code.append("%SAVE_FUNCTION%")
!
! return string.join(code, '\n')
!
!
! def makeLoadFk(self, attribName, getterName, fClassName):
!
! code = []
! code.append(" if self.mode == modes.OPTION_MENU:")
! code.append(" fObjList = obj.get%s()" % (fClassName))
! code.append(" if len(fObjList) == 1:")
! code.append(" self.%sOptionMenu.selectItemByName(fObjList[0].%s())" % \
! (attribName, getterName))
! code.append(" elif len(fObjList) > 1:")
! code.append(" print \"Many-to-one linking, panic! It's not implemented yet!\"")
! code.append(" self.%sOptionMenu.selectItemByName(fObjList[0].%s())" % \
! (attribName, getterName))
! code.append(" else:")
! code.append(" self.set%sEntry(obj.get%s())" % (attribName, attribName))
! code.append("%LOAD_FUNCTION%")
!
! return string.join(code, '\n')
|