tools/designer/src/lib/sdk/script.cpp
changeset 0 1918ee327afb
child 4 3b1da2848fc7
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 /****************************************************************************
       
     2 **
       
     3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     4 ** All rights reserved.
       
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
       
     6 **
       
     7 ** This file is part of the Qt Designer of the Qt Toolkit.
       
     8 **
       
     9 ** $QT_BEGIN_LICENSE:LGPL$
       
    10 ** No Commercial Usage
       
    11 ** This file contains pre-release code and may not be distributed.
       
    12 ** You may use this file in accordance with the terms and conditions
       
    13 ** contained in the Technology Preview License Agreement accompanying
       
    14 ** this package.
       
    15 **
       
    16 ** GNU Lesser General Public License Usage
       
    17 ** Alternatively, this file may be used under the terms of the GNU Lesser
       
    18 ** General Public License version 2.1 as published by the Free Software
       
    19 ** Foundation and appearing in the file LICENSE.LGPL included in the
       
    20 ** packaging of this file.  Please review the following information to
       
    21 ** ensure the GNU Lesser General Public License version 2.1 requirements
       
    22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
       
    23 **
       
    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.
       
    27 **
       
    28 ** If you have questions regarding the use of this file, please contact
       
    29 ** Nokia at qt-info@nokia.com.
       
    30 **
       
    31 **
       
    32 **
       
    33 **
       
    34 **
       
    35 **
       
    36 **
       
    37 **
       
    38 ** $QT_END_LICENSE$
       
    39 **
       
    40 ****************************************************************************/
       
    41 
       
    42 #include "script_p.h"
       
    43 
       
    44 QT_BEGIN_NAMESPACE
       
    45 
       
    46 /*!
       
    47     \class QDesignerScriptExtension
       
    48     \brief The QDesignerScriptExtension class allows you to generate a
       
    49     per-widget \l{QtScript} {Qt Script} snippet to be executed while
       
    50     building the form.
       
    51 
       
    52     \internal
       
    53     \inmodule QtDesigner
       
    54     \since 4.3
       
    55 
       
    56     On saving the form, the extension is queried for a script snippet
       
    57     to be associated with the widget while saving the UI file.
       
    58     This script is then run after creating the widget by \l uic or
       
    59     QUiLoader.
       
    60 
       
    61     As opposed to \l QDesignerCustomWidgetInterface::codeTemplate(),
       
    62     it allows for applying an internal state of the widget
       
    63     that can be manipulated using \QD.
       
    64 
       
    65     Such a state might for example be the contents of a custom item view widget,
       
    66     for which an editor is provided by the QDesignerTaskMenuExtension.
       
    67 
       
    68     While saving the form, the state is serialized as a QVariantMap of
       
    69     \QD-supported properties, which is stored in the UI file. This is
       
    70     handled by data() and setData().
       
    71 
       
    72     For item view contents, there might be for example a key that determines
       
    73     the number of items and other keys that contain the actual items following
       
    74     a naming scheme (\c numItems, \c item1, \c item2, ...).
       
    75 
       
    76     On saving, script() is invoked, which should return a script snippet that
       
    77     applies the state to the widget while building the form.
       
    78 
       
    79     \sa {Creating Custom Widgets for Qt Designer#Using Qt Script to Aid in Building Forms}{Creating Custom Widgets for Qt Designer}, QtScript
       
    80 */
       
    81 
       
    82 /*!
       
    83     Destroys the extension.
       
    84 */
       
    85 
       
    86 QDesignerScriptExtension::~QDesignerScriptExtension()
       
    87 {
       
    88 }
       
    89 
       
    90 /*!
       
    91     \fn virtual QString QDesignerScriptExtension::script() const
       
    92 
       
    93     Returns a script snippet to be associated with the widget.
       
    94 */
       
    95 
       
    96 /*!
       
    97     \fn virtual QVariantMap QDesignerScriptExtension::data() const
       
    98 
       
    99     Returns a map of variants describing the internal state to be
       
   100     stored in the UI file.
       
   101 */
       
   102 
       
   103 /*!
       
   104     \fn virtual void QDesignerScriptExtension::setData(const QVariantMap &data)
       
   105 
       
   106     Applies the internal state stored in \a data to the widget while loading a form.
       
   107 */
       
   108 
       
   109 QT_END_NAMESPACE