• 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
launchconfigurationtype.h
Go to the documentation of this file.
1 /* This file is part of KDevelop
2  Copyright 2009 Andreas Pakulat <[email protected]>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  Boston, MA 02110-1301, USA.
18 */
19 
20 #ifndef KDEVPLATFORM_LAUNCHCONFIGURATIONTYPE_H
21 #define KDEVPLATFORM_LAUNCHCONFIGURATIONTYPE_H
22 
23 #include "interfacesexport.h"
24 
25 #include <QObject>
26 
27 class QMenu;
28 class QIcon;
29 class QUrl;
30 class QStringList;
31 class KConfigGroup;
32 
33 namespace KDevelop
34 {
35 class IProject;
36 class ILaunchConfiguration;
37 class ProjectBaseItem;
38 class ILauncher;
39 class LaunchConfigurationPageFactory;
40 class LaunchConfigurationTypePrivate;
41 
49 class KDEVPLATFORMINTERFACES_EXPORT LaunchConfigurationType : public QObject
50 {
51 Q_OBJECT
52 public:
53  LaunchConfigurationType();
54  ~LaunchConfigurationType() override;
55 
62  virtual QString id() const = 0;
63 
68  virtual QString name() const = 0;
69 
74  void addLauncher( ILauncher* starter );
75 
80  void removeLauncher( ILauncher* starter );
81 
86  QList<ILauncher*> launchers() const;
87 
93  ILauncher* launcherForId(const QString& id) const;
94 
99  virtual QList<LaunchConfigurationPageFactory*> configPages() const = 0;
100 
105  virtual QIcon icon() const = 0;
106 
112  virtual bool canLaunch( KDevelop::ProjectBaseItem* item ) const = 0;
113 
119  virtual void configureLaunchFromItem( KConfigGroup config,
120  KDevelop::ProjectBaseItem* item ) const = 0;
121 
127  virtual void configureLaunchFromCmdLineArguments( KConfigGroup config,
128  const QStringList &args ) const = 0;
129 
135  virtual bool canLaunch( const QUrl& file ) const = 0;
136 
143  virtual QMenu* launcherSuggestions() { return nullptr; }
144 
145 Q_SIGNALS:
146  void signalAddLaunchConfiguration(KDevelop::ILaunchConfiguration* launch);
147 
148 private:
149  const QScopedPointer<class LaunchConfigurationTypePrivate> d_ptr;
150  Q_DECLARE_PRIVATE(LaunchConfigurationType)
151 };
152 
153 }
154 
155 #endif
156 
KDevelop::LaunchConfigurationType
Launch configuration types are used to be able to create new launch configurations.
Definition: launchconfigurationtype.h:49
QObject
QScopedPointer< class LaunchConfigurationTypePrivate >
QString
QList
Definition: context.h:40
KDevelop::LaunchConfigurationType::launcherSuggestions
virtual QMenu * launcherSuggestions()
Creates and returns a menu that will be added to the UI where the interface will be able to add any s...
Definition: launchconfigurationtype.h:143
QStringList
QMenu
QUrl
KDevelop::ILauncher
The ILauncher interface allows one to actually run launch configurations.
Definition: ilauncher.h:41
KDevelop::ILaunchConfiguration
A specific configuration to start a launchable, this could be a native compiled application, or some script file or byte-compiled file or something else Provides access to the various configurations, as well as their type and name.
Definition: ilaunchconfiguration.h:39
QIcon
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