1 /************************************************************************** 2 ** 3 ** This file is part of Qt Creator 4 ** 5 ** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). 6 ** 7 ** Contact: Nokia Corporation (qt-info@nokia.com) 8 ** 9 ** 10 ** GNU Lesser General Public License Usage 11 ** 12 ** This file may be used under the terms of the GNU Lesser General Public 13 ** License version 2.1 as published by the Free Software Foundation and 14 ** appearing in the file LICENSE.LGPL included in the packaging of this file. 15 ** Please review the following information to ensure the GNU Lesser General 16 ** Public License version 2.1 requirements will be met: 17 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 18 ** 19 ** In addition, as a special exception, Nokia gives you certain additional 20 ** rights. These rights are described in the Nokia Qt LGPL Exception 21 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 22 ** 23 ** Other Usage 24 ** 25 ** Alternatively, this file may be used in accordance with the terms and 26 ** conditions contained in a signed written agreement between you and Nokia. 27 ** 28 ** If you have questions regarding the use of this file, please contact 29 ** Nokia at qt-info@nokia.com. 30 ** 31 **************************************************************************/ 32 33 #ifndef UNCOMMENTSELECTION_H 34 #define UNCOMMENTSELECTION_H 35 36 #include "utils_global.h" 37 38 #include <QtCore/QString> 39 40 QT_BEGIN_NAMESPACE 41 class QPlainTextEdit; 42 QT_END_NAMESPACE 43 44 namespace Utils { 45 46 enum CommentFlag { 47 AutoComment = 0, 48 SingleComment, 49 BlockComment, 50 }; 51 52 class QTCREATOR_UTILS_EXPORT CommentDefinition 53 { 54 public: 55 CommentDefinition(); 56 57 CommentDefinition &setAfterWhiteSpaces(const bool); 58 CommentDefinition &setAfterWhiteSpacesAddSpace(const bool); 59 CommentDefinition &setAfterMaxSpaces(int spaces); 60 CommentDefinition &setSingleLine(const QString &singleLine); 61 CommentDefinition &setMultiLineStart(const QString &multiLineStart); 62 CommentDefinition &setMultiLineEnd(const QString &multiLineEnd); 63 64 bool isAfterWhiteSpaces() const; 65 bool isAfterWhiteSpacesAddSpace() const; 66 const QString &singleLine() const; 67 const QString &multiLineStart() const; 68 const QString &multiLineEnd() const; 69 70 bool hasSingleLineStyle() const; 71 bool hasMultiLineStyle() const; 72 73 void clearCommentStyles(); 74 75 private: 76 bool m_afterWhiteSpaces; 77 bool m_afterWhiteSpacesAddSpace; 78 QString m_singleLine; 79 QString m_multiLineStart; 80 QString m_multiLineEnd; 81 }; 82 83 QTCREATOR_UTILS_EXPORT 84 void unCommentSelection(QPlainTextEdit *edit, 85 CommentFlag flag, 86 const CommentDefinition &definiton = CommentDefinition()); 87 88 } // namespace Utils 89 90 #endif // UNCOMMENTSELECTION_H 91