1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2018 The Qt Company Ltd. 4 ** Contact: https://www.qt.io/licensing/ 5 ** 6 ** This file is part of the Qt Designer of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:BSD$ 9 ** Commercial License Usage 10 ** Licensees holding valid commercial Qt licenses may use this file in 11 ** accordance with the commercial license agreement provided with the 12 ** Software or, alternatively, in accordance with the terms contained in 13 ** a written agreement between you and The Qt Company. For licensing terms 14 ** and conditions see https://www.qt.io/terms-conditions. For further 15 ** information use the contact form at https://www.qt.io/contact-us. 16 ** 17 ** BSD License Usage 18 ** Alternatively, you may use this file under the terms of the BSD license 19 ** as follows: 20 ** 21 ** "Redistribution and use in source and binary forms, with or without 22 ** modification, are permitted provided that the following conditions are 23 ** met: 24 ** * Redistributions of source code must retain the above copyright 25 ** notice, this list of conditions and the following disclaimer. 26 ** * Redistributions in binary form must reproduce the above copyright 27 ** notice, this list of conditions and the following disclaimer in 28 ** the documentation and/or other materials provided with the 29 ** distribution. 30 ** * Neither the name of The Qt Company Ltd nor the names of its 31 ** contributors may be used to endorse or promote products derived 32 ** from this software without specific prior written permission. 33 ** 34 ** 35 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 ** 47 ** $QT_END_LICENSE$ 48 ** 49 ****************************************************************************/ 50 51 #ifndef RESOURCEBUILDER_H 52 #define RESOURCEBUILDER_H 53 54 // 55 // W A R N I N G 56 // ------------- 57 // 58 // This file is not part of the Qt API. It exists purely as an 59 // implementation detail. This header file may change from version to 60 // version without notice, or even be removed. 61 // 62 // We mean it. 63 // 64 65 #include "uilib_global.h" 66 #include <QtCore/qlist.h> 67 #include <QtCore/qstring.h> 68 69 QT_BEGIN_NAMESPACE 70 71 class QDir; 72 class QVariant; 73 74 #ifdef QFORMINTERNAL_NAMESPACE 75 namespace QFormInternal 76 { 77 #endif 78 79 class DomProperty; 80 class DomResourceIcon; 81 82 class QDESIGNER_UILIB_EXPORT QResourceBuilder 83 { 84 public: 85 enum IconStateFlags { 86 NormalOff = 0x1, NormalOn = 0x2, DisabledOff = 0x4, DisabledOn = 0x8, 87 ActiveOff = 0x10, ActiveOn = 0x20, SelectedOff = 0x40, SelectedOn = 0x80 88 }; 89 90 QResourceBuilder(); 91 virtual ~QResourceBuilder(); 92 93 virtual QVariant loadResource(const QDir &workingDirectory, const DomProperty *property) const; 94 95 virtual QVariant toNativeValue(const QVariant &value) const; 96 97 virtual DomProperty *saveResource(const QDir &workingDirectory, const QVariant &value) const; 98 99 virtual bool isResourceProperty(const DomProperty *p) const; 100 101 virtual bool isResourceType(const QVariant &value) const; 102 103 static int iconStateFlags(const DomResourceIcon *resIcon); 104 }; 105 106 107 #ifdef QFORMINTERNAL_NAMESPACE 108 } 109 #endif 110 111 QT_END_NAMESPACE 112 113 #endif // RESOURCEBUILDER_H 114