File indexing completed on 2024-04-28 04:36:29
0001 /* 0002 SPDX-FileCopyrightText: 2008 David Nolden <david.nolden.kdevelop@art-master.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KDEVPLATFORM_ICOMPLETIONSETTINGS_H 0008 #define KDEVPLATFORM_ICOMPLETIONSETTINGS_H 0009 0010 #include <QObject> 0011 #include "interfacesexport.h" 0012 0013 namespace KDevelop { 0014 0015 class KDEVPLATFORMINTERFACES_EXPORT ICompletionSettings : public QObject 0016 { 0017 Q_OBJECT 0018 0019 public: 0020 ~ICompletionSettings() override; 0021 0022 enum CompletionLevel { 0023 Minimal, 0024 MinimalWhenAutomatic, 0025 AlwaysFull, 0026 LAST_LEVEL 0027 }; 0028 0029 enum ProblemInlineNotesLevel { 0030 NoProblemsInlineNotesLevel, 0031 ErrorsProblemInlineNotesLevel, 0032 WarningsAndErrorsProblemInlineNotesLevel, 0033 AllProblemsInlineNotesLevel 0034 }; 0035 0036 enum class GlobalColorSource { 0037 AutoGenerated, 0038 FromTheme, 0039 }; 0040 Q_ENUM(GlobalColorSource) 0041 0042 enum class PrecompiledPreambleStorage { Memory, SessionTemporaryDirectory }; 0043 Q_ENUM(PrecompiledPreambleStorage) 0044 0045 virtual int minFilesForSimplifiedParsing() const = 0; 0046 0047 virtual CompletionLevel completionLevel() const = 0; 0048 0049 virtual bool automaticCompletionEnabled() const = 0; 0050 0051 virtual int localColorizationLevel() const = 0; 0052 virtual int globalColorizationLevel() const = 0; 0053 virtual GlobalColorSource globalColorSource() const = 0; 0054 0055 virtual bool highlightSemanticProblems() const = 0; 0056 virtual bool highlightProblematicLines() const = 0; 0057 virtual ProblemInlineNotesLevel problemInlineNotesLevel() const = 0; 0058 virtual bool boldDeclarations() const = 0; 0059 0060 virtual bool showMultiLineSelectionInformation() const = 0; 0061 0062 virtual QStringList todoMarkerWords() const = 0; 0063 0064 virtual PrecompiledPreambleStorage precompiledPreambleStorage() const = 0; 0065 0066 Q_SIGNALS: 0067 void settingsChanged(ICompletionSettings*); 0068 }; 0069 0070 } 0071 0072 #endif