1 /* 2 SPDX-FileCopyrightText: 2008 David Nolden <david.nolden.kdevelop@art-master.de> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #ifndef KDEVPLATFORM_ICOMPLETIONSETTINGS_H 8 #define KDEVPLATFORM_ICOMPLETIONSETTINGS_H 9 10 #include <QObject> 11 #include "interfacesexport.h" 12 13 namespace KDevelop { 14 15 class KDEVPLATFORMINTERFACES_EXPORT ICompletionSettings : public QObject 16 { 17 Q_OBJECT 18 19 public: 20 ~ICompletionSettings() override; 21 22 enum CompletionLevel { 23 Minimal, 24 MinimalWhenAutomatic, 25 AlwaysFull, 26 LAST_LEVEL 27 }; 28 29 enum ProblemInlineNotesLevel { 30 NoProblemsInlineNotesLevel, 31 ErrorsProblemInlineNotesLevel, 32 WarningsAndErrorsProblemInlineNotesLevel, 33 AllProblemsInlineNotesLevel 34 }; 35 36 virtual int minFilesForSimplifiedParsing() const = 0; 37 38 virtual CompletionLevel completionLevel() const = 0; 39 40 virtual bool automaticCompletionEnabled() const = 0; 41 42 virtual int localColorizationLevel() const = 0; 43 virtual int globalColorizationLevel() const = 0; 44 45 virtual bool highlightSemanticProblems() const = 0; 46 virtual bool highlightProblematicLines() const = 0; 47 virtual ProblemInlineNotesLevel problemInlineNotesLevel() const = 0; 48 virtual bool boldDeclarations() const = 0; 49 50 virtual bool showMultiLineSelectionInformation() const = 0; 51 52 virtual QStringList todoMarkerWords() const = 0; 53 54 Q_SIGNALS: 55 void settingsChanged(ICompletionSettings*); 56 }; 57 58 } 59 60 #endif 61