mainwindow.h
author insilmaril
Wed, 16 Jul 2008 10:46:14 +0000
changeset 721 12958f987bcf
parent 690 3bb6b1548c53
child 723 11f9124c1cca
permissions -rw-r--r--
Started to restructure for later use of Model/View
     1 #ifndef MAINWINDOW_H 
     2 #define MAINWINDOW_H
     3 
     4 #include <QMainWindow>
     5 
     6 #include "branchpropwindow.h"
     7 #include "extrainfodialog.h"
     8 #include "file.h"
     9 #include "findwindow.h"
    10 #include "historywindow.h"
    11 #include "mapeditor.h"
    12 #include "simplescripteditor.h"
    13 #include "texteditor.h"
    14 
    15 
    16 class Main : public QMainWindow 
    17 {
    18     Q_OBJECT
    19 
    20 public:
    21 	/*! Modifier modes are used when CTRL together with a mouse button is pressed */
    22 	enum ModMode {
    23 		ModModeNone,	//!< Unused
    24 		ModModeColor,	//!< Pick color from object
    25 		ModModeCopy,	//!< Copy object
    26 		ModModeXLink	//!< Create a XLink (XLinkObj) from selected object
    27 		};
    28 
    29     Main(QWidget* parent=0, const char* name=0, Qt::WFlags f=0);
    30     ~Main();
    31 	void loadCmdLine();
    32 	void statusMessage (const QString &);
    33 
    34 public slots:
    35     void fileNew();
    36     void fileNewCopy();
    37 
    38 protected:
    39 	void closeEvent( QCloseEvent* );
    40 
    41 private:
    42     void setupFileActions();
    43     void setupEditActions();
    44     void setupFormatActions();
    45     void setupViewActions();
    46     void setupModeActions();
    47     void setupWindowActions();
    48     void setupFlag(FlagObj *fo, QToolBar *tb, bool aw, const QString &name, const QString &tooltip);
    49     void setupFlagActions();
    50     void setupNetworkActions();
    51     void setupSettingsActions();
    52     void setupTestActions();
    53     void setupHelpActions();
    54     void setupContextMenus();
    55 	void setupRecentMapsMenu();
    56     void setupMacros();
    57 	void hideEvent (QHideEvent * );
    58 	void showEvent (QShowEvent * );
    59 	MapEditor* currentMapEditor() const;
    60 	VymModel* currentModel() const;
    61     
    62 private slots:
    63 	void editorChanged(QWidget*);
    64 
    65     ErrorCode fileLoad(QString ,const LoadMode &, const FileType & ftype=VymMap);
    66     void fileLoad(const LoadMode &);
    67     void fileLoad();
    68 	void fileLoadRecent();
    69 	void addRecentMap (const QString &);
    70     void fileSave(VymModel*, const SaveMode & );
    71     void fileSave();
    72 public slots:	
    73     void fileSave(VymModel*);	// autosave from MapEditor
    74 private slots:	
    75     void fileSaveAs(const SaveMode &);
    76     void fileSaveAs();
    77     void fileImportKDEBookmarks();
    78     void fileImportFirefoxBookmarks();
    79     void fileImportFreemind();
    80     void fileImportMM();
    81     void fileImportDir();
    82     void fileExportXML();
    83     void fileExportXHTML();
    84     void fileExportImage();
    85     void fileExportASCII();
    86     void fileExportCSV();
    87     void fileExportLaTeX();
    88     void fileExportKDEBookmarks();
    89     void fileExportTaskjuggler();
    90     void fileExportOOPresentation();
    91     void fileCloseMap();
    92     void filePrint();
    93     void fileExitVYM();
    94 
    95 public slots:
    96     void editUndo();	
    97     void editRedo();	
    98 	void gotoHistoryStep (int);
    99 private slots:	
   100     void editCopy();	
   101     void editPaste();	
   102     void editCut();	
   103     void editOpenFindWindow();
   104 	void editFind(QString);
   105 	void editFindChanged();
   106 private:
   107 	void openTabs(QStringList);
   108 public slots:
   109 	void editOpenURL();
   110 	void editOpenURLTab();
   111 private slots:
   112 	void editOpenMultipleURLTabs();
   113 	void editURL();
   114 	void editLocalURL();
   115 	void editHeading2URL();
   116 	void editBugzilla2URL();
   117 	void editFATE2URL();
   118 	void openVymLinks(const QStringList &);
   119 	void editVymLink();
   120 	void editOpenMultipleVymLinks();
   121     void editAttributeFinished();
   122 public slots:
   123     void editHeadingFinished(VymModel *m);
   124 //    void editHeading();
   125     void editAttribute();
   126 	void editOpenVymLink();
   127 private slots:
   128 	void editDeleteVymLink();
   129 	void editToggleHideExport();
   130 	void editMapInfo();
   131     void editMoveUp();	
   132     void editMoveDown();	
   133 	void editSortChildren();
   134     void editToggleScroll();
   135     void editUnscrollChildren();
   136     void editAddMapCenter();
   137     void editNewBranch();
   138     void editNewBranchBefore();
   139     void editNewBranchAbove();
   140     void editNewBranchBelow();
   141     void editImportAdd();
   142     void editImportReplace();
   143     void editSaveBranch();
   144     void editDeleteKeepChildren();
   145     void editDeleteChildren();
   146     void editDeleteSelection();
   147     void editUpperBranch();
   148     void editLowerBranch();
   149     void editLeftBranch();
   150     void editRightBranch();
   151     void editFirstBranch();
   152     void editLastBranch();
   153     void editLoadImage();
   154     void editSaveImage();
   155     void editFollowXLink (QAction *);
   156     void editEditXLink (QAction *);
   157 
   158     void formatSelectColor();
   159     void formatPickColor();
   160     void colorChanged(QColor);
   161     void formatColorBranch();
   162     void formatColorSubtree();
   163 	void formatLinkStyleLine();
   164 	void formatLinkStyleParabel();
   165 	void formatLinkStylePolyLine();
   166 	void formatLinkStylePolyParabel();
   167     void formatSelectBackColor();
   168     void formatSelectBackImage();
   169     void formatSelectLinkColor();
   170     void formatSelectSelectionColor();
   171     void formatToggleLinkColorHint();
   172 	void formatHideLinkUnselected();
   173 
   174     void viewZoomReset();
   175     void viewZoomIn();
   176     void viewZoomOut();
   177     void viewCenter();
   178 
   179 public slots:
   180 	void networkStartServer();
   181 	void networkConnect();
   182 	bool settingsPDF();
   183 	bool settingsURL();
   184 	void settingsMacroDir();
   185 	void settingsToggleDelKey();
   186 	void settingsUndoLevels();
   187 	void settingsAutosaveToggle();
   188 	void settingsAutosaveTime();
   189 	void settingsWriteBackupFileToggle();
   190 	void settingsToggleAnimation();
   191 
   192 	void windowToggleNoteEditor();
   193 	void windowToggleHistory();
   194 	void windowToggleProperty();
   195 	void updateHistory(SimpleSettings &);
   196 	void windowToggleAntiAlias();
   197 	void windowToggleSmoothPixmap();
   198 	void updateNoteFlag();
   199 	void updateSatellites(MapEditor *);
   200 	void updateActions();
   201 	ModMode getModMode();
   202 	bool autoEditNewBranch();
   203 	bool autoSelectNewBranch();
   204 	bool useFlagGroups();
   205 	void setScript(const QString &);
   206 	void runScript(const QString &);
   207 	void runScriptEverywhere (const QString &);
   208 
   209 private slots:
   210 	void windowNextEditor();
   211 	void windowPreviousEditor();
   212 	void windowShowNoteEditor();
   213 	void windowHideNoteEditor();
   214 
   215 	void standardFlagChanged();
   216 
   217     void testFunction1();
   218     void testFunction2();
   219     void testCommand();
   220 
   221     void helpDoc();
   222     void helpDemo();
   223     void helpAbout();
   224     void helpAboutQT();
   225 
   226 	void callMacro ();
   227 
   228 private:
   229 	QTabWidget *tabWidget;
   230 	FindWindow *findWindow;
   231 	QProcess *procBrowser;
   232 
   233 	QStringList imageTypes;
   234 
   235 	QList <VymModel*> models;
   236 
   237 	QLineEdit *lineedit;	// to enter headings of branches
   238 	QString prevSelection;
   239 
   240 	HistoryWindow *historyWindow;
   241 
   242 	BranchPropertyWindow *branchPropertyWindow;
   243 	SimpleScriptEditor *scriptEditor;
   244 
   245 	QList <QAction*> actionListBranches;
   246 
   247 	QColor currentColor;
   248 
   249 	int xLinkMenuWidth;
   250 
   251 	QMenu *recentFilesMenu;
   252 	enum { MaxRecentFiles = 9 };
   253     QAction *recentFileActions[MaxRecentFiles];
   254 
   255     QAction *macroActions[12];
   256 	QStringList macro;
   257 
   258 	QAction* actionFileNewCopy;
   259 	QAction* actionFileSave;
   260 	QAction* actionFilePrint;
   261 	QAction* actionEditUndo;
   262 	QAction* actionEditRedo;
   263 	QAction *actionEditCopy;
   264 	QAction *actionEditCut;
   265 	QAction *actionEditPaste;
   266 	QAction *actionEditMoveUp;
   267 	QAction *actionEditMoveDown;
   268 	QAction *actionEditSortChildren;
   269 	QAction *actionEditToggleScroll;
   270 	QAction* actionEditOpenURL;
   271 	QAction* actionEditOpenURLTab;
   272 	QAction* actionEditOpenMultipleURLTabs;
   273 	QAction* actionEditURL;
   274 	QAction* actionEditLocalURL;
   275 	QAction* actionEditHeading2URL;
   276 	QAction* actionEditBugzilla2URL;
   277 	QAction* actionEditFATE2URL;
   278 	QAction *actionEditOpenVymLink;
   279 	QAction *actionEditOpenMultipleVymLinks;
   280 	QAction *actionEditVymLink;
   281 	QAction *actionEditDeleteVymLink;
   282 	QAction *actionEditToggleHideExport;
   283 	QAction *actionEditMapInfo;
   284 	QAction *actionEditHeading;
   285 	QAction *actionEditDelete;
   286 	QAction *actionEditAddMapCenter;
   287 	QAction *actionEditAddBranch;
   288 	QAction *actionEditAddBranchBefore;
   289 	QAction *actionEditAddBranchAbove;
   290 	QAction *actionEditAddBranchBelow;
   291 	QAction *actionEditDeleteKeepChildren;
   292 	QAction *actionEditDeleteChildren;
   293 	QAction *actionEditImportAdd;
   294 	QAction *actionEditImportReplace;
   295 	QAction *actionEditSaveBranch;
   296 	QAction *actionEditSelectFirst;
   297 	QAction *actionEditSelectLast;
   298 	QAction *actionEditLoadImage;
   299 
   300 	QAction* actionFormatColor;
   301 	QAction* actionFormatPickColor;
   302 	QAction* actionFormatColorBranch;
   303 	QAction* actionFormatColorSubtree;
   304 	QAction* actionFormatLinkColorHint;
   305 	QAction* actionFormatBackColor;
   306 	QAction* actionFormatBackImage;
   307 	QAction* actionFormatLinkColor;
   308 	QAction* actionFormatSelectionColor;
   309 
   310 	QActionGroup* actionGroupModModes;
   311 	QAction* actionModModeColor;
   312 	QAction* actionModModeXLink;
   313 	QAction* actionModModeCopy;
   314 
   315 	QActionGroup *actionGroupFormatFrameTypes;
   316 
   317 
   318 	QActionGroup *actionGroupFormatLinkStyles;
   319 	QAction *actionFormatLinkStyleLine;
   320 	QAction *actionFormatLinkStyleParabel;
   321 	QAction *actionFormatLinkStylePolyLine;
   322 	QAction *actionFormatLinkStylePolyParabel;
   323 	QAction *actionFormatHideLinkUnselected;
   324 
   325 	QAction *actionViewToggleNoteEditor;
   326 	QAction *actionViewToggleHistoryWindow;
   327 	QAction *actionViewTogglePropertyWindow;
   328 	QAction *actionViewToggleAntiAlias;
   329 	QAction *actionViewToggleSmoothPixmapTransform;
   330 	QAction* actionViewCenter;
   331 
   332 	QAction* actionSettingsAutoEditNewBranch;
   333 	QAction* actionSettingsAutoSelectNewBranch;
   334 	QAction* actionSettingsAutoSelectText;
   335 	QAction* actionSettingsUseDelKey;
   336 	QAction* actionSettingsUseFlagGroups;
   337 	QAction* actionSettingsUseHideExport;
   338 	QAction* actionSettingsAutosaveToggle;
   339 	QAction* actionSettingsAutosaveTime;
   340 	QAction* actionSettingsWriteBackupFile;
   341 	QAction* actionSettingsUseAnimation;
   342 };
   343 
   344 
   345 #endif
   346