<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/examples/addressbook/addressbook.doc:4 --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Simple Addressbook</title> <style type="text/css"><!-- fn { margin-left: 1cm; text-indent: -1cm; } a:link { color: #004faf; text-decoration: none } a:visited { color: #672967; text-decoration: none } body { background: #ffffff; color: black; } --></style> </head> <body> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr bgcolor="#E5E5E5"> <td valign=center> <a href="index.html"> <font color="#004faf">Home</font></a> | <a href="classes.html"> <font color="#004faf">All Classes</font></a> | <a href="mainclasses.html"> <font color="#004faf">Main Classes</font></a> | <a href="annotated.html"> <font color="#004faf">Annotated</font></a> | <a href="groups.html"> <font color="#004faf">Grouped Classes</font></a> | <a href="functions.html"> <font color="#004faf">Functions</font></a> </td> <td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>Simple Addressbook</h1> <p> This examples shows how to write a very simple, but complete application using an addressbook as the example. <p> <hr> <p> Header file of the mainwindow: <p> <pre>/**************************************************************************** ** $Id: qt/mainwindow.h 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. ** *****************************************************************************/ #ifndef AB_MAINWINDOW_H #define AB_MAINWINDOW_H #include <<a href="qmainwindow-h.html">ntqmainwindow.h</a>> #include <<a href="qstring-h.html">ntqstring.h</a>> class TQToolBar; class TQPopupMenu; class ABCentralWidget; class ABMainWindow: public <a href="ntqmainwindow.html">TQMainWindow</a> { <a href="metaobjects.html#TQ_OBJECT">TQ_OBJECT</a> public: ABMainWindow(); ~ABMainWindow(); protected slots: void fileNew(); void fileOpen(); void fileSave(); void fileSaveAs(); void filePrint(); void closeWindow(); protected: void setupMenuBar(); void setupFileTools(); void setupStatusBar(); void setupCentralWidget(); <a href="ntqtoolbar.html">TQToolBar</a> *fileTools; <a href="ntqstring.html">TQString</a> filename; ABCentralWidget *view; }; #endif </pre> <p> <hr> <p> Implementation of the mainwindow: <p> <pre>/**************************************************************************** ** $Id: qt/mainwindow.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 "mainwindow.h" #include "centralwidget.h" #include <<a href="qtoolbar-h.html">ntqtoolbar.h</a>> #include <<a href="qtoolbutton-h.html">ntqtoolbutton.h</a>> #include <<a href="qpopupmenu-h.html">ntqpopupmenu.h</a>> #include <<a href="qmenubar-h.html">ntqmenubar.h</a>> #include <<a href="qstatusbar-h.html">ntqstatusbar.h</a>> #include <<a href="qapplication-h.html">ntqapplication.h</a>> #include <<a href="qfiledialog-h.html">ntqfiledialog.h</a>> <a name="f263"></a>ABMainWindow::ABMainWindow() : <a href="ntqmainwindow.html">TQMainWindow</a>( 0, "example addressbook application" ), filename( <a href="ntqstring.html#TQString-null">TQString::null</a> ) { setupMenuBar(); setupFileTools(); setupStatusBar(); setupCentralWidget(); } ABMainWindow::~ABMainWindow() { } void <a name="f264"></a>ABMainWindow::setupMenuBar() { <a href="ntqpopupmenu.html">TQPopupMenu</a> *file = new <a href="ntqpopupmenu.html">TQPopupMenu</a>( this ); <a href="ntqmainwindow.html#menuBar">menuBar</a>()->insertItem( "&File", file ); <a name="x569"></a> file-><a href="ntqmenudata.html#insertItem">insertItem</a>( "New", this, TQ_SLOT( fileNew() ), CTRL + Key_N ); file-><a href="ntqmenudata.html#insertItem">insertItem</a>( TQPixmap( "fileopen.xpm" ), "Open", this, TQ_SLOT( fileOpen() ), CTRL + Key_O ); <a name="x570"></a> file-><a href="ntqmenudata.html#insertSeparator">insertSeparator</a>(); file-><a href="ntqmenudata.html#insertItem">insertItem</a>( TQPixmap( "filesave.xpm" ), "Save", this, TQ_SLOT( fileSave() ), CTRL + Key_S ); file-><a href="ntqmenudata.html#insertItem">insertItem</a>( "Save As...", this, TQ_SLOT( fileSaveAs() ) ); file-><a href="ntqmenudata.html#insertSeparator">insertSeparator</a>(); file-><a href="ntqmenudata.html#insertItem">insertItem</a>( TQPixmap( "fileprint.xpm" ), "Print...", this, TQ_SLOT( filePrint() ), CTRL + Key_P ); file-><a href="ntqmenudata.html#insertSeparator">insertSeparator</a>(); file-><a href="ntqmenudata.html#insertItem">insertItem</a>( "Close", this, TQ_SLOT( closeWindow() ), CTRL + Key_W ); file-><a href="ntqmenudata.html#insertItem">insertItem</a>( "Quit", tqApp, TQ_SLOT( <a href="ntqapplication.html#quit">quit</a>() ), CTRL + Key_Q ); } void <a name="f265"></a>ABMainWindow::setupFileTools() { //fileTools = new <a href="ntqtoolbar.html">TQToolBar</a>( this, "file operations" ); } void <a name="f266"></a>ABMainWindow::setupStatusBar() { //statusBar()->message( "Ready", 2000 ); } void <a name="f267"></a>ABMainWindow::setupCentralWidget() { view = new ABCentralWidget( this ); <a href="ntqmainwindow.html#setCentralWidget">setCentralWidget</a>( view ); } void <a name="f268"></a>ABMainWindow::closeWindow() { <a href="ntqwidget.html#close">close</a>(); } void <a name="f269"></a>ABMainWindow::fileNew() { } void <a name="f270"></a>ABMainWindow::fileOpen() { <a name="x567"></a> <a href="ntqstring.html">TQString</a> fn = TQFileDialog::<a href="ntqfiledialog.html#getOpenFileName">getOpenFileName</a>( TQString::null, TQString::null, this ); <a name="x571"></a> if ( !fn.<a href="ntqstring.html#isEmpty">isEmpty</a>() ) { filename = fn; view->load( filename ); } } void <a name="f271"></a>ABMainWindow::fileSave() { if ( filename.isEmpty() ) { fileSaveAs(); return; } view->save( filename ); } void <a name="f272"></a>ABMainWindow::fileSaveAs() { <a name="x568"></a> <a href="ntqstring.html">TQString</a> fn = TQFileDialog::<a href="ntqfiledialog.html#getSaveFileName">getSaveFileName</a>( TQString::null, TQString::null, this ); if ( !fn.<a href="ntqstring.html#isEmpty">isEmpty</a>() ) { filename = fn; fileSave(); } } void <a name="f273"></a>ABMainWindow::filePrint() { } </pre> <p> <hr> <p> Header file of the centralwidget: <p> <pre>/**************************************************************************** ** $Id: qt/centralwidget.h 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. ** *****************************************************************************/ #ifndef AB_CENTRALWIDGET_H #define AB_CENTRALWIDGET_H #include <<a href="qwidget-h.html">ntqwidget.h</a>> #include <<a href="qstring-h.html">ntqstring.h</a>> class TQTabWidget; class TQListView; class TQGridLayout; class TQLineEdit; class TQPushButton; class TQListViewItem; class TQCheckBox; class ABCentralWidget : public <a href="ntqwidget.html">TQWidget</a> { TQ_OBJECT public: ABCentralWidget( <a href="ntqwidget.html">TQWidget</a> *parent, const char *name = 0 ); void save( const <a href="ntqstring.html">TQString</a> &filename ); void load( const <a href="ntqstring.html">TQString</a> &filename ); protected slots: void addEntry(); void changeEntry(); void itemSelected( <a href="qlistviewitem.html">TQListViewItem</a>* ); void selectionChanged(); void toggleFirstName(); void toggleLastName(); void toggleAddress(); void toggleEMail(); void findEntries(); protected: void setupTabWidget(); void setupListView(); <a href="qgridlayout.html">TQGridLayout</a> *mainGrid; <a href="ntqtabwidget.html">TQTabWidget</a> *tabWidget; <a href="ntqlistview.html">TQListView</a> *listView; <a href="ntqpushbutton.html">TQPushButton</a> *add, *change, *find; <a href="ntqlineedit.html">TQLineEdit</a> *iFirstName, *iLastName, *iAddress, *iEMail, *sFirstName, *sLastName, *sAddress, *sEMail; <a href="ntqcheckbox.html">TQCheckBox</a> *cFirstName, *cLastName, *cAddress, *cEMail; }; #endif </pre> <p> <hr> <p> Implementation of the centralwidget: <p> <pre>/**************************************************************************** ** $Id: qt/centralwidget.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 "centralwidget.h" #include <<a href="qtabwidget-h.html">ntqtabwidget.h</a>> #include <<a href="qlistview-h.html">ntqlistview.h</a>> #include <<a href="qlayout-h.html">ntqlayout.h</a>> #include <<a href="qwidget-h.html">ntqwidget.h</a>> #include <<a href="qlabel-h.html">ntqlabel.h</a>> #include <<a href="qpushbutton-h.html">ntqpushbutton.h</a>> #include <<a href="qlineedit-h.html">ntqlineedit.h</a>> #include <<a href="qlabel-h.html">ntqlabel.h</a>> #include <<a href="qcheckbox-h.html">ntqcheckbox.h</a>> #include <<a href="qfile-h.html">ntqfile.h</a>> #include <<a href="qtextstream-h.html">ntqtextstream.h</a>> <a name="f274"></a>ABCentralWidget::ABCentralWidget( <a href="ntqwidget.html">TQWidget</a> *parent, const char *name ) : <a href="ntqwidget.html">TQWidget</a>( parent, name ) { mainGrid = new <a href="qgridlayout.html">TQGridLayout</a>( this, 2, 1, 5, 5 ); setupTabWidget(); setupListView(); <a name="x579"></a> mainGrid-><a href="qgridlayout.html#setRowStretch">setRowStretch</a>( 0, 0 ); mainGrid-><a href="qgridlayout.html#setRowStretch">setRowStretch</a>( 1, 1 ); } void <a name="f275"></a>ABCentralWidget::save( const <a href="ntqstring.html">TQString</a> &filename ) { <a name="x590"></a> if ( !listView-><a href="ntqlistview.html#firstChild">firstChild</a>() ) return; <a href="ntqfile.html">TQFile</a> f( filename ); if ( !f.<a href="ntqfile.html#open">open</a>( <a href="ntqfile.html#open">IO_WriteOnly</a> ) ) return; <a href="ntqtextstream.html">TQTextStream</a> t( &f ); <a name="x603"></a> t.<a href="ntqtextstream.html#setEncoding">setEncoding</a>(TQTextStream::UnicodeUTF8); <a href="qlistviewitemiterator.html">TQListViewItemIterator</a> it( listView ); <a name="x597"></a> for ( ; it.<a href="qlistviewitemiterator.html#current">current</a>(); ++it ) for ( unsigned int i = 0; i < 4; i++ ) t << it.<a href="qlistviewitemiterator.html#current">current</a>()->text( i ) << "\n"; f.<a href="ntqfile.html#close">close</a>(); } void <a name="f276"></a>ABCentralWidget::load( const <a href="ntqstring.html">TQString</a> &filename ) { <a name="x586"></a> listView-><a href="ntqlistview.html#clear">clear</a>(); <a href="ntqfile.html">TQFile</a> f( filename ); if ( !f.<a href="ntqfile.html#open">open</a>( <a href="ntqfile.html#open">IO_ReadOnly</a> ) ) return; <a href="ntqtextstream.html">TQTextStream</a> t( &f ); t.<a href="ntqtextstream.html#setEncoding">setEncoding</a>(TQTextStream::UnicodeUTF8); <a name="x601"></a> while ( !t.<a href="ntqtextstream.html#atEnd">atEnd</a>() ) { <a href="qlistviewitem.html">TQListViewItem</a> *item = new <a href="qlistviewitem.html">TQListViewItem</a>( listView ); for ( unsigned int i = 0; i < 4; i++ ) <a name="x602"></a><a name="x595"></a> item-><a href="qlistviewitem.html#setText">setText</a>( i, t.<a href="ntqtextstream.html#readLine">readLine</a>() ); } f.<a href="ntqfile.html#close">close</a>(); } void <a name="f277"></a>ABCentralWidget::setupTabWidget() { tabWidget = new <a href="ntqtabwidget.html">TQTabWidget</a>( this ); <a href="ntqwidget.html">TQWidget</a> *input = new <a href="ntqwidget.html">TQWidget</a>( tabWidget ); <a href="qgridlayout.html">TQGridLayout</a> *grid1 = new <a href="qgridlayout.html">TQGridLayout</a>( input, 2, 5, 5, 5 ); <a href="ntqlabel.html">TQLabel</a> *liFirstName = new <a href="ntqlabel.html">TQLabel</a>( "First &Name", input ); <a name="x604"></a><a name="x581"></a> liFirstName-><a href="ntqwidget.html#resize">resize</a>( liFirstName-><a href="ntqwidget.html#sizeHint">sizeHint</a>() ); <a name="x578"></a> grid1-><a href="qgridlayout.html#addWidget">addWidget</a>( liFirstName, 0, 0 ); <a href="ntqlabel.html">TQLabel</a> *liLastName = new <a href="ntqlabel.html">TQLabel</a>( "&Last Name", input ); liLastName-><a href="ntqwidget.html#resize">resize</a>( liLastName-><a href="ntqwidget.html#sizeHint">sizeHint</a>() ); grid1-><a href="qgridlayout.html#addWidget">addWidget</a>( liLastName, 0, 1 ); <a href="ntqlabel.html">TQLabel</a> *liAddress = new <a href="ntqlabel.html">TQLabel</a>( "Add&ress", input ); liAddress-><a href="ntqwidget.html#resize">resize</a>( liAddress-><a href="ntqwidget.html#sizeHint">sizeHint</a>() ); grid1-><a href="qgridlayout.html#addWidget">addWidget</a>( liAddress, 0, 2 ); <a href="ntqlabel.html">TQLabel</a> *liEMail = new <a href="ntqlabel.html">TQLabel</a>( "&E-Mail", input ); liEMail-><a href="ntqwidget.html#resize">resize</a>( liEMail-><a href="ntqwidget.html#sizeHint">sizeHint</a>() ); grid1-><a href="qgridlayout.html#addWidget">addWidget</a>( liEMail, 0, 3 ); add = new <a href="ntqpushbutton.html">TQPushButton</a>( "A&dd", input ); <a name="x599"></a><a name="x598"></a> add-><a href="ntqwidget.html#resize">resize</a>( add-><a href="ntqwidget.html#sizeHint">sizeHint</a>() ); grid1-><a href="qgridlayout.html#addWidget">addWidget</a>( add, 0, 4 ); <a href="ntqobject.html#connect">connect</a>( add, TQ_SIGNAL( <a href="ntqbutton.html#clicked">clicked</a>() ), this, TQ_SLOT( addEntry() ) ); iFirstName = new <a href="ntqlineedit.html">TQLineEdit</a>( input ); <a name="x583"></a> iFirstName-><a href="ntqwidget.html#resize">resize</a>( iFirstName-><a href="ntqlineedit.html#sizeHint">sizeHint</a>() ); grid1-><a href="qgridlayout.html#addWidget">addWidget</a>( iFirstName, 1, 0 ); <a name="x580"></a> liFirstName-><a href="ntqlabel.html#setBuddy">setBuddy</a>( iFirstName ); iLastName = new <a href="ntqlineedit.html">TQLineEdit</a>( input ); iLastName-><a href="ntqwidget.html#resize">resize</a>( iLastName-><a href="ntqlineedit.html#sizeHint">sizeHint</a>() ); grid1-><a href="qgridlayout.html#addWidget">addWidget</a>( iLastName, 1, 1 ); liLastName-><a href="ntqlabel.html#setBuddy">setBuddy</a>( iLastName ); iAddress = new <a href="ntqlineedit.html">TQLineEdit</a>( input ); iAddress-><a href="ntqwidget.html#resize">resize</a>( iAddress-><a href="ntqlineedit.html#sizeHint">sizeHint</a>() ); grid1-><a href="qgridlayout.html#addWidget">addWidget</a>( iAddress, 1, 2 ); liAddress-><a href="ntqlabel.html#setBuddy">setBuddy</a>( iAddress ); iEMail = new <a href="ntqlineedit.html">TQLineEdit</a>( input ); iEMail-><a href="ntqwidget.html#resize">resize</a>( iEMail-><a href="ntqlineedit.html#sizeHint">sizeHint</a>() ); grid1-><a href="qgridlayout.html#addWidget">addWidget</a>( iEMail, 1, 3 ); liEMail-><a href="ntqlabel.html#setBuddy">setBuddy</a>( iEMail ); change = new <a href="ntqpushbutton.html">TQPushButton</a>( "&Change", input ); change-><a href="ntqwidget.html#resize">resize</a>( change-><a href="ntqwidget.html#sizeHint">sizeHint</a>() ); grid1-><a href="qgridlayout.html#addWidget">addWidget</a>( change, 1, 4 ); <a href="ntqobject.html#connect">connect</a>( change, TQ_SIGNAL( <a href="ntqbutton.html#clicked">clicked</a>() ), this, TQ_SLOT( changeEntry() ) ); <a name="x600"></a> tabWidget-><a href="ntqtabwidget.html#addTab">addTab</a>( input, "&Add/Change Entry" ); // -------------------------------------- <a href="ntqwidget.html">TQWidget</a> *search = new <a href="ntqwidget.html">TQWidget</a>( this ); <a href="qgridlayout.html">TQGridLayout</a> *grid2 = new <a href="qgridlayout.html">TQGridLayout</a>( search, 2, 5, 5, 5 ); cFirstName = new <a href="ntqcheckbox.html">TQCheckBox</a>( "First &Name", search ); <a name="x575"></a> cFirstName-><a href="ntqwidget.html#resize">resize</a>( cFirstName-><a href="ntqwidget.html#sizeHint">sizeHint</a>() ); grid2-><a href="qgridlayout.html#addWidget">addWidget</a>( cFirstName, 0, 0 ); <a href="ntqobject.html#connect">connect</a>( cFirstName, TQ_SIGNAL( <a href="ntqbutton.html#clicked">clicked</a>() ), this, TQ_SLOT( toggleFirstName() ) ); cLastName = new <a href="ntqcheckbox.html">TQCheckBox</a>( "&Last Name", search ); cLastName-><a href="ntqwidget.html#resize">resize</a>( cLastName-><a href="ntqwidget.html#sizeHint">sizeHint</a>() ); grid2-><a href="qgridlayout.html#addWidget">addWidget</a>( cLastName, 0, 1 ); <a href="ntqobject.html#connect">connect</a>( cLastName, TQ_SIGNAL( <a href="ntqbutton.html#clicked">clicked</a>() ), this, TQ_SLOT( toggleLastName() ) ); cAddress = new <a href="ntqcheckbox.html">TQCheckBox</a>( "Add&ress", search ); cAddress-><a href="ntqwidget.html#resize">resize</a>( cAddress-><a href="ntqwidget.html#sizeHint">sizeHint</a>() ); grid2-><a href="qgridlayout.html#addWidget">addWidget</a>( cAddress, 0, 2 ); <a href="ntqobject.html#connect">connect</a>( cAddress, TQ_SIGNAL( <a href="ntqbutton.html#clicked">clicked</a>() ), this, TQ_SLOT( toggleAddress() ) ); cEMail = new <a href="ntqcheckbox.html">TQCheckBox</a>( "&E-Mail", search ); cEMail-><a href="ntqwidget.html#resize">resize</a>( cEMail-><a href="ntqwidget.html#sizeHint">sizeHint</a>() ); grid2-><a href="qgridlayout.html#addWidget">addWidget</a>( cEMail, 0, 3 ); <a href="ntqobject.html#connect">connect</a>( cEMail, TQ_SIGNAL( <a href="ntqbutton.html#clicked">clicked</a>() ), this, TQ_SLOT( toggleEMail() ) ); sFirstName = new <a href="ntqlineedit.html">TQLineEdit</a>( search ); sFirstName-><a href="ntqwidget.html#resize">resize</a>( sFirstName-><a href="ntqlineedit.html#sizeHint">sizeHint</a>() ); grid2-><a href="qgridlayout.html#addWidget">addWidget</a>( sFirstName, 1, 0 ); sLastName = new <a href="ntqlineedit.html">TQLineEdit</a>( search ); sLastName-><a href="ntqwidget.html#resize">resize</a>( sLastName-><a href="ntqlineedit.html#sizeHint">sizeHint</a>() ); grid2-><a href="qgridlayout.html#addWidget">addWidget</a>( sLastName, 1, 1 ); sAddress = new <a href="ntqlineedit.html">TQLineEdit</a>( search ); sAddress-><a href="ntqwidget.html#resize">resize</a>( sAddress-><a href="ntqlineedit.html#sizeHint">sizeHint</a>() ); grid2-><a href="qgridlayout.html#addWidget">addWidget</a>( sAddress, 1, 2 ); sEMail = new <a href="ntqlineedit.html">TQLineEdit</a>( search ); sEMail-><a href="ntqwidget.html#resize">resize</a>( sEMail-><a href="ntqlineedit.html#sizeHint">sizeHint</a>() ); grid2-><a href="qgridlayout.html#addWidget">addWidget</a>( sEMail, 1, 3 ); find = new <a href="ntqpushbutton.html">TQPushButton</a>( "F&ind", search ); find-><a href="ntqwidget.html#resize">resize</a>( find-><a href="ntqwidget.html#sizeHint">sizeHint</a>() ); grid2-><a href="qgridlayout.html#addWidget">addWidget</a>( find, 1, 4 ); <a href="ntqobject.html#connect">connect</a>( find, TQ_SIGNAL( <a href="ntqbutton.html#clicked">clicked</a>() ), this, TQ_SLOT( findEntries() ) ); <a name="x574"></a> cFirstName-><a href="ntqcheckbox.html#setChecked">setChecked</a>( TRUE ); <a name="x605"></a> sFirstName-><a href="ntqwidget.html#setEnabled">setEnabled</a>( TRUE ); sLastName-><a href="ntqwidget.html#setEnabled">setEnabled</a>( FALSE ); sAddress-><a href="ntqwidget.html#setEnabled">setEnabled</a>( FALSE ); sEMail-><a href="ntqwidget.html#setEnabled">setEnabled</a>( FALSE ); tabWidget-><a href="ntqtabwidget.html#addTab">addTab</a>( search, "&Search" ); mainGrid-><a href="qgridlayout.html#addWidget">addWidget</a>( tabWidget, 0, 0 ); } void <a name="f278"></a>ABCentralWidget::setupListView() { listView = new <a href="ntqlistview.html">TQListView</a>( this ); <a name="x585"></a> listView-><a href="ntqlistview.html#addColumn">addColumn</a>( "First Name" ); listView-><a href="ntqlistview.html#addColumn">addColumn</a>( "Last Name" ); listView-><a href="ntqlistview.html#addColumn">addColumn</a>( "Address" ); listView-><a href="ntqlistview.html#addColumn">addColumn</a>( "E-Mail" ); <a name="x592"></a> listView-><a href="ntqlistview.html#setSelectionMode">setSelectionMode</a>( TQListView::Single ); <a name="x588"></a> <a href="ntqobject.html#connect">connect</a>( listView, TQ_SIGNAL( <a href="ntqlistview.html#clicked">clicked</a>( <a href="qlistviewitem.html">TQListViewItem</a>* ) ), this, TQ_SLOT( itemSelected( <a href="qlistviewitem.html">TQListViewItem</a>* ) ) ); mainGrid-><a href="qgridlayout.html#addWidget">addWidget</a>( listView, 1, 0 ); <a name="x591"></a> listView-><a href="ntqlistview.html#setAllColumnsShowFocus">setAllColumnsShowFocus</a>( TRUE ); } void <a name="f279"></a>ABCentralWidget::addEntry() { <a name="x584"></a> if ( !iFirstName-><a href="ntqlineedit.html#text">text</a>().isEmpty() || !iLastName-><a href="ntqlineedit.html#text">text</a>().isEmpty() || !iAddress-><a href="ntqlineedit.html#text">text</a>().isEmpty() || !iEMail-><a href="ntqlineedit.html#text">text</a>().isEmpty() ) { <a href="qlistviewitem.html">TQListViewItem</a> *item = new <a href="qlistviewitem.html">TQListViewItem</a>( listView ); item-><a href="qlistviewitem.html#setText">setText</a>( 0, iFirstName-><a href="ntqlineedit.html#text">text</a>() ); item-><a href="qlistviewitem.html#setText">setText</a>( 1, iLastName-><a href="ntqlineedit.html#text">text</a>() ); item-><a href="qlistviewitem.html#setText">setText</a>( 2, iAddress-><a href="ntqlineedit.html#text">text</a>() ); item-><a href="qlistviewitem.html#setText">setText</a>( 3, iEMail-><a href="ntqlineedit.html#text">text</a>() ); } <a name="x582"></a> iFirstName-><a href="ntqlineedit.html#setText">setText</a>( "" ); iLastName-><a href="ntqlineedit.html#setText">setText</a>( "" ); iAddress-><a href="ntqlineedit.html#setText">setText</a>( "" ); iEMail-><a href="ntqlineedit.html#setText">setText</a>( "" ); } void <a name="f280"></a>ABCentralWidget::changeEntry() { <a name="x589"></a> <a href="qlistviewitem.html">TQListViewItem</a> *item = listView-><a href="ntqlistview.html#currentItem">currentItem</a>(); if ( item && ( !iFirstName-><a href="ntqlineedit.html#text">text</a>().isEmpty() || !iLastName-><a href="ntqlineedit.html#text">text</a>().isEmpty() || !iAddress-><a href="ntqlineedit.html#text">text</a>().isEmpty() || !iEMail-><a href="ntqlineedit.html#text">text</a>().isEmpty() ) ) { item-><a href="qlistviewitem.html#setText">setText</a>( 0, iFirstName-><a href="ntqlineedit.html#text">text</a>() ); item-><a href="qlistviewitem.html#setText">setText</a>( 1, iLastName-><a href="ntqlineedit.html#text">text</a>() ); item-><a href="qlistviewitem.html#setText">setText</a>( 2, iAddress-><a href="ntqlineedit.html#text">text</a>() ); item-><a href="qlistviewitem.html#setText">setText</a>( 3, iEMail-><a href="ntqlineedit.html#text">text</a>() ); } } void <a name="f281"></a>ABCentralWidget::selectionChanged() { iFirstName-><a href="ntqlineedit.html#setText">setText</a>( "" ); iLastName-><a href="ntqlineedit.html#setText">setText</a>( "" ); iAddress-><a href="ntqlineedit.html#setText">setText</a>( "" ); iEMail-><a href="ntqlineedit.html#setText">setText</a>( "" ); } void <a name="f282"></a>ABCentralWidget::itemSelected( <a href="qlistviewitem.html">TQListViewItem</a> *item ) { if ( !item ) return; <a name="x594"></a> item-><a href="qlistviewitem.html#setSelected">setSelected</a>( TRUE ); <a name="x593"></a> item-><a href="qlistviewitem.html#repaint">repaint</a>(); <a name="x596"></a> iFirstName-><a href="ntqlineedit.html#setText">setText</a>( item-><a href="qlistviewitem.html#text">text</a>( 0 ) ); iLastName-><a href="ntqlineedit.html#setText">setText</a>( item-><a href="qlistviewitem.html#text">text</a>( 1 ) ); iAddress-><a href="ntqlineedit.html#setText">setText</a>( item-><a href="qlistviewitem.html#text">text</a>( 2 ) ); iEMail-><a href="ntqlineedit.html#setText">setText</a>( item-><a href="qlistviewitem.html#text">text</a>( 3 ) ); } void <a name="f283"></a>ABCentralWidget::toggleFirstName() { sFirstName-><a href="ntqlineedit.html#setText">setText</a>( "" ); <a name="x573"></a> if ( cFirstName-><a href="ntqcheckbox.html#isChecked">isChecked</a>() ) { sFirstName-><a href="ntqwidget.html#setEnabled">setEnabled</a>( TRUE ); <a name="x606"></a> sFirstName-><a href="ntqwidget.html#setFocus">setFocus</a>(); } else sFirstName-><a href="ntqwidget.html#setEnabled">setEnabled</a>( FALSE ); } void <a name="f284"></a>ABCentralWidget::toggleLastName() { sLastName-><a href="ntqlineedit.html#setText">setText</a>( "" ); if ( cLastName-><a href="ntqcheckbox.html#isChecked">isChecked</a>() ) { sLastName-><a href="ntqwidget.html#setEnabled">setEnabled</a>( TRUE ); sLastName-><a href="ntqwidget.html#setFocus">setFocus</a>(); } else sLastName-><a href="ntqwidget.html#setEnabled">setEnabled</a>( FALSE ); } void <a name="f285"></a>ABCentralWidget::toggleAddress() { sAddress-><a href="ntqlineedit.html#setText">setText</a>( "" ); if ( cAddress-><a href="ntqcheckbox.html#isChecked">isChecked</a>() ) { sAddress-><a href="ntqwidget.html#setEnabled">setEnabled</a>( TRUE ); sAddress-><a href="ntqwidget.html#setFocus">setFocus</a>(); } else sAddress-><a href="ntqwidget.html#setEnabled">setEnabled</a>( FALSE ); } void <a name="f286"></a>ABCentralWidget::toggleEMail() { sEMail-><a href="ntqlineedit.html#setText">setText</a>( "" ); if ( cEMail-><a href="ntqcheckbox.html#isChecked">isChecked</a>() ) { sEMail-><a href="ntqwidget.html#setEnabled">setEnabled</a>( TRUE ); sEMail-><a href="ntqwidget.html#setFocus">setFocus</a>(); } else sEMail-><a href="ntqwidget.html#setEnabled">setEnabled</a>( FALSE ); } void <a name="f287"></a>ABCentralWidget::findEntries() { if ( !cFirstName-><a href="ntqcheckbox.html#isChecked">isChecked</a>() && !cLastName-><a href="ntqcheckbox.html#isChecked">isChecked</a>() && !cAddress-><a href="ntqcheckbox.html#isChecked">isChecked</a>() && !cEMail-><a href="ntqcheckbox.html#isChecked">isChecked</a>() ) { <a name="x587"></a> listView-><a href="ntqlistview.html#clearSelection">clearSelection</a>(); return; } <a href="qlistviewitemiterator.html">TQListViewItemIterator</a> it( listView ); for ( ; it.<a href="qlistviewitemiterator.html#current">current</a>(); ++it ) { bool select = TRUE; if ( cFirstName-><a href="ntqcheckbox.html#isChecked">isChecked</a>() ) { if ( select && it.<a href="qlistviewitemiterator.html#current">current</a>()->text( 0 ).contains( sFirstName-><a href="ntqlineedit.html#text">text</a>() ) ) select = TRUE; else select = FALSE; } if ( cLastName-><a href="ntqcheckbox.html#isChecked">isChecked</a>() ) { if ( select && it.<a href="qlistviewitemiterator.html#current">current</a>()->text( 1 ).contains( sLastName-><a href="ntqlineedit.html#text">text</a>() ) ) select = TRUE; else select = FALSE; } if ( cAddress-><a href="ntqcheckbox.html#isChecked">isChecked</a>() ) { if ( select && it.<a href="qlistviewitemiterator.html#current">current</a>()->text( 2 ).contains( sAddress-><a href="ntqlineedit.html#text">text</a>() ) ) select = TRUE; else select = FALSE; } if ( cEMail-><a href="ntqcheckbox.html#isChecked">isChecked</a>() ) { if ( select && it.<a href="qlistviewitemiterator.html#current">current</a>()->text( 3 ).contains( sEMail-><a href="ntqlineedit.html#text">text</a>() ) ) select = TRUE; else select = FALSE; } if ( select ) it.<a href="qlistviewitemiterator.html#current">current</a>()->setSelected( TRUE ); else it.<a href="qlistviewitemiterator.html#current">current</a>()->setSelected( FALSE ); it.<a href="qlistviewitemiterator.html#current">current</a>()->repaint(); } } </pre> <p> <hr> <p> Main: <p> <pre>/**************************************************************************** ** $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 <<a href="qapplication-h.html">ntqapplication.h</a>> #include "mainwindow.h" int main( int argc, char ** argv ) { <a href="ntqapplication.html">TQApplication</a> a( argc, argv ); ABMainWindow *mw = new ABMainWindow(); mw-><a href="ntqwidget.html#setCaption">setCaption</a>( "TQt Example - Addressbook" ); a.<a href="ntqapplication.html#setMainWidget">setMainWidget</a>( mw ); <a name="x611"></a> mw-><a href="ntqwidget.html#show">show</a>(); <a name="x609"></a><a name="x608"></a> a.<a href="ntqobject.html#connect">connect</a>( &a, TQ_SIGNAL( <a href="ntqapplication.html#lastWindowClosed">lastWindowClosed</a>() ), &a, TQ_SLOT( <a href="ntqapplication.html#quit">quit</a>() ) ); int result = a.<a href="ntqapplication.html#exec">exec</a>(); delete mw; return result; } </pre> <p>See also <a href="examples.html">Examples</a>. <!-- eof --> <p><address><hr><div align=center> <table width=100% cellspacing=0 border=0><tr> <td>Copyright © 2007 <a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> <td align=right><div align=right>TQt 3.3.8</div> </table></div></address></body> </html>