From 640278e1d04cf51972720162c836a4cbcfcfbd92 Mon Sep 17 00:00:00 2001
From: Kavindra Devi Palaraja <kavindra.palaraja@nokia.com>
Date: Tue, 30 Jun 2009 15:42:17 +0200
Subject: [PATCH] Doc - More of Part 5 and some minor changes to part 2 to
 ensure that the include statements were explained.

Reviewed-By: TrustMe
---
 doc/addressbook-sdk.qdoc                      |  38 ++++++++++++++++++
 .../addressbook-sdk/part2/addressbook.h       |   5 +--
 .../addressbook-sdk/part5/finddialog.cpp      |   4 ++
 .../addressbook-sdk/part5/finddialog.h        |   8 +++-
 ...sbook-tutorial-part5-signals-and-slots.png | Bin 0 -> 5542 bytes
 5 files changed, 50 insertions(+), 5 deletions(-)
 create mode 100644 doc/images/addressbook-tutorial-part5-signals-and-slots.png

diff --git a/doc/addressbook-sdk.qdoc b/doc/addressbook-sdk.qdoc
index 1974c129ede..3194ad70b2f 100644
--- a/doc/addressbook-sdk.qdoc
+++ b/doc/addressbook-sdk.qdoc
@@ -315,6 +315,12 @@
 
     \snippet examples/addressbook-sdk/part2/addressbook.h members1
 
+    The Qt types used for our private members, e.g., QPushButton, QLineEdit,
+    QTextEdit, etc., need to be included with the \c include directive, as
+    shown below:
+
+    \snippet examples/addressbook-sdk/part2/addressbook.h include
+
     \note The names, e.g., \c addButton etc., correspond to the name of the
     actual object. You can modify them by double-clicking on their names within
     \QD's \gui{Object Inspector}.
@@ -727,6 +733,7 @@
     dialog that can prompt the user for a contact's name. Qt provides QDialog,
     which we subclass in this chapter, to implement a FindDialog class.
 
+
     \section1 Designing \c FindDialog
 
     #image
@@ -743,6 +750,7 @@
     in a horizontal layout. Then set a top level layout - either horizontal or
     vertical.
 
+
     \section1 Implementing \c FindDialog
 
     Let's look at \c{FindDialog}'s header file. Here, we need to provide
@@ -751,8 +759,38 @@
 
     \snippet examples/addressbook-sdk/part5/finddialog.h private members
 
+    We define a public function, \c getFindText(), to be used by classes that
+    instantiate \c FindDialog. This function allows the these classes to obtain
+    the search string entered by the user. A public slot, \c findClicked(), is
+    also defined to handle the search string when the user clicks the \gui Find
+    button.
+
+    \snippet examples/addressbook-sdk/part5/finddialog.h getFindText
+    \dots
+    \snippet examples/addressbook-sdk/part5/finddialog.h findClicked
+
+    Now, lets look at our constructor in the \c{finddialog.cpp} file. Here, we
+    set up the private variables, \c lineEdit, \c findButton, and \c findText.
+
+    \snippet examples/addressbook-sdk/part5/finddialog.cpp constructor
+
+    We connect our signals to their respective slots. Notice that
+    \c{findButton}'s \l{QPushButton:}{clicked()} signal is connected to
+    \c findClicked() and \l{QDialog::}{accept()}. The \l{QDialog::}{accept()}
+    slot provided by QDialog hides the dialog and sets the result code to
+    \l{QDialog::}{Accepted}. We use this function to help \c{AddressBook}'s
+    \c findContact() function know when the \c FindDialog object has been
+    closed. We will explain this logic in further detail when discussing the
+    \c findContact() function.
+
+    \image addressbook-tutorial-part5-signals-and-slots.png
 
+    In \c findClicked(), we validate to ensure that the user did not click the
+    \gui Find button without entering a contact's name. Then, we set
+    \c findText to the search string, extracted from \c lineEdit. After that,
+    we clear the contents of \c lineEdit and hide the dialog.
 
+    \snippet examples/addressbook-sdk/part5/finddialog.cpp findClicked
 */
 
 
diff --git a/doc/examples/addressbook-sdk/part2/addressbook.h b/doc/examples/addressbook-sdk/part2/addressbook.h
index efea5d177b3..69486cb8cf2 100644
--- a/doc/examples/addressbook-sdk/part2/addressbook.h
+++ b/doc/examples/addressbook-sdk/part2/addressbook.h
@@ -1,13 +1,13 @@
-//! [class definition]
 #ifndef ADDRESSBOOK_H
 #define ADDRESSBOOK_H
 
+//! [include]
 #include <QtGui/QWidget>
 #include <QtGui/QPushButton>
 #include <QtGui/QLineEdit>
 #include <QtGui/QTextEdit>
 #include <QtGui/QMessageBox>
-
+//! [include]
 
 namespace Ui
 {
@@ -48,4 +48,3 @@ private:
 };
 
 #endif // ADDRESSBOOK_H
-//! [class definition]
diff --git a/doc/examples/addressbook-sdk/part5/finddialog.cpp b/doc/examples/addressbook-sdk/part5/finddialog.cpp
index 89ee5e083a2..1a464b70903 100644
--- a/doc/examples/addressbook-sdk/part5/finddialog.cpp
+++ b/doc/examples/addressbook-sdk/part5/finddialog.cpp
@@ -1,6 +1,7 @@
 #include "finddialog.h"
 #include "ui_finddialog.h"
 
+//! [constructor]
 FindDialog::FindDialog(QWidget *parent) :
     QDialog(parent),
     m_ui(new Ui::FindDialog)
@@ -18,12 +19,14 @@ FindDialog::FindDialog(QWidget *parent) :
 
     setWindowTItle(tr("Find a Contact"));
 }
+//! [constructor]
 
 FindDialog::~FindDialog()
 {
     delete m_ui;
 }
 
+//! [findClicked]
 void FindDialog::findClicked()
 {
     QString text = lineEdit->text();
@@ -38,6 +41,7 @@ void FindDialog::findClicked()
         hide();
     }
 }
+//! [findClicked]
 
 QString FindDialog::getFindText()
 {
diff --git a/doc/examples/addressbook-sdk/part5/finddialog.h b/doc/examples/addressbook-sdk/part5/finddialog.h
index 9df1df89988..aef5aee9fa3 100644
--- a/doc/examples/addressbook-sdk/part5/finddialog.h
+++ b/doc/examples/addressbook-sdk/part5/finddialog.h
@@ -2,8 +2,8 @@
 #define FINDDIALOG_H
 
 #include <QtGui/QDialog>
-#include <QLineEdit>
-#include <QPushButton>
+#include <QtGui/QLineEdit>
+#include <QtGui/QPushButton>
 
 namespace Ui {
     class FindDialog;
@@ -14,10 +14,14 @@ class FindDialog : public QDialog {
 public:
     FindDialog(QWidget *parent = 0);
     ~FindDialog();
+//! [getFindText]
     QString getFindText();
+//! [getFindText]
 
+//! [findClicked]
 public slots:
     void findClicked();
+//! [findClicked]
 
 //! [private members]
 private:
diff --git a/doc/images/addressbook-tutorial-part5-signals-and-slots.png b/doc/images/addressbook-tutorial-part5-signals-and-slots.png
new file mode 100644
index 0000000000000000000000000000000000000000..1771e7bbbf54d69aed3121adf4a96ff8ec7b6353
GIT binary patch
literal 5542
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
TX0{wW{^cx8ZB43-PznD7QY((t

literal 0
HcmV?d00001

-- 
GitLab