File indexing completed on 2024-05-12 16:44:05
0001 /* 0002 SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef KMYMONEYVIEWBASE_H 0007 #define KMYMONEYVIEWBASE_H 0008 0009 #include "kmm_widgets_export.h" 0010 0011 // ---------------------------------------------------------------------------- 0012 // QT Includes 0013 0014 #include <QWidget> 0015 0016 // ---------------------------------------------------------------------------- 0017 // KDE Includes 0018 0019 // ---------------------------------------------------------------------------- 0020 // Project Includes 0021 0022 #include "viewenums.h" 0023 0024 class MyMoneyObject; 0025 0026 /** 0027 * This class is an abstract base class that all specific views 0028 * should be based on. 0029 */ 0030 class KMyMoneyViewBasePrivate; 0031 class KMM_WIDGETS_EXPORT KMyMoneyViewBase : public QWidget 0032 { 0033 Q_OBJECT 0034 0035 public: 0036 explicit KMyMoneyViewBase(QWidget* parent = nullptr); 0037 virtual ~KMyMoneyViewBase(); 0038 0039 virtual void executeCustomAction(eView::Action) {} 0040 0041 Q_SIGNALS: 0042 void selectByObject(const MyMoneyObject&, eView::Intent); 0043 void selectByVariant(const QVariantList&, eView::Intent); 0044 void customActionRequested(View, eView::Action); 0045 0046 public slots: 0047 virtual void slotSelectByObject(const MyMoneyObject&, eView::Intent) {} 0048 virtual void slotSelectByVariant(const QVariantList&, eView::Intent) {} 0049 0050 protected: 0051 const QScopedPointer<KMyMoneyViewBasePrivate> d_ptr; 0052 KMyMoneyViewBase(KMyMoneyViewBasePrivate &dd, QWidget *parent); 0053 0054 private: 0055 Q_DECLARE_PRIVATE(KMyMoneyViewBase) 0056 }; 0057 0058 #endif