mainwindow.h
Go to the documentation of this file.
1 /***************************************************************************
2  SocNetV: Social Network Visualizer
3  version: 2.2
4  Written in Qt
5 
6  mainwindow.h - description
7  -------------------
8  copyright : (C) 2005-2017 by Dimitris B. Kalamaras
9  blog : http://dimitris.apeiro.gr
10  project site : http://socnetv.org
11 
12  ***************************************************************************/
13 
14 /*******************************************************************************
15 * This program is free software: you can redistribute it and/or modify *
16 * it under the terms of the GNU General Public License as published by *
17 * the Free Software Foundation, either version 3 of the License, or *
18 * (at your option) any later version. *
19 * *
20 * This program is distributed in the hope that it will be useful, *
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
23 * GNU General Public License for more details. *
24 * *
25 * You should have received a copy of the GNU General Public License *
26 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
27 ********************************************************************************/
28 
29 #ifndef MAINWINDOW_H
30 #define MAINWINDOW_H
31 
32 
39 #include <QMainWindow>
40 #include <QGraphicsScene>
41 #include <QPrinter>
42 #include <QMessageBox>
43 #include <math.h>
44 
47 #include "graph.h"
48 #include "graphicswidget.h"
50 #include "webcrawlerdialog.h"
51 #include "dialognodeedit.h"
52 #include "dialogdatasetselect.h"
53 
54 static const QString VERSION="2.2";
55 
56 static const int USER_MSG_INFO=0;
57 static const int USER_MSG_CRITICAL=1;
58 static const int USER_MSG_CRITICAL_NO_NETWORK=2;
59 static const int USER_MSG_CRITICAL_NO_EDGES=3;
60 static const int USER_MSG_QUESTION=4;
61 static const int USER_MSG_QUESTION_CUSTOM=5;
62 
63 QT_BEGIN_NAMESPACE
64 class QMenu;
65 class QAction;
66 class QCheckBox;
67 class QProgressDialog;
68 class Edge;
69 class Node;
70 
71 class QPushButton;
72 class QToolButton;
73 class QLCDNumber;
74 class QSlider;
75 class QComboBox;
76 class QGroupBox;
77 class QTabWidget;
78 class QSpinBox;
79 QT_END_NAMESPACE
80 
81 using namespace std;
82 
83 
84 class DialogPreviewFile;
92 class DialogRandRegular;
93 class DialogSettings;
94 class TextEditor;
95 
96 
105 class MainWindow : public QMainWindow
106 {
107  Q_OBJECT
108 
109 public:
110 
111 
112  MainWindow(const QString &f);
113  ~MainWindow();
114 
115  void initActions();
116  void initMenuBar();
117  void initToolBar();
118  void initToolBox();
119  void initView();
120  void initWindowLayout();
121  void initSignalSlots();
122  QMap<QString, QString> initSettings();
123  void saveSettings();
124  void initApp();
125 
126  void setLastPath(QString filePath);
127  QString getLastPath();
128  void createFortuneCookies();
129 
130  int activeEdges();
131  int activeNodes();
132 
133  void createProgressBar(const int &max=0, const QString &msg="Please wait...");
134  void destroyProgressBar(int max=0);
135 
136 
137 
138 public slots:
139  //NETWORK MENU
140  void slotNetworkNew();
141  void slotNetworkFileChoose(QString m_fileName = QString::null,
142  int m_fileFormat = -1,
143  const bool &checkSelectFileType = true);
144  void slotNetworkFileDialogFileSelected(const QString &fileName);
145  void slotNetworkFileDialogFilterSelected(const QString &filter);
146  void slotNetworkFileDialogRejected();
147  void slotNetworkFileRecentUpdateActions();
148  void slotNetworkAvailableTextCodecs();
149  bool slotNetworkFilePreview(const QString &, const int &);
150  void slotNetworkFileLoad ( const QString, const QString, const int );
151  void slotNetworkFileLoaded(const int &type,
152  const QString &fName=QString::null,
153  const QString &netName=QString::null,
154  const int &totalNodes=0,
155  const int &totalEdges=0,
156  const QString &message=QString::null);
157  void slotNetworkFileLoadRecent();
158  void slotNetworkSaved(const int &status);
159  void slotNetworkFileView();
160  void slotNetworkImportGraphML();
161  void slotNetworkImportPajek();
162  void slotNetworkImportSM();
163  void slotNetworkImportDot();
164  void slotNetworkImportGML();
165  void slotNetworkImportDL();
166  void slotNetworkImportEdgeList();
167  void slotNetworkImportTwoModeSM();
168  void slotNetworkChanged(const int &graphStatus, const bool &undirected,
169  const int &vertices, const int &edges,
170  const float &density);
171  void slotNetworkSave(const int &fileFormat=-1);
172  void slotNetworkSaveAs();
173  void slotNetworkClose();
174  void slotNetworkPrint();
175  void slotNetworkViewSociomatrix();
176  void slotNetworkViewSociomatrixPlotText();
177  bool slotNetworkExportBMP();
178  bool slotNetworkExportPNG();
179  bool slotNetworkExportPDF();
180  void slotNetworkExportPajek();
181  void slotNetworkExportSM();
182  bool slotNetworkExportDL();
183  bool slotNetworkExportGW();
184  bool slotNetworkExportList();
185  void slotNetworkTextEditor();
186  void slotNetworkDataSetSelect();
187  void slotNetworkDataSetRecreate(const QString);
188 
189  void slotNetworkRandomErdosRenyiDialog();
190  void slotNetworkRandomErdosRenyi( const int N,
191  const QString model,
192  const int edges,
193  const float eprob,
194  const QString mode,
195  const bool diag) ;
196  void slotNetworkRandomRegularDialog();
197  void slotNetworkRandomRegular(const int &newNodes, const int &degree,
198  const QString &mode, const bool &diag);
199 
200  void slotNetworkRandomGaussian();
201 
202  void slotNetworkRandomScaleFreeDialog();
203 
204  void slotNetworkRandomScaleFree(const int &newNodes,
205  const int &power,
206  const int &initialNodes,
207  const int &edgesPerStep,
208  const float &zeroAppeal,
209  const QString &mode);
210 
211  void slotNetworkRandomSmallWorldDialog();
212 
213  void slotNetworkRandomSmallWorld (const int &newNodes,
214  const int &degree,
215  const float &beta,
216  const QString &mode,
217  const bool &diag);
218 
219  void slotNetworkRandomRingLattice();
220 
221  void slotNetworkWebCrawlerDialog();
222  void slotNetworkWebCrawler(QString, int, int, bool, bool);
223 
224  //EDIT MENU
225  void slotEditRelationsClear();
226  void slotEditRelationAdd(QString newRelationName=QString::null,
227  const bool &changeRelation=true);
228  void slotEditRelationChange(const int relIndex=RAND_MAX);
229  void slotEditRelationRename(QString newName=QString::null);
230 
231  void slotEditOpenContextMenu(const QPointF & mPos);
232  void slotEditSelectionChanged (const int &selNodes, const int &selEdges);
233 
234  void slotEditClickOnEmptySpace (const QPointF &p);
235 
236  void slotEditNodeSelectAll();
237  void slotEditNodeSelectNone();
238  void slotEditNodeInfoStatusBar(const int &number,
239  const QPointF &p,
240  const QString &label,
241  const int &inDegree,
242  const int &outDegree,
243  const float &clc=0);
244  void slotEditNodePosition(const int &nodeNumber, const int &x, const int &y);
245  void slotEditNodeAdd();
246  void slotEditNodeAddWithMouse(const QPointF &);
247  void slotEditNodeFind();
248  void slotEditNodeRemove();
249  void slotEditNodeOpenContextMenu();
250  void slotEditNodePropertiesDialog();
251  void slotEditNodeProperties( const QString, const int, const QString,
252  const QColor, const QString);
253  void slotEditNodeSelectedToClique();
254  void slotEditNodeSelectedToStar();
255  void slotEditNodeSelectedToCycle();
256  void slotEditNodeSelectedToLine();
257  void slotEditNodeColorAll(QColor color=QColor());
258  void slotEditNodeSizeAll(int newSize=0, const bool &normalized=false);
259  void slotEditNodeShape(QString shape=QString::null, const int vertex = 0);
260  void slotEditNodeNumberSize(int v1=0, int newSize=0, const bool prompt=true);
261  void slotEditNodeNumberDistance(int v1=0, int newSize=0);
262  void slotEditNodeNumbersColor(QColor color=QColor());
263  void slotEditNodeLabelSize(int v1=0, int newSize=0);
264  void slotEditNodeLabelsColor(QColor color=QColor());
265  void slotEditNodeLabelDistance(int v1=0, int newSize=0);
266 
267  void slotEditEdgeInfoStatusBar (const int &v1,
268  const int &v2,
269  const float &weight,
270  const bool &undirected);
271 
272  void slotEditEdgeOpenContextMenu() ;
273  void slotEditEdgeAdd();
274  void slotEditEdgeCreate (const int &source, const int &target,
275  const float &weight=1);
276  void slotEditEdgeRemove();
277  void slotEditEdgeLabel();
278  void slotEditEdgeColor();
279  void slotEditEdgeWeight();
280  void slotEditEdgeColorAll(QColor color=QColor(), const int &threshold=RAND_MAX);
281 
282  void slotEditEdgeMode(const int &mode);
283  void slotEditEdgeSymmetrizeAll();
284  void slotEditEdgeSymmetrizeStrongTies();
285  void slotEditEdgeSymmetrizeCocitation();
286  void slotEditEdgeUndirectedAll(const bool &toggle);
287 
288  void slotFilterNodes();
289  void slotEditFilterNodesIsolates(bool checked);
290  void slotEditFilterEdgesByWeightDialog();
291  void slotEditFilterEdgesUnilateral(bool checked);
292 
293  void slotEditTransformNodes2Edges();
294 
295 
296  // LAYOUT MENU
297  void slotLayoutRandom();
298  void slotLayoutCircularRandom();
299  void slotLayoutCircularByProminenceIndex();
300  void slotLayoutCircularByProminenceIndex(QString);
301  void slotLayoutNodeSizesByProminenceIndex(QString);
302  void slotLayoutLevelByProminenceIndex();
303  void slotLayoutLevelByProminenceIndex(QString);
304  void slotLayoutGuides(const bool &toggle);
305 
306  void slotLayoutSpringEmbedder();
307  void slotLayoutFruchterman();
308  void slotLayoutKamadaKawai();
309 
310  void slotLayoutNodeSizesByOutDegree(bool);
311  void slotLayoutNodeSizesByInDegree(bool);
312 
313  void slotLayoutColorationStrongStructural();
314  void slotLayoutColorationRegular();
315 
316  //ANALYSIS MENU
317  void askAboutWeights();
318  void slotAnalyzeMatrixDistances();
319  void slotAnalyzeMatrixGeodesics();
320  void slotAnalyzeDistance();
321  void slotAnalyzeDistanceAverage();
322  void slotAnalyzeDiameter();
323  void slotAnalyzeEccentricity();
324  void slotAnalyzeStrEquivalenceDissimilaritiesDialog();
325  void slotAnalyzeDissimilaritiesTieProfile(const QString &metric,
326  const QString &varLocation,
327  const bool &diagonal);
328 
329  void slotAnalyzeWalksLength();
330  void slotAnalyzeWalksTotal();
331  void slotAnalyzeReachabilityMatrix();
332  void slotAnalyzeConnectedness();
333 
334  void slotAnalyzeStrEquivalenceClusteringHierarchicalDialog();
335  void slotAnalyzeClusteringHierarchical(const QString &matrix,
336  const QString &metric,
337  const QString &method,
338  const bool &diagonal=false,
339  const bool &diagram=false);
340  void slotAnalyzeCommunitiesCliqueCensus();
341  void slotAnalyzeClusteringCoefficient();
342  void slotAnalyzeCommunitiesTriadCensus();
343 
344  void slotAnalyzeSymmetryCheck();
345  void slotAnalyzeMatrixAdjacencyInverse();
346  void slotAnalyzeMatrixAdjacencyTranspose();
347  void slotAnalyzeMatrixAdjacencyCocitation();
348  void slotAnalyzeMatrixDegree();
349  void slotAnalyzeMatrixLaplacian();
350 
351  void slotAnalyzeCentralityDegree();
352  void slotAnalyzeCentralityCloseness();
353  void slotAnalyzeCentralityClosenessIR();
354  void slotAnalyzeCentralityBetweenness();
355  void slotAnalyzeCentralityInformation();
356  void slotAnalyzeCentralityEigenvector();
357  void slotAnalyzeCentralityStress();
358  void slotAnalyzeCentralityPower();
359  void slotAnalyzeCentralityEccentricity();
360 
361  void slotAnalyzePrestigeDegree();
362  void slotAnalyzePrestigePageRank();
363  void slotAnalyzePrestigeProximity();
364 
365  void slotAnalyzeStrEquivalenceSimilarityMeasureDialog();
366  void slotAnalyzeSimilarityMatching(const QString &matrix,
367  const QString &varLocation,
368  const QString &measure,
369  const bool &diagonal);
370 
371  void slotAnalyzeStrEquivalencePearsonDialog();
372  void slotAnalyzeSimilarityPearson(const QString &matrix,
373  const QString &varLocation,
374  const bool &diagonal=false);
375 
376  //OPTIONS MENU
377  void slotOpenSettingsDialog();
378  void slotOptionsNodeNumbersVisibility(bool toggle);
379  void slotOptionsNodeNumbersInside(bool toggle);
380  void slotOptionsNodeLabelsVisibility(bool toggle);
381  void slotOptionsEdgesVisibility(bool toggle);
382  void slotOptionsEdgeLabelsVisibility(bool toggle);
383  void slotOptionsEdgeWeightNumbersVisibility(bool toggle);
384  void slotOptionsEdgeWeightsDuringComputation(bool);
385  void slotOptionsEdgeThicknessPerWeight(bool toogle);
386  void slotOptionsEdgesBezier(bool toggle);
387  void slotOptionsEdgeArrowsVisibility(bool toggle);
388 
389  void slotOptionsBackgroundColor(QColor color=QColor());
390  void slotOptionsBackgroundImageSelect(bool toggle);
391  void slotOptionsBackgroundImage();
392 
393  void slotOptionsAntialiasing(bool );
394  void slotOptionsEmbedLogoExporting(bool toggle);
395  void slotOptionsProgressBarVisibility(bool toggle);
396  void slotOptionsToolbarVisibility(bool toggle);
397  void slotOptionsStatusBarVisibility(bool toggle);
398  void slotOptionsLeftPanelVisibility(bool toggle);
399  void slotOptionsRightPanelVisibility(bool toggle);
400  void slotOptionsDebugMessages(bool toggle);
401 
402  //HELP MENU
403  void slotHelpTips();
404  void slotHelp();
405  void slotHelpCheckUpdates();
406  void slotHelpCreateTips();
407  void slotHelpAbout();
408  void slotAboutQt();
409  void slotHelpMessageToUserInfo(const QString text=QString::null);
410  void slotHelpMessageToUserError(const QString text=QString::null);
411  int slotHelpMessageToUser(const int type=0,
412  const QString statusMsg=QString::null,
413  const QString text=QString::null,
414  const QString info=QString::null,
415  QMessageBox::StandardButtons buttons=QMessageBox::NoButton,
416  QMessageBox::StandardButton defBtn=QMessageBox::Ok,
417  const QString btn1=QString::null,
418  const QString btn2=QString::null
419  );
420 
421 
422 
423  //Called by Graph to display some message to the user
424  void statusMessage(const QString);
425 
426 
427  //Called from MW, when user highlights something in the toolbox Comboboxes
428  void toolBoxEditNodeSubgraphSelectChanged(int);
429  void toolBoxEditEdgeSymmetrizeSelectChanged(int);
430  void toolBoxAnalysisMatricesSelectChanged(int);
431  void toolBoxAnalysisCohesionSelectChanged(int);
432  void toolBoxAnalysisStrEquivalenceSelectChanged(int);
433  void toolBoxAnalysisProminenceSelectChanged(int);
434  void toolBoxAnalysisCommunitiesSelectChanged(int);
435  void toolBoxLayoutByIndexButtonPressed();
436  void toolBoxLayoutForceDirectedButtonPressed();
437 
438 
439 protected:
440  void resizeEvent( QResizeEvent * );
441  void closeEvent( QCloseEvent* ce );
442 
443 
444  // void myMessageOutput(QtMsgType type, const char *msg);
445 signals:
446  void signalRelationAddAndChange(const QString &relName, const bool &changeRelation=true);
447 
448 private:
449  QGraphicsScene *scene;
452 
453  QMap<QString,QString> appSettings;
454 
458 
469 
470 
472  QList<QTextCodec *> codecs;
474 
475 
476 
477  QList<TextEditor *> m_textEditors;
478 
479  QPrinter *printer;
480  QToolBar *toolBar;
481 
482  QGroupBox *leftPanel, *rightPanel ;
483 
485 
486  QProgressDialog *progressDialog;
487 
488  QMenu *importSubMenu, *exportSubMenu, *editMenu, *analysisMenu, *helpMenu;
489  QMenu *optionsMenu, *colorOptionsMenu, *edgeOptionsMenu, *nodeOptionsMenu;
490  QMenu *editNodeMenu, *editEdgeMenu, *centrlMenu, *viewOptionsMenu, *layoutMenu;
491  QMenu *cohesionMenu, *strEquivalenceMenu, *communitiesMenu, *connectivityMenu;
492  QMenu *matrixMenu;
493  QMenu *networkMenu, *randomNetworkMenu, *filterMenu, *recentFilesSubMenu;
494  QMenu *randomLayoutMenu, *circleLayoutMenu, *levelLayoutMenu, *physicalLayoutMenu;
496  QCheckBox *toolBoxNodeSizesByOutDegreeBx,*toolBoxNodeSizesByInDegreeBx, *toolBoxLayoutGuidesBx;
497  QComboBox *toolBoxEditNodeSubgraphSelect, *toolBoxEditEdgeModeSelect,
498  *toolBoxEditEdgeSymmetrizeSelect, *toolBoxAnalysisCohesionSelect,
499  *toolBoxAnalysisStrEquivalenceSelect,
500  *toolBoxAnalysisProminenceSelect, *toolBoxAnalysisCommunitiesSelect,
501  *toolBoxAnalysisMatricesSelect;
502  QComboBox *toolBoxLayoutByIndexSelect, *toolBoxLayoutByIndexTypeSelect;
504 
505  QPushButton *editNodeAddBt, *editEdgeAddBt, *removeNodeBt, *editEdgeRemoveBt;
506  QPushButton *toolBoxLayoutByIndexButton, *toolBoxLayoutForceDirectedButton;
507 
508  QAction *zoomInAct,*zoomOutAct,*editRotateRightAct,*editRotateLeftAct, *editResetSlidersAct ;
509  QToolButton *zoomInBtn,*zoomOutBtn,*rotateLeftBtn,*rotateRightBtn, *resetSlidersBtn ;
510 
511  QSlider *zoomSlider, *rotateSlider;
512 
513  QAction *networkNew, *networkOpen, *networkSave, *networkSaveAs,
514  *networkClose, *networkPrint,*networkQuit;
515  QAction *networkExportBMP, *networkExportPNG, *networkExportPajek,
516  *networkExportPDF, *networkExportDL, *networkExportGW, *networkExportSM,
517  *networkExportList;
518  QAction *networkImportPajek, *networkImportGML, *networkImportSM, *networkImportList,
519  *networkImportDot , *networkImportDL, *networkImportTwoModeSM;
520  QAction *networkViewFileAct, *openTextEditorAct, *networkViewSociomatrixAct,
521  *networkDataSetSelectAct, *networkViewSociomatrixPlotAct;
522 
523  QAction *createErdosRenyiRandomNetworkAct, *createGaussianRandomNetworkAct;
524  QAction *createLatticeNetworkAct, *createScaleFreeRandomNetworkAct;
525  QAction *createSmallWorldRandomNetworkAct, *createRegularRandomNetworkAct;
526 
527  QAction *optionsNodeNumbersVisibilityAct, *optionsNodeLabelsVisibilityAct, *optionsNodeNumbersInsideAct;
528  QAction *editNodeSelectNoneAct, *editNodeSelectAllAct;
529  QAction *editNodeSelectedToStarAct, *editNodeSelectedToCycleAct;
530  QAction *editNodeSelectedToLineAct, *editNodeSelectedToCliqueAct;
531  QAction *editNodeFindAct,*editNodeAddAct, *editNodeRemoveAct;
533  QAction *editEdgeAddAct, *editEdgeRemoveAct;
534  QAction *editNodeNumbersSizeAct, *editNodeLabelsSizeAct;
535  QAction *editNodeSizeAllAct, *editNodeShapeAll;
536  QAction *editEdgeLabelAct, *editEdgeColorAct, *editEdgeWeightAct;
537  QAction *filterNodesAct, *editFilterNodesIsolatesAct, *editFilterEdgesByWeightAct;
539  QAction *transformNodes2EdgesAct, *editEdgeSymmetrizeAllAct;
540  QAction *editEdgeSymmetrizeStrongTiesAct, *editEdgeUndirectedAllAct;
541  QAction *changeBackColorAct, *editNodeColorAll, *editEdgeColorAllAct,
542  *editNodeNumbersColorAct,*editNodeLabelsColorAct,
543  *editEdgesCocitationAct;
544  QAction *optionsEdgeThicknessPerWeightAct, *optionsEdgeWeightNumbersAct, *optionsEdgesVisibilityAct;
545  QAction *optionsEdgeArrowsAct, *drawEdgesBezier,*considerEdgeWeightsAct;
547  QAction *backgroundImageAct,*helpAboutApp, *helpAboutQt, *helpApp, *tipsApp;
549  QAction *openSettingsAct;
550  QAction *webCrawlerAct;
551 
552  QAction *netDensity, *analyzeGraphSymmetryAct, *analyzeGraphDistanceAct, *averGraphDistanceAct,
553  *analyzeMatrixDistancesGeodesicAct, *analyzeMatrixGeodesicsAct, *analyzeGraphDiameterAct, *analyzeGraphEccentricityAct;
555  QAction *analyzeGraphWalksAct,*analyzeGraphWalksTotalAct, *analyzeMatrixReachabilityAct, *analyzeGraphConnectednessAct;
556  QAction *analyzeCommunitiesCliquesAct, *clusteringCoefAct, *analyzeCommunitiesTriadCensusAct;
557  QAction *analyzeMatrixAdjTransposeAct, *analyzeMatrixAdjInvertAct;
559  QAction *analyzeMatrixDegreeAct, *analyzeMatrixLaplacianAct;
560  QAction *analyzeStrEquivalenceClusteringHierarchicalAct, *analyzeStrEquivalencePearsonAct;
562  QAction *cDegreeAct, *cInDegreeAct, *cClosenessAct, *cInfluenceRangeClosenessAct,
563  *cBetweennessAct, *cInformationAct, *cEigenvectorAct, *cPageRankAct,
564  *cStressAct, *cPowerAct, *cEccentAct, *cProximityPrestigeAct;
565  QAction *randLayoutAct, *randCircleLayoutAct, *layoutGuidesAct;
566  QAction *layoutCircular_DC_Act, *layoutCircular_DP_Act,
567  *layoutCircular_CC_Act, *layoutCircular_SC_Act, *layoutCircular_EC_Act,
568  *layoutCircular_PC_Act, *layoutCircular_BC_Act, *layoutCircular_IC_Act,
569  *layoutCircular_IRCC_Act,*layoutCircular_PRP_Act, *layoutCircular_PP_Act;
570  QAction *layoutLevel_DC_Act, *layoutLevel_DP_Act,
571  *layoutLevel_CC_Act, *layoutLevel_SC_Act, *layoutLevel_EC_Act,
572  *layoutLevel_PC_Act, *layoutLevel_BC_Act, *layoutLevel_IC_Act,
573  *layoutLevel_IRCC_Act,*layoutLevel_PRP_Act, *layoutLevel_PP_Act;
574  QAction *strongColorationAct, *regularColorationAct;
575  QAction *springLayoutAct, *FRLayoutAct;
576  QAction *nodeSizesByOutDegreeAct, *nodeSizesByInDegreeAct;
577  QAction *editRelationNextAct, *editRelationPreviousAct, *editRelationAddAct;
579  enum { MaxRecentFiles = 5 };
580  QAction *recentFileActs[MaxRecentFiles];
581 
582  QString fileName, previous_fileName, fileNameNoPath, progressMsg;
583  QString settingsFilePath, settingsDir ;
584  QStringList fortuneCookie;
585  QStringList tempFileNameNoPath, tips, recentFiles;
586  int statusBarDuration, progressCounter;
587  int fileType, maxNodes;
589  //QString VERSION;
590 
592  bool considerWeights, inverseWeights, askedAboutWeights;
594  QString initFileCodec;
595 
596  QLabel *rightPanelEdgesLabel, *rightPanelSelectedEdgesLabel, *rightPanelNetworkTypeLabel ;
598  QLCDNumber *rightPanelClickedNodeInDegreeLCD, *rightPanelClickedNodeOutDegreeLCD;
599  QLCDNumber *rightPanelClickedNodeLCD, *rightPanelClickedNodeClucofLCD;
600  QLCDNumber *rightPanelNodesLCD, *rightPanelEdgesLCD, *rightPanelDensityLCD;
601  QLCDNumber *rightPanelSelectedNodesLCD, *rightPanelSelectedEdgesLCD;
602  QLCDNumber *rightPanelClickedEdgeSourceLCD, *rightPanelClickedEdgeTargetLCD;
604  QDateTime actualDateTime, actualDate, actualTime;
605  QTime eTime; //used to time algorithms.
606 
607 
608 };
609 #endif
610 
DialogSettings * m_settingsDialog
Definition: mainwindow.h:464
QString userSelectedCodecName
Definition: mainwindow.h:473
QAction * editRelationPreviousAct
Definition: mainwindow.h:577
Definition: dialogclusteringhierarchical.h:35
QAction * helpCheckUpdatesApp
Definition: mainwindow.h:548
QString progressMsg
Definition: mainwindow.h:582
QCheckBox * toolBoxNodeSizesByOutDegreeBx
Definition: mainwindow.h:496
Definition: dialogsettings.h:38
GraphicsWidget * graphicsWidget
Definition: mainwindow.h:450
Definition: dialogdissimilarities.h:35
QAction * openTextEditorAct
Definition: mainwindow.h:520
QSlider * zoomSlider
Definition: mainwindow.h:511
QAction * editNodeNumbersColorAct
Definition: mainwindow.h:541
QGraphicsScene * scene
Definition: mainwindow.h:449
QAction * networkExportSM
Definition: mainwindow.h:515
QAction * cStressAct
Definition: mainwindow.h:562
QAction * analyzeMatrixReachabilityAct
Definition: mainwindow.h:555
QAction * editEdgeWeightAct
Definition: mainwindow.h:536
DialogDissimilarities * m_dialogdissimilarities
Definition: mainwindow.h:467
Definition: node.h:56
QAction * editNodeSelectedToLineAct
Definition: mainwindow.h:530
QMenu * colorationMenu
Definition: mainwindow.h:495
static const int USER_MSG_CRITICAL_NO_EDGES
Definition: mainwindow.h:59
QAction * editEdgeUndirectedAllAct
Definition: mainwindow.h:540
QStringList fortuneCookie
Definition: mainwindow.h:584
The Graph class This is the main class for a Graph, used in conjuction with Vertex, Parser and Matrix objects. Graph class methods are the interface to various analysis algorithms Vertex class holds each vertex data (colors, strings, statistics, etc) Matrix class holds the adjacency matrix of the network. Parser class loads files of networks.
Definition: graph.h:192
static const int USER_MSG_CRITICAL
Definition: mainwindow.h:57
QAction * createSmallWorldRandomNetworkAct
Definition: mainwindow.h:525
Definition: dialograndregular.h:37
QAction * analyzeMatrixLaplacianAct
Definition: mainwindow.h:559
QMenu * matrixMenu
Definition: mainwindow.h:492
QAction * editFilterEdgesUnilateralAct
Definition: mainwindow.h:538
QLCDNumber * rightPanelNodesLCD
Definition: mainwindow.h:600
DialogDataSetSelect m_datasetSelectDialog
Definition: mainwindow.h:457
QAction * clusteringCoefAct
Definition: mainwindow.h:556
QAction * zoomOutAct
Definition: mainwindow.h:508
QLCDNumber * rightPanelSelectedNodesLCD
Definition: mainwindow.h:601
QAction * networkImportTwoModeSM
Definition: mainwindow.h:518
int maxNodes
Definition: mainwindow.h:587
QMenu * recentFilesSubMenu
Definition: mainwindow.h:493
Definition: edge.h:54
QMenu * randomLayoutMenu
Definition: mainwindow.h:494
DialogClusteringHierarchical * m_dialogClusteringHierarchical
Definition: mainwindow.h:468
DialogPreviewFile * m_dialogPreviewFile
Definition: mainwindow.h:471
static const int USER_MSG_CRITICAL_NO_NETWORK
Definition: mainwindow.h:58
DialogRandErdosRenyi * m_randErdosRenyiDialog
Definition: mainwindow.h:460
QProgressDialog * progressDialog
Definition: mainwindow.h:486
QMenu * optionsMenu
Definition: mainwindow.h:489
QAction * layoutCircular_SC_Act
Definition: mainwindow.h:566
QAction * strongColorationAct
Definition: mainwindow.h:574
DialogRandSmallWorld * m_randSmallWorldDialog
Definition: mainwindow.h:461
Definition: dialogsimilaritypearson.h:35
QAction * editNodePropertiesAct
Definition: mainwindow.h:532
QString initFileCodec
Definition: mainwindow.h:594
QAction * editRelationRenameAct
Definition: mainwindow.h:578
Definition: dialogranderdosrenyi.h:35
QAction * transformNodes2EdgesAct
Definition: mainwindow.h:539
QList< QTextCodec * > codecs
Definition: mainwindow.h:472
DialogFilterEdgesByWeight m_DialogEdgeFilterByWeight
Definition: mainwindow.h:455
QComboBox * toolBoxLayoutForceDirectedSelect
Definition: mainwindow.h:503
QMap< QString, QString > appSettings
Definition: mainwindow.h:453
QGroupBox * rightPanel
Definition: mainwindow.h:482
int statusBarDuration
Definition: mainwindow.h:586
Definition: dialognodeedit.h:37
QLCDNumber * rightPanelClickedNodeOutDegreeLCD
Definition: mainwindow.h:598
QAction * editNodeSelectNoneAct
Definition: mainwindow.h:528
QPushButton * removeNodeBt
Definition: mainwindow.h:505
DialogRandRegular * m_randRegularDialog
Definition: mainwindow.h:463
QDateTime actualTime
Definition: mainwindow.h:604
QMenu * importSubMenu
Definition: mainwindow.h:488
DialogSimilarityPearson * m_dialogSimilarityPearson
Definition: mainwindow.h:465
static const QString VERSION
Definition: mainwindow.h:54
Graph activeGraph
Definition: mainwindow.h:451
QAction * optionsNodeNumbersVisibilityAct
Definition: mainwindow.h:527
QAction * analyzeStrEquivalencePearsonAct
Definition: mainwindow.h:560
Definition: dialogdatasetselect.h:35
QStringList tips
Definition: mainwindow.h:585
QAction * analyzeMatrixAdjTransposeAct
Definition: mainwindow.h:557
QAction * openSettingsAct
Definition: mainwindow.h:549
Definition: texteditor.h:38
QAction * springLayoutAct
Definition: mainwindow.h:575
Definition: webcrawlerdialog.h:39
QAction * editEdgeRemoveAct
Definition: mainwindow.h:533
QLabel * rightPanelSelectedEdgesLabel
Definition: mainwindow.h:596
QAction * webCrawlerAct
Definition: mainwindow.h:550
QAction * createGaussianRandomNetworkAct
Definition: mainwindow.h:523
QAction * editNodeRemoveAct
Definition: mainwindow.h:531
QComboBox * editRelationChangeCombo
Definition: mainwindow.h:484
Definition: dialogsimilaritymatches.h:35
QTime eTime
Definition: mainwindow.h:605
QToolButton * zoomOutBtn
Definition: mainwindow.h:509
QComboBox * toolBoxEditNodeSubgraphSelect
Definition: mainwindow.h:497
QMenu * strEquivalenceMenu
Definition: mainwindow.h:491
static const int USER_MSG_QUESTION_CUSTOM
Definition: mainwindow.h:61
Definition: dialograndsmallworld.h:35
QAction * optionsEdgeArrowsAct
Definition: mainwindow.h:545
Definition: dialograndscalefree.h:35
float randomErdosEdgeProb
Definition: mainwindow.h:593
QToolBar * toolBar
Definition: mainwindow.h:480
QAction * optionsEdgeWeightNumbersAct
Definition: mainwindow.h:544
QLCDNumber * rightPanelClickedNodeLCD
Definition: mainwindow.h:599
QPrinter * printer
Definition: mainwindow.h:479
QPushButton * toolBoxLayoutForceDirectedButton
Definition: mainwindow.h:506
QAction * tipsApp
Definition: mainwindow.h:547
QMenu * viewOptionsMenu
Definition: mainwindow.h:490
QAction * editNodeSizeAllAct
Definition: mainwindow.h:535
bool markedNodesExist
Definition: mainwindow.h:591
QString settingsFilePath
Definition: mainwindow.h:583
static const int USER_MSG_QUESTION
Definition: mainwindow.h:60
QAction * optionsEdgeLabelsAct
Definition: mainwindow.h:546
QAction * randLayoutAct
Definition: mainwindow.h:565
Definition: graphicswidget.h:53
QAction * analyzeStrEquivalenceMatchesAct
Definition: mainwindow.h:561
QAction * createScaleFreeRandomNetworkAct
Definition: mainwindow.h:524
QAction * networkSaveAs
Definition: mainwindow.h:513
DialogSimilarityMatches * m_dialogSimilarityMatches
Definition: mainwindow.h:466
bool inverseWeights
Definition: mainwindow.h:592
int fortuneCookiesCounter
Definition: mainwindow.h:588
QAction * filterNodesAct
Definition: mainwindow.h:537
QLCDNumber * rightPanelClickedEdgeWeightLCD
Definition: mainwindow.h:603
QAction * nodeSizesByOutDegreeAct
Definition: mainwindow.h:576
QLabel * rightPanelClickedEdgeHeaderLabel
Definition: mainwindow.h:597
QAction * editNodeSelectedToStarAct
Definition: mainwindow.h:529
Definition: dialogfilteredgesbyweight.h:37
QComboBox * toolBoxLayoutByIndexTypeSelect
Definition: mainwindow.h:502
QAction * editNodeNumbersSizeAct
Definition: mainwindow.h:534
static const int USER_MSG_INFO
Definition: mainwindow.h:56
QAction * layoutLevel_SC_Act
Definition: mainwindow.h:570
Definition: dialogpreviewfile.h:41
QAction * netDensity
Definition: mainwindow.h:552
The base window of SocNetV contains all widgets and functionality.
Definition: mainwindow.h:105
DialogNodeEdit * m_nodeEditDialog
Definition: mainwindow.h:459
QAction * analyzeStrEquivalenceTieProfileDissimilaritiesAct
Definition: mainwindow.h:554
DialogRandScaleFree * m_randScaleFreeDialog
Definition: mainwindow.h:462
WebCrawlerDialog m_WebCrawlerDialog
Definition: mainwindow.h:456
QLCDNumber * rightPanelClickedEdgeTargetLCD
Definition: mainwindow.h:602
QList< TextEditor * > m_textEditors
Definition: mainwindow.h:477
QAction * analyzeMatrixAdjCocitationAct
Definition: mainwindow.h:558