⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainimpl.h

📁 用Qt4编写的linux IDE开发环境
💻 H
字号:
/** This file is part of QDevelop, an open-source cross-platform IDE* Copyright (C) 2006  Jean-Luc Biord** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA** Contact e-mail: Jean-Luc Biord <jl.biord@free.fr>* Program URL   : http://qdevelop.org**/#ifndef MAINIMPL_H#define MAINIMPL_H#include "ui_main.h"#include "debug.h"#include <QDateTime>#include <QFont>#include <QTextCharFormat>#include <QTextBlock>#include "treeproject.h"class QProcess;class Editor;class Build;class QComboBox;class ProjectManager;class Assistant;class Designer;class QActionGroup;class TabWidget;class FindFileImpl;class StackImpl;class InitCompletion;//typedef QPair<Editor *, QTextBlock> Bookmark;Q_DECLARE_METATYPE(Bookmark)//class MainImpl : public QMainWindow, public Ui::Main{Q_OBJECTpublic:	void automaticCompilationState(Editor *editor, int state);	QList<Editor *> allEditors();	MainImpl(QWidget * parent = 0);	~MainImpl();	enum ExecuteVersion { ExecuteNone, ExecuteRelease, ExecuteDebug};	Editor * openFile(QStringList locationsList, int numLine=-1, bool silentMode=false, bool moveTop=false);	QString loadINI();	bool saveBeforeBuild() { return m_saveBeforeBuild; };	bool openProject(QString s);	QString qmakeName() { return m_qmakeName; };	QString ctagsName() { return m_ctagsName; };	QString lupdateName() { return m_lupdateName; };	QString lreleaseName() { return m_lreleaseName; };	enum EndLine { Default, Unix, Windows };	TabWidget *tabEditors() const { return m_tabEditors; };	bool ctagsIsPresent() { return m_ctagsIsPresent; };	QKeySequence shortcutCut() { return actionCut->shortcut(); };	QKeySequence shortcutPaste() { return actionPaste->shortcut(); };	QKeySequence shortcutUndo() { return actionUndo->shortcut(); };	QKeySequence shortcutRedo() { return actionRedo->shortcut(); };	void closeTab(int numTab);	void closeOtherTab(int numTab);	bool showTreeClasses() { return m_showTreeClasses; };	void toggleBookmark(Editor *editor, QString text, bool activate, QTextBlock block);	QMenu *bookmarksMenu() { return menuBookmarks; };	const QList<ParsedItem> *treeClassesItems() { return treeClasses->treeClassesItems(); };	void loadPlugins();	void renameEditor(QString oldName, QString newName);	void configureCompletion(QString projectDirectory);	void gotoFileInProject(QString& filename);	Editor * currentEditor();	Editor * givenEditor(int i);	void resetProjectsDirectoriesList();	void resetDebugAfterBuild();	int mibCodec() { return m_mibCodec;	}	void checkQtDatabase();	InitCompletion* buildQtDatabase() { return m_buildQtDatabase; }private:	// Functions	void createConnections();	void updateActionsRecentsFiles();	void updateActionsRecentsProjects();	QString strippedName(const QString &fullFileName);	void setCurrentProject(const QString &file);	void setCurrentFile(const QString &file);	void saveINI();	void setCrossButton(bool activate);	bool modifiedEditors();	// Objects and Variables	bool m_automaticCompilation;	QColor m_textColor;	bool m_buildQtDatabaseAsked;	Build *m_builder;	Debug *m_debug;	ProjectManager *m_projectManager;	enum { maxRecentsFiles = 10 };	QAction *actionsRecentsFiles[maxRecentsFiles];	enum { maxRecentsProjects = 10 };	QAction *actionsProjetsRecents[maxRecentsProjects];	QStringList m_projectsDirectoriesList;	bool m_clean;	bool m_build;	Assistant *m_assistant;	Designer *m_designer;	QFont m_font;	int m_tabStopWidth;	QString m_qmakeName;	QString m_makeName;	QString m_makeOptions;	QString m_gdbName;	QString m_ctagsName;	QString m_linguistName;	QString m_lupdateName;	QString m_lreleaseName;	QString m_designerName;	QString m_qtInstallHeaders;	QString m_projectsDirectory;	QString m_pluginsDirectory;	QString m_includeDirectory;	QString m_documentationDirectory;	bool m_lineNumbers, m_selectionBorder, m_autoIndent, m_cppHighlighter;	bool m_saveBeforeBuild;	bool m_restoreOnStart;	bool m_promptBeforeQuit;	ExecuteVersion m_debugAfterBuild;	bool m_buildAfterDebug;	bool m_checkEnvironmentOnStartup;	bool m_autoMaskDocks;	bool m_autoCompletion;	bool m_autobrackets;	bool m_match;	bool m_highlightCurrentLine;	bool m_ctagsIsPresent;	bool m_configureCompletionNeeded;	QColor m_backgroundColor;	QColor m_currentLineColor;	QColor m_matchingColor;	EndLine m_endLine;	bool m_tabSpaces;	bool m_closeButtonInTabs;	bool m_displayEditorToolbars;	bool m_displayWhiteSpaces;	QToolButton *crossButton;	QPointer<QActionGroup> m_projectGroup;	QPointer<QActionGroup> m_buildingGroup;	QTextCharFormat m_formatPreprocessorText, m_formatQtText, m_formatSingleComments;	QTextCharFormat m_formatMultilineComments, m_formatQuotationText, m_formatMethods, m_formatKeywords;	TabWidget *m_tabEditors;	FindFileImpl *m_findInFiles;	StackImpl *m_stack;	int m_intervalUpdatingClasses;	bool m_showTreeClasses;	InitCompletion *m_completion;	InitCompletion *m_buildQtDatabase;	QAction *actionActiveBookmark;	int m_mibCodec;	//QList<Editor *> m_maximizedEditors;	QAction *separatorOtherFile, *actionOtherFile;	QHash<QWidget*,bool> toolbarStatus;protected:	void closeEvent( QCloseEvent * event );private slots:	void slotClearAllWarningsErrors();	void slotPreviousWarningError();	void slotNextWarningError();	void slotQmake();	void slotOpen();	void slotOpenProject();	void slotSaveFile();	void slotCompleteCode();	void slotSaveFileAs();	bool slotSaveAll();	void slotBuild(bool clean=false, bool build=true, bool forceQmake=false);	void slotNewProject();	void slotRebuild();	void slotStopBuild();	void slotClean();	void slotCut();	void slotCopy();	void slotPaste();	void slotUndo();	void slotRedo();	void slotGotoLine();	void slotSelectAll();	void slotUnindent();	void slotIndent();	void slotFind();	void slotReplace();	void slotFindContinue();	void slotFindPrevious();	void slotEndBuild();	bool slotDebug(bool executeOnly=false);	void slotExecuteWithoutDebug();	void slotContinueDebug();	void slotEndDebug();	void slotMessagesDebug(QString message);	void slotFindFilesActivated(QListWidgetItem *item, QListWidgetItem *);	void slotDoubleClickFindLines( QListWidgetItem *item);		void slotModifiedEditor(Editor *editor, bool modified);	void slotStepInto();	void slotStepOver();	void slotStepOut();	void slotEditToGdb(QString);	void slotOnPause();	void slotOpenRecentFile();	void slotOpenRecentProject();	void slotAbout();	void slotHelpQtWord();	void slotOptions();	void slotClickTreeFiles(QTreeWidgetItem *item, int);	void slotCloseCurrentTab();	void slotPreviousTab();	void slotNextTab();	void slotOtherFile();	void slotSetFocusToEditor();	void slotToggleBreakpoint();		void slotShortcuts();	void slotFindInFiles();	void slotNewFile();	void slotToggleComment();	void slotComment();	void slotUncomment();	void slotParameters();	void slotCurrentTabChanged(int index);	void slotDebugVariables( QList<Variable> list);	void slotAddDebugVariable();	void slotRemoveDebugVariable();	void slotToggleBookmark();		void slotActivateBookmark(QAction *action=0);	void slotPreviousBookmark();	void slotNextBookmark();	void slotClearAllBookmarks();	void slotGotoMatchingBracket();	void slotTextEditPlugin();	void slotConfigPlugin();	void slotPrint();	void slotOpenFile();	void slotGotoDeclaration();	void slotGotoImplementation();	void slotMethodsList();	void slotNewQtVersion();	void slotUpdateOtherFileActions();	void on_actionEditor_mode_triggered();public slots:	void slotCompile(bool automaticCompilation=false);	void slotBuildQtDatabaseEnded();	void slotShowMessage(QString message);	void slotDoubleClickTreeFiles(QTreeWidgetItem *item, int);	bool slotCloseAllFiles();	void slotToolsControl(bool show=true);	void slotUpdateClasses(QString filename, QString buffer);	bool slotCloseProject(bool hide=false);	//void slotShowMaximized(Editor *editor=0);signals:	void debugCommand(QString);	void stopBuild();	void stopDebug();	void pauseDebug();	void resetExecutedLine();	void otherVariables(QStringList);};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -