forked from tiobe/TICSQtCreator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ticsqtcreatorplugin.h
65 lines (54 loc) · 1.83 KB
/
ticsqtcreatorplugin.h
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
#ifndef TICSQTCREATOR_H
#define TICSQTCREATOR_H
#include <extensionsystem/iplugin.h>
#include "ticsqtcreator_global.h"
#include "ticsqtcreatorconstants.h"
#include "ticsoutputpane.h"
#include <projectexplorer/compileoutputwindow.h>
#include <coreplugin/outputwindow.h>
#include <QProcess>
#include <QAction>
#include <QDockWidget>
#include <QTabWidget>
#include <QToolBar>
#include <QMenuBar>
#include <QTemporaryFile>
using namespace ProjectExplorer::Internal;
namespace TICSQtCreator {
namespace Internal {
class TICSQtCreatorPlugin : public ExtensionSystem::IPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "TICSQtCreator.json")
public:
TICSQtCreatorPlugin();
~TICSQtCreatorPlugin() override;
bool initialize(const QStringList &arguments, QString *errorString) override;
void extensionsInitialized() override;
ShutdownFlag aboutToShutdown() override;
public slots:
void handleReadyRead();
// void openFileLink(const QUrl & url);
void handleTicsProcessStarted();
void handleTicsProcessStopped(int exitCode, QProcess::ExitStatus exitStatus);
private:
QAction * createAction(QIcon icon, QString text, bool visible, void (TICSQtCreatorPlugin::* slot) ());
QAction * analyzeFileAction;
QAction * analyzeProjectAction;
QAction * ticsConfigAction;
QAction * cancelTicsAction;
QTemporaryFile * filesList = nullptr;
void analyzeFile();
void analyzeProject();
void configureTICS();
void cancelAnalysis();
QProcess ticsProcess;
//ProjectExplorer::Internal::CompileOutputWindow * ticsOutput = new ProjectExplorer::Internal::CompileOutputWindow(nullptr);;
QDockWidget *dock;
TicsOutputPane * ticsOutput;
QTabWidget * tabWidget;
QToolBar * toolBar;
};
} // namespace Internal
} // namespace TICSQtCreator
#endif // TICSQTCREATOR_H