Code Documentation 3.8
Social Network Visualizer
Loading...
Searching...
No Matches
mainwindow.h
Go to the documentation of this file.
1
15
16
17#ifndef MAINWINDOW_H
18#define MAINWINDOW_H
19
25
26#include <QMainWindow>
27#include <QPrinter>
28#include <QMessageBox>
29#include <QScrollArea>
30#include <QThread>
31#include <QNetworkReply>
32#include <QLoggingCategory>
33#include <functional>
34
35// Allows to use QT_CHARTS namespace directives (see below)
36#include <QtCharts/QChartGlobal>
37
38#include "global.h"
40
41// WS7 MW0: declared here since mainwindow.h is included by every src/mainwindow/<domain>/ slice
42// .cpp, defined once in mainwindow.cpp. One blanket category (unlike Graph's per-domain split in
43// graph.h) - MainWindow's slots are UI wiring, not independently-toggled algorithm domains.
44Q_DECLARE_LOGGING_CATEGORY(lcMainWindow)
45
46QT_BEGIN_NAMESPACE
47class QGraphicsScene;
48class QMenu;
49class QAction;
50class QCheckBox;
51class QProgressDialog;
52class QPushButton;
53class QToolButton;
54class QPageSize;
55class QSlider;
56class QComboBox;
57class QGroupBox;
58class QTabWidget;
59class QSpinBox;
60class QNetworkAccessManager;
61class QSslError;
62class QString;
63class QAbstractSeries;
64class QAbstractAxis;
65class QTextCodec;
66class QUrl;
67QT_END_NAMESPACE
68
69using namespace std;
70
72class Graph;
73class GraphicsWidget;
74class GraphicsEdge;
75class GraphicsNode;
76class Chart;
89class DialogExportPDF;
91class DialogNodeFind;
92class DialogNodeEdit;
93class DialogEdgeEdit;
94class DialogBulkEdit;
99class DialogSettings;
100class DialogSystemInfo;
101class TextEditor;
102class FilterBarWidget;
103class GraphTableWidget;
104class QDockWidget;
105
106typedef QHash <QString, int> H_StrToInt;
107
108
116
117class MainWindow : public QMainWindow
118{
119 Q_OBJECT
120
121 QThread graphThread;
122
123public:
124
125 MainWindow(const QString &m_fileName=QString(), const bool &forceProgress=false, const bool &maximized=false, const bool &fullscreen=false, const int &debugLevel=0,
126 const QString &encodingOverride=QString(), const QString &interactiveScriptPath=QString());
127 ~MainWindow();
128
129 void slotOptionsCustomStylesheet(const bool checked);
130 void slotStyleSheetByName(const QString &sheetFileName);
131
132 void polishProgressDialog(QProgressDialog* dialog);
133
134 void setAppBusy(bool busy);
135
136 void runGraphOperationAsync(std::function<void()> operation,
137 const QString &waitMessage,
138 const QString &doneMessage = QString());
139
140 void runGraphOperationAsync(std::function<void()> operation,
141 const QString &waitMessage,
142 std::function<void()> onComplete);
143
144 bool confirmGenerationSize(qint64 expectedEdges, const QString &generatorLabel,
145 bool scripted);
146
147 void initGraph();
148 void terminateThreads(const QString &reason);
149 void initView();
150 void initActions();
151 void initMenuBar();
152 void initToolBar();
153 void initPanels();
154 void initWindowLayout();
155 void initSignalSlots();
156 QMap<QString, QString> initSettings(const int &debugLevel=0, const bool &forceProgress=false);
158 void saveSettings();
159
160 void initApp();
161
162 void runInteractiveScript(const QString &scriptPath);
164
165 void initComboBoxes();
166
167 void setLastPath(const QString &filePath);
168 QString getLastPath();
170
171 int activeEdges();
172 int activeNodes();
173
174public slots:
175 //NETWORK MENU
176 void slotNetworkNew();
177 void slotNetworkFileChoose(QString m_fileName = QString(),
178 int fileFormat = -1,
179 const bool &checkSelectFileType = true);
180 void slotNetworkFileDialogFileSelected(const QString &fileName);
181 void slotNetworkFileDialogFilterSelected(const QString &filter);
184 bool slotNetworkFilePreview(const QString &, const int &);
185 void slotNetworkFileLoad (const QString &fileNameToLoad, const QString &codeName, const int &fileFormat);
186 void slotNetworkFileLoaded(const int &type,
187 const QString &fName=QString(),
188 const QString &netName=QString(),
189 const int &totalNodes=0,
190 const int &totalEdges=0,
191 const qreal &density=0,
192 const qint64 &elapsedTime=0,
193 const QString &message=QString());
195 void slotNetworkSavedStatus(const int &status);
196 void slotNetworkFileView();
205
206 void slotNetworkChanged(const bool &directed,
207 const int &vertices, const int &edges,
208 const qreal &density,
209 const bool &needsSaving=true);
210 void slotNetworkSave(const int &fileFormat=-1);
211 void slotNetworkSaveAs();
212 bool slotNetworkClose();
213 void slotNetworkPrint();
216
218 void slotNetworkExportImage ( const QString &filename,
219 const QByteArray &format,
220 const int &quality,
221 const int &compression
222 );
223
225 void slotNetworkExportPDF(QString &pdfName,
226 const QPageLayout::Orientation &orientation,
227 const int &dpi,
228 const QPrinter::PrinterMode printerMode,
229 const QPageSize &pageSize);
231 void slotNetworkExportSM();
233 bool slotNetworkExportDL();
234 bool slotNetworkExportGW();
242 void slotNetworkDataSetRecreate(const QString);
243
245 void slotNetworkRandomErdosRenyi( const int N,
246 const QString model,
247 const int edges,
248 const qreal eprob,
249 const QString mode,
250 const bool diag) ;
252 void slotNetworkRandomRegular(const int &newNodes, const int &degree,
253 const QString &mode, const bool &diag);
254
256
258
259 void slotNetworkRandomScaleFree(const int &newNodes,
260 const int &power,
261 const int &initialNodes,
262 const int &edgesPerStep,
263 const qreal &zeroAppeal,
264 const QString &mode);
265
267
268 void slotNetworkRandomSmallWorld (const int &newNodes,
269 const int &degree,
270 const qreal &beta,
271 const QString &mode,
272 const bool &diag);
273
275
277 void slotNetworkRandomLattice(const int &newNodes,
278 const int &length,
279 const int &dimension,
280 const int &nei,
281 const QString &mode,
282 const bool &circular);
283
285
286 void slotNetworkWebCrawler(const QUrl &startUrl,
287 const QStringList &urlPatternsIncluded,
288 const QStringList &urlPatternsExcluded,
289 const QStringList &linkClasses,
290 const int &maxNodes,
291 const int &maxLinksPerPage,
292 const bool &intLinks,
293 const bool &childLinks,
294 const bool &parentLinks,
295 const bool &selfLinks,
296 const bool &extLinks,
297 const bool &extLinksCrawl,
298 const bool &socialLinks,
299 const bool &delayedRequests);
300
301 void slotNetworkManagerRequest(const QUrl &url, const NetworkRequestType &requestType);
302
303
304 //EDIT MENU
305 void slotEditDragModeSelection(bool);
306 void slotEditDragModeScroll(bool);
307
309
311
312 void slotEditRelationAdd(const QString &newRelationName);
313 void slotEditRelationChange(const int &relIndex=RAND_MAX);
315
316 void slotEditOpenContextMenu(const QPointF & mPos);
317 void slotEditSelectionChanged (const int &selNodes, const int &selEdges);
318
321 void slotEditNodeInfoStatusBar(const int &number,
322 const QPointF &p,
323 const QString &label,
324 const int &inDegree,
325 const int &outDegree);
326 void slotEditNodePosition(const int &nodeNumber, const int &x, const int &y);
327 void slotEditNodeAdd();
328
330 void slotEditNodeFind(const QStringList &nodeList,
331 const QString &searchType,
332 const QString &indexStr=QString());
333 void slotEditNodeRemove();
336 void slotCacheSelection(const QList<int> &nodes, const QList<SelectedEdge> &edges);
340 void slotEditNodeProperties( const QString &label,
341 const int &size,
342 const QColor &color,
343 const QString &shape,
344 const QString &iconPath,
345 const QHash<QString, QString> &customAttributes
346 );
351 void slotEditNodeColorAll(QColor color=QColor());
352 void slotEditNodeSizeAll(int newSize=0, const bool &normalized=false);
353 void slotEditNodeShape(const int &vertex = 0,
354 QString shape=QString(),
355 QString nodeIconPath=QString());
356 void slotEditNodeNumberSize(int v1=0, int newSize=0, const bool prompt=true);
357 void slotEditNodeNumberDistance(int v1=0, int newSize=0);
358 void slotEditNodeNumbersColor(const int &v1=0, QColor color=QColor());
359 void slotEditNodeLabelSize(const int v1=0, int newSize=0);
360 void slotEditNodeLabelsColor(QColor color=QColor());
361 void slotEditNodeLabelDistance(int v1=0, int newSize=0);
362
363 void slotEditEdgeClicked (const MyEdge &edge=MyEdge(),
364 const bool &openMenu=false);
365
366 void slotEditEdgeOpenContextMenu(const QString &str="") ;
367 void slotEditEdgeAdd();
368 void slotEditEdgeCreate (const int &source, const int &target,
369 const qreal &weight=1);
370 void slotEditEdgeRemove();
372 void slotEditEdgeProperties(const int &v1,
373 const int &v2,
374 const QString &label,
375 const double &weight,
376 const QColor &color,
377 const QHash<QString,QString> &customAttributes);
378 void slotEditEdgeLabel();
379 void slotEditEdgeColor();
380 void slotEditEdgeWeight();
381 void slotEditEdgeColorAll(QColor color=QColor(), const int threshold=RAND_MAX);
382
383 void slotEditEdgeMode(const int &mode);
384 void slotEditGraphDirectedChanged(const bool &directed);
388 void slotEditEdgeUndirectedAll(const bool &toggle);
389
391 void slotEditEdgeDichotomization(const qreal threshold);
392
394 void slotEditFilterNodesIsolates(bool checked);
402 void slotEditFilterEdgesUnilateral(bool checked);
403
406 void saveSubgraphToFile(Graph *sub, const QString &subgraphName);
407
409
410
411 // LAYOUT MENU
412 void slotLayoutRandom();
414 void slotLayoutEgoRadial();
415
417 void slotLayoutRadialByProminenceIndex(QString prominenceIndexName);
418
420 void slotLayoutLevelByProminenceIndex(QString prominenceIndexName);
421
423 void slotLayoutNodeSizeByProminenceIndex(QString prominenceIndexName);
424
426 void slotLayoutNodeColorByProminenceIndex(QString prominenceIndexName);
428
432
435
436 void slotLayoutGuides(const bool &toggle);
437
438 //ANALYSIS MENU
439 void askAboutEdgeWeights(const bool userTriggered=false);
440
449
452 void slotAnalyzeDistance();
455 void slotAnalyzeDiameter();
457
464
478
482
483 void slotAnalyzeProminenceDistributionChartUpdate(QAbstractSeries *series,
484 QAbstractAxis *axisX,
485 const qreal &min,
486 const qreal &max,
487 QAbstractAxis *axisY=Q_NULLPTR,
488 const qreal &minF=0,
489 const qreal &maxF=0
490 );
491
494
496 void slotAnalyzeStrEquivalenceClusteringHierarchical(const QString &matrix,
497 const QString &varLocation,
498 const QString &metric,
499 const QString &method,
500 const bool &diagonal=false,
501 const bool &diagram=false);
502
505 const QString &varLocation,
506 const bool &diagonal);
507
509 void slotAnalyzeStrEquivalenceSimilarityByMeasure(const QString &matrix,
510 const QString &varLocation,
511 const QString &measure,
512 const bool &diagonal);
513
515 void slotAnalyzeStrEquivalencePearson(const QString &matrix,
516 const QString &varLocation,
517 const bool &diagonal=false);
518
519
520
521 //OPTIONS MENU
523 void slotOptionsNodeNumbersVisibility(bool toggle);
524 void slotOptionsNodeNumbersInside(bool toggle);
525 void slotOptionsNodeLabelsVisibility(bool toggle);
526 void slotOptionsEdgesVisibility(bool toggle);
527 void slotOptionsEdgeOffsetFromNode(const int &offset,
528 const int &v1=0,
529 const int &v2=0);
530 void slotOptionsEdgeLabelsVisibility(bool toggle);
533 void slotOptionsEdgeThicknessPerWeight(bool toggle);
534 void slotOptionsEdgesBezier(bool toggle);
535 void slotOptionsEdgeArrowsVisibility(bool toggle);
536 void slotOptionsEdgeArrowSize(const int &size);
537
538 void slotOptionsSaveZeroWeightEdges(bool toggle);
539 void slotOptionsShowZeroWeightEdges(bool toggle); // #30
540
541 void slotOptionsEmbedLogoExporting(bool toggle);
542 void slotOptionsProgressDialogVisibility(bool toggle);
543
544 void slotOptionsWindowToolbarVisibility(bool toggle);
545 void slotOptionsWindowStatusbarVisibility(bool toggle);
546 void slotOptionsWindowLeftPanelVisibility(bool toggle);
548 void slotOptionsWindowFullScreen(bool toggle);
549 void slotViewDataTable(bool checked);
550
551 void slotOptionsDebugMessages(bool toggle);
552
553 void slotOptionsBackgroundColor(QColor color=QColor());
554 void slotOptionsBackgroundImageSelect(bool toggle);
556
557 void slotOptionsCanvasOpenGL(const bool &toggle=false);
558 void slotOptionsCanvasAntialiasing(bool toggle);
559 void slotOptionsCanvasAntialiasingAutoAdjust(const bool &toggle=false);
560 void slotOptionsCanvasSmoothPixmapTransform(const bool &toggle=false);
561 void slotOptionsCanvasSavePainterState(const bool &toggle=false);
562 void slotOptionsCanvasCacheBackground(const bool &toggle=false);
563 void slotOptionsCanvasEdgeHighlighting(const bool &toggle=false);
564
565 void slotOptionsCanvasUpdateMode(const QString &mode);
566 void slotOptionsCanvasIndexMethod(const QString &method);
567
568
569 //HELP MENU
570 void slotHelpTips();
571 void slotHelp();
574 void slotHelpCreateTips();
575 void slotHelpSystemInfo();
576 void slotHelpAbout();
577 void slotAboutQt();
578 void slotHelpMessageToUserInfo(const QString text=QString());
579 void slotHelpMessageToUserError(const QString text=QString());
580 int slotHelpMessageToUser(const int type=0,
581 const QString statusMsg=QString(),
582 const QString text=QString(),
583 const QString info=QString(),
584 QMessageBox::StandardButtons buttons=QMessageBox::NoButton,
585 QMessageBox::StandardButton defBtn=QMessageBox::Ok,
586 const QString btn1=QString(),
587 const QString btn2=QString(),
588 const QString btn3=QString()
589 );
590
591
592 void slotNetworkManagerSslErrors(QNetworkReply *reply, const QList<QSslError> &errors);
593 void slotNetworkManagerReplyError(const QNetworkReply::NetworkError &code);
594
595 //Called by Graph to display some message to the user
596 void statusMessage(const QString);
597
598
599 //Called from MW, when user highlights something in the toolbox Comboboxes
600 void toolBoxNetworkAutoCreateSelectChanged(const int &selectedIndex);
601 void toolBoxEditNodeSubgraphSelectChanged(const int&selectedIndex);
602 void toolBoxEditEdgeTransformSelectChanged(const int&selectedIndex);
603 void toolBoxFilterSelectChanged(const int &selectedIndex);
604 void toolBoxAnalysisMatricesSelectChanged(const int&selectedIndex);
605 void toolBoxAnalysisCohesionSelectChanged(const int&selectedIndex);
606 void toolBoxAnalysisStrEquivalenceSelectChanged(const int&selectedIndex);
607 void toolBoxAnalysisProminenceSelectChanged(const int&selectedIndex);
608 void toolBoxAnalysisCommunitiesSelectChanged(const int&selectedIndex);
611
612protected:
613 void resizeEvent(QResizeEvent * e);
614 void closeEvent( QCloseEvent* ce );
615signals:
616 void signalRelationAddAndChange(const QString &relName, const bool &changeRelation=true);
617 void signalSetReportsDataDir(const QString &dataDir );
618
619private:
620
621 enum { MaxRecentFiles = 5 };
622
631
639 QStringList fortuneCookie;
642 QStringList recentFiles;
643 QStringList iconPathList;
644 QStringList nodeShapeList;
645
646 QMap<QString,QString> appSettings;
647
648 QList<QTextCodec *> codecs;
649
650 QList<TextEditor *> m_textEditors;
651
652 // setAppBusy()'s own record of which actions it disabled, so it can restore exactly
653 // those on busy=false without clobbering actions legitimately disabled elsewhere for
654 // unrelated reasons (e.g. "no network loaded"). See WS15 P2 (roadmap_ws15_
655 // cancellation_progress_unification.md) - menuBar()/toolBar's own setEnabled(false)
656 // blocks clicks but doesn't disable each QAction's own shortcut, so Ctrl+N-style
657 // shortcuts could otherwise still fire and race a still-running background operation.
658 QList<QAction *> m_actionsDisabledForBusy;
659
660 QPrinter *printer, *printerPDF;
661
662 QNetworkAccessManager *networkManager;
663 QGraphicsScene *scene;
667
677 // All snapshot-backed filter chips in bar/stack order (barIndex == stackIndex invariant).
678 QList<QPair<QString, FilterCondition::Scope>> m_filterChips;
679 QDockWidget *m_tableDock;
693
694 QToolBar *toolBar;
695
696 QGroupBox *leftPanel, *rightPanel ;
697 QScrollArea *m_leftScrollArea;
698
700
710
719
720
723
725
737
746
773
783
786
830
834
838
844
848
854
861
862 QPushButton *m_networkToggleBtn;
866 QPushButton *m_chartToggleBtn;
867
872
873
874
875
876};
877#endif
878
Definition chart.h:28
Definition dialogbulkedit.h:28
Definition dialogclusteringhierarchical.h:24
Definition dialogdatasetselect.h:24
Definition dialogdissimilarities.h:24
Definition dialogedgedichotomization.h:25
Definition dialogedgeedit.h:30
Definition dialogexportimage.h:26
Definition dialogexportpdf.h:30
Definition dialogfilteredgesbyweight.h:26
Definition dialogfilternodesbycentrality.h:28
Definition dialognodeedit.h:28
Definition dialognodefind.h:27
Definition dialogpreviewfile.h:31
Visual query builder that composes a multi-condition AND filter.
Definition dialogquerybuilder.h:41
Definition dialogranderdosrenyi.h:25
Definition dialograndlattice.h:25
Definition dialograndregular.h:25
Definition dialograndscalefree.h:25
Definition dialograndsmallworld.h:25
Definition dialogsettings.h:30
Definition dialogsimilaritymatches.h:24
Definition dialogsimilaritypearson.h:24
Definition dialogsysteminfo.h:24
Definition dialogwebcrawler.h:28
Thin strip between toolbar and canvas showing one chip per active filter.
Definition filterbarwidget.h:38
The Graph class This is the main class for a Graph, used in conjuction with GraphVertex,...
Definition graph.h:105
A QWidget containing a QTabWidget with two tabs — Nodes and Edges — each backed by a sortable,...
Definition graphtablewidget.h:36
Definition graphicsedge.h:51
Definition graphicsnode.h:49
Definition graphicswidget.h:49
QAction * editNodeNumbersSizeAct
Definition mainwindow.h:757
void slotOptionsBackgroundColor(QColor color=QColor())
Called from Options menu and Settings dialog.
Definition mainwindow_options.cpp:855
DialogWebCrawler * m_WebCrawlerDialog
Definition mainwindow.h:668
QAction * analyzeMatrixDegreeAct
Definition mainwindow.h:797
void slotLayoutColorationStrongStructural()
Definition mainwindow_layout.cpp:114
QAction * optionsEdgeWeightConsiderAct
Definition mainwindow.h:777
void slotAnalyzePrestigeDegree()
Definition mainwindow_analyze_centrality.cpp:345
QAction * editRelationRenameAct
Definition mainwindow.h:836
void slotNetworkFileLoaded(const int &type, const QString &fName=QString(), const QString &netName=QString(), const int &totalNodes=0, const int &totalEdges=0, const qreal &density=0, const qint64 &elapsedTime=0, const QString &message=QString())
Informs the user (and the MW) about the type of the network loaded.
Definition mainwindow_network_file.cpp:875
void slotEditNodeSizeAll(int newSize=0, const bool &normalized=false)
Changes the size of nodes to newSize.
Definition mainwindow_edit_node.cpp:702
QAction * layoutNodeColorProminence_PC_Act
Definition mainwindow.h:824
QString fileName
Definition mainwindow.h:632
QLabel * rightPanelClickedEdgeNameLCD
Definition mainwindow.h:856
void slotAnalyzeDistance()
Handles requests to compute the graph/geodesic distance between two user-specified nodes.
Definition mainwindow_analyze_distance.cpp:36
void slotEditNodeSelectedToLine()
Creates a line subgraph from selected nodes.
Definition mainwindow_edit_node.cpp:623
void slotHelpCheckUpdateParse()
Parses the reply from the network request we do in slotHelpCheckUpdateDialog.
Definition mainwindow_help.cpp:351
QAction * networkWebCrawlerAct
Definition mainwindow.h:745
@ MaxRecentFiles
Definition mainwindow.h:621
void slotViewDataTable(bool checked)
Shows or hides the Data Table dock panel (#225).
Definition mainwindow_edit_selection.cpp:340
void slotOptionsEdgeOffsetFromNode(const int &offset, const int &v1=0, const int &v2=0)
Changes the distance of edge arrows from nodes Called from Edit menu option and DialogSettings if off...
Definition mainwindow_options.cpp:380
QAction * editFilterEdgesUnilateralAct
Definition mainwindow.h:765
QAction * networkImportAdjAct
Definition mainwindow.h:733
QAction * cBetweennessAct
Definition mainwindow.h:801
QStringList recentFiles
Definition mainwindow.h:642
QPrinter * printer
Definition mainwindow.h:660
void slotAnalyzeStrEquivalenceDissimilaritiesTieProfile(const QString &metric, const QString &varLocation, const bool &diagonal)
Invokes calculation of pair-wise tie profile dissimilarities of the network, then displays it.
Definition mainwindow_analyze_similarity.cpp:174
QAction * cProximityPrestigeAct
Definition mainwindow.h:802
void slotNetworkRandomScaleFree(const int &newNodes, const int &power, const int &initialNodes, const int &edgesPerStep, const qreal &zeroAppeal, const QString &mode)
Creates a scale-free random network.
Definition mainwindow_network_random.cpp:242
void slotNetworkManagerSslErrors(QNetworkReply *reply, const QList< QSslError > &errors)
Shows a message box to the user when the Network Manager encounters any SSL error.
Definition mainwindow_network_web.cpp:313
QAction * analyzeGraphWalksAct
Definition mainwindow.h:792
QNetworkAccessManager * networkManager
Definition mainwindow.h:662
QAction * netDensity
Definition mainwindow.h:787
QToolBar * toolBar
Definition mainwindow.h:694
void slotEditNodeShape(const int &vertex=0, QString shape=QString(), QString nodeIconPath=QString())
Change the shape of a node or all nodes. If shape == null, prompts the user a list of available node ...
Definition mainwindow_edit_node.cpp:741
void slotEditRelationAddPrompt()
Prompts the user to enter the name of a new relation.
Definition mainwindow_edit_relation.cpp:48
void slotOptionsCanvasCacheBackground(const bool &toggle=false)
Turns caching of canvas background on or off.
Definition mainwindow_options.cpp:651
QAction * editNodeRemoveAct
Definition mainwindow.h:751
void slotEditNodeEditSelectionInTable()
Raises the Data Table dock and pre-selects rows matching the current canvas selection.
Definition mainwindow_edit_node.cpp:398
void slotNetworkChanged(const bool &directed, const int &vertices, const int &edges, const qreal &density, const bool &needsSaving=true)
Refreshes LCD values and toggles the networkSave icon, when the network has been modified.
Definition mainwindow_network_file.cpp:1008
QAction * editRelationPreviousAct
Definition mainwindow.h:835
void toolBoxLayoutForceDirectedApplyBtnPressed()
Called when the user selects a model in the Layout by Force Directed selectbox of left panel.
Definition mainwindow_layout.cpp:66
QAction * layoutGuidesAct
Definition mainwindow.h:803
QComboBox * editRelationChangeCombo
Definition mainwindow.h:699
void slotNetworkNew()
Starts a new network (closing the current one).
Definition mainwindow_network_file.cpp:64
void slotEditNodeSelectedToCycle()
Creates a cycle subgraph from selected nodes.
Definition mainwindow_edit_node.cpp:583
QAction * editNodeSizeAllAct
Definition mainwindow.h:758
QAction * editNodeNumbersColorAct
Definition mainwindow.h:771
void slotNetworkRandomErdosRenyiDialog()
Shows a dialog to create an Erdos-Renyi random network.
Definition mainwindow_network_random.cpp:118
void slotNetworkTextEditor()
Opens the embedded text editor.
Definition mainwindow_network_view.cpp:166
DialogExportImage * m_dialogExportImage
Definition mainwindow.h:671
void slotFilterNodesByEgoNetwork()
Triggers ego network focus mode on the currently selected node.
Definition mainwindow_edit_filters.cpp:166
DialogPreviewFile * m_dialogPreviewFile
Definition mainwindow.h:692
QMenu * strEquivalenceMenu
Definition mainwindow.h:704
QLabel * rightPanelEdgesLCD
Definition mainwindow.h:842
void slotEditEdgeSymmetrizeCocitation()
Adds a new cocitation symmetric relation to the network.
Definition mainwindow_edit_edge.cpp:1003
QAction * optionsNodeNumbersVisibilityAct
Definition mainwindow.h:774
QAction * editEdgeWeightAct
Definition mainwindow.h:759
bool slotNetworkExportList()
Exports the active relation to a simple or weighted edge list file.
Definition mainwindow_network_import_export.cpp:607
void slotOptionsBackgroundImage()
Enables/disables displaying a user-defined custom image in the background Called from Settings Dialog...
Definition mainwindow_options.cpp:913
void slotAnalyzeConnectivity()
Handles requests to compute the network's overall vertex connectivity: the minimum,...
Definition mainwindow_analyze_cohesion.cpp:396
QAction * layoutRadialProminence_IC_Act
Definition mainwindow.h:806
QAction * layoutNodeColorProminence_IC_Act
Definition mainwindow.h:824
QAction * editEdgeColorAct
Definition mainwindow.h:759
QAction * layoutNodeSizeProminence_EC_Act
Definition mainwindow.h:817
void slotAnalyzeStrEquivalenceDissimilaritiesDialog()
Displays the DialogDissimilarities dialog.
Definition mainwindow_analyze_similarity.cpp:153
void slotAnalyzeSymmetryCheck()
Definition mainwindow_analyze_matrices.cpp:69
QAction * editEdgeLabelAct
Definition mainwindow.h:759
QAction * layoutRadialProminence_CC_Act
Definition mainwindow.h:805
void slotAnalyzeCentralityBetweenness()
Definition mainwindow_analyze_centrality.cpp:296
QAction * filterNodesByEgoNetworkAct
Definition mainwindow.h:760
void slotAnalyzeClusteringCoefficient()
Calls Graph::writeClusteringCoefficient() to write Clustering Coefficients into a file,...
Definition mainwindow_analyze_clustering.cpp:82
void slotOptionsWindowToolbarVisibility(bool toggle)
Turns Toolbar on or off.
Definition mainwindow_options.cpp:954
QAction * layoutNodeSizeProminence_CC_Act
Definition mainwindow.h:817
QMenu * nodeOptionsMenu
Definition mainwindow.h:702
void slotHelpTips()
Definition mainwindow_help.cpp:233
void initSignalSlots()
Connects signals & slots between various parts of the app.
Definition mainwindow_init_app.cpp:173
void slotAnalyzeCentralityInformation()
MainWindow::slotAnalyzeCentralityInformation Writes Informational Centralities into a file,...
Definition mainwindow_analyze_centrality.cpp:502
QAction * filterNodesByCentralityAct
Definition mainwindow.h:760
void toolBoxAnalysisCommunitiesSelectChanged(const int &selectedIndex)
Called when the user selects something in the Communities selectbox of the toolbox.
Definition mainwindow_analyze_cohesion.cpp:102
QAction * layoutNodeColorProminence_BC_Act
Definition mainwindow.h:824
QAction * optionsNodeLabelsVisibilityAct
Definition mainwindow.h:774
QAction * zoomInAct
Definition mainwindow.h:721
QAction * helpAboutApp
Definition mainwindow.h:784
void setLastPath(const QString &filePath)
Sets the last path used by user to open/save a network and adds the file to recent files....
Definition mainwindow_init_settings.cpp:343
QAction * editEdgeColorAllAct
Definition mainwindow.h:770
void slotEditNodeProperties(const QString &label, const int &size, const QColor &color, const QString &shape, const QString &iconPath, const QHash< QString, QString > &customAttributes)
Applies the selected properties to one or multiple nodes in the graph.
Definition mainwindow_edit_node.cpp:329
void slotOptionsEdgeWeightNumbersVisibility(bool toggle)
Toggles visibility of edge weight numbers. Persists the choice in appSettings["initEdgeWeightNumbersV...
Definition mainwindow_options.cpp:421
QAction * layoutRadialProminence_EC_Act
Definition mainwindow.h:805
void slotAnalyzeCentralityClosenessIR()
MainWindow::slotAnalyzeCentralityClosenessIR Writes Centrality Closeness (based on Influence Range) i...
Definition mainwindow_analyze_centrality.cpp:247
QLabel * rightPanelClickedNodeOutDegreeLCD
Definition mainwindow.h:853
void slotNetworkExportNodesJSON()
Exports all node data (unfiltered) to a JSON file chosen by the user.
Definition mainwindow_network_import_export.cpp:713
QAction * optionsEdgeLabelsAct
Definition mainwindow.h:778
QAction * optionsEdgeArrowsAct
Definition mainwindow.h:777
QAction * layoutNodeColorProminence_DC_Act
Definition mainwindow.h:822
void slotEditEdgeDichotomization(const qreal threshold)
Calls Graph::graphDichotomization() to create a new binary relation in a valued network using edge di...
Definition mainwindow_edit_edge.cpp:1050
void slotFilterByQueryBuilder()
Opens the Query Builder dialog for multi-condition AND filtering.
Definition mainwindow_edit_filters.cpp:270
void slotOptionsEdgeArrowSize(const int &size)
Applies a new arrow size to all edges and persists the setting.
Definition mainwindow_options.cpp:320
QAction * editNodeEditSelectionInTableAct
Definition mainwindow.h:753
QThread graphThread
Definition mainwindow.h:121
void slotEditFilterNodesIsolates(bool checked)
Toggles the status of all isolated vertices.
Definition mainwindow_edit_filters.cpp:370
QMenu * centrlMenu
Definition mainwindow.h:703
void slotEditNodeSelectAll()
Selects all nodes.
Definition mainwindow_edit_node.cpp:67
QAction * filterNodesBySelectionAct
Definition mainwindow.h:761
QAction * layoutNodeColorProminence_PRP_Act
Definition mainwindow.h:826
void slotAnalyzeReachabilityMatrix()
Definition mainwindow_analyze_matrices.cpp:489
QMenu * filterMenu
Definition mainwindow.h:706
QAction * clusteringCoefAct
Definition mainwindow.h:794
QAction * layoutRadialProminence_BC_Act
Definition mainwindow.h:806
void slotOptionsEmbedLogoExporting(bool toggle)
MainWindow::slotOptionsEmbedLogoExporting.
Definition mainwindow_options.cpp:791
void slotNetworkImportGML()
Imports a network from a GML formatted file.
Definition mainwindow_network_import_export.cpp:52
int nodesEstimatedSize
Definition mainwindow.h:625
QAction * tipsApp
Definition mainwindow.h:784
void slotEditEdgePropertiesDialog()
Opens the Edge Properties dialog for the currently clicked edge.
Definition mainwindow_edit_edge.cpp:381
QAction * helpSystemInfoAct
Definition mainwindow.h:785
QAction * layoutRadialProminence_DC_Act
Definition mainwindow.h:804
QAction * layoutRadialProminence_DP_Act
Definition mainwindow.h:804
QPushButton * m_clickedEdgeToggleBtn
Definition mainwindow.h:865
QAction * editSubgraphExtractAct
Definition mainwindow.h:766
QAction * editFilterEdgesByWeightAct
Definition mainwindow.h:764
void toolBoxAnalysisCohesionSelectChanged(const int &selectedIndex)
Called when user selects something in the Cohesion selectbox of the toolbox to compute basic graph th...
Definition mainwindow_analyze_cohesion.cpp:35
void slotNetworkRandomSmallWorldDialog()
Shows a dialog to create a small-world random network.
Definition mainwindow_network_random.cpp:279
void slotEditEdgeUndirectedAll(const bool &toggle)
Transforms all directed arcs to undirected edges. The result is a undirected and symmetric network.
Definition mainwindow_edit_edge.cpp:1126
DialogDissimilarities * m_dialogdissimilarities
Definition mainwindow.h:688
QString initTextCodecName
Definition mainwindow.h:633
void slotEditNodeInfoStatusBar(const int &number, const QPointF &p, const QString &label, const int &inDegree, const int &outDegree)
Displays information about the given node on the statusbar.
Definition mainwindow_edit_node.cpp:1096
QMenu * layoutMenu
Definition mainwindow.h:703
QAction * analyzeStrEquivalenceClusteringHierarchicalAct
Definition mainwindow.h:798
QAction * layoutNodeSizeProminence_DC_Act
Definition mainwindow.h:816
void slotEditEdgeLabel()
Changes the label of an edge.
Definition mainwindow_edit_edge.cpp:628
QMenu * importSubMenu
Definition mainwindow.h:701
bool slotNetworkExportDL()
Exports the current graph to a UCINET DL-formatted file.
Definition mainwindow_network_import_export.cpp:540
QMenu * recentFilesSubMenu
Definition mainwindow.h:706
QAction * layoutNodeSizeProminence_BC_Act
Definition mainwindow.h:818
QMenu * randomNetworkMenu
Definition mainwindow.h:706
void slotAnalyzeWalksLength()
Definition mainwindow_analyze_distance.cpp:566
QAction * networkImportListAct
Definition mainwindow.h:733
void slotNetworkFileLoad(const QString &fileNameToLoad, const QString &codeName, const int &fileFormat)
Loads the given network file.
Definition mainwindow_network_file.cpp:743
void slotFilterNodesBySelection()
Focuses the view on the currently selected nodes and edges between them.
Definition mainwindow_edit_filters.cpp:138
GraphTableWidget * m_tableWidget
Definition mainwindow.h:680
QAction * analyzeConnectivityAct
Definition mainwindow.h:793
void slotLayoutNodeSizeByProminenceIndex()
Runs when the user selects a color layout menu option.
Definition mainwindow_layout.cpp:552
void slotNetworkFileDialogRejected()
Displays a status message when the user aborts the file dialog.
Definition mainwindow_network_file.cpp:366
DialogSystemInfo * m_systemInfoDialog
Definition mainwindow.h:691
QAction * networkExportGWAct
Definition mainwindow.h:729
QAction * analyzeMatrixLaplacianAct
Definition mainwindow.h:797
void toolBoxFilterSelectChanged(const int &selectedIndex)
Called when user selects a filter action in the Filter selectbox of the toolbox Network group.
Definition mainwindow_edit_filters.cpp:40
QMenu * layoutNodeSizeProminenceMenu
Definition mainwindow.h:708
void slotNetworkExportNodesCSV()
Exports all node data (unfiltered) to a CSV file chosen by the user.
Definition mainwindow_network_import_export.cpp:679
QAction * transformNodes2EdgesAct
Definition mainwindow.h:767
void slotNetworkRandomLatticeDialog()
Shows a dialog to create a "random" lattice network.
Definition mainwindow_network_random.cpp:490
void slotEditDragModeScroll(bool)
Toggles the non-interactive scrollhand drag mode.
Definition mainwindow_edit_selection.cpp:61
QAction * recentFileActs[MaxRecentFiles]
Definition mainwindow.h:837
QMenu * helpMenu
Definition mainwindow.h:701
int fileType
Definition mainwindow.h:624
QMenu * cohesionMenu
Definition mainwindow.h:704
QAction * layoutNodeColorByComponentAct
Definition mainwindow.h:829
int m_interactiveScriptIndex
Definition mainwindow.h:636
QMap< QString, QString > initSettings(const int &debugLevel=0, const bool &forceProgress=false)
Reads user-defined settings (or uses defaults) and initializes some app settings.
Definition mainwindow_init_settings.cpp:32
QAction * openSettingsAct
Definition mainwindow.h:781
void slotHelpCreateTips()
Definition mainwindow_help.cpp:242
QToolButton * rotateLeftBtn
Definition mainwindow.h:722
void slotLayoutFruchterman()
Calls Graph::layoutForceDirectedFruchtermanReingold to embed the Fruchterman-Reingold model of repell...
Definition mainwindow_layout.cpp:244
QAction * cStressAct
Definition mainwindow.h:802
bool slotNetworkFilePreview(const QString &, const int &)
Opens the preview dialog with the selected file contents.
Definition mainwindow_network_file.cpp:684
void slotNetworkDataSetSelect()
Displays the dataset selection dialog.
Definition mainwindow_network_random.cpp:40
QAction * layoutFDP_FR_Act
Definition mainwindow.h:832
QLabel * rightPanelSelectedNodesLCD
Definition mainwindow.h:845
void slotAnalyzeStrEquivalenceSimilarityByMeasure(const QString &matrix, const QString &varLocation, const QString &measure, const bool &diagonal)
Calls Graph::writeMatrixSimilarityMatching() to write a similarity matrix according to given measure ...
Definition mainwindow_analyze_similarity.cpp:88
int fortuneCookiesCounter
Definition mainwindow.h:628
QMenu * layoutRadialProminenceMenu
Definition mainwindow.h:707
void slotEditNodeNumberSize(int v1=0, int newSize=0, const bool prompt=true)
Changes the size of one or all node numbers. Called from Edit menu option and DialogSettings if newSi...
Definition mainwindow_edit_node.cpp:810
QAction * networkSaveAct
Definition mainwindow.h:726
DialogRandErdosRenyi * m_randErdosRenyiDialog
Definition mainwindow.h:681
QAction * editMouseModeScrollAct
Definition mainwindow.h:747
void slotOptionsProgressDialogVisibility(bool toggle)
Turns progress dialogs on or off.
Definition mainwindow_options.cpp:810
QPushButton * m_networkToggleBtn
Definition mainwindow.h:862
MainWindow(const QString &m_fileName=QString(), const bool &forceProgress=false, const bool &maximized=false, const bool &fullscreen=false, const int &debugLevel=0, const QString &encodingOverride=QString(), const QString &interactiveScriptPath=QString())
Constructs the MainWindow (MW) object.
Definition mainwindow.cpp:101
QLabel * rightPanelNetworkTypeLCD
Definition mainwindow.h:839
void slotOptionsCanvasSmoothPixmapTransform(const bool &toggle=false)
Turns smooth pixmap transformations on or off.
Definition mainwindow_options.cpp:593
QAction * editNodeSelectedToStarAct
Definition mainwindow.h:749
QLabel * rightPanelClickedNodeInDegreeLabel
Definition mainwindow.h:850
void slotOptionsEdgesBezier(bool toggle)
Toggles drawing edges as Bezier curves or straight lines. Persists the choice in appSettings["initEdg...
Definition mainwindow_options.cpp:344
void slotNetworkImportEdgeList()
Imports a network from a simple List or weighted List formatted file.
Definition mainwindow_network_import_export.cpp:97
void slotAnalyzeMatrixAdjacencyInverse()
Writes the adjacency matrix inverse.
Definition mainwindow_analyze_matrices.cpp:99
void slotFilterNodesRestoreAll()
Restores all nodes hidden by the last filter.
Definition mainwindow_edit_filters.cpp:330
QAction * layoutNodeColorProminence_SC_Act
Definition mainwindow.h:823
void slotLayoutLevelByProminenceIndex()
Runs when the user selects a radial layout menu option.
Definition mainwindow_layout.cpp:418
QAction * editNodeLabelsColorAct
Definition mainwindow.h:771
void slotLayoutNodeColorByComponent()
Colors nodes by their weakly connected component.
Definition mainwindow_layout.cpp:817
DialogExportPDF * m_dialogExportPDF
Definition mainwindow.h:670
void slotEditSubgraphExtractFromSelection()
Extracts currently selected nodes and their inter-edges into an independent Graph object and saves it...
Definition mainwindow_edit_selection.cpp:297
QAction * layoutLevelProminence_CC_Act
Definition mainwindow.h:811
QAction * networkExportNodesCSVAct
Definition mainwindow.h:731
QAction * networkRandomLatticeRingAct
Definition mainwindow.h:740
void slotNetworkManagerReplyError(const QNetworkReply::NetworkError &code)
Shows a message box to the user when a NetworkReply encounters errors.
Definition mainwindow_network_web.cpp:179
void toolBoxEditEdgeTransformSelectChanged(const int &selectedIndex)
Called when user selects something in the Edge Transform selectbox of the toolbox.
Definition mainwindow_edit_edge.cpp:39
int initZoomIndex
Definition mainwindow.h:629
void slotOptionsEdgeArrowsVisibility(bool toggle)
Toggles visibility of directional arrows on edges. Persists the choice in appSettings["initEdgeArrows...
Definition mainwindow_options.cpp:298
void slotNetworkExportEdgesJSON()
Exports all edge data (unfiltered) to a JSON file chosen by the user.
Definition mainwindow_network_import_export.cpp:730
QGraphicsScene * scene
Definition mainwindow.h:663
QLabel * rightPanelDensityLCD
Definition mainwindow.h:843
QComboBox * toolBoxEditEdgeModeSelect
Definition mainwindow.h:712
bool askedAboutWeights
Definition mainwindow.h:630
QMenu * editMenu
Definition mainwindow.h:701
QLabel * rightPanelClickedNodeOutDegreeLabel
Definition mainwindow.h:852
QStringList tempFileNameNoPath
Definition mainwindow.h:640
void slotAnalyzeNodeConnectivity()
Handles requests to compute the local vertex connectivity between two user-specified nodes: the minim...
Definition mainwindow_analyze_cohesion.cpp:270
QAction * networkRandomErdosRenyiAct
Definition mainwindow.h:738
void slotLayoutRadialRandom()
Calls Graph::layoutRadialRandom to reposition all nodes on a radial layout randomly.
Definition mainwindow_layout.cpp:151
void initPanels()
Creates docked panels for instant access to main app functionalities and displaying statistics.
Definition mainwindow_init_panels.cpp:31
QAction * analyzeMatrixAdjTransposeAct
Definition mainwindow.h:795
QPushButton * m_clickedNodeToggleBtn
Definition mainwindow.h:864
void slotEditEdgeDichotomizationDialog()
Opens up the edge dichotomization dialog.
Definition mainwindow_edit_edge.cpp:1025
QAction * strongColorationAct
Definition mainwindow.h:831
QComboBox * toolBoxLayoutByIndexTypeSelect
Definition mainwindow.h:717
void slotEditOpenContextMenu(const QPointF &mPos)
Shows a context menu when the user right-clicks on an empty area of the canvas (i....
Definition mainwindow_edit_selection.cpp:94
QAction * networkImportTwoModeSM
Definition mainwindow.h:734
void slotOptionsNodeNumbersInside(bool toggle)
Toggles whether node numbers are drawn inside or outside nodes. Shows node numbers first if they are ...
Definition mainwindow_options.cpp:211
void setAppBusy(bool busy)
Enables/disables the menu bar, toolbar, and canvas while a graphThread operation runs.
Definition mainwindow_dispatch.cpp:81
void slotAnalyzeMatrixAdjacencyCocitation()
Writes the cocitation matrix.
Definition mainwindow_analyze_matrices.cpp:189
QAction * editEdgeUndirectedAllAct
Definition mainwindow.h:768
void slotHelpSystemInfo()
Shows a dialog with system information for bug reporting purposes.
Definition mainwindow_help.cpp:430
QString settingsFilePath
Definition mainwindow.h:638
void slotEditNodeNumbersColor(const int &v1=0, QColor color=QColor())
Changes the text color of all node numbers Called from Edit menu option and Settings dialog....
Definition mainwindow_edit_node.cpp:843
QComboBox * toolBoxFilterSelect
Definition mainwindow.h:713
void slotOptionsNodeLabelsVisibility(bool toggle)
Toggles visibility of node labels. Persists the choice in appSettings["initNodeLabelsVisibility"].
Definition mainwindow_options.cpp:242
bool m_interactiveScriptQuitting
Definition mainwindow.h:637
QAction * layoutLevelProminence_PRP_Act
Definition mainwindow.h:814
QAction * editEdgeSymmetrizeAllAct
Definition mainwindow.h:767
void slotLayoutColorationRegular()
Definition mainwindow_layout.cpp:121
QAction * networkExportEdgesJSONAct
Definition mainwindow.h:732
QAction * layoutNodeSizeProminence_EVC_Act
Definition mainwindow.h:819
void slotAnalyzeCentralityStress()
MainWindow::slotAnalyzeCentralityStress Writes Stress Centralities into a file, then displays it.
Definition mainwindow_analyze_centrality.cpp:643
void slotAnalyzeConnectedness()
Reports the network connectedness.
Definition mainwindow_analyze_cohesion.cpp:123
QAction * networkExportPDFAct
Definition mainwindow.h:729
void slotOptionsNodeNumbersVisibility(bool toggle)
Toggles visibility of node numbers. Persists the choice in appSettings["initNodeNumbersVisibility"].
Definition mainwindow_options.cpp:184
DialogDataSetSelect * m_datasetSelectDialog
Definition mainwindow.h:669
void saveSubgraphToFile(Graph *sub, const QString &subgraphName)
Shows a format-selection save dialog for sub, writes the file, then deletes the graph object.
Definition mainwindow_edit_shared.cpp:34
void slotAnalyzeCentralityPower()
MainWindow::slotAnalyzeCentralityPower Writes Gil-Schmidt Power Centralities into a file,...
Definition mainwindow_analyze_centrality.cpp:693
QAction * editNodeSelectedToLineAct
Definition mainwindow.h:750
QAction * layoutNodeColorProminence_KATZ_Act
Definition mainwindow.h:827
void slotHelp()
Opens the system web browser to load the online Manual.
Definition mainwindow_help.cpp:328
void slotNetworkViewSociomatrix()
Displays the adjacency matrix of the network.
Definition mainwindow_network_view.cpp:190
QAction * networkImportUcinetAct
Definition mainwindow.h:734
void slotOptionsShowZeroWeightEdges(bool toggle)
Turns on/off drawing of zero-weight edges on the canvas (#30).
Definition mainwindow_options.cpp:496
QAction * layoutLevelProminence_PP_Act
Definition mainwindow.h:814
void slotEditEdgeAdd()
Opens dialogs for the user to specify the source and the target node of a new edge.
Definition mainwindow_edit_edge.cpp:263
void slotEditEdgeRemove()
Removes a clicked edge. Otherwise asks the user to specify one edge.
Definition mainwindow_edit_edge.cpp:479
QAction * networkPrintAct
Definition mainwindow.h:727
void slotEditRelationAdd(const QString &newRelationName)
Adds a new relation to the relations combo.
Definition mainwindow_edit_relation.cpp:139
void slotLayoutSpringEmbedder()
Embed the Eades spring-gravitational model to the network. Called from menu or toolbox checkbox.
Definition mainwindow_layout.cpp:210
DialogFilterEdgesByWeight * m_DialogEdgeFilterByWeight
Definition mainwindow.h:675
int progressCounter
Definition mainwindow.h:623
QAction * analyzeMatrixDistancesGeodesicAct
Definition mainwindow.h:789
QAction * layoutRadialProminence_PC_Act
Definition mainwindow.h:806
void slotEditEdgeSymmetrizeAll()
Symmetrizes the ties between every two connected nodes. If there is an arc from Node A to Node B,...
Definition mainwindow_edit_edge.cpp:983
QStringList fortuneCookie
Definition mainwindow.h:639
void slotAnalyzeReciprocity()
Definition mainwindow_analyze_clustering.cpp:33
void slotHelpAbout()
Definition mainwindow_help.cpp:442
QAction * editFilterNodesIsolatesAct
Definition mainwindow.h:763
void slotNetworkImportGraphviz()
Imports a network from a Dot (GraphViz) formatted file.
Definition mainwindow_network_import_export.cpp:79
QAction * analyzeGeodesicDistributionAct
Definition mainwindow.h:788
QAction * networkSaveAsAct
Definition mainwindow.h:726
void initGraph()
Initializes the Graph.
Definition mainwindow_init_app.cpp:129
QLabel * rightPanelClickedEdgeReciprocalWeightLCD
Definition mainwindow.h:860
void slotNetworkRandomErdosRenyi(const int N, const QString model, const int edges, const qreal eprob, const QString mode, const bool diag)
Creates an Erdos-Renyi random symmetric network.
Definition mainwindow_network_random.cpp:151
QAction * analyzeGraphDistanceAct
Definition mainwindow.h:788
void slotEditEdgeMode(const int &mode)
Toggles between directed (mode=0) and undirected edges (mode=1).
Definition mainwindow_edit_edge.cpp:1169
QAction * cPowerAct
Definition mainwindow.h:802
void createFortuneCookies()
Definition mainwindow_help.cpp:480
void initToolBar()
Initializes the toolbar.
Definition mainwindow_init_menu.cpp:493
QAction * zoomOutAct
Definition mainwindow.h:721
QAction * cPageRankAct
Definition mainwindow.h:801
QStringList iconPathList
Definition mainwindow.h:643
void slotAnalyzeCommunitiesCliqueCensus()
Calls Graph:: writeCliqueCensus() to write the Clique Census into a file, then displays it.
Definition mainwindow_analyze_cohesion.cpp:478
void slotEditNodeLabelsColor(QColor color=QColor())
Changes the color of all node labels. Asks the user to enter a new node label color.
Definition mainwindow_edit_node.cpp:952
QComboBox * toolBoxEditEdgeTransformSelect
Definition mainwindow.h:712
void slotEditFilterEdgesByWeightDialog()
Shows a dialog where the user can specify how to filter edges by their weight.
Definition mainwindow_edit_filters.cpp:399
QAction * editRotateRightAct
Definition mainwindow.h:721
void askAboutEdgeWeights(const bool userTriggered=false)
If the network has weighted / valued edges, it asks the user if the app should consider weights or no...
Definition mainwindow_analyze_shared.cpp:34
QString m_encodingOverride
Definition mainwindow.h:634
void slotAnalyzePrestigePageRank()
Definition mainwindow_analyze_centrality.cpp:404
QAction * editSubgraphExtractFromSelectionAct
Definition mainwindow.h:766
void slotOptionsCanvasAntialiasing(bool toggle)
Turns antialiasing on or off.
Definition mainwindow_options.cpp:536
QAction * layoutLevelProminence_BPC_Act
Definition mainwindow.h:815
QAction * analyzeCommunitiesCliquesAct
Definition mainwindow.h:794
QAction * filterByQueryBuilderAct
Definition mainwindow.h:762
QAction * optionsNodeNumbersInsideAct
Definition mainwindow.h:774
QAction * layoutLevelProminence_DC_Act
Definition mainwindow.h:810
DialogNodeEdit * m_nodeEditDialog
Definition mainwindow.h:672
void slotNetworkSaveAs()
Prompts the user to save the network in a new file. Always uses the GraphML format and extension.
Definition mainwindow_network_file.cpp:534
QAction * networkViewSociomatrixPlotAct
Definition mainwindow.h:736
QList< QPair< QString, FilterCondition::Scope > > m_filterChips
Definition mainwindow.h:678
QAction * layoutNodeColorProminence_PP_Act
Definition mainwindow.h:826
void initApp()
Initializes the default app parameters.
Definition mainwindow_init_app.cpp:524
void slotEditNodeNumberDistance(int v1=0, int newSize=0)
Changes the distance of one or all node numbers from their nodes. Called from Edit menu option and Di...
Definition mainwindow_edit_node.cpp:885
void slotNetworkManagerRequest(const QUrl &url, const NetworkRequestType &requestType)
Makes a network request to the given url.
Definition mainwindow_network_web.cpp:133
QComboBox * toolBoxEditNodeSubgraphSelect
Definition mainwindow.h:711
void slotAnalyzeProminenceDistributionChartUpdate(QAbstractSeries *series, QAbstractAxis *axisX, const qreal &min, const qreal &max, QAbstractAxis *axisY=Q_NULLPTR, const qreal &minF=0, const qreal &maxF=0)
Updates the prominence distribution miniChart Called from Graph after computing the prominence index ...
Definition mainwindow_analyze_prominence.cpp:110
void statusMessage(const QString)
Shows a message in the status bar, with the given duration.
Definition mainwindow_dispatch.cpp:31
void slotNetworkExportPDF(QString &pdfName, const QPageLayout::Orientation &orientation, const int &dpi, const QPrinter::PrinterMode printerMode, const QPageSize &pageSize)
Exports the visible part of the network to a PDF Document.
Definition mainwindow_network_import_export.cpp:309
QAction * analyzeStrEquivalencePearsonAct
Definition mainwindow.h:798
QAction * layoutFDP_KamadaKawai_Act
Definition mainwindow.h:833
QSlider * rotateSlider
Definition mainwindow.h:724
void slotEditNodeSelectedToClique()
Creates a complete subgraph (clique) from selected nodes.
Definition mainwindow_edit_node.cpp:483
void slotOptionsEdgeWeightsDuringComputation(bool)
Toggles edge weights during computations.
Definition mainwindow_options.cpp:332
QAction * editNodeSelectedToCycleAct
Definition mainwindow.h:749
void slotEditNodeColorAll(QColor color=QColor())
Changes the color of all nodes to parameter color.
Definition mainwindow_edit_node.cpp:668
QGroupBox * leftPanel
Definition mainwindow.h:696
QAction * layoutNodeColorProminence_CC_Act
Definition mainwindow.h:823
void slotNetworkExportImageDialog()
Opens the Export to Image Dialog.
Definition mainwindow_network_import_export.cpp:152
void slotAnalyzeMatrixDistances()
Invokes calculation of the matrix of geodesic distances for the loaded network, then displays it.
Definition mainwindow_analyze_matrices.cpp:326
void slotOptionsCustomStylesheet(const bool checked)
Toggles the use of our own Qt StyleSheet.
Definition mainwindow_options.cpp:1044
void slotHelpCheckUpdateDialog()
On user demand, makes a network request to SocNetV website to download the latest version text file.
Definition mainwindow_help.cpp:338
void slotNetworkRandomSmallWorld(const int &newNodes, const int &degree, const qreal &beta, const QString &mode, const bool &diag)
Creates a small-world random network.
Definition mainwindow_network_random.cpp:308
void slotNetworkImportUcinet()
Imports a network from a UCINET formatted file.
Definition mainwindow_network_import_export.cpp:88
QComboBox * toolBoxLayoutForceDirectedSelect
Definition mainwindow.h:718
QAction * layoutRandomAct
Definition mainwindow.h:803
QAction * layoutLevelProminence_DP_Act
Definition mainwindow.h:810
QStringList m_interactiveScriptLines
Definition mainwindow.h:635
void slotEditNodeLabelSize(const int v1=0, int newSize=0)
Changes the size of one or all node Labels. Called from Edit menu option and DialogSettings if newSiz...
Definition mainwindow_edit_node.cpp:921
DialogEdgeDichotomization * m_edgeDichotomizationDialog
Definition mainwindow.h:674
QComboBox * toolBoxLayoutByIndexSelect
Definition mainwindow.h:717
QAction * editEdgePropertiesAct
Definition mainwindow.h:756
void slotAnalyzeStrEquivalencePearsonDialog()
Calls the m_dialogSimilarityPearson to display the Pearson statistics dialog.
Definition mainwindow_analyze_similarity.cpp:243
QDockWidget * m_tableDock
Definition mainwindow.h:679
void slotNetworkSave(const int &fileFormat=-1)
Saves the network to a file.
Definition mainwindow_network_file.cpp:458
QAction * cPNAct
Definition mainwindow.h:800
QAction * cKatzAct
Definition mainwindow.h:802
void slotNetworkWebCrawlerDialog()
Shows the web crawler dialog.
Definition mainwindow_network_web.cpp:40
QAction * networkImportPajekAct
Definition mainwindow.h:733
QAction * editNodeColorAll
Definition mainwindow.h:770
void slotOptionsCanvasEdgeHighlighting(const bool &toggle=false)
Turns selected edge highlighting.
Definition mainwindow_options.cpp:680
QLabel * rightPanelClickedEdgeWeightLabel
Definition mainwindow.h:857
QString previous_fileName
Definition mainwindow.h:632
void toolBoxNetworkAutoCreateSelectChanged(const int &selectedIndex)
Called when user selects something in the Network Auto Create selectbox of the toolbox.
Definition mainwindow_network_view.cpp:42
QMenu * optionsMenu
Definition mainwindow.h:702
QAction * cInfluenceRangeClosenessAct
Definition mainwindow.h:800
void slotEditDragModeSelection(bool)
Toggles the interactive/selection mouse drag mode.
Definition mainwindow_edit_selection.cpp:38
QAction * layoutNodeColorProminence_EVC_Act
Definition mainwindow.h:825
QAction * editNodeSelectAllAct
Definition mainwindow.h:748
void slotEditNodeFindDialog()
Opens the Find Node dialog.
Definition mainwindow_edit_node.cpp:118
void slotEditFilterEdgesReset()
Restores all edges hidden by the weight filter.
Definition mainwindow_edit_filters.cpp:433
void slotAnalyzeCentralityBonacich()
MainWindow::slotAnalyzeCentralityBonacich Estimates the network's largest eigenvalue first,...
Definition mainwindow_analyze_centrality.cpp:843
void slotOptionsCanvasOpenGL(const bool &toggle=false)
Turns opengl on or off.
Definition mainwindow_options.cpp:510
QMenu * editEdgeMenu
Definition mainwindow.h:703
QString settingsDir
Definition mainwindow.h:638
QAction * editNodeShapeAll
Definition mainwindow.h:758
void slotLayoutRadialByProminenceIndex()
Runs when the user selects a radial layout menu option.
Definition mainwindow_layout.cpp:283
QPrinter * printerPDF
Definition mainwindow.h:660
QAction * layoutNodeColorProminence_EC_Act
Definition mainwindow.h:823
QAction * layoutLevelProminence_IC_Act
Definition mainwindow.h:812
QString getLastPath()
Returns the last path used by user to open/save something.
Definition mainwindow_init_settings.cpp:328
QMenu * matrixMenu
Definition mainwindow.h:705
QAction * cSignedDegreeAct
Definition mainwindow.h:800
QAction * networkViewSociomatrixAct
Definition mainwindow.h:735
QList< QTextCodec * > codecs
Definition mainwindow.h:648
QAction * networkRandomScaleFreeAct
Definition mainwindow.h:741
QAction * layoutRadialProminence_SC_Act
Definition mainwindow.h:805
void slotAnalyzeMatrixGeodesics()
Invokes calculation of the geodedics matrix (the number of shortest paths between each pair of nodes ...
Definition mainwindow_analyze_matrices.cpp:434
void slotAnalyzeMatrixDegree()
Writes the degree matrix of the graph.
Definition mainwindow_analyze_matrices.cpp:234
void slotAnalyzeStrEquivalenceClusteringHierarchical(const QString &matrix, const QString &varLocation, const QString &metric, const QString &method, const bool &diagonal=false, const bool &diagram=false)
Called from DialogClusteringHierarchical with user choices. Calls Graph::writeClusteringHierarchical(...
Definition mainwindow_analyze_similarity.cpp:341
QAction * networkExportDotAct
Definition mainwindow.h:730
DialogRandLattice * m_randLatticeDialog
Definition mainwindow.h:685
QAction * layoutNodeColorProminence_CLC_Act
Definition mainwindow.h:827
QLabel * rightPanelClickedEdgeWeightLCD
Definition mainwindow.h:858
void slotEditRelationChange(const int &relIndex=RAND_MAX)
Changes the editRelations combo box index to relIndex.
Definition mainwindow_edit_relation.cpp:169
void slotOptionsSaveZeroWeightEdges(bool toggle)
Turns on/off saving zero-edge edge weights (only for GraphML at the moment).
Definition mainwindow_options.cpp:473
QAction * networkExportSMAct
Definition mainwindow.h:729
int edgesPerNodeEstimatedSize
Definition mainwindow.h:626
QMenu * exportSubMenu
Definition mainwindow.h:701
QGroupBox * rightPanel
Definition mainwindow.h:696
QAction * layoutLevelProminence_EC_Act
Definition mainwindow.h:811
QAction * networkRandomLatticeAct
Definition mainwindow.h:744
void slotNetworkExportEdgesCSV()
Exports all edge data (unfiltered) to a CSV file chosen by the user.
Definition mainwindow_network_import_export.cpp:696
QAction * editNodePropertiesAct
Definition mainwindow.h:752
void slotAnalyzeEccentricity()
Definition mainwindow_analyze_distance.cpp:519
QWidget * m_clickedNodeSection
Definition mainwindow.h:870
void slotOptionsDebugMessages(bool toggle)
Turns debugging messages on or off.
Definition mainwindow_options.cpp:830
QStringList prominenceIndexList
Definition mainwindow.h:641
void toolBoxAnalysisStrEquivalenceSelectChanged(const int &selectedIndex)
Called when the user selects something in the Structural Equivalence selectbox of the toolbox.
Definition mainwindow_analyze_similarity.cpp:36
QMenu * viewOptionsMenu
Definition mainwindow.h:703
void slotAnalyzePrestigeProximity()
MainWindow::slotAnalyzePrestigeProximity Writes Proximity Prestige indices into a file,...
Definition mainwindow_analyze_centrality.cpp:453
QAction * analyzeMatrixAdjCocitationAct
Definition mainwindow.h:796
QSlider * zoomSlider
Definition mainwindow.h:724
QAction * networkExportListAct
Definition mainwindow.h:730
QAction * analyzeGraphSymmetryAct
Definition mainwindow.h:787
void slotEditEdgeCreate(const int &source, const int &target, const qreal &weight=1)
Handles UI requests to create new edges, when the user clicks the menu item or doubles-clicks two nod...
Definition mainwindow_edit_edge.cpp:359
void slotNetworkImportGraphML()
Imports a network from a GraphML formatted file.
Definition mainwindow_network_import_export.cpp:43
DialogRandSmallWorld * m_randSmallWorldDialog
Definition mainwindow.h:682
QAction * analyzeCommunitiesTriadCensusAct
Definition mainwindow.h:794
QAction * helpAboutQt
Definition mainwindow.h:784
void slotFilterNodesByAttribute()
Opens the Filter By Attribute dialog and applies the chosen condition.
Definition mainwindow_edit_filters.cpp:197
void signalSetReportsDataDir(const QString &dataDir)
QAction * editEdgeRemoveAct
Definition mainwindow.h:756
QAction * editResetSlidersAct
Definition mainwindow.h:721
QLabel * rightPanelNodesLCD
Definition mainwindow.h:841
QAction * editEdgesCocitationAct
Definition mainwindow.h:772
DialogClusteringHierarchical * m_dialogClusteringHierarchical
Definition mainwindow.h:689
QComboBox * toolBoxAnalysisMatricesSelect
Definition mainwindow.h:716
QAction * optionsEdgeWeightNumbersAct
Definition mainwindow.h:775
QToolButton * resetSlidersBtn
Definition mainwindow.h:722
void slotEditRelationRename()
Prompts the user to enter a new name for the current relation.
Definition mainwindow_edit_relation.cpp:187
QAction * networkExportImageAct
Definition mainwindow.h:728
void slotNetworkExportDot()
Exports the active relation to a GraphViz DOT (.dot) file.
Definition mainwindow_network_import_export.cpp:495
QStringList tips
Definition mainwindow.h:640
DialogSimilarityMatches * m_dialogSimilarityMatches
Definition mainwindow.h:687
QAction * helpCheckUpdatesApp
Definition mainwindow.h:785
void initWindowLayout()
Initializes the application window layout.
Definition mainwindow_init_panels.cpp:994
void slotAnalyzeStrEquivalenceSimilarityMeasureDialog()
Displays the DialogSimilarityMatches dialog.
Definition mainwindow_analyze_similarity.cpp:64
QAction * layoutNodeSizeProminence_KATZ_Act
Definition mainwindow.h:821
void slotEditFilterEdgesUnilateral(bool checked)
Toggles the status of all unilateral edges.
Definition mainwindow_edit_filters.cpp:466
QAction * networkRandomSmallWorldAct
Definition mainwindow.h:742
QAction * cClosenessAct
Definition mainwindow.h:800
void slotEditNodeLabelDistance(int v1=0, int newSize=0)
MainWindow::slotEditNodeLabelDistance Changes the distance of one or all node label from their nodes....
Definition mainwindow_edit_node.cpp:986
void slotNetworkImportPajek()
Imports a network from a Pajek-like formatted file.
Definition mainwindow_network_import_export.cpp:61
QAction * networkNewAct
Definition mainwindow.h:726
void slotEditNodePropertiesDialog()
Opens the Node Properties dialog for the selected nodes. If no nodes are selected,...
Definition mainwindow_edit_node.cpp:271
QAction * networkExportNodesJSONAct
Definition mainwindow.h:732
QLabel * rightPanelClickedEdgeNameLabel
Definition mainwindow.h:855
QAction * layoutRadialProminence_PRP_Act
Definition mainwindow.h:808
QMenu * layoutLevelProminenceMenu
Definition mainwindow.h:707
void slotEditEdgeProperties(const int &v1, const int &v2, const QString &label, const double &weight, const QColor &color, const QHash< QString, QString > &customAttributes)
Applies updated edge properties received from DialogEdgeEdit.
Definition mainwindow_edit_edge.cpp:457
void slotNetworkFileRecentUpdateActions()
Updates the Recent Files QActions in the menu.
Definition mainwindow_network_file.cpp:43
QWidget * m_networkSection
Definition mainwindow.h:868
QAction * cBonacichAct
Definition mainwindow.h:802
void slotAnalyzeCentralityKatz()
MainWindow::slotAnalyzeCentralityKatz Estimates the network's largest eigenvalue first,...
Definition mainwindow_analyze_centrality.cpp:753
void slotAnalyzeCommunitiesTriadCensus()
Definition mainwindow_analyze_clustering.cpp:127
QMenu * edgeOptionsMenu
Definition mainwindow.h:702
QAction * backgroundImageAct
Definition mainwindow.h:779
QAction * optionsEdgeThicknessPerWeightAct
Definition mainwindow.h:775
QAction * networkExportDLAct
Definition mainwindow.h:729
void slotAnalyzeStrEquivalenceClusteringHierarchicalDialog()
Displays the slotAnalyzeStrEquivalenceClusteringHierarchicalDialog dialog.
Definition mainwindow_analyze_similarity.cpp:309
QAction * editNodeFindAct
Definition mainwindow.h:751
QAction * networkExportPajek
Definition mainwindow.h:728
QLabel * rightPanelClickedNodeLCD
Definition mainwindow.h:849
void slotNetworkFileLoadRecent()
Loads a selected file entry from the "Recent Files" menu.
Definition mainwindow_network_file.cpp:723
QLabel * rightPanelClickedEdgeReciprocalWeightLabel
Definition mainwindow.h:859
Chart * miniChart
Definition mainwindow.h:666
int maxZoomIndex
Definition mainwindow.h:629
void initNetworkAvailableTextCodecs()
Setup a list of all text codecs supported by OS.
Definition mainwindow_init_app.cpp:711
QMenu * colorationMenu
Definition mainwindow.h:709
void initComboBoxes()
Initializes combo boxes in the MW.
Definition mainwindow_init_app.cpp:697
QAction * editMouseModeInteractiveAct
Definition mainwindow.h:747
void initMenuBar()
Populates the menu bar with our menu items.
Definition mainwindow_init_menu.cpp:30
void slotNetworkFileDialogFilterSelected(const QString &filter)
Called when user the selects a file filter (i.e. GraphML) in the fileDialog.
Definition mainwindow_network_file.cpp:376
void slotOptionsBackgroundImageSelect(bool toggle)
Toggles a custom background image on the canvas. When enabled, opens a file dialog to pick the image....
Definition mainwindow_options.cpp:886
QAction * analyzeNodeConnectivityAct
Definition mainwindow.h:793
QAction * layoutRadialProminence_PP_Act
Definition mainwindow.h:808
int slotHelpMessageToUser(const int type=0, const QString statusMsg=QString(), const QString text=QString(), const QString info=QString(), QMessageBox::StandardButtons buttons=QMessageBox::NoButton, QMessageBox::StandardButton defBtn=QMessageBox::Ok, const QString btn1=QString(), const QString btn2=QString(), const QString btn3=QString())
Displays a popup with the given text/info and a status message.
Definition mainwindow_help.cpp:82
QAction * cDegreeAct
Definition mainwindow.h:800
void slotAnalyzeDistanceAverage()
Displays the average shortest path length (average graph distance).
Definition mainwindow_analyze_distance.cpp:328
QAction * layoutLevelProminence_IRCC_Act
Definition mainwindow.h:814
QAction * networkRandomRegularSameDegreeAct
Definition mainwindow.h:743
void toolBoxAnalysisProminenceSelectChanged(const int &selectedIndex)
Called when user selects something in the Prominence selectbox of the toolbox.
Definition mainwindow_analyze_prominence.cpp:36
QAction * viewDataTableAct
Definition mainwindow.h:782
QAction * analyzeGraphEccentricityAct
Definition mainwindow.h:790
void slotNetworkFileView()
Displays the file of the loaded network.
Definition mainwindow_network_view.cpp:85
void slotOpenSettingsDialog()
Opens the Settings dialog.
Definition mainwindow_options.cpp:28
QPushButton * m_chartToggleBtn
Definition mainwindow.h:866
QAction * regularColorationAct
Definition mainwindow.h:831
void slotOptionsCanvasSavePainterState(const bool &toggle=false)
Turns saving painter state on or off.
Definition mainwindow_options.cpp:622
QAction * analyzeGraphReciprocityAct
Definition mainwindow.h:787
void slotAnalyzeMatrixAdjacencyTranspose()
Writes the transpose adjacency matrix.
Definition mainwindow_analyze_matrices.cpp:144
void slotEditEdgeColor()
Changes the color of the clicked edge. If no edge is clicked, then it asks the user to specify one.
Definition mainwindow_edit_edge.cpp:758
QString userSelectedCodecName
Definition mainwindow.h:633
void slotEditNodeAdd()
Adds a new random node.
Definition mainwindow_edit_node.cpp:107
QAction * layoutNodeSizeProminence_PRP_Act
Definition mainwindow.h:820
void slotNetworkExportPajek()
Exports the network to a Pajek-formatted file Calls the relevant Graph method.
Definition mainwindow_network_import_export.cpp:378
void slotAnalyzeCentralitySignedDegree()
Definition mainwindow_analyze_centrality.cpp:87
QLabel * rightPanelClickedNodeInDegreeLCD
Definition mainwindow.h:851
bool inverseWeights
Definition mainwindow.h:630
QAction * layoutNodeSizeProminence_BPC_Act
Definition mainwindow.h:821
QWidget * m_selectionSection
Definition mainwindow.h:869
QAction * analyzeStrEquivalenceMatchesAct
Definition mainwindow.h:799
QAction * editFilterEdgesRestoreAllAct
Definition mainwindow.h:764
FilterBarWidget * m_filterBar
Definition mainwindow.h:676
void slotEditRelationsClear()
Clears the relations combo.
Definition mainwindow_edit_relation.cpp:37
QAction * cInformationAct
Definition mainwindow.h:801
QComboBox * toolBoxAnalysisProminenceSelect
Definition mainwindow.h:715
void saveSettings()
Saves default (or user-defined) app settings.
Definition mainwindow_init_settings.cpp:284
QMap< QString, QString > appSettings
Definition mainwindow.h:646
void slotNetworkImportTwoModeSM()
Imports a network from a two mode sociomatrix formatted file.
Definition mainwindow_network_import_export.cpp:142
void slotOptionsEdgeThicknessPerWeight(bool toggle)
MainWindow::slotOptionsEdgeThicknessPerWeight.
Definition mainwindow_options.cpp:361
QAction * analyzeStrEquivalenceTieProfileDissimilaritiesAct
Definition mainwindow.h:791
void slotEditNodeRemove()
Handles requests to delete a node and the attached objects (edges, etc).
Definition mainwindow_edit_node.cpp:198
void slotAboutQt()
Definition mainwindow_help.cpp:519
QMenu * layoutNodeColorProminenceMenu
Definition mainwindow.h:708
QAction * layoutNodeColorProminence_BPC_Act
Definition mainwindow.h:828
void toolBoxLayoutByIndexApplyBtnPressed()
Called when the user selects a Prominence index in the Layout selectbox of the Control Panel.
Definition mainwindow_layout.cpp:28
void slotEditEdgeClicked(const MyEdge &edge=MyEdge(), const bool &openMenu=false)
Displays information about the clicked edge on the statusbar.
Definition mainwindow_edit_edge.cpp:121
QMenu * randomLayoutMenu
Definition mainwindow.h:707
void slotAnalyzeStrEquivalencePearson(const QString &matrix, const QString &varLocation, const bool &diagonal=false)
Calls Graph::writeMatrixSimilarityPearson() to write Pearson Correlation Coefficients into a file,...
Definition mainwindow_analyze_similarity.cpp:265
bool slotNetworkExportGW()
Definition mainwindow_network_import_export.cpp:572
void slotEditNodePosition(const int &nodeNumber, const int &x, const int &y)
Automatically runs, when the user moves a node on the canvas, to update new vertex coordinates in Gra...
Definition mainwindow_edit_node.cpp:95
QAction * cEigenvectorAct
Definition mainwindow.h:801
void slotNetworkViewSociomatrixPlotText()
Displays a text-only plot of the network adjacency matrix.
Definition mainwindow_network_view.cpp:243
QAction * layoutNodeSizeProminence_PC_Act
Definition mainwindow.h:818
bool confirmGenerationSize(qint64 expectedEdges, const QString &generatorLabel, bool scripted)
Warns before network generation above a safety edge-count threshold.
Definition mainwindow_dispatch.cpp:182
QAction * layoutRadialProminence_BPC_Act
Definition mainwindow.h:809
QMenu * subgraphMenu
Definition mainwindow.h:706
void slotEditNodeSetPropertyForSelection()
Opens DialogBulkEdit for the currently selected nodes (canvas shortcut).
Definition mainwindow_edit_node.cpp:422
void runGraphOperationAsync(std::function< void()> operation, const QString &waitMessage, const QString &doneMessage=QString())
Runs a slow Graph operation on graphThread without blocking the GUI thread (fix #254).
Definition mainwindow_dispatch.cpp:157
QList< TextEditor * > m_textEditors
Definition mainwindow.h:650
void slotNetworkRandomRegular(const int &newNodes, const int &degree, const QString &mode, const bool &diag)
Creates a pseudo-random d-regular network where every node has the same degree.
Definition mainwindow_network_random.cpp:372
void processNextInteractiveCommand()
Executes one line of the interactive script, then schedules the next. See #261.
Definition mainwindow_interactive_script.cpp:94
QAction * analyzeGraphConnectednessAct
Definition mainwindow.h:792
QAction * analyzeMatrixGeodesicsAct
Definition mainwindow.h:789
void slotAnalyzeCentralityCloseness()
Definition mainwindow_analyze_centrality.cpp:196
void toolBoxEditNodeSubgraphSelectChanged(const int &selectedIndex)
Called when user selects something in the Subgraph from Selected Nodes selectbox of the toolbox.
Definition mainwindow_edit_node.cpp:39
QAction * editEdgeSetPropertyForSelectionAct
Definition mainwindow.h:755
QToolButton * zoomInBtn
Definition mainwindow.h:722
Graph * activeGraph
Definition mainwindow.h:665
QAction * analyzeMatrixAdjInvertAct
Definition mainwindow.h:795
void slotHelpMessageToUserError(const QString text=QString())
Helper function to display a popup with an error message.
Definition mainwindow_help.cpp:64
QComboBox * toolBoxAnalysisCohesionSelect
Definition mainwindow.h:714
void slotNetworkWebCrawler(const QUrl &startUrl, const QStringList &urlPatternsIncluded, const QStringList &urlPatternsExcluded, const QStringList &linkClasses, const int &maxNodes, const int &maxLinksPerPage, const bool &intLinks, const bool &childLinks, const bool &parentLinks, const bool &selfLinks, const bool &extLinks, const bool &extLinksCrawl, const bool &socialLinks, const bool &delayedRequests)
Starts the web crawler with the user options.
Definition mainwindow_network_web.cpp:78
DialogSettings * m_settingsDialog
Definition mainwindow.h:690
void slotLayoutKamadaKawai()
Layouts the network according to the Kamada-Kawai FDP model.
Definition mainwindow_layout.cpp:262
void slotNetworkFileChoose(QString m_fileName=QString(), int fileFormat=-1, const bool &checkSelectFileType=true)
Chooses a network file to load.
Definition mainwindow_network_file.cpp:82
QMenu * layoutForceDirectedMenu
Definition mainwindow.h:708
QAction * changeBackColorAct
Definition mainwindow.h:779
QAction * helpApp
Definition mainwindow.h:784
void slotEditEdgeSetPropertyForSelection()
Opens DialogBulkEdit for the currently selected edges (canvas shortcut).
Definition mainwindow_edit_edge.cpp:64
QComboBox * toolBoxNetworkAutoCreateSelect
Definition mainwindow.h:711
void runInteractiveScript(const QString &scriptPath)
Loads a plain-text interactive script and starts executing it. See #261.
Definition mainwindow_interactive_script.cpp:35
void slotLayoutGuides(const bool &toggle)
Shows or hides (clears) layout guides.
Definition mainwindow_layout.cpp:863
void slotNetworkRandomScaleFreeDialog()
Shows a dialog to create a scale-free random network.
Definition mainwindow_network_random.cpp:212
QAction * cInDegreeAct
Definition mainwindow.h:800
GraphicsWidget * graphicsWidget
Definition mainwindow.h:664
QAction * analyzeGraphDiameterAct
Definition mainwindow.h:790
QAction * layoutLevelProminence_SC_Act
Definition mainwindow.h:811
QAction * editNodeAddAct
Definition mainwindow.h:751
int maxRandomlyCreatedNodes
Definition mainwindow.h:627
QAction * layoutEgoRadialAct
Definition mainwindow.h:803
void slotOptionsEdgesVisibility(bool toggle)
Toggles visibility of all edges. Persists the choice in appSettings["initEdgesVisibility"].
Definition mainwindow_options.cpp:271
QAction * filterNodesRestoreAllAct
Definition mainwindow.h:763
QComboBox * toolBoxAnalysisStrEquivalenceSelect
Definition mainwindow.h:714
void slotNetworkRandomGaussian()
Definition mainwindow_network_random.cpp:402
void slotOptionsWindowRightPanelVisibility(bool toggle)
Toggles right panel.
Definition mainwindow_options.cpp:1019
void slotEditNodeSelectNone()
Selects no nodes.
Definition mainwindow_edit_node.cpp:78
QAction * layoutRadialProminence_IRCC_Act
Definition mainwindow.h:808
void slotAnalyzeGeodesicDistribution()
Computes and displays the distribution of geodesic distances across all ordered pairs of connected no...
Definition mainwindow_analyze_distance.cpp:469
void terminateThreads(const QString &reason)
Terminates any remaining threads.
Definition mainwindow_lifecycle.cpp:157
void slotNetworkExportSM()
Exports the network to an adjacency matrix-formatted file Calls the relevant Graph method.
Definition mainwindow_network_import_export.cpp:421
void slotNetworkExportPDFDialog()
Opens the Export to PDF Dialog.
Definition mainwindow_network_import_export.cpp:281
QMenu * colorOptionsMenu
Definition mainwindow.h:702
QAction * drawEdgesBezier
Definition mainwindow.h:777
int activeNodes()
Definition mainwindow_edit_shared.cpp:223
void slotEditEdgeWeight()
Changes the weight of the clicked edge. If no edge is clicked, asks the user to specify an Edge.
Definition mainwindow_edit_edge.cpp:842
QAction * layoutRadialProminence_EVC_Act
Definition mainwindow.h:807
void slotNetworkRandomRegularDialog()
Shows a dialog to create a d-regular random network.
Definition mainwindow_network_random.cpp:344
QAction * networkRandomGaussianAct
Definition mainwindow.h:739
QAction * averGraphDistanceAct
Definition mainwindow.h:788
QAction * fullScreenModeAct
Definition mainwindow.h:780
QMenu * analysisMenu
Definition mainwindow.h:701
QAction * editNodeSetPropertyForSelectionAct
Definition mainwindow.h:754
DialogSimilarityPearson * m_dialogSimilarityPearson
Definition mainwindow.h:686
void slotAnalyzeDiameter()
Displays the network diameter (largest geodesic).
Definition mainwindow_analyze_distance.cpp:208
QLabel * rightPanelEdgesLabel
Definition mainwindow.h:840
void slotAnalyzeWalksTotal()
Calculate and print the total number of walks of any length, between each pair of nodes.
Definition mainwindow_analyze_distance.cpp:622
QAction * layoutNodeSizeProminence_SC_Act
Definition mainwindow.h:817
void slotAnalyzeCentralityDegree()
Definition mainwindow_analyze_centrality.cpp:38
QAction * filterNodesByAttributeAct
Definition mainwindow.h:761
QString progressMsg
Definition mainwindow.h:632
void slotEditSubgraphExtract()
Extracts the currently visible nodes and their inter-edges into an independent Graph object and saves...
Definition mainwindow_edit_selection.cpp:255
void slotLayoutRandom()
Calls Graph::layoutRandom to reposition all nodes on a random layout.
Definition mainwindow_layout.cpp:129
QAction * networkCloseAct
Definition mainwindow.h:727
QAction * networkImportGMLAct
Definition mainwindow.h:733
void slotEditEdgeColorAll(QColor color=QColor(), const int threshold=RAND_MAX)
Changes the color of all edges weighted below threshold to parameter color.
Definition mainwindow_edit_edge.cpp:712
bool slotNetworkClose()
Closes the current network, saving it if needed.
Definition mainwindow_network_file.cpp:621
QComboBox * toolBoxAnalysisCommunitiesSelect
Definition mainwindow.h:715
void slotOptionsCanvasIndexMethod(const QString &method)
Changes the indexing method of the graphics scene.
Definition mainwindow_options.cpp:757
QAction * networkExportEdgesCSVAct
Definition mainwindow.h:731
void slotLayoutEgoRadial()
Calls Graph::layoutEgoRadial. Resolves the ego vertex from the current selection (exactly one selecte...
Definition mainwindow_layout.cpp:178
QScrollArea * m_leftScrollArea
Definition mainwindow.h:697
QAction * layoutLevelProminence_KATZ_Act
Definition mainwindow.h:815
void slotEditGraphDirectedChanged(const bool &directed)
Updates the edge-mode combo and arrows action to reflect the directed state of the newly selected rel...
Definition mainwindow_edit_relation.cpp:232
void slotNetworkDataSetRecreate(const QString)
Recreates famous and widely used data sets in network analysis studies.
Definition mainwindow_network_random.cpp:64
QToolButton * rotateRightBtn
Definition mainwindow.h:722
void slotAnalyzeCentralityPN()
Definition mainwindow_analyze_centrality.cpp:141
void slotNetworkRandomRingLattice()
Creates a ring lattice network.
Definition mainwindow_network_random.cpp:413
QMenu * networkMenu
Definition mainwindow.h:706
void slotEditNodeOpenContextMenu()
Shows a context menu when the user right-clicks directly on a node.
Definition mainwindow_edit_node.cpp:1026
void slotNetworkPrint()
Sends the active network to the printer.
Definition mainwindow_network_file.cpp:663
QAction * layoutNodeColorProminence_IRCC_Act
Definition mainwindow.h:826
QAction * networkViewFileAct
Definition mainwindow.h:735
void slotOptionsCanvasUpdateMode(const QString &mode)
Sets canvas update mode.
Definition mainwindow_options.cpp:709
QAction * optionsEdgesVisibilityAct
Definition mainwindow.h:776
void slotAnalyzeMatrixLaplacian()
Writes the Laplacian matrix of the graph.
Definition mainwindow_analyze_matrices.cpp:279
QWidget * m_clickedEdgeSection
Definition mainwindow.h:871
QAction * editRelationAddAct
Definition mainwindow.h:835
QAction * networkOpenAct
Definition mainwindow.h:726
QAction * editNodeLabelsSizeAct
Definition mainwindow.h:757
void slotOptionsCanvasAntialiasingAutoAdjust(const bool &toggle=false)
Turns antialiasing auto-adjustment on or off.
Definition mainwindow_options.cpp:564
QAction * layoutNodeSizeProminence_PP_Act
Definition mainwindow.h:820
QAction * analyzeGraphWalksTotalAct
Definition mainwindow.h:792
void slotStyleSheetByName(const QString &sheetFileName)
Loads a custom Qt StyleSheet (.qss file).
Definition mainwindow_options.cpp:1065
void slotCacheSelection(const QList< int > &nodes, const QList< SelectedEdge > &edges)
Syncs the Data Table selection to match the canvas selection.
Definition mainwindow_edit_selection.cpp:181
DialogRandRegular * m_randRegularDialog
Definition mainwindow.h:684
void slotNetworkRandomLattice(const int &newNodes, const int &length, const int &dimension, const int &nei, const QString &mode, const bool &circular)
Creates a 'random' lattice network, i.e. a connected network where every node has the same degree and...
Definition mainwindow_network_random.cpp:516
void slotNetworkSavedStatus(const int &status)
Updates the 'save' status of the network.
Definition mainwindow_network_file.cpp:592
QAction * networkQuitAct
Definition mainwindow.h:727
QStringList nodeShapeList
Definition mainwindow.h:644
void slotEditTransformNodes2Edges()
Definition mainwindow_edit_filters.cpp:490
QLabel * rightPanelSelectedEdgesLCD
Definition mainwindow.h:846
void closeEvent(QCloseEvent *ce)
Called when the application closes. Asks to write any unsaved network data.
Definition mainwindow_lifecycle.cpp:28
void slotEditSelectionChanged(const int &selNodes, const int &selEdges)
Updates the UI (LCDs and Actions) after a change in the user-selected nodes/edges.
Definition mainwindow_edit_selection.cpp:207
~MainWindow()
Deletes variables on MW closing.
Definition mainwindow.cpp:264
QAction * editEdgeAddAct
Definition mainwindow.h:756
QLabel * rightPanelSelectedEdgesLabel
Definition mainwindow.h:847
QAction * layoutNodeColorProminence_DP_Act
Definition mainwindow.h:822
QAction * editNodeSelectedToCliqueAct
Definition mainwindow.h:750
void slotFilterNodesDialogByCentrality()
Shows a dialog where the user can specify criteria to filter nodes.
Definition mainwindow_edit_filters.cpp:79
QAction * editEdgeDichotomizeAct
Definition mainwindow.h:769
void slotOptionsEdgeLabelsVisibility(bool toggle)
Toggles visibility of edge labels. Persists the choice in appSettings["initEdgeLabelsVisibility"].
Definition mainwindow_options.cpp:447
void signalRelationAddAndChange(const QString &relName, const bool &changeRelation=true)
void slotEditEdgeSymmetrizeStrongTies()
MainWindow::slotEditEdgeSymmetrizeStrongTies.
Definition mainwindow_edit_edge.cpp:1071
void slotEditNodeSelectedToStar()
Creates a star subgraph from selected nodes. User must choose a central node.
Definition mainwindow_edit_node.cpp:524
QAction * layoutNodeSizeProminence_IRCC_Act
Definition mainwindow.h:820
void initView()
Initializes our graphics widget, the canvas where we draw networks.
Definition mainwindow_init_app.cpp:33
void slotOptionsWindowStatusbarVisibility(bool toggle)
Turns window statusbar on or off.
Definition mainwindow_options.cpp:975
QAction * layoutLevelProminence_PC_Act
Definition mainwindow.h:812
QAction * layoutLevelProminence_BC_Act
Definition mainwindow.h:812
DialogRandScaleFree * m_randScaleFreeDialog
Definition mainwindow.h:683
QMenu * editNodeMenu
Definition mainwindow.h:703
QAction * layoutFDP_Eades_Act
Definition mainwindow.h:832
QAction * networkDataSetSelectAct
Definition mainwindow.h:736
void slotNetworkExportImage(const QString &filename, const QByteArray &format, const int &quality, const int &compression)
Exports the network to an image file.
Definition mainwindow_network_import_export.cpp:180
QAction * cEccentAct
Definition mainwindow.h:802
void toolBoxAnalysisMatricesSelectChanged(const int &selectedIndex)
Called when user selects something in the Matrices selectbox of the toolbox.
Definition mainwindow_analyze_matrices.cpp:35
QAction * layoutNodeSizeProminence_IC_Act
Definition mainwindow.h:818
QAction * editRotateLeftAct
Definition mainwindow.h:721
QMenu * communitiesMenu
Definition mainwindow.h:704
QAction * openTextEditorAct
Definition mainwindow.h:735
QAction * editNodeSelectNoneAct
Definition mainwindow.h:748
void slotOptionsWindowFullScreen(bool toggle)
Toggles full screen mode (F11).
Definition mainwindow_options.cpp:935
QList< QAction * > m_actionsDisabledForBusy
Definition mainwindow.h:658
void slotNetworkFileDialogFileSelected(const QString &fileName)
Called when user selects a file in the fileDialog Calls slotNetworkFileChoose() again.
Definition mainwindow_network_file.cpp:438
void slotAnalyzeCentralityEccentricity()
MainWindow::slotAnalyzeCentralityEccentricity Writes Eccentricity Centralities into a file,...
Definition mainwindow_analyze_centrality.cpp:927
void slotNetworkImportAdjacency()
Imports a network from a Adjacency matrix formatted file.
Definition mainwindow_network_import_export.cpp:70
void polishProgressDialog(QProgressDialog *dialog)
Fixes known bugs in QProgressDialog class. i.e. Workaround for macOS-only Qt bug: QTBUG-65750,...
Definition mainwindow_dispatch.cpp:43
void slotAnalyzeCentralityEigenvector()
Writes Eigenvector Centralities into a file, then displays it.
Definition mainwindow_analyze_centrality.cpp:593
void slotLayoutNodeColorByProminenceIndex()
Runs when the user selects a color layout menu option.
Definition mainwindow_layout.cpp:684
void resizeEvent(QResizeEvent *e)
Called whenever the app window is resized.
Definition mainwindow_lifecycle.cpp:175
QPushButton * m_selectionToggleBtn
Definition mainwindow.h:863
QAction * editEdgeSymmetrizeStrongTiesAct
Definition mainwindow.h:768
QAction * layoutRandomRadialAct
Definition mainwindow.h:803
void slotEditNodeFind(const QStringList &nodeList, const QString &searchType, const QString &indexStr=QString())
Finds one or more nodes, according to their number, label or centrality score.
Definition mainwindow_edit_node.cpp:150
QString fileNameNoPath
Definition mainwindow.h:632
void initActions()
Initializes all QActions of the application.
Definition mainwindow_init_actions.cpp:33
int activeEdges()
Definition mainwindow_edit_shared.cpp:214
QAction * layoutNodeSizeProminence_DP_Act
Definition mainwindow.h:816
QAction * editRelationNextAct
Definition mainwindow.h:835
DialogNodeFind * m_nodeFindDialog
Definition mainwindow.h:673
QAction * layoutRadialProminence_KATZ_Act
Definition mainwindow.h:809
void slotHelpMessageToUserInfo(const QString text=QString())
Helper function to display a popup with useful info.
Definition mainwindow_help.cpp:55
QAction * networkImportGraphvizAct
Definition mainwindow.h:734
QAction * layoutLevelProminence_EVC_Act
Definition mainwindow.h:813
void slotOptionsWindowLeftPanelVisibility(bool toggle)
Toggles left panel.
Definition mainwindow_options.cpp:997
void slotEditEdgeOpenContextMenu(const QString &str="")
Shows a context menu when the user right-clicks directly on an edge.
Definition mainwindow_edit_edge.cpp:224
QAction * analyzeMatrixReachabilityAct
Definition mainwindow.h:792
QToolButton * zoomOutBtn
Definition mainwindow.h:722
Lightweight value type representing a directed or undirected edge.
Definition global.h:263
Definition texteditor.h:27
Defines the FilterCondition struct shared by all attribute-based filters.
Global definitions, constants, enumerations, and utility types for SocNetV.
NetworkRequestType
Identifies the purpose of an outgoing network request.
Definition global.h:189
#define SOCNETV_USE_NAMESPACE
Definition global.h:28
QHash< QString, int > H_StrToInt
Definition graph.h:85