From d796c9dd933ab96ec83b9a634feedd5d32e1ba3f Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Tue, 8 Nov 2011 12:31:36 -0600 Subject: Test conversion to TQt3 from Qt3 8c6fc1f8e35fd264dd01c582ca5e7549b32ab731 --- doc/html/sql-overview-table4-main-cpp.html | 152 +++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 doc/html/sql-overview-table4-main-cpp.html (limited to 'doc/html/sql-overview-table4-main-cpp.html') diff --git a/doc/html/sql-overview-table4-main-cpp.html b/doc/html/sql-overview-table4-main-cpp.html new file mode 100644 index 000000000..0a585269b --- /dev/null +++ b/doc/html/sql-overview-table4-main-cpp.html @@ -0,0 +1,152 @@ + + + + + +sql/overview/table4/main.cpp Example File + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

sql/overview/table4/main.cpp Example File

+ + +
/****************************************************************************
+** $Id: qt/main.cpp   3.3.8   edited Jan 11 14:37 $
+**
+** Copyright (C) 1992-2007 Trolltech ASA.  All rights reserved.
+**
+** This file is part of an example program for TQt.  This example
+** program may be used, distributed and modified without limitation.
+**
+*****************************************************************************/
+
+#include "main.h"
+
+
+StatusPicker::StatusPicker( TQWidget *parent, const char *name )
+    : TQComboBox( parent, name )
+{
+    TQSqlCursor cur( "status" );
+    cur.select( cur.index( "name" ) );
+
+    int i = 0;
+    while ( cur.next() ) {
+        insertItem( cur.value( "name" ).toString(), i );
+        index2id[i] = cur.value( "id" ).toInt();
+        i++;
+    }
+}
+
+
+int StatusPicker::statusId() const
+{
+    return index2id[ currentItem() ];
+}
+
+
+void StatusPicker::setStatusId( int statusid )
+{
+    TQMap<int,int>::Iterator it;
+    for ( it = index2id.begin(); it != index2id.end(); ++it ) {
+        if ( it.data() == statusid ) {
+            setCurrentItem( it.key() );
+            break;
+        }
+    }
+}
+
+
+void CustomTable::paintField( TQPainter * p, const TQSqlField* field,
+                              const TQRect & cr, bool b)
+{
+    if ( !field )
+        return;
+    if ( field->name() == "statusid" ) {
+        TQSqlQuery query( "SELECT name FROM status WHERE id=" +
+                     field->value().toString() );
+        TQString text;
+        if ( query.next() ) {
+            text = query.value( 0 ).toString();
+        }
+        p->drawText( 2,2, cr.width()-4, cr.height()-4, fieldAlignment( field ), text );
+    }
+    else {
+        TQDataTable::paintField( p, field, cr, b) ;
+    }
+}
+
+
+TQWidget *CustomSqlEditorFactory::createEditor(
+    TQWidget *parent, const TQSqlField *field )
+{
+    if ( field->name() == "statusid" ) {
+        TQWidget *editor = new StatusPicker( parent );
+        return editor;
+    }
+
+    return TQSqlEditorFactory::createEditor( parent, field );
+}
+
+
+int main( int argc, char *argv[] )
+{
+    TQApplication app( argc, argv );
+
+    if ( createConnections() ) {
+        TQSqlCursor staffCursor( "staff" );
+
+        CustomTable             *staffTable     = new CustomTable( &staffCursor );
+        TQSqlPropertyMap         *propMap        = new TQSqlPropertyMap();
+        CustomSqlEditorFactory  *editorFactory  = new CustomSqlEditorFactory();
+        propMap->insert( "StatusPicker", "statusid" );
+        staffTable->installPropertyMap( propMap );
+        staffTable->installEditorFactory( editorFactory );
+
+        app.setMainWidget( staffTable );
+
+        staffTable->addColumn( "forename", "Forename" );
+        staffTable->addColumn( "surname",  "Surname" );
+        staffTable->addColumn( "salary",   "Annual Salary" );
+        staffTable->addColumn( "statusid", "Status" );
+
+        TQStringList order = TQStringList() << "surname" << "forename";
+        staffTable->setSort( order );
+
+        staffTable->refresh();
+        staffTable->show();
+
+        return app.exec();
+    }
+
+    return 1;
+}
+
+


+ +
Copyright © 2007 +TrolltechTrademarks +
TQt 3.3.8
+
+ -- cgit v1.2.3