File indexing completed on 2024-04-28 04:36:30
0001 /* 0002 SPDX-FileCopyrightText: 2009 Andreas Pakulat <apaku@gmx.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KDEVPLATFORM_ILAUNCHMODE_H 0008 #define KDEVPLATFORM_ILAUNCHMODE_H 0009 0010 #include "interfacesexport.h" 0011 0012 class QString; 0013 class QIcon; 0014 0015 namespace KDevelop 0016 { 0017 0018 /** 0019 * This class is used to identify in which "mode" a given 0020 * launch configuration should be started. Typical modes are "Debug", 0021 * "Execute" or "Profile". 0022 * @see ILauncher 0023 */ 0024 class KDEVPLATFORMINTERFACES_EXPORT ILaunchMode 0025 { 0026 public: 0027 virtual ~ILaunchMode(); 0028 0029 /** 0030 * Provide an icon for this launch mode for the GUI. 0031 * @returns an icon for menus/toolbars 0032 */ 0033 virtual QIcon icon() const = 0; 0034 0035 /** 0036 * Provide a unique ID for this launch mode. 0037 * This is used for example from ILauncher::supportedModes() 0038 * @returns a unique ID for this launchmode 0039 */ 0040 virtual QString id() const = 0; 0041 0042 /** 0043 * A translated name for this launch mode. 0044 * For example: 0045 * \code 0046 * QString ExecuteMode::name() { return i18n("Execute"); } 0047 * \endcode 0048 * @returns a human readable name 0049 */ 0050 virtual QString name() const = 0; 0051 }; 0052 0053 } 0054 0055 #endif 0056