diff --git a/doc/addressbook-sdk.qdoc b/doc/addressbook-sdk.qdoc index 5749cdc42c55b7b9ecd3e9549d5d2d63cf60e4ea..341819c6c3164554014aa3b0b502888037e343d9 100644 --- a/doc/addressbook-sdk.qdoc +++ b/doc/addressbook-sdk.qdoc @@ -133,7 +133,7 @@ Now we have all the files we need, let's move on to designing the user interface. - \section1 Placing the Widgets on the Form + \section1 Placing Widgets on the Form In the \gui{Project Sidebar}, double-click on the \c{addressbook.ui} file. The \QD plugin will be launched, allowing you to design your program's user @@ -194,6 +194,13 @@ \snippet examples/addressbook-sdk/part1/main.cpp main function + The code constructs a new \c AddressBook widget on the heap using the + \c new keyword and invokes its \l{QWidget::}{show()} function to display + it. However, the widget will not be shown until the application's event + loop is started, by calling the application's \l{QApplication::}{exec()} + function. Finally, the result returned by \l{QApplication::}{exec()} is + used as the return value from the \c main() function. + \section1 Qt Programming - Subclassing @@ -220,3 +227,28 @@ address book is needed. */ + +/*! + \page tutorials-addressbook-sdk-part2.html + \previouspage Address Book 1 - Designing the User Interface + \contentspage {Address Book Tutorial}{Contents} + \nextpage \l{examples/addressbook-sdk/part3}{Chapter 3} + \example examples/addressbook-sdk/part2 + \title Address Book 2 - Adding Addresses + + The next step to creating our basic address book application is to allow a + little bit of user interaction. + + ### \image addressbook-tutorial-part2-add-contact.png + + We will provide a push button that the user can click to add a new contact. + Also, some form of data structure is needed to store these contacts in an + organized way. + + + \section1 Placing Widgets on the Form + + Now that we have the labels and input fields set up, we add push buttons to + complete the process of adding a contact. + +*/ diff --git a/doc/examples/addressbook-sdk/part2/addressbook.cpp b/doc/examples/addressbook-sdk/part2/addressbook.cpp new file mode 100644 index 0000000000000000000000000000000000000000..38e9404f31a3d8dc1dc1b1d68019320c70962718 --- /dev/null +++ b/doc/examples/addressbook-sdk/part2/addressbook.cpp @@ -0,0 +1,15 @@ +//! [class implementation] +#include "addressbook.h" +#include "ui_addressbook.h" + +AddressBook::AddressBook(QWidget *parent) + : QWidget(parent), ui(new Ui::AddressBookClass) +{ + ui->setupUi(this); +} + +AddressBook::~AddressBook() +{ + delete ui; +} +//! [class implementation] diff --git a/doc/examples/addressbook-sdk/part2/addressbook.h b/doc/examples/addressbook-sdk/part2/addressbook.h new file mode 100644 index 0000000000000000000000000000000000000000..c5937d435b80738824c8e793532d11f0248b0787 --- /dev/null +++ b/doc/examples/addressbook-sdk/part2/addressbook.h @@ -0,0 +1,25 @@ +//! [class definition] +#ifndef ADDRESSBOOK_H +#define ADDRESSBOOK_H + +#include <QtGui/QWidget> + +namespace Ui +{ + class AddressBookClass; +} + +class AddressBook : public QWidget +{ + Q_OBJECT + +public: + AddressBook(QWidget *parent = 0); + ~AddressBook(); + +private: + Ui::AddressBookClass *ui; +}; + +#endif // ADDRESSBOOK_H +//! [class definition] diff --git a/doc/examples/addressbook-sdk/part2/addressbook.ui b/doc/examples/addressbook-sdk/part2/addressbook.ui new file mode 100644 index 0000000000000000000000000000000000000000..f1262875eb6e69d9101c4cf2594db6093d470c96 --- /dev/null +++ b/doc/examples/addressbook-sdk/part2/addressbook.ui @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>AddressBookClass</class> + <widget class="QWidget" name="AddressBookClass"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>356</width> + <height>261</height> + </rect> + </property> + <property name="windowTitle"> + <string>AddressBook</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="nameEdit"> + <property name="text"> + <string>Name:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="lineEdit"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="addressEdit"> + <property name="text"> + <string>Address:</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QTextEdit" name="textEdit"/> + </item> + </layout> + </item> + </layout> + </widget> + <layoutdefault spacing="6" margin="11"/> + <resources/> + <connections/> +</ui> diff --git a/doc/examples/addressbook-sdk/part2/main.cpp b/doc/examples/addressbook-sdk/part2/main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..3378b4adce42d3e0d34cad8fc997a92a65394be8 --- /dev/null +++ b/doc/examples/addressbook-sdk/part2/main.cpp @@ -0,0 +1,12 @@ +//! [main function] +#include <QtGui/QApplication> +#include "addressbook.h" + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + AddressBook w; + w.show(); + return a.exec(); +} +//! [main function] diff --git a/doc/examples/addressbook-sdk/part2/part2.pro b/doc/examples/addressbook-sdk/part2/part2.pro new file mode 100644 index 0000000000000000000000000000000000000000..bbbdde9130f573a516bb6a8c8b6ebb3e2010219f --- /dev/null +++ b/doc/examples/addressbook-sdk/part2/part2.pro @@ -0,0 +1,16 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2009-03-06T12:30:35 +# +#------------------------------------------------- + +TARGET = addressbook +TEMPLATE = app + + +SOURCES += main.cpp\ + addressbook.cpp + +HEADERS += addressbook.h + +FORMS += addressbook.ui