File indexing completed on 2024-05-12 16:39:38

0001 /* This file is part of the KDE project
0002    Copyright (C) 2003 Lucijan Busch <lucijan@kde.org>
0003    Copyright (C) 2003-2015 Jarosław Staniek <staniek@kde.org>
0004 
0005    This library is free software; you can redistribute it and/or
0006    modify it under the terms of the GNU Library General Public
0007    License as published by the Free Software Foundation; either
0008    version 2 of the License, or (at your option) any later version.
0009 
0010    This library is distributed in the hope that it will be useful,
0011    but WITHOUT ANY WARRANTY; without even the implied warranty of
0012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013    Library General Public License for more details.
0014 
0015    You should have received a copy of the GNU Library General Public License
0016    along with this library; see the file COPYING.LIB.  If not, write to
0017    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0018  * Boston, MA 02110-1301, USA.
0019 */
0020 
0021 #ifndef KEXIPARTINFO_P_H
0022 #define KEXIPARTINFO_P_H
0023 
0024 #include "kexipartinfo.h"
0025 
0026 #include <QAction>
0027 
0028 namespace KexiPart
0029 {
0030 //! @internal
0031 class Q_DECL_HIDDEN Info::Private
0032 {
0033 public:
0034     Private(Info *info, const QPluginLoader &loader);
0035 
0036     //! used in StaticItem class
0037     Private();
0038 
0039     QString groupName;
0040     QString untranslatedGroupName;
0041     QString typeName;
0042 
0043     /*! Supported modes for dialogs created by this part.
0044     @see KexiPart::Info::supportedViewModes() */
0045     Kexi::ViewModes supportedViewModes;
0046 
0047     /*! Supported modes for dialogs created by this part in user mode.
0048     @see KexiPart::Info::supportedUserViewModes() */
0049     Kexi::ViewModes supportedUserViewModes;
0050 
0051     bool isVisibleInNavigator;
0052     bool isDataExportSupported;
0053     bool isPrintingSupported;
0054     bool isExecuteSupported;
0055     bool isPropertyEditorAlwaysVisibleInDesignMode;
0056 };
0057 }
0058 
0059 //! Helper for creating new objects.
0060 //! On triggering, the request is passed to part manager
0061 //! @internal
0062 class KexiNewObjectAction : public QAction
0063 {
0064     Q_OBJECT
0065 public:
0066     KexiNewObjectAction(KexiPart::Info* info, QObject *parent);
0067 
0068 Q_SIGNALS:
0069     void newObjectRequested(KexiPart::Info* info);
0070 
0071 private Q_SLOTS:
0072     void slotTriggered();
0073 
0074 private:
0075     KexiPart::Info* m_info;
0076 };
0077 
0078 #endif