Engauge Digitizer  2
WindowAbstractBase.h
1 /******************************************************************************************************
2  * (C) 2016 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #ifndef WINDOW_ABSTRACT_BASE_H
8 #define WINDOW_ABSTRACT_BASE_H
9 
10 #include <QDockWidget>
11 
12 class CmdMediator;
13 class MainWindowModel;
14 class QString;
15 class QTableView;
16 class Transformation;
17 
20 class WindowAbstractBase : public QDockWidget
21 {
22  Q_OBJECT;
23 
24 public:
26  WindowAbstractBase (QWidget *parent);
27  virtual ~WindowAbstractBase ();
28 
30  virtual void clear () = 0;
31 
33  virtual void closeEvent(QCloseEvent *event) = 0;
34 
36  virtual void doCopy () = 0;
37 
39  void getTableStatus (bool &tableIsActive,
40  bool &tableIsCopyable) const;
41 
43  virtual void update (const CmdMediator &cmdMediator,
44  const MainWindowModel &modelMainWindow,
45  const QString &curveSelected,
46  const Transformation &transformation) = 0;
47 
48 protected:
50  virtual QTableView *view() const = 0;
51 
52 private:
54 
55 };
56 
57 #endif // WINDOW_ABSTRACT_BASE_H
Dockable widget abstract base class.
void getTableStatus(bool &tableIsActive, bool &tableIsCopyable) const
Give table status so MainWindow can determine if table can be copied.
virtual void closeEvent(QCloseEvent *event)=0
Catch close event so corresponding menu item in MainWindow can be updated accordingly.
virtual QTableView * view() const =0
QTableView-based class used by child class.
Affine transformation between screen and graph coordinates, based on digitized axis points...
Model for DlgSettingsMainWindow.
virtual void doCopy()=0
Copy the current selection to the clipboard.
Command queue stack.
Definition: CmdMediator.h:23
virtual void clear()=0
Clear stale information.
virtual void update(const CmdMediator &cmdMediator, const MainWindowModel &modelMainWindow, const QString &curveSelected, const Transformation &transformation)=0
Populate the table with the specified Curve.