Seamly2D
Code documentation
vabstractmainwindow.h
Go to the documentation of this file.
1 /******************************************************************************
2  * @file vabstractmainwindow.h
3  ** @author Douglas S Caskey
4  ** @date 13 May, 2023
5  **
6  ** @brief
7  ** @copyright
8  ** This source code is part of the Seamly2D project, a pattern making
9  ** program to create and model patterns of clothing.
10  ** Copyright (C) 2017-2023 Seamly2D project
11  ** <https://github.com/fashionfreedom/seamly2d> All Rights Reserved.
12  **
13  ** Seamly2D is free software: you can redistribute it and/or modify
14  ** it under the terms of the GNU General Public License as published by
15  ** the Free Software Foundation, either version 3 of the License, or
16  ** (at your option) any later version.
17  **
18  ** Seamly2D is distributed in the hope that it will be useful,
19  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
20  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  ** GNU General Public License for more details.
22  **
23  ** You should have received a copy of the GNU General Public License
24  ** along with Seamly2D. If not, see <http://www.gnu.org/licenses/>.
25  **
26  *************************************************************************/
27 
28 /************************************************************************
29  **
30  ** @file
31  ** @author Valentina Zhuravska <zhuravska19(at)gmail.com>
32  ** @date 19 7, 2016
33  **
34  ** @brief
35  ** @copyright
36  ** This source code is part of the Valentina project, a pattern making
37  ** program, whose allow create and modeling patterns of clothing.
38  ** Copyright (C) 2016 Valentina project
39  ** <https://github.com/fashionfreedom/seamly2d> All Rights Reserved.
40  **
41  ** Valentina is free software: you can redistribute it and/or modify
42  ** it under the terms of the GNU General Public License as published by
43  ** the Free Software Foundation, either version 3 of the License, or
44  ** (at your option) any later version.
45  **
46  ** Valentina is distributed in the hope that it will be useful,
47  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
48  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
49  ** GNU General Public License for more details.
50  **
51  ** You should have received a copy of the GNU General Public License
52  ** along with Valentina. If not, see <http://www.gnu.org/licenses/>.
53  **
54  *************************************************************************/
55 
56 #ifndef VABSTRACTMAINWINDOW_H
57 #define VABSTRACTMAINWINDOW_H
58 
59 #include <qcompilerdetection.h>
60 #include <QMainWindow>
61 #include <QMetaObject>
62 #include <QObject>
63 #include <QString>
64 #include <QGraphicsItem>
65 
66 class DialogExportToCSV;
67 
68 class VAbstractMainWindow : public QMainWindow
69 {
70  Q_OBJECT
71 public:
72  explicit VAbstractMainWindow(QWidget *parent = nullptr);
73  virtual ~VAbstractMainWindow() Q_DECL_EQ_DEFAULT;
74 
75 public slots:
76  virtual void ShowToolTip(const QString &toolTip)=0;
77  virtual void updateGroups()=0;
78  virtual void zoomToSelected()=0;
79 
80 protected slots:
81  void WindowsLocale();
82  void exportToCSV(QString &file);
83 
84 protected:
87 
88  bool ContinueFormatRewrite(const QString &currentFormatVersion, const QString &maxFormatVersion);
89  void ToolBarStyle(QToolBar *bar);
90 
91  virtual void exportToCSVData(const QString &fileName, const DialogExportToCSV &dialog)=0;
92 
93 private:
94  Q_DISABLE_COPY(VAbstractMainWindow)
95 };
96 
97 #endif // VABSTRACTMAINWINDOW_H
virtual void exportToCSVData(const QString &fileName, const DialogExportToCSV &dialog)=0
virtual void zoomToSelected()=0
virtual void updateGroups()=0
void exportToCSV(QString &file)
void ToolBarStyle(QToolBar *bar)
VAbstractMainWindow(QWidget *parent=nullptr)
virtual void ShowToolTip(const QString &toolTip)=0
bool ContinueFormatRewrite(const QString &currentFormatVersion, const QString &maxFormatVersion)
virtual ~VAbstractMainWindow() Q_DECL_EQ_DEFAULT