scide: LookupDialog - redo lookup on classes after partial lookup
[supercollider.git] / editors / sc-ide / widgets / post_window.hpp
blob6b3e361e34d4e25cee0ea749d24252e77add1298
1 /*
2 SuperCollider Qt IDE
3 Copyright (c) 2012 Jakob Leben & Tim Blechmann
4 http://www.audiosynth.com
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 #ifndef SCIDE_WIDGETS_POST_WINDOW_HPP_INCLUDED
22 #define SCIDE_WIDGETS_POST_WINDOW_HPP_INCLUDED
24 #include <QAction>
25 #include <QDockWidget>
26 #include <QPlainTextEdit>
28 namespace ScIDE {
30 namespace Settings { class Manager; }
32 class PostDock;
34 class PostWindow:
35 public QPlainTextEdit
37 Q_OBJECT
39 public:
40 explicit PostWindow(QWidget* parent = 0);
42 void applySettings( Settings::Manager * );
44 QSize sizeHint() const { return mSizeHint; }
45 QString symbolUnderCursor();
47 signals:
48 void scrollToBottomRequest();
50 public slots:
51 void post(const QString &text);
52 void scrollToBottom();
53 void zoomIn(int steps = 1);
54 void zoomOut(int steps = 1);
56 bool openDocumentation();
57 void openDefinition();
58 void findReferences();
60 private slots:
61 void onAutoScrollTriggered(bool);
63 private:
64 friend class PostDock;
66 void zoomFont(int steps);
67 void wheelEvent( QWheelEvent * );
69 QAction * mAutoScrollAction;
70 QAction * mClearAction;
71 bool mNewlinePending;
72 QSize mSizeHint;
76 class PostDock:
77 public QDockWidget
79 Q_OBJECT
81 public:
82 PostDock(QWidget* parent = 0);
84 private slots:
85 void onFloatingChanged(bool floating);
87 public:
88 PostWindow * mPostWindow;
91 } // namespace ScIDE
93 #endif