doc/src/examples/tabdialog.qdoc
changeset 0 1918ee327afb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/src/examples/tabdialog.qdoc	Mon Jan 11 14:00:40 2010 +0000
@@ -0,0 +1,148 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+    \example dialogs/tabdialog
+    \title Tab Dialog Example
+
+    The Tab Dialog example shows how to construct a tab dialog using the
+    QTabWidget class.
+
+    Dialogs provide an efficient way for the application to communicate
+    with the user, but complex dialogs suffer from the problem that they
+    often take up too much screen area. By using a number of tabs in a
+    dialog, information can be split into different categories, while
+    remaining accessible.
+
+    \image tabdialog-example.png
+
+    The Tab Dialog example consists of a single \c TabDialog class that
+    provides three tabs, each containing information about a particular
+    file, and two standard push buttons that are used to accept or reject
+    the contents of the dialog.
+
+    \section1 TabDialog Class Definition
+
+    The \c TabDialog class is a subclass of QDialog that displays a
+    QTabWidget and two standard dialog buttons. The class definition
+    only contain the class constructor and a private data member for
+    the QTabWidget:
+
+    \snippet examples/dialogs/tabdialog/tabdialog.h 3
+
+    In the example, the widget will be used as a top-level window, but
+    we define the constructor so that it can take a parent widget. This
+    allows the dialog to be centered on top of an application's main
+    window.
+
+    \section1 TabDialog Class Implementation
+
+    The constructor calls the QDialog constructor and creates a QFileInfo
+    object for the specified filename.
+
+    \snippet examples/dialogs/tabdialog/tabdialog.cpp 0
+
+    The tab widget is populated with three custom widgets that each
+    contain information about the file. We construct each of these
+    without a parent widget because the tab widget will reparent
+    them as they are added to it.
+
+    We create two standard push buttons, and connect each of them to
+    the appropriate slots in the dialog:
+
+    \snippet examples/dialogs/tabdialog/tabdialog.cpp 1
+    \snippet examples/dialogs/tabdialog/tabdialog.cpp 3
+
+    We arrange the tab widget above the buttons in the dialog:
+
+    \snippet examples/dialogs/tabdialog/tabdialog.cpp 4
+
+    Finally, we set the dialog's title:
+
+    \snippet examples/dialogs/tabdialog/tabdialog.cpp 5
+
+    Each of the tabs are subclassed from QWidget, and only provide
+    constructors.
+
+    \section1 GeneralTab Class Definition
+
+    The GeneralTab widget definition is simple because we are only interested
+    in displaying the contents of a widget within a tab:
+
+    \snippet examples/dialogs/tabdialog/tabdialog.h 0
+
+    \section1 GeneralTab Class Implementation
+
+    The GeneralTab widget simply displays some information about the file
+    passed by the TabDialog. Various widgets for this purpose, and these
+    are arranged within a vertical layout:
+
+    \snippet examples/dialogs/tabdialog/tabdialog.cpp 6
+
+    \section1 PermissionsTab Class Definition
+
+    Like the GeneralTab, the PermissionsTab is just used as a placeholder
+    widget for its children:
+
+    \snippet examples/dialogs/tabdialog/tabdialog.h 1
+
+    \section1 PermissionsTab Class Implementation
+
+    The PermissionsTab shows information about the file's access information,
+    displaying details of the file permissions and owner in widgets that are
+    arranged in nested layouts:
+
+    \snippet examples/dialogs/tabdialog/tabdialog.cpp 7
+
+    \section1 ApplicationsTab Class Definition
+
+    The ApplicationsTab is another placeholder widget that is mostly
+    cosmetic:
+
+    \snippet examples/dialogs/tabdialog/tabdialog.h 2
+
+    \section1 ApplicationsTab Class Implementation
+
+    The ApplicationsTab does not show any useful information, but could be
+    used as a template for a more complicated example:
+
+    \snippet examples/dialogs/tabdialog/tabdialog.cpp 8
+*/