• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdevelop API Reference
  • KDE Home
  • Contact Us
 

kdevelop/kdevplatform/interfaces

  • extragear
  • kdevelop
  • kdevelop
  • kdevplatform
  • interfaces
icore.h
Go to the documentation of this file.
1 /* This file is part of KDevelop
2 Copyright 2007 Alexander Dymo <[email protected]>
3 Copyright 2007 Kris Wong <[email protected]>
4 
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9 
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14 
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19 */
20 
21 #ifndef KDEVPLATFORM_ICORE_H
22 #define KDEVPLATFORM_ICORE_H
23 
24 #include <QObject>
25 #include "interfacesexport.h"
26 
27 #include "isessionlock.h"
28 
29 class KAboutData;
30 
35 namespace KDevelop
36 {
37 
38 class IUiController;
39 class IPluginController;
40 class IProjectController;
41 class ILanguageController;
42 class IDocumentController;
43 class ISessionController;
44 class IRunController;
45 class ISourceFormatterController;
46 class ISession;
47 class ISelectionController;
48 class IDocumentationController;
49 class IDebugController;
50 class IPartController;
51 class IDashboardController;
52 class ITestController;
53 class IRuntimeController;
54 
72 class KDEVPLATFORMINTERFACES_EXPORT ICore: public QObject
73 {
74  Q_OBJECT
75  Q_PROPERTY(KDevelop::IProjectController* projectController READ projectController)
76 
77 public:
78  ~ICore() override;
79 
81  static ICore *self();
82 
84  virtual KDevelop::IUiController *uiController() = 0;
85 
87  virtual KDevelop::IPluginController *pluginController() = 0;
88 
90  virtual KDevelop::IProjectController *projectController() = 0;
91 
93  virtual KDevelop::ILanguageController *languageController() = 0;
94 
96  virtual KDevelop::IPartController *partController() = 0;
97 
99  virtual KDevelop::IDocumentController *documentController() = 0;
100 
102  virtual KDevelop::IRunController *runController() = 0;
103 
105  virtual KDevelop::ISession *activeSession() = 0;
106 
108  virtual KDevelop::ISessionLock::Ptr activeSessionLock() = 0;
109 
111  virtual KDevelop::ISourceFormatterController *sourceFormatterController() = 0;
112 
114  virtual KDevelop::ISelectionController* selectionController() = 0;
115 
117  virtual KDevelop::IDocumentationController* documentationController() = 0;
118 
120  virtual KDevelop::IDebugController* debugController() = 0;
121 
123  virtual KDevelop::ITestController* testController() = 0;
124 
126  Q_SCRIPTABLE virtual KDevelop::IRuntimeController* runtimeController() = 0;
127 
129  virtual KAboutData aboutData() const = 0;
130 
132  virtual bool shuttingDown() const = 0;
133 
134 Q_SIGNALS:
136  void initializationCompleted();
141  void aboutToShutdown();
145  void shutdownCompleted();
146 
147 protected:
148  explicit ICore(QObject *parent = nullptr);
149  static ICore *m_self;
150 };
151 
152 }
153 
154 #endif
KDevelop::IDocumentationController
Allows to access the documentation.
Definition: idocumentationcontroller.h:35
KDevelop::IProjectController
Definition: iprojectcontroller.h:42
KDevelop::IDocumentController
Allows to access the open documents and also open new ones.
Definition: idocumentcontroller.h:52
KDevelop::ICore
ICore is the container class for all the various objects in use by KDevelop.
Definition: icore.h:72
KDevelop::ITestController
Definition: itestcontroller.h:73
KDevelop::IPluginController
The KDevelop plugin controller.
Definition: iplugincontroller.h:64
KDevelop::IUiController
Allows to access various parts of the user-interface, like the tool views or the mainwindow.
Definition: iuicontroller.h:92
KDevelop::ISession
Definition: isession.h:41
KDevelop::IDebugController
Top level debugger object.
Definition: idebugcontroller.h:39
KDevelop::ICore::m_self
static ICore * m_self
Definition: icore.h:149
KDevelop::ILanguageController
Definition: ilanguagecontroller.h:40
KDevelop::ISourceFormatterController
An interface to the controller managing all source formatter plugins.
Definition: isourceformattercontroller.h:38
QSharedPointer
QObject
isessionlock.h
KDevelop::ISelectionController
The main controller for selection updates in the GUI.
Definition: iselectioncontroller.h:48
KDevelop::IRuntimeController
Exposes runtimes.
Definition: iruntimecontroller.h:42
KDevelop::IPartController
Definition: ipartcontroller.h:37
KDevelop::IRunController
The main controller for running processes.
Definition: iruncontroller.h:39
This file is part of the KDE documentation.
Documentation copyright © 1996-2019 The KDE developers.
Generated on Wed Dec 11 2019 07:57:26 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kdevelop/kdevplatform/interfaces

Skip menu "kdevelop/kdevplatform/interfaces"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdevelop API Reference

Skip menu "kdevelop API Reference"
  •   kdevplatform
  •     debugger
  •     documentation
  •     interfaces
  •     language
  •       assistant
  •       backgroundparser
  •       checks
  •       classmodel
  •       codecompletion
  •       codegen
  •       duchain
  •       editor
  •       highlighting
  •       interfaces
  •       util
  •     outputview
  •     project
  •     serialization
  •     shell
  •     sublime
  •     tests
  •     util
  •     vcs

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal