From dcda330906b2ce8ae1c289832270e102e6cb3936 Mon Sep 17 00:00:00 2001
From: Kavindra Devi Palaraja <kavindra.palaraja@nokia.com>
Date: Fri, 5 Jun 2009 17:57:47 +0200
Subject: [PATCH] Doc - more of part 4, including a screenshot and lots of docs

RevBy:    TrustMe
---
 doc/addressbook-sdk.qdoc                      |  29 +++
 .../addressbook-sdk/part3/addressbook.h       |   2 -
 .../addressbook-sdk/part4/addressbook.cpp     |  10 +-
 .../addressbook-sdk/part4/addressbook.h       |  12 +-
 .../addressbook-sdk/part4/addressbook.ui      | 194 +++++++++---------
 ...book-tutorial-part4-drop-in-gridlayout.png | Bin 0 -> 14518 bytes
 6 files changed, 148 insertions(+), 99 deletions(-)
 create mode 100644 doc/images/addressbook-tutorial-part4-drop-in-gridlayout.png

diff --git a/doc/addressbook-sdk.qdoc b/doc/addressbook-sdk.qdoc
index 2ca6e9746d1..f7f40121632 100644
--- a/doc/addressbook-sdk.qdoc
+++ b/doc/addressbook-sdk.qdoc
@@ -575,6 +575,15 @@
 
     \section1 Placing Widgets on the Form
 
+    To edit and remove contacts, we need two push buttons. Drag them and name
+    them accordingly. Their \c objectName properties should be \c editButton
+    and \c removeButton, respectively. The quickest way to place these two
+    buttons into our existing layout, is to simply drag and drop them. Use the
+    screenshot below as a guide:
+
+    \image addressbook-tutorial-part4-drop-in-gridlayout.png
+
+
     \section1 The AddressBook Class
 
     We update the header file to contain the \c Mode enum:
@@ -586,6 +595,26 @@
 
     \snippet examples/addressbook-sdk/part4/addressbook.h slot definition
 
+    In order to switch between modes, we introduce the \c updateInterface()
+    function to control the enabling and disabling of all push buttons. We also
+    add two new push buttons, \c editButton and \c removeButton, for the edit
+    and remove functions mentioned earlier.
+
+    \snippet examples/addressbook-sdk/part4/adressbook.h updateInterface
+    \dots
+    \snippet examples/addressbook-sdk/part4/addressbook.h members
+
+    Lastly, we declare \c currentMode to keep track of the enum's current mode.
+
+    \snippet examples/addressbook-sdk/part4/addressbook.h current mode
+
+    Let's begin by implementing the mode-changing features of the address book
+    application. The \c editButton and \c removeButton are extracted and
+    disabled by default, as the address book starts up with zero contacts in
+    memory.
+
+
+
 */
 
 /*!
diff --git a/doc/examples/addressbook-sdk/part3/addressbook.h b/doc/examples/addressbook-sdk/part3/addressbook.h
index dd18d85512e..7d42d0c0531 100644
--- a/doc/examples/addressbook-sdk/part3/addressbook.h
+++ b/doc/examples/addressbook-sdk/part3/addressbook.h
@@ -1,4 +1,3 @@
-//! [class definition]
 #ifndef ADDRESSBOOK_H
 #define ADDRESSBOOK_H
 
@@ -50,4 +49,3 @@ private:
 };
 
 #endif // ADDRESSBOOK_H
-//! [class definition]
diff --git a/doc/examples/addressbook-sdk/part4/addressbook.cpp b/doc/examples/addressbook-sdk/part4/addressbook.cpp
index e14c86f4260..7dda52ce0fc 100644
--- a/doc/examples/addressbook-sdk/part4/addressbook.cpp
+++ b/doc/examples/addressbook-sdk/part4/addressbook.cpp
@@ -31,7 +31,15 @@ AddressBook::AddressBook(QWidget *parent)
 
     previousButton = new QPushButton;
     previousButton = ui->previousButton;
-    nextButton->setEnabled(false);
+    previousButton->setEnabled(false);
+
+    editButton = new QPushButton;
+    editButton = ui->editButton;
+    editButton->setEnabled(false);
+
+    removeButton = new QPushButton;
+    removeButton = ui->removeButton;
+    removeButton->setEnabled(false);
 
     connect(addButton, SIGNAL(clicked()), this,
                 SLOT(addContact()));
diff --git a/doc/examples/addressbook-sdk/part4/addressbook.h b/doc/examples/addressbook-sdk/part4/addressbook.h
index 7bc76f45f73..467932c2640 100644
--- a/doc/examples/addressbook-sdk/part4/addressbook.h
+++ b/doc/examples/addressbook-sdk/part4/addressbook.h
@@ -1,4 +1,3 @@
-//! [class definition]
 #ifndef ADDRESSBOOK_H
 #define ADDRESSBOOK_H
 
@@ -39,20 +38,27 @@ public slots:
 private:
     Ui::AddressBook *ui;
 
+//! [updateInterface]
+    void updateInterface(Mode mode);
+//! [updateInterface]
     QPushButton *addButton;
     QPushButton *submitButton;
     QPushButton *cancelButton;
+//! [members]
+    QPushButton *editButton;
+    QPushButton *removeButton;
 //! [members]
     QPushButton *nextButton;
     QPushButton *previousButton;
-//! [members]
     QLineEdit *nameLine;
     QTextEdit *addressText;
 
     QMap<QString, QString> contacts;
     QString oldName;
     QString oldAddress;
+//! [current mode]
+    Mode currentMode;
+//! [current mode]
 };
 
 #endif // ADDRESSBOOK_H
-//! [class definition]
diff --git a/doc/examples/addressbook-sdk/part4/addressbook.ui b/doc/examples/addressbook-sdk/part4/addressbook.ui
index ee9bbe4d65b..44b4940ac98 100644
--- a/doc/examples/addressbook-sdk/part4/addressbook.ui
+++ b/doc/examples/addressbook-sdk/part4/addressbook.ui
@@ -6,104 +6,112 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>600</width>
-    <height>400</height>
+    <width>472</width>
+    <height>294</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>AddressBook</string>
   </property>
-  <widget class="QWidget" name="layoutWidget">
-   <property name="geometry">
-    <rect>
-     <x>10</x>
-     <y>10</y>
-     <width>413</width>
-     <height>260</height>
-    </rect>
-   </property>
-   <layout class="QGridLayout" name="gridLayout">
-    <item row="0" column="0">
-     <widget class="QLabel" name="nameLabel">
-      <property name="text">
-       <string>Name:</string>
-      </property>
-     </widget>
-    </item>
-    <item row="0" column="1">
-     <widget class="QLineEdit" name="nameLine"/>
-    </item>
-    <item row="1" column="0">
-     <widget class="QLabel" name="addressLabel">
-      <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="addressText"/>
-    </item>
-    <item row="1" column="2">
-     <layout class="QVBoxLayout" name="verticalLayout">
-      <item>
-       <widget class="QPushButton" name="addButton">
-        <property name="text">
-         <string>Add</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QPushButton" name="submitButton">
-        <property name="text">
-         <string>Submit</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QPushButton" name="cancelButton">
-        <property name="text">
-         <string>Cancel</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <spacer name="verticalSpacer">
-        <property name="orientation">
-         <enum>Qt::Vertical</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>20</width>
-          <height>40</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-     </layout>
-    </item>
-    <item row="2" column="1">
-     <layout class="QHBoxLayout" name="horizontalLayout">
-      <item>
-       <widget class="QPushButton" name="nextButton">
-        <property name="text">
-         <string>Previous</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QPushButton" name="previousButton">
-        <property name="text">
-         <string>Next</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </item>
-   </layout>
-  </widget>
+  <layout class="QHBoxLayout" name="horizontalLayout_3">
+   <item>
+    <layout class="QGridLayout" name="gridLayout">
+     <item row="0" column="0">
+      <widget class="QLabel" name="nameLabel">
+       <property name="text">
+        <string>Name:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1">
+      <widget class="QLineEdit" name="nameLine"/>
+     </item>
+     <item row="1" column="0">
+      <widget class="QLabel" name="addressLabel">
+       <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="addressText"/>
+     </item>
+     <item row="1" column="2">
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <item>
+        <widget class="QPushButton" name="addButton">
+         <property name="text">
+          <string>Add</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QPushButton" name="submitButton">
+         <property name="text">
+          <string>Submit</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QPushButton" name="cancelButton">
+         <property name="text">
+          <string>Cancel</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QPushButton" name="editButton">
+         <property name="text">
+          <string>Edit</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QPushButton" name="removeButton">
+         <property name="text">
+          <string>Remove</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="verticalSpacer">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </item>
+     <item row="2" column="1">
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <item>
+        <widget class="QPushButton" name="nextButton">
+         <property name="text">
+          <string>Previous</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QPushButton" name="previousButton">
+         <property name="text">
+          <string>Next</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </item>
+  </layout>
  </widget>
  <layoutdefault spacing="6" margin="11"/>
  <resources/>
diff --git a/doc/images/addressbook-tutorial-part4-drop-in-gridlayout.png b/doc/images/addressbook-tutorial-part4-drop-in-gridlayout.png
new file mode 100644
index 0000000000000000000000000000000000000000..1969294ba14f383a75360ab0b2ecf5e4a365dca9
GIT binary patch
literal 14518
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

literal 0
HcmV?d00001

-- 
GitLab