hdt 3.1.1 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +31 -0
  2. package/deps/hdt-it/.cproject +42 -0
  3. package/deps/hdt-it/.project +27 -0
  4. package/deps/hdt-it/Camera.cpp +249 -0
  5. package/deps/hdt-it/Camera.h +77 -0
  6. package/deps/hdt-it/Color.cpp +157 -0
  7. package/deps/hdt-it/Color.h +49 -0
  8. package/deps/hdt-it/Info.plist +58 -0
  9. package/deps/hdt-it/StopWatch.cpp +170 -0
  10. package/deps/hdt-it/StopWatch.hpp +61 -0
  11. package/deps/hdt-it/abouthdt.cpp +14 -0
  12. package/deps/hdt-it/abouthdt.hpp +22 -0
  13. package/deps/hdt-it/abouthdt.ui +173 -0
  14. package/deps/hdt-it/colors.hpp +29 -0
  15. package/deps/hdt-it/constants.h +39 -0
  16. package/deps/hdt-it/createdmg.sh +72 -0
  17. package/deps/hdt-it/dictionarysuggestions.cpp +186 -0
  18. package/deps/hdt-it/dictionarysuggestions.hpp +39 -0
  19. package/deps/hdt-it/doc/hdtit.png +0 -0
  20. package/deps/hdt-it/doc/manual.html +88 -0
  21. package/deps/hdt-it/doc/matrix.png +0 -0
  22. package/deps/hdt-it/editreset.png +0 -0
  23. package/deps/hdt-it/hdt-it.pro +135 -0
  24. package/deps/hdt-it/hdt-it_es.qm +0 -0
  25. package/deps/hdt-it/hdt-it_es.ts +906 -0
  26. package/deps/hdt-it/hdtcachedinfo.cpp +155 -0
  27. package/deps/hdt-it/hdtcachedinfo.hpp +38 -0
  28. package/deps/hdt-it/hdtcontroller.cpp +369 -0
  29. package/deps/hdt-it/hdtcontroller.hpp +103 -0
  30. package/deps/hdt-it/hdtico.icns +0 -0
  31. package/deps/hdt-it/hdtico.rc +1 -0
  32. package/deps/hdt-it/hdtit.cpp +400 -0
  33. package/deps/hdt-it/hdtit.hpp +78 -0
  34. package/deps/hdt-it/hdtit.ui +875 -0
  35. package/deps/hdt-it/hdtoperation.cpp +284 -0
  36. package/deps/hdt-it/hdtoperation.hpp +71 -0
  37. package/deps/hdt-it/hdtresources.qrc +7 -0
  38. package/deps/hdt-it/hdtspecform.cpp +180 -0
  39. package/deps/hdt-it/hdtspecform.hpp +38 -0
  40. package/deps/hdt-it/hdtspecform.ui +361 -0
  41. package/deps/hdt-it/hdtsummarygenerator.cpp +109 -0
  42. package/deps/hdt-it/hdtsummarygenerator.hpp +15 -0
  43. package/deps/hdt-it/hdtwinico.ico +0 -0
  44. package/deps/hdt-it/hdtwinico2.ico +0 -0
  45. package/deps/hdt-it/headermodel.cpp +174 -0
  46. package/deps/hdt-it/headermodel.hpp +38 -0
  47. package/deps/hdt-it/loading.gif +0 -0
  48. package/deps/hdt-it/logo-hdt.png +0 -0
  49. package/deps/hdt-it/logo-hdt2.png +0 -0
  50. package/deps/hdt-it/main.cpp +39 -0
  51. package/deps/hdt-it/matrixviewwidget.cpp +501 -0
  52. package/deps/hdt-it/matrixviewwidget.hpp +81 -0
  53. package/deps/hdt-it/myapplication.cpp +45 -0
  54. package/deps/hdt-it/myapplication.hpp +24 -0
  55. package/deps/hdt-it/predicatestatus.cpp +97 -0
  56. package/deps/hdt-it/predicatestatus.hpp +39 -0
  57. package/deps/hdt-it/qclearlineedit.cpp +48 -0
  58. package/deps/hdt-it/qclearlineedit.hpp +30 -0
  59. package/deps/hdt-it/regexmodel.cpp +132 -0
  60. package/deps/hdt-it/regexmodel.hpp +37 -0
  61. package/deps/hdt-it/resultcounter.cpp +47 -0
  62. package/deps/hdt-it/resultcounter.hpp +30 -0
  63. package/deps/hdt-it/searchresultsmodel.cpp +179 -0
  64. package/deps/hdt-it/searchresultsmodel.hpp +39 -0
  65. package/deps/hdt-it/sparqlform.cpp +27 -0
  66. package/deps/hdt-it/sparqlform.hpp +28 -0
  67. package/deps/hdt-it/sparqlform.ui +112 -0
  68. package/deps/hdt-it/sparqlmodel.cpp +155 -0
  69. package/deps/hdt-it/sparqlmodel.hpp +32 -0
  70. package/deps/hdt-it/stringutils.cpp +48 -0
  71. package/deps/hdt-it/stringutils.hpp +18 -0
  72. package/deps/hdt-it/triplecomponentmodel.cpp +146 -0
  73. package/deps/hdt-it/triplecomponentmodel.hpp +33 -0
  74. package/deps/libcds/Doxyfile +307 -0
  75. package/deps/libcds/tutorial/tutorial.pdf +0 -0
  76. package/deps/libhdt/.cproject +304 -0
  77. package/deps/libhdt/Doxyfile +1630 -0
  78. package/deps/libhdt/src/util/StopWatch.cpp +1 -1
  79. package/lib/HdtDocument.cc +140 -0
  80. package/lib/HdtDocument.h +4 -0
  81. package/lib/hdt.js +79 -0
  82. package/package.json +12 -3
  83. package/.eslintrc +0 -178
  84. package/.github/workflows/ci.yml +0 -72
  85. package/.gitmodules +0 -4
  86. package/.jshintignore +0 -1
  87. package/.jshintrc +0 -10
  88. package/deps/libcds/README +0 -12
@@ -0,0 +1,400 @@
1
+ #include "hdtit.hpp"
2
+ #include "ui_hdtit.h"
3
+
4
+ #include "hdtspecform.hpp"
5
+ #include "ui_hdtspecform.h"
6
+
7
+ #include "sparqlform.hpp"
8
+ #include "ui_sparqlform.h"
9
+
10
+ #include "abouthdt.hpp"
11
+ #include "hdtsummarygenerator.hpp"
12
+
13
+ #include <fstream>
14
+
15
+ HDTit::HDTit(QWidget *parent) :
16
+ QMainWindow(parent),
17
+ ui(new Ui::HDTit),
18
+ hdtController(new HDTController()),
19
+ lastDir(QDir::currentPath())
20
+ {
21
+ ui->setupUi(this);
22
+ //this->setUnifiedTitleAndToolBarOnMac(true);
23
+
24
+ ui->matrixView->setManager(hdtController);
25
+ ui->subjectView->setModel(hdtController->getSubjectModel());
26
+ ui->predicateView->setModel(hdtController->getPredicateModel());
27
+ ui->objectView->setModel(hdtController->getObjectModel());
28
+ ui->resultsTable->setModel(hdtController->getSearchResultsModel());
29
+ ui->headerView->setModel(hdtController->getHeaderModel());
30
+ ui->regexResultsView->setModel(hdtController->getRegexModel());
31
+
32
+ ui->subjectPatternEdit->getSuggestions()->setController(hdtController);
33
+ ui->predicatePatternEdit->getSuggestions()->setController(hdtController);
34
+ ui->objectPatternEdit->getSuggestions()->setController(hdtController);
35
+ ui->subjectPatternEdit->getSuggestions()->setRole(hdt::SUBJECT);
36
+ ui->predicatePatternEdit->getSuggestions()->setRole(hdt::PREDICATE);
37
+ ui->objectPatternEdit->getSuggestions()->setRole(hdt::OBJECT);
38
+
39
+ // Context menus
40
+ connect(ui->resultsTable, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showContextMenu(QPoint)));
41
+ connect(ui->subjectView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showContextMenu(QPoint)));
42
+ connect(ui->predicateView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showContextMenu(QPoint)));
43
+ connect(ui->objectView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showContextMenu(QPoint)));
44
+
45
+ // Camera
46
+ connect(ui->matrixView, SIGNAL(rotationChanged()), this, SLOT(updateViewButtons()));
47
+
48
+ // Dataset
49
+ connect(hdtController, SIGNAL(datasetChanged()), ui->matrixView, SLOT(reloadHDTInfo()));
50
+
51
+ // Predicate Status
52
+ connect(ui->predicateCountSlider, SIGNAL(valueChanged(int)), hdtController->getPredicateStatus(), SLOT(setMinimumPredicateCount(int)));
53
+ connect(hdtController->getPredicateStatus(), SIGNAL(minimumPredicateCountChanged(int)), ui->predicateCountSlider, SLOT(setValue(int)));
54
+ connect(hdtController->getPredicateStatus(), SIGNAL(predicatesChanged(unsigned int, unsigned int)), ui->matrixView, SLOT(updateGL()));
55
+ connect(ui->selectAllPredicatesButton, SIGNAL(clicked()), hdtController->getPredicateStatus(), SLOT(selectAllPredicates()));
56
+ connect(ui->selectNoneButton, SIGNAL(clicked()), hdtController->getPredicateStatus(), SLOT(selectNonePredicates()));
57
+ connect(hdtController->getPredicateStatus(), SIGNAL(predicatesChanged(unsigned int,unsigned int)), hdtController->getPredicateModel(), SLOT(itemsChanged(uint,uint)));
58
+ connect(hdtController->getPredicateStatus(), SIGNAL(predicateSelected(int)), ui->predicateView, SLOT(selectRow(int)));
59
+
60
+ // Search pattern
61
+ connect(hdtController, SIGNAL(searchPatternChanged()), this, SLOT(refreshSearchPattern()));
62
+ connect(hdtController, SIGNAL(numResultsChanged(int)), this, SLOT(updateNumResults()));
63
+ }
64
+
65
+ HDTit::~HDTit()
66
+ {
67
+ delete ui;
68
+ delete hdtController;
69
+ }
70
+
71
+ void HDTit::updateNumResults()
72
+ {
73
+ ui->numResultsLabel->setText(
74
+ QString(tr("%1 results found."))
75
+ .arg(QLocale::system().toString((quint64)hdtController->getNumResults()))
76
+ );
77
+ }
78
+
79
+ void HDTit::searchPatternEdited()
80
+ {
81
+ std::string subject = ui->subjectPatternEdit->text().toUtf8().constData();
82
+ std::string predicate = ui->predicatePatternEdit->text().toUtf8().constData();
83
+ std::string object = ui->objectPatternEdit->text().toUtf8().constData();
84
+
85
+ hdt::TripleString ts(subject, predicate, object);
86
+ hdtController->setSearchPattern(ts);
87
+
88
+ this->updateNumResults();
89
+
90
+ ui->resultsTable->scrollToTop();
91
+
92
+ ui->matrixView->updateGL();
93
+
94
+ ui->subjectView->selectRow(hdtController->getSearchPatternID().getSubject()-1);
95
+ ui->predicateView->selectRow(hdtController->getSearchPatternID().getPredicate()-1);
96
+ ui->objectView->selectRow(hdtController->getSearchPatternID().getObject()-1);
97
+
98
+ }
99
+
100
+ void HDTit::refreshSearchPattern()
101
+ {
102
+ if(hdtController->hasHDT()) {
103
+ hdt::TripleString &ts = hdtController->getSearchPatternString();
104
+ ui->subjectPatternEdit->setText(QString::fromUtf8(ts.getSubject().c_str()));
105
+ ui->predicatePatternEdit->setText(QString::fromUtf8(ts.getPredicate().c_str()));
106
+ ui->objectPatternEdit->setText(QString::fromUtf8(ts.getObject().c_str()));
107
+ } else {
108
+ ui->subjectPatternEdit->clear();
109
+ ui->predicatePatternEdit->clear();
110
+ ui->objectPatternEdit->clear();
111
+ }
112
+ }
113
+
114
+
115
+ void HDTit::openHDTFile(QString &file)
116
+ {
117
+ hdtController->openHDTFile(file);
118
+
119
+ hdtChanged(file);
120
+ }
121
+
122
+ void HDTit::importRDFFile(QString &file, const string &baseUri, hdt::RDFNotation notation, hdt::HDTSpecification &spec)
123
+ {
124
+ hdtController->importRDFFile(file, baseUri, notation, spec);
125
+
126
+ hdtChanged(file);
127
+ }
128
+
129
+ void HDTit::hdtChanged(QString &file)
130
+ {
131
+ ui->subjectPatternEdit->clear();
132
+ ui->predicatePatternEdit->clear();
133
+ ui->objectPatternEdit->clear();
134
+
135
+ ui->predicateCountSlider->setMaximum(hdtController->getPredicateStatus()->getMaximumPredicateCount()+1);
136
+ ui->predicateCountSlider->setValue(0);
137
+ ui->statusBar->showMessage(file);
138
+ ui->statsLabel->setText(HDTSummaryGenerator::getSummary(hdtController));
139
+ updateNumResults();
140
+
141
+ bool hasDataset = hdtController->hasHDT();
142
+ ui->actionSaveHDT->setEnabled(hasDataset);
143
+ ui->actionExportRDF->setEnabled(hasDataset);
144
+ ui->subjectPatternEdit->setEnabled(hasDataset);
145
+ ui->predicatePatternEdit->setEnabled(hasDataset);
146
+ ui->objectPatternEdit->setEnabled(hasDataset);
147
+
148
+ // Enable/Disable substring search tab.
149
+ bool hdtHasSubstring = false;
150
+ if(hdtController->hasHDT()) {
151
+ hdtHasSubstring = hdtController->getHDT()->getDictionary()->getType()==hdt::HDTVocabulary::DICTIONARY_TYPE_LITERAL;
152
+ }
153
+ ui->tabRegex->setEnabled(hdtHasSubstring);
154
+ if(hdtHasSubstring) {
155
+ if(ui->resultTabs->count()<4) {
156
+ ui->resultTabs->insertTab(3, ui->tabRegex, "Substring Search");
157
+ }
158
+ } else {
159
+ ui->resultTabs->removeTab(3);
160
+ }
161
+
162
+ refreshSearchPattern();
163
+ }
164
+
165
+
166
+
167
+ void HDTit::on_actionOpenHDT_triggered()
168
+ {
169
+ QString file = QFileDialog::getOpenFileName(this,tr("Select HDT File"), lastDir , tr("HDT Files(*.hdt *.HDT *.hdt.gz *.HDT.gz)"), 0, 0 );
170
+ if(!file.isEmpty()) {
171
+ lastDir = file;
172
+ openHDTFile(file);
173
+ }
174
+ }
175
+
176
+ void HDTit::on_actionImportRDF_triggered()
177
+ {
178
+ HDTSpecForm hdtSpecForm;
179
+ int result = hdtSpecForm.exec();
180
+ if(result>0) {
181
+ hdt::HDTSpecification spec;
182
+ hdtSpecForm.fillHDTSpecification(spec);
183
+
184
+ QString file = hdtSpecForm.getFileName();
185
+ string baseUri = string(hdtSpecForm.getBaseUri().toLatin1());
186
+ hdt::RDFNotation notation = hdtSpecForm.getNotation();
187
+ importRDFFile(file, baseUri, notation, spec);
188
+ }
189
+ }
190
+
191
+ void HDTit::on_actionSaveHDT_triggered()
192
+ {
193
+ QString file = QFileDialog::getSaveFileName(this,tr("Select Output HDT File"), lastDir, tr("HDT Files(*.hdt *.HDT)"), 0, 0 );
194
+ if(!file.isEmpty()) {
195
+ lastDir = file;
196
+ hdtController->saveHDTFile(file);
197
+ }
198
+ }
199
+
200
+ void HDTit::on_actionExportRDF_triggered()
201
+ {
202
+ if(!hdtController->getSearchPatternID().isEmpty()) {
203
+ QMessageBox::warning(0, tr("Export Search Results"), tr("Warning: Only those triples matching the selected search pattern will be exported."));
204
+ }
205
+
206
+ QString file = lastDir;
207
+ file.replace(".hdt",".nt");
208
+
209
+ // TODO: Rename lastDir
210
+ file = QFileDialog::getSaveFileName(this,tr("Select Output RDF File"), file, tr("RDF Files(*.rdf *.RDF *.n3 *.N3 *.nt *.NT *.ttl *.TTL)"), 0, 0 );
211
+ if(!file.isEmpty()) {
212
+ // FIXME: Select notation.
213
+ lastDir = file;
214
+ hdtController->exportResultsRDFFile(file, hdt::NTRIPLES);
215
+ }
216
+ }
217
+
218
+ void HDTit::updateViewButtons()
219
+ {
220
+ Camera &cam = ui->matrixView->getCamera();
221
+ ui->actionFrontView->setChecked(cam.isFrontView());
222
+ ui->actionLeftView->setChecked(cam.isLeftView());
223
+ ui->actionTopView->setChecked(cam.isTopView());
224
+ ui->action3Dview->setChecked(cam.is3DView());
225
+ }
226
+
227
+ void HDTit::on_actionFrontView_toggled(bool state)
228
+ {
229
+ if(state) {
230
+ ui->resultTabs->setCurrentIndex(2);
231
+ ui->matrixView->getCamera().setFrontView();
232
+ updateViewButtons();
233
+ }
234
+ }
235
+
236
+ void HDTit::on_actionLeftView_toggled(bool state)
237
+ {
238
+ if(state) {
239
+ ui->resultTabs->setCurrentIndex(2);
240
+ ui->matrixView->getCamera().setLeftView();
241
+ updateViewButtons();
242
+ }
243
+ }
244
+
245
+ void HDTit::on_actionTopView_toggled(bool state)
246
+ {
247
+ if(state) {
248
+ ui->resultTabs->setCurrentIndex(2);
249
+ ui->matrixView->getCamera().setTopView();
250
+ updateViewButtons();
251
+ }
252
+ }
253
+
254
+ void HDTit::on_action3Dview_toggled(bool state)
255
+ {
256
+ if(state) {
257
+ ui->resultTabs->setCurrentIndex(2);
258
+ ui->matrixView->getCamera().set3DView();
259
+ updateViewButtons();
260
+ }
261
+ }
262
+
263
+ void HDTit::on_actionReset_triggered()
264
+ {
265
+ ui->matrixView->getCamera().toDefaultValuesAnimated();
266
+ }
267
+
268
+ void HDTit::setPatternSubject(QModelIndex index)
269
+ {
270
+ ui->subjectPatternEdit->setText(hdtController->getSubjectModel()->data(index).toString());
271
+ }
272
+
273
+ void HDTit::setPatternPredicate(QModelIndex index)
274
+ {
275
+ ui->predicatePatternEdit->setText(hdtController->getPredicateModel()->data(index).toString());
276
+ }
277
+
278
+ void HDTit::setPatternObject(QModelIndex index)
279
+ {
280
+ ui->objectPatternEdit->setText(hdtController->getObjectModel()->data(index).toString());
281
+ }
282
+
283
+ void HDTit::setPatternGlobal(QModelIndex index)
284
+ {
285
+ //cout << "Index: " << index.row() << ", " << index.column() << endl;
286
+
287
+ switch(index.column()) {
288
+ case 0:
289
+ ui->subjectPatternEdit->setText(hdtController->getSearchResultsModel()->data(index).toString());
290
+ break;
291
+ case 1:
292
+ ui->predicatePatternEdit->setText(hdtController->getSearchResultsModel()->data(index).toString());
293
+ break;
294
+ case 2:
295
+ ui->objectPatternEdit->setText(hdtController->getSearchResultsModel()->data(index).toString());
296
+ break;
297
+ }
298
+ }
299
+
300
+ void HDTit::setPatternContextSubject()
301
+ {
302
+ ui->subjectPatternEdit->setText(lastContextMenuTable->model()->data(lastContextMenuCell).toString());
303
+ }
304
+
305
+ void HDTit::setPatternContextPredicate()
306
+ {
307
+ ui->predicatePatternEdit->setText(lastContextMenuTable->model()->data(lastContextMenuCell).toString());
308
+ }
309
+
310
+ void HDTit::setPatternContextObject()
311
+ {
312
+ ui->objectPatternEdit->setText(lastContextMenuTable->model()->data(lastContextMenuCell).toString());
313
+ }
314
+
315
+ void HDTit::copyResultTableSelection()
316
+ {
317
+ QApplication::clipboard()->setText(hdtController->getSearchResultsModel()->data(lastContextMenuCell).toString());
318
+ }
319
+
320
+ void HDTit::on_actionAbout_triggered()
321
+ {
322
+ Abouthdt aboutForm;
323
+ aboutForm.exec();
324
+ }
325
+
326
+ void HDTit::on_actionFull_Screen_triggered()
327
+ {
328
+ static bool maximized=false;
329
+ if(isFullScreen()) {
330
+ if(maximized) {
331
+ showMaximized();
332
+ } else {
333
+ showNormal();
334
+ }
335
+ } else {
336
+ maximized = isMaximized();
337
+ showFullScreen();
338
+ }
339
+ }
340
+
341
+ void HDTit::showContextMenu(QPoint pos)
342
+ {
343
+ lastContextMenuTable = qobject_cast<QTableView*>(QObject::sender());
344
+ if(lastContextMenuTable==NULL) {
345
+ return;
346
+ }
347
+ lastContextMenuCell = lastContextMenuTable->indexAt(pos);
348
+ if(!lastContextMenuCell.isValid()){
349
+ return;
350
+ }
351
+
352
+ QMenu menu;
353
+ #if 0
354
+ menu.addAction(tr("Copy")), this, this, SLOT(copyResultTableSelection());
355
+ menu.addSeparator();
356
+ #endif
357
+ menu.addAction(tr("Search as Subject"), this, SLOT(setPatternContextSubject()));
358
+ menu.addAction(tr("Search as Predicate"), this, SLOT(setPatternContextPredicate()));
359
+ menu.addAction(tr("Search as Object"), this, SLOT(setPatternContextObject()));
360
+ menu.exec(lastContextMenuTable->mapToGlobal(pos));
361
+ }
362
+
363
+
364
+ void HDTit::on_actionClose_triggered()
365
+ {
366
+ hdtController->closeHDT();
367
+ QString str;
368
+ hdtChanged(str);
369
+ }
370
+
371
+ HDTController * HDTit::getManager()
372
+ {
373
+ return hdtController;
374
+ }
375
+
376
+ void HDTit::on_actionSparql_triggered()
377
+ {
378
+ SparqlForm *jf = new SparqlForm(this);
379
+
380
+ jf->show();
381
+ }
382
+
383
+ void HDTit::on_regexSearchButton_clicked()
384
+ {
385
+ this->on_regexEdit_editingFinished();
386
+ }
387
+
388
+ void HDTit::on_regexEdit_editingFinished()
389
+ {
390
+ hdtController->getRegexModel()->setQuery(ui->regexEdit->text());
391
+ ui->regexResultsView->scrollToTop();
392
+ }
393
+
394
+ void HDTit::on_regexResultsView_doubleClicked(const QModelIndex &index)
395
+ {
396
+ if(index.column()==1) {
397
+ ui->objectPatternEdit->setText(hdtController->getRegexModel()->data(index).toString());
398
+ ui->resultTabs->setCurrentIndex(1);
399
+ }
400
+ }
@@ -0,0 +1,78 @@
1
+ #ifndef HDTIT_HPP
2
+ #define HDTIT_HPP
3
+
4
+ #include <QtGui>
5
+ #include <HDTSpecification.hpp>
6
+ #include <HDTEnums.hpp>
7
+ #include <HDTVocabulary.hpp>
8
+ #include <QAbstractItemModel>
9
+ #include <QDir>
10
+ #include <QMainWindow>
11
+ #include <QTableView>
12
+
13
+ #include "hdtcontroller.hpp"
14
+
15
+ namespace Ui {
16
+ class HDTit;
17
+ }
18
+
19
+ class HDTit : public QMainWindow
20
+ {
21
+ Q_OBJECT
22
+
23
+ private:
24
+ Ui::HDTit *ui;
25
+ HDTController *hdtController;
26
+ QString lastDir;
27
+ QModelIndex lastContextMenuCell;
28
+ QTableView *lastContextMenuTable;
29
+
30
+ void hdtChanged(QString &file);
31
+
32
+ public:
33
+ explicit HDTit(QWidget *parent = 0);
34
+ ~HDTit();
35
+
36
+ void openHDTFile(QString &file);
37
+ void importRDFFile(QString &file, const string &baseUri, hdt::RDFNotation notation, hdt::HDTSpecification &spec);
38
+
39
+ HDTController *getManager();
40
+ private slots:
41
+ void on_actionOpenHDT_triggered();
42
+ void on_actionImportRDF_triggered();
43
+ void on_actionSaveHDT_triggered();
44
+ void on_actionExportRDF_triggered();
45
+ void on_actionClose_triggered();
46
+
47
+ void on_actionFrontView_toggled(bool arg1);
48
+ void on_actionLeftView_toggled(bool arg1);
49
+ void on_actionTopView_toggled(bool arg1);
50
+ void on_action3Dview_toggled(bool arg1);
51
+ void on_actionReset_triggered();
52
+
53
+ void searchPatternEdited();
54
+ void refreshSearchPattern();
55
+
56
+ void setPatternSubject(QModelIndex index);
57
+ void setPatternPredicate(QModelIndex index);
58
+ void setPatternObject(QModelIndex index);
59
+
60
+ void showContextMenu(QPoint pos);
61
+ void setPatternContextSubject();
62
+ void setPatternContextPredicate();
63
+ void setPatternContextObject();
64
+ void copyResultTableSelection();
65
+
66
+ void setPatternGlobal(QModelIndex index);
67
+ void on_actionAbout_triggered();
68
+
69
+ void updateViewButtons();
70
+ void updateNumResults();
71
+ void on_actionFull_Screen_triggered();
72
+ void on_actionSparql_triggered();
73
+ void on_regexSearchButton_clicked();
74
+ void on_regexEdit_editingFinished();
75
+ void on_regexResultsView_doubleClicked(const QModelIndex &index);
76
+ };
77
+
78
+ #endif // HDTIT_HPP