diff options
Diffstat (limited to 'examples/SQL/sqlcustom1.py')
| -rwxr-xr-x | examples/SQL/sqlcustom1.py | 94 | 
1 files changed, 94 insertions, 0 deletions
| diff --git a/examples/SQL/sqlcustom1.py b/examples/SQL/sqlcustom1.py new file mode 100755 index 0000000..4da8f8a --- /dev/null +++ b/examples/SQL/sqlcustom1.py @@ -0,0 +1,94 @@ +#!/usr/bin/env python + +#**************************************************************************** +#** $Id: sqlcustom1.py,v 1.3 2002/07/06 13:35:41 phil Exp $ +#** +#** Copyright (C) 1992-1998 Troll Tech AS.  All rights reserved. +#** +#** This file is part of an example program for PyTQt.  This example +#** program may be used, distributed and modified without limitation. +#** +#*****************************************************************************/ + +import sys +from python_tqt.qt import * +from python_tqt.qtsql import * + +from dbconnect import createConnection + +TRUE  = 1 +FALSE = 0 + +class CustomEdit(TQLineEdit): +    def __init__(self, parent = None, name = None): +        TQLineEdit.__init__(self, parent, name) +        TQObject.connect(self, SIGNAL("textChanged(const TQString &)"), +                        self.changed) + +    def changed(self, line): +        self.setUpperLine(line) + +    def setUpperLine(self, line): +        self.upperLineText = line.upper() +        self.setText(self.upperLineText) + + +class FormDialog(TQDialog): +    def __init__(self): +        TQDialog.__init__(self) +        forenameLabel = TQLabel("Forename:", self) +        forenameEdit = CustomEdit(self) +        surnameLabel = TQLabel("Surname:", self) +        surnameEdit = CustomEdit(self) +        salaryLabel = TQLabel("Salary:", self) +        salaryEdit = TQLineEdit(self) +        salaryEdit.setAlignment(TQt.AlignRight) +        saveButton = TQPushButton("&Save", self) +        self.connect(saveButton, SIGNAL("clicked()"), self.save) + +        grid = TQGridLayout(self) +        grid.addWidget(forenameLabel, 0, 0) +        grid.addWidget(forenameEdit, 0, 1) +        grid.addWidget(surnameLabel, 1, 0) +        grid.addWidget(surnameEdit, 1, 1) +        grid.addWidget(salaryLabel, 2, 0) +        grid.addWidget(salaryEdit, 2, 1) +        grid.addWidget(saveButton, 3, 0) +        grid.activate() + +        self.staffCursor = TQSqlCursor("staff") +        self.staffCursor.setTrimmed("forename", TRUE) +        self.staffCursor.setTrimmed("surname", TRUE) +        self.idIndex = self.staffCursor.index("id") +        self.staffCursor.select(self.idIndex) +        self.staffCursor.first() + +        self.propMap = TQSqlPropertyMap() +        self.propMap.insert(forenameEdit.className(), "upperLine") + +        self.sqlForm = TQSqlForm() +        self.sqlForm.setRecord(self.staffCursor.primeUpdate()) +        self.sqlForm.installPropertyMap(self.propMap) +        self.sqlForm.insert(forenameEdit, "forename") +        self.sqlForm.insert(surnameEdit, "surname") +        self.sqlForm.insert(salaryEdit, "salary") +        self.sqlForm.readFields() + +    def save(self): +        self.sqlForm.writeFields() +        self.staffCursor.update() +        self.staffCursor.select(self.idIndex) +        self.staffCursor.first() + + +if __name__=='__main__': +    app = TQApplication( sys.argv ) + +    if createConnection(): +        formDialog = FormDialog() +        formDialog.show() + +        app.setMainWidget(formDialog) +        app.exec_loop() + + | 
