QCodeEditor: Update to current cpeditor/QCodeEditor fork, commit ed1196a
[smuview.git] / src / ui / tabs / tabdockwidget.hpp
blob48c5492ef7ba2da8dc5076ea702aa3cd2844a7eb
1 /*
2 * This file is part of the SmuView project.
4 * Copyright (C) 2020-2021 Frank Stettner <frank-stettner@gmx.net>
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef UI_TABS_TABDOCKWIDGET_HPP
21 #define UI_TABS_TABDOCKWIDGET_HPP
23 #include <QCloseEvent>
24 #include <QDockWidget>
25 #include <QString>
27 using std::string;
29 namespace sv {
30 namespace ui {
32 namespace views {
33 class BaseView;
36 namespace tabs {
38 class TabDockWidget : public QDockWidget
40 Q_OBJECT
42 public:
43 TabDockWidget(const QString &title, views::BaseView *view,
44 QWidget *parent = nullptr);
46 private:
47 void closeEvent(QCloseEvent *event) override;
49 private Q_SLOTS:
50 void on_view_title_changed();
52 Q_SIGNALS:
53 void closed(const std::string &view_id);
57 } // namespace tabs
58 } // namespace ui
59 } // namespace sv
61 #endif // UI_TABS_TABDOCKWIDGET_HPP