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
virtual QTableView * view() const =0
QTableView-based class used by child class.
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.
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.