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