Mercurial > octave
annotate libgui/src/m-editor/marker.h @ 23220:092078913d54
maint: Merge stable to default.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 22 Feb 2017 12:58:07 -0500 |
parents | ef4d915df748 3ac9f9ecfae5 |
children | 387be1a6c3dc |
rev | line source |
---|---|
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
1 /* |
23219
3ac9f9ecfae5
maint: Update copyright dates.
John W. Eaton <jwe@octave.org>
parents:
23083
diff
changeset
|
2 Copyright (C) 2016-2017 Daniel J. Sebald |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
3 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
4 This file is part of Octave. |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
5 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
6 Octave is free software; you can redistribute it and/or modify it |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
7 under the terms of the GNU General Public License as published by |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
8 the Free Software Foundation; either version 3 of the License, or |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
9 (at your option) any later version. |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
10 |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
11 Octave is distributed in the hope that it will be useful, but |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
12 WITHOUT ANY WARRANTY; without even the implied warranty of |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22411
diff
changeset
|
14 GNU General Public License for more details. |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
15 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
16 You should have received a copy of the GNU General Public License |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
17 along with Octave; see the file COPYING. If not, see |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
18 <http://www.gnu.org/licenses/>. |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
19 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
20 */ |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
21 |
21779
7db94853d12b
use consistent pattern for file inclusion guards
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
22 #if ! defined (octave_marker_h) |
7db94853d12b
use consistent pattern for file inclusion guards
John W. Eaton <jwe@octave.org>
parents:
21724
diff
changeset
|
23 #define octave_marker_h 1 |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
24 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
25 #include <Qsci/qsciscintilla.h> |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
26 #include <QObject> |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
27 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
28 // Defined for purposes of sending QList<int> as part of signal. |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
29 #include <QList> |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
30 typedef QList<int> QIntList; |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
31 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
32 // The breakpoint class keeps track of the debug line number that Octave core |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
33 // uses and the handle of the marker inside the editor file. If the editor |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
34 // contents is modified, the debug line number and editor line number can be |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
35 // out of alignment. The marker handle can be used to retrieve the editor |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
36 // line. |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
37 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
38 class marker; |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
39 class marker : public QObject |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
40 { |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
41 Q_OBJECT |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
42 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
43 public: |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
44 |
22180
beaacfca0055
Stop bookmarks being hidden by breakpoints / execution point (bug #48292)
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21779
diff
changeset
|
45 // List of all marker types |
beaacfca0055
Stop bookmarks being hidden by breakpoints / execution point (bug #48292)
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21779
diff
changeset
|
46 // If multiple markers are on the same line, the first one listed |
beaacfca0055
Stop bookmarks being hidden by breakpoints / execution point (bug #48292)
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21779
diff
changeset
|
47 // is drawn at the back, so big ones should be first. |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
48 enum editor_markers |
22411
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
49 { |
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
50 breakpoint, |
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
51 cond_break, |
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
52 unsure_breakpoint, |
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
53 bookmark, |
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
54 debugger_position, |
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
55 unsure_debugger_position |
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
56 }; |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
57 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
58 marker (QsciScintilla *edit_area, int original_linenr, |
21158
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
59 editor_markers marker_type, const QString& condition = ""); |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
60 marker (QsciScintilla *edit_area, int original_linenr, |
21158
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
61 editor_markers marker_type, int editor_linenr, |
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
62 const QString& condition = ""); |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
63 ~marker (void); |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
64 |
21158
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
65 const QString& get_cond (void) const { return _condition; } |
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
66 |
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
67 void set_cond (const QString& cond) { _condition = cond; } |
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
68 |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
69 public slots: |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
70 void handle_remove_via_original_linenr (int original_linenr); |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
71 void handle_request_remove_via_editor_linenr (int editor_linenr); |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
72 void handle_remove (void); |
21158
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
73 void handle_find_translation (int original_linenr, int& editor_linenr, |
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
74 marker*& bp); |
22411
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
75 void handle_find_just_before (int linenr, int& original_linenr, |
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
76 int& editor_linenr); |
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
77 void handle_find_just_after (int linenr, int& original_linenr, |
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
78 int& editor_linenr); |
c69805d1fa64
maint: Style check C++ code in libgui/
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
79 /* void handle_lines_changed (void);*/ |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
80 void handle_marker_line_deleted (int mhandle); |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
81 void handle_marker_line_undeleted (int mhandle); |
21158
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
82 void handle_report_editor_linenr (QIntList& lines, QStringList& conditions); |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
83 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
84 signals: |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
85 void request_remove (int original_linenr); |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
86 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
87 private: |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
88 void construct (QsciScintilla *edit_area, int original_linenr, |
21158
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
89 editor_markers marker_type, int editor_linenr, |
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
90 const QString& condition); |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
91 |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
92 QsciScintilla * _edit_area; |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
93 int _original_linenr; |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
94 editor_markers _marker_type; |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
95 int _mhandle; |
21158
65827e9cccb8
Gui support for enhancement of dbstop.
Lachlan Andrew <lachlanbis@gmail.com>
parents:
21009
diff
changeset
|
96 QString _condition; |
21009
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
97 }; |
ea50940c362f
added missing files for cset 0a09c3cae800 (bug #46779)
Torsten <ttl@justmail.de>
parents:
diff
changeset
|
98 |
22188 | 99 #endif |