Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/doc/src/examples/basicgraphicslayouts.qdoc

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the documentation of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    4646    The Basic Graphics Layouts example shows how to use the layout classes
    4747    in QGraphicsView: QGraphicsLinearLayout and QGraphicsGridLayout.
     48    In addition to that it shows how to write your own custom layout item.
    4849
    4950    \image basicgraphicslayouts-example.png Screenshot of the Basic Layouts Example
     
    116117    \section1 LayoutItem Class Definition
    117118
    118     The \c LayoutItem class is a subclass of QGraphicsWidget. It has a
    119     constructor, a destructor, and a reimplementation of the
    120     {QGraphicsItem::paint()}{paint()} function.
     119    The \c LayoutItem class is a subclass of QGraphicsLayoutItem and
     120    QGraphicsItem. It has a constructor, a destructor, and some required
     121    reimplementations.
     122    Since it inherits QGraphicsLayoutItem it must reimplement
     123    {QGraphicsLayoutItem::setGeometry()}{setGeometry()} and
     124    {QGraphicsLayoutItem::sizeHint()}{sizeHint()}.
     125    In addition to that it inherits QGraphicsItem, so it must reimplement
     126    {QGraphicsItem::boundingRect()}{boundingRect()} and
     127    {QGraphicsItem::paint()}{paint()}.
    121128
    122129    \snippet examples/graphicsview/basicgraphicslayouts/layoutitem.h 0
    123130
    124     The \c LayoutItem class also has a private instance of QPixmap, \c pix.
    125 
    126     \note We subclass QGraphicsWidget so that \c LayoutItem objects can
    127     be automatically plugged into a layout, as QGraphicsWidget is a
    128     specialization of QGraphicsLayoutItem.
     131    The \c LayoutItem class also has a private instance of QPixmap, \c m_pix.
    129132
    130133    \section1 LayoutItem Class Implementation
    131134
    132     In \c{LayoutItem}'s constructor, \c pix is instantiated and the
    133     \c{QT_original_R.png} image is loaded into it. We set the size of
    134     \c LayoutItem to be slightly larger than the size of the pixmap as we
    135     require some space around it for borders that we will paint later.
    136     Alternatively, you could scale the pixmap to prevent the item from
    137     becoming smaller than the pixmap.
     135    In \c{LayoutItem}'s constructor, \c m_pix is instantiated and the
     136    \c{block.png} image is loaded into it.
    138137
    139138    \snippet examples/graphicsview/basicgraphicslayouts/layoutitem.cpp 0
     
    149148    \snippet examples/graphicsview/basicgraphicslayouts/layoutitem.cpp 2
    150149
     150    The reimplementation of {QGraphicsItem::boundingRect()}{boundingRect()}
     151    will set the top left corner at (0,0), and the size of it will be
     152    the size of the layout items
     153    {QGraphicsLayoutItem::geometry()}{geometry()}. This is the area that
     154    we paint within.
     155
     156    \snippet examples/graphicsview/basicgraphicslayouts/layoutitem.cpp 3
     157
     158
     159    The reimplementation of {QGraphicsLayoutItem::setGeometry()}{setGeometry()}
     160    simply calls its baseclass implementation. However, since this will change
     161    the boundingRect we must also call
     162    {QGraphicsItem::prepareGeometryChange()}{prepareGeometryChange()}.
     163    Finally, we move the item according to \c geom.topLeft().
     164
     165    \snippet examples/graphicsview/basicgraphicslayouts/layoutitem.cpp 4
     166
     167
     168    Since we don't want the size of the item to be smaller than the pixmap, we
     169    must make sure that we return a size hint that is larger than \c m_pix.
     170    We also add some extra space around for borders that we will paint later.
     171    Alternatively, you could scale the pixmap to prevent the item from
     172    becoming smaller than the pixmap.
     173    The preferred size is the same as the minimum size hint, while we set
     174    maximum to be a large value
     175
     176    \snippet examples/graphicsview/basicgraphicslayouts/layoutitem.cpp 5
     177
    151178*/
Note: See TracChangeset for help on using the changeset viewer.