-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprojecteditor.cpp
More file actions
72 lines (55 loc) · 1.79 KB
/
Copy pathprojecteditor.cpp
File metadata and controls
72 lines (55 loc) · 1.79 KB
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
63
64
65
66
67
68
69
70
71
72
#include "projecteditor.h"
#include "phpqt5constants.h"
#include <QToolBar>
#include <coreplugin/idocument.h>
#include <texteditor/textdocument.h>
namespace PHPQt5 {
namespace Internal {
ProjectEditor::ProjectEditor(ProjectEditorWidget *editorWidget)
: Core::IEditor(editorWidget), m_toolBar(0)
{
m_toolBar = new QToolBar(editorWidget);
m_actionGroup = new QActionGroup(this);
connect(m_actionGroup, &QActionGroup::triggered,
this, &ProjectEditor::changeEditorPage);
QAction *generalAction = m_toolBar->addAction(tr("General"));
generalAction->setData(ProjectEditorWidget::General);
generalAction->setCheckable(true);
m_actionGroup->addAction(generalAction);
QAction *sourceAction = m_toolBar->addAction(tr("Source"));
sourceAction->setData(ProjectEditorWidget::Source);
sourceAction->setCheckable(true);
m_actionGroup->addAction(sourceAction);
generalAction->setChecked(true);
setContext(Core::Context(Constants::PROJECT_EDITOR_CONTEXT));
setWidget(editorWidget);
}
QWidget *ProjectEditor::toolBar()
{
return m_toolBar;
}
ProjectEditorWidget *ProjectEditor::widget() const
{
return static_cast<ProjectEditorWidget *>(Core::IEditor::widget());
}
Core::IDocument *ProjectEditor::document()
{
return textEditor()->textDocument();
}
TextEditor::TextEditorWidget *ProjectEditor::textEditor() const
{
return widget()->textEditorWidget();
}
void ProjectEditor::changeEditorPage(QAction *action)
{
if (!widget()->setActivePage(static_cast<ProjectEditorWidget::EditorPage>(action->data().toInt()))) {
foreach (QAction *action, m_actionGroup->actions()) {
if (action->data().toInt() == widget()->activePage()) {
action->setChecked(true);
break;
}
}
}
}
}
}