You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
311 lines
7.2 KiB
311 lines
7.2 KiB
//
|
|
//
|
|
// C++ Interface: $MODULE$
|
|
//
|
|
// Description:
|
|
//
|
|
//
|
|
// Author: Roberto Raggi <robertol@kdevelop.org>, (C) 2003
|
|
//
|
|
// Copyright: See COPYING file that comes with this distribution
|
|
//
|
|
//
|
|
#ifndef CPPCODECOMPLETIONCONFIG_H
|
|
#define CPPCODECOMPLETIONCONFIG_H
|
|
|
|
#include <qobject.h>
|
|
|
|
class CppSupportPart;
|
|
class QDomDocument;
|
|
|
|
|
|
/**
|
|
@author Roberto Raggi
|
|
*/
|
|
class CppCodeCompletionConfig : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
CppCodeCompletionConfig( CppSupportPart* part, QDomDocument* dom );
|
|
virtual ~CppCodeCompletionConfig();
|
|
|
|
// bool includeGlobalFunctions() const
|
|
// {
|
|
// return m_includeGlobalFunctions;
|
|
// }
|
|
//
|
|
// void setIncludeGlobalFunctions( bool b );
|
|
//
|
|
// bool includeTypes() const
|
|
// {
|
|
// return m_includeTypes;
|
|
// }
|
|
//
|
|
// void setIncludeTypes( bool b );
|
|
//
|
|
// bool includeEnums() const
|
|
// {
|
|
// return m_includeEnums;
|
|
// }
|
|
//
|
|
// void setIncludeEnums( bool b );
|
|
//
|
|
// bool includeTypedefs() const
|
|
// {
|
|
// return m_includeTypedefs;
|
|
// }
|
|
//
|
|
// void setIncludeTypedefs( bool b );
|
|
|
|
enum CompletionBoxItemOrder {
|
|
ByAccessLevel,
|
|
ByClass,
|
|
ByAlphabet
|
|
};
|
|
|
|
///Whether the completion-cache should be kept alive as long as the context does not change
|
|
bool usePermanentCaching() const {
|
|
return m_usePermanentCaching;
|
|
}
|
|
|
|
void setUsePermanentCaching(bool b) {
|
|
m_usePermanentCaching = b;
|
|
}
|
|
|
|
///Whether higher namespaces(like the global one) should be included while computing the
|
|
///completion-list when using automatic code-completion. Should get an option in the interface(slows down the completion).
|
|
bool alwaysIncludeNamespaces() const {
|
|
return m_alwaysIncludeNamespaces;
|
|
}
|
|
|
|
void setAlwaysIncludeNamespaces(bool b) {
|
|
m_alwaysIncludeNamespaces = b;
|
|
}
|
|
|
|
///Whether all included headers should be processed by the preprocessor(makes macros work across header-files)
|
|
void setPreProcessAllHeaders(bool b) {
|
|
m_preProcessAllHeaders = b;
|
|
}
|
|
|
|
///Whether headers that were found and were not yet parsed in their active state should be parsed into the code-model
|
|
void setParseMissingHeaders(bool b) {
|
|
m_parseMissingHeaders = b;
|
|
}
|
|
|
|
///Additional include-paths defined by the user
|
|
void setCustomIncludePaths(QString str) {
|
|
m_includePaths = str;
|
|
}
|
|
|
|
///Whether we should try to automatically find out the used include-path from Makefiles etc.
|
|
void setResolveIncludePaths(bool b) {
|
|
m_resolveIncludePaths = b;
|
|
}
|
|
|
|
///Whether higher namespaces(like the global one) should be included while computing the
|
|
///completion-list when using automatic code-completion. Should get an option in the interface(slows down the completion).
|
|
|
|
///Whether all included headers should be processed by the preprocessor(makes macros work across header-files)
|
|
bool preProcessAllHeaders() const {
|
|
return m_preProcessAllHeaders;
|
|
}
|
|
|
|
///Whether headers that were found and were not yet parsed in their active state should be parsed into the code-model
|
|
bool parseMissingHeaders() const {
|
|
return m_parseMissingHeaders;
|
|
}
|
|
|
|
///Additional include-paths defined by the user
|
|
QString customIncludePaths() const {
|
|
return m_includePaths;
|
|
}
|
|
|
|
///Whether we should try to automatically find out the used include-path from Makefiles etc.
|
|
bool resolveIncludePaths() const {
|
|
return m_resolveIncludePaths;
|
|
}
|
|
|
|
bool alwaysParseInBackground() const {
|
|
return m_alwaysParseInBackground;
|
|
}
|
|
|
|
void setAlwaysParseInBackground(bool b) {
|
|
m_alwaysParseInBackground = b;
|
|
}
|
|
|
|
bool showNamespaceAppearances() const;
|
|
|
|
bool showOnlyAccessibleItems() const {
|
|
///not yet used
|
|
return m_showOnlyAccessibleItems;
|
|
}
|
|
|
|
CompletionBoxItemOrder completionBoxItemOrder() const {
|
|
///not yet used
|
|
return m_completionBoxItemOrder;
|
|
}
|
|
|
|
bool showEvaluationContextMenu() const {
|
|
///used
|
|
return m_showEvaluationContextMenu;
|
|
}
|
|
|
|
bool showCommentWithArgumentHint() const {
|
|
///used
|
|
return m_showCommentWithArgumentHint;
|
|
}
|
|
|
|
bool statusBarTypeEvaluation() const {
|
|
///used
|
|
return m_statusBarTypeEvaluation;
|
|
}
|
|
|
|
QString namespaceAliases() const {
|
|
///used
|
|
return m_namespaceAliases;
|
|
}
|
|
|
|
bool processPrimaryTypes() const { ///The "do complete return-type-evaluation" entry. However it should be renamed, because it also covers Variable-types and typedefs!
|
|
///used
|
|
return m_processPrimaryTypes;
|
|
}
|
|
|
|
bool processFunctionArguments() const { ///The "do complete argument-type-evaluation" entry
|
|
///used
|
|
return m_processFunctionArguments;
|
|
}
|
|
|
|
|
|
void setShowOnlyAccessibleItems( bool b ) {
|
|
///not yet used
|
|
m_showOnlyAccessibleItems = b;
|
|
}
|
|
|
|
void setCompletionBoxItemOrder( CompletionBoxItemOrder b ) {
|
|
///not yet used
|
|
m_completionBoxItemOrder = b;
|
|
}
|
|
|
|
void setShowEvaluationContextMenu( bool b ) {
|
|
///used
|
|
m_showEvaluationContextMenu = b;
|
|
}
|
|
|
|
void setShowCommentWithArgumentHint( bool b ) {
|
|
///used
|
|
m_showCommentWithArgumentHint = b;
|
|
}
|
|
|
|
void setStatusBarTypeEvaluation( bool b ) {
|
|
///used
|
|
m_statusBarTypeEvaluation = b;
|
|
}
|
|
|
|
void setNamespaceAliases( QString n ) {
|
|
///used
|
|
m_namespaceAliases = n;
|
|
}
|
|
|
|
void setProcessPrimaryTypes( bool b ) { ///The "do complete return-type-evaluation" entry. However it should be renamed, because it also covers Variable-types and typedefs!
|
|
///used
|
|
m_processPrimaryTypes = b;
|
|
}
|
|
|
|
void setProcessFunctionArguments( bool b ) { ///The "do complete argument-type-evaluation" entry
|
|
///used
|
|
m_processFunctionArguments = b;
|
|
}
|
|
|
|
bool automaticCodeCompletion() const {
|
|
return m_automaticCodeCompletion;
|
|
}
|
|
|
|
|
|
void setAutomaticCodeCompletion( bool b );
|
|
|
|
bool automaticArgumentsHint() const
|
|
{
|
|
///used
|
|
return m_automaticArgumentsHint;
|
|
}
|
|
|
|
void setAutomaticArgumentsHint( bool b );
|
|
|
|
bool automaticHeaderCompletion() const
|
|
{
|
|
///used
|
|
return m_automaticHeaderCompletion;
|
|
}
|
|
|
|
void setAutomaticHeaderCompletion( bool b );
|
|
|
|
int codeCompletionDelay() const
|
|
{
|
|
///used
|
|
return m_codeCompletionDelay;
|
|
}
|
|
|
|
void setCodeCompletionDelay( int delay );
|
|
|
|
int argumentsHintDelay() const
|
|
{
|
|
///used
|
|
return m_argumentsHintDelay;
|
|
}
|
|
|
|
void setArgumentsHintDelay( int delay );
|
|
|
|
int headerCompletionDelay() const
|
|
{
|
|
///used
|
|
return m_headerCompletionDelay;
|
|
}
|
|
|
|
void setHeaderCompletionDelay( int delay );
|
|
|
|
public slots:
|
|
void store();
|
|
|
|
signals:
|
|
void stored();
|
|
|
|
private:
|
|
void init();
|
|
|
|
private:
|
|
CppSupportPart* m_part;
|
|
QDomDocument* m_dom;
|
|
/* bool m_includeGlobalFunctions;
|
|
bool m_includeTypes;
|
|
bool m_includeEnums;
|
|
bool m_includeTypedefs;*/
|
|
bool m_automaticCodeCompletion;
|
|
bool m_automaticArgumentsHint;
|
|
bool m_automaticHeaderCompletion;
|
|
int m_codeCompletionDelay;
|
|
int m_argumentsHintDelay;
|
|
int m_headerCompletionDelay;
|
|
|
|
bool m_preProcessAllHeaders;
|
|
bool m_parseMissingHeaders;
|
|
bool m_resolveIncludePaths;
|
|
bool m_alwaysIncludeNamespaces;
|
|
bool m_alwaysParseInBackground;
|
|
bool m_usePermanentCaching;
|
|
QString m_includePaths;
|
|
|
|
bool m_showOnlyAccessibleItems;
|
|
CompletionBoxItemOrder m_completionBoxItemOrder;
|
|
bool m_showEvaluationContextMenu;
|
|
bool m_showCommentWithArgumentHint;
|
|
bool m_statusBarTypeEvaluation;
|
|
QString m_namespaceAliases;
|
|
bool m_processPrimaryTypes;
|
|
bool m_processFunctionArguments;
|
|
|
|
static QString defaultPath;
|
|
};
|
|
|
|
#endif
|
|
// kate: indent-mode csands; tab-width 4;
|