// // // C++ Interface: $MODULE$ // // Description: // // // Author: Roberto Raggi , (C) 2003 // // Copyright: See COPYING file that comes with this distribution // // #ifndef CPPCODECOMPLETIONCONFIG_H #define CPPCODECOMPLETIONCONFIG_H #include class CppSupportPart; class TQDomDocument; /** @author Roberto Raggi */ class CppCodeCompletionConfig : public TQObject { TQ_OBJECT public: CppCodeCompletionConfig( CppSupportPart* part, TQDomDocument* 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(TQString 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 TQString 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; } TQString 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( TQString 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; TQDomDocument* 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; TQString m_includePaths; bool m_showOnlyAccessibleItems; CompletionBoxItemOrder m_completionBoxItemOrder; bool m_showEvaluationContextMenu; bool m_showCommentWithArgumentHint; bool m_statusBarTypeEvaluation; TQString m_namespaceAliases; bool m_processPrimaryTypes; bool m_processFunctionArguments; static TQString defaultPath; }; #endif