OSDN Git Service

Merge remote branch 'origin/2.1'
[qt-creator-jp/qt-creator-jp.git] / src / plugins / find / findplugin.h
index 074e9cb..d76af80 100644 (file)
@@ -2,7 +2,7 @@
 **
 ** This file is part of Qt Creator
 **
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
 **
 ** Contact: Nokia Corporation (qt-info@nokia.com)
 **
 #ifndef FINDPLUGIN_H
 #define FINDPLUGIN_H
 
-#include "ifindfilter.h"
-#include "findtoolbar.h"
+#include "find_global.h"
+#include "textfindconstants.h"
 
 #include <extensionsystem/iplugin.h>
 
-#include <QtCore/QHash>
-#include <QtCore/QStringList>
-#include <QtGui/QAction>
 #include <QtGui/QTextDocument>
 
+QT_BEGIN_NAMESPACE
+class QStringListModel;
+QT_END_NAMESPACE
+
 namespace Find {
-namespace Internal {
+class IFindFilter;
+struct FindPluginPrivate;
 
+namespace Internal {
+class FindToolBar;
 class FindToolWindow;
+class CurrentDocumentFind;
+} // namespace Internal
 
-class FindPlugin : public ExtensionSystem::IPlugin
+class FIND_EXPORT FindPlugin : public ExtensionSystem::IPlugin
 {
     Q_OBJECT
 
 public:
     FindPlugin();
     virtual ~FindPlugin();
+    static FindPlugin *instance();
+
+    enum FindDirection {
+        FindForward,
+        FindBackward
+    };
 
     // IPlugin
     bool initialize(const QStringList &arguments, QString *error_message);
     void extensionsInitialized();
-    void shutdown();
+    ShutdownFlag aboutToShutdown();
 
-    QTextDocument::FindFlags findFlags() const;
+    Find::FindFlags findFlags() const;
+    bool hasFindFlag(Find::FindFlag flag);
     void updateFindCompletion(const QString &text);
     void updateReplaceCompletion(const QString &text);
-    QStringListModel *findCompletionModel() { return m_findCompletionModel; }
-    QStringListModel *replaceCompletionModel() { return m_replaceCompletionModel; }
+    QStringListModel *findCompletionModel() const;
+    QStringListModel *replaceCompletionModel() const;
+    void setUseFakeVim(bool on);
+    void openFindToolBar(FindDirection direction);
 
 public slots:
     void setCaseSensitive(bool sensitive);
     void setWholeWord(bool wholeOnly);
     void setBackward(bool backward);
+    void setRegularExpression(bool regExp);
 
 signals:
     void findFlagsChanged();
@@ -77,8 +93,7 @@ private slots:
     void openFindFilter();
 
 private:
-    void setFindFlag(QTextDocument::FindFlag flag, bool enabled);
-    bool hasFindFlag(QTextDocument::FindFlag flag);
+    void setFindFlag(Find::FindFlag flag, bool enabled);
     void updateCompletion(const QString &text, QStringList &completions, QStringListModel *model);
     void setupMenu();
     void setupFilterMenuItems();
@@ -86,20 +101,9 @@ private:
     void readSettings();
 
     //variables
-    QHash<IFindFilter *, QAction *> m_filterActions;
-
-    CurrentDocumentFind *m_currentDocumentFind;
-    FindToolBar *m_findToolBar;
-    FindToolWindow *m_findDialog;
-    QTextDocument::FindFlags m_findFlags;
-    QStringListModel *m_findCompletionModel;
-    QStringListModel *m_replaceCompletionModel;
-    QStringList m_findCompletions;
-    QStringList m_replaceCompletions;
-    QAction *m_openFindDialog;
+    FindPluginPrivate *d;
 };
 
-} // namespace Internal
 } // namespace Find
 
 #endif // FINDPLUGIN_H