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_SC_SYMBOL_REFERENCES_HPP_INCLUDED
22 #define SCIDE_SC_SYMBOL_REFERENCES_HPP_INCLUDED
27 #include <QStandardItemModel>
29 #include "../core/sc_process.hpp"
33 // LATER: cache symbol references to avoid duplicate lookup
34 class SymbolReferenceRequest
:
40 static const int PathRole
= Qt::UserRole
+ 1;
41 static const int CharPosRole
= Qt::UserRole
+ 2;
43 SymbolReferenceRequest(QString
const & symbol
, SCProcess
* process
, QObject
* parent
= NULL
):
44 ScRequest(process
, parent
)
46 connect(this, SIGNAL(response(QString
,QString
)), this, SLOT(onSymbolReferencesReply(QString
, QString
)));
47 send("findReferencesToSymbol", symbol
);
51 void onSymbolReferencesReply(const QString
&command
, const QString
&responseData
);
54 QStandardItemModel
* parse(QString
const & responseData
, QString
& symbol
);
57 class ReferencesDialog
: public QDialog
62 ReferencesDialog(QString
const & symbol
, QStandardItemModel
* model
, QObject
* parent
= NULL
);
65 void onAccepted(QModelIndex
);
74 #endif // SCIDE_SC_SYMBOL_REFERENCES_HPP_INCLUDED