blob: 3a1b87834365025d2e7de239757e009cb26a341a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
#pragma once
#include "projectexplorer_export.h"
#include <utils/fancymainwindow.h>
#include <utils/id.h>
#include <memory>
namespace Core {
class OutputWindow;
}
namespace ProjectExplorer {
namespace Internal {
enum {
ContextMenuItemAdderRole // To augment a context menu, data has a QMenu*
= Qt::UserRole + 1,
ProjectDisplayNameRole, // Shown in the project selection combobox
ItemActivatedDirectlyRole, // This item got activated through user interaction and
// is now responsible for the central widget.
ItemActivatedFromBelowRole, // A subitem gots activated and gives us the opportunity to adjust
ItemActivatedFromAboveRole, // A parent item gots activated and makes us its active child.
ItemDeactivatedFromBelowRole, // A subitem got deactivated and gives us the opportunity to adjust
ItemUpdatedFromBelowRole, // A subitem got updated, re-expansion is necessary.
ActiveItemRole, // The index of the currently selected item in the tree view
KitIdRole, // The kit id in case the item is associated with a kit.
PanelWidgetRole // This item's widget to be shown as central widget.
};
class ProjectWindowPrivate;
class ProjectWindow : public Utils::FancyMainWindow
{
friend class ProjectWindowPrivate;
Q_OBJECT
public:
ProjectWindow();
~ProjectWindow() override;
void activateProjectPanel(Utils::Id panelId);
Core::OutputWindow *buildSystemOutput() const;
private:
void hideEvent(QHideEvent *event) override;
void showEvent(QShowEvent *event) override;
void savePersistentSettings() const;
void loadPersistentSettings();
const std::unique_ptr<ProjectWindowPrivate> d;
};
} // namespace Internal
} // namespace ProjectExplorer
|