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

📄 editor.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 EDITOR_H#define EDITOR_H#include "textEdit.h"#include "mainimpl.h"#include "ui_findwidget.h"#include <QTextDocument>#include <QTextEdit>#include <QPointer>#include <QTextCursor>#include <QScrollBar>#include <QTimer>#include <QTextBlockUserData>//Q_DECLARE_METATYPE(Tag)//typedef struct{	QStringList textFind;	QStringList textReplace;	bool caseSensitive;	bool backwards;	bool wholeWords;	bool prompt;} ReplaceOptions;//typedef QMap<QString, QStringList> classesMethodsList; //class QToolButton;class TabWidget;class QComboBox;class QTimer;class TextEditInterface;class QHBoxLayout;//class BlockUserData : public QTextBlockUserData{public:	bool bookmark;	bool breakpoint;	QString breakpointCondition;	bool isTrue;	QString errorString;	QString warningString;	QTextBlock block;};//class Editor : public QWidget{Q_OBJECTprotected slots:	//void closeEvent(QCloseEvent * event);public:	void previousWarningError();	void nextWarningError();	void clearErrorsAndWarnings();	void setTextColor(QColor textColor);	Editor(TabWidget *parent, MainImpl *mainimpl, InitCompletion *completion, QString name="");	~Editor();	bool open(bool silentMode);	bool save();	bool close();	void setFilename(QString name) { m_filename = name; m_textEdit->document()->setModified(true);};	QString filename() { return m_filename; };	QString shortFilename();	QString directory();	static QString shortFilename(QString nomLong);	static QString suffixe(QString filename);	void findContinue();	void findPrevious();	QStringList classes();	QStringList methodes(QString classe);	QList<int> breakpoints();	void toggleBookmark(int line);	void clearAllBookmarks();	void deleteBreakpoint(int line);	void setBackgroundColor( QColor c ){ m_textEdit->setBackgroundColor(c); };	void setCurrentLineColor( QColor c ){ m_textEdit->setCurrentLineColor(c); };	void setMatchingColor( QColor c ){ m_textEdit->setMatchingColor(c); };	void setShowWhiteSpaces( bool b ){ m_textEdit->setShowWhiteSpaces( b ); }	void gotoMatchingBracket(){ m_textEdit->gotoMatchingBracket(); };	QString tempFilename(){ return m_textEdit->tempFilename(); };	void displayEditorToolbar( bool b );	int currentLineNumber(){ return m_textEdit->currentLineNumber(); };	int currentLineNumber(QTextBlock block){ return m_textEdit->currentLineNumber(block); };	void print(){ m_textEdit->print(); };	void toggleBreakpoint(int line, QString breakpointCondition, bool isTrue);	void setExecutedLine(int line);	void emitListBreakpoints();	void copy() { m_textEdit->copy(); };	void cut() { m_textEdit->cut(); };	void paste() { m_textEdit->paste(); };	void undo() { m_textEdit->document()->undo(); };	void redo() { m_textEdit->document()->redo(); };	void comment(TextEdit::ActionComment action) { m_textEdit->comment(action); };	void selectAll() { m_textEdit->selectAll(); };	void slotIndent() { m_textEdit->slotIndent(); };	void slotUnindent() { m_textEdit->slotUnindent(); };	void dialogGotoLine() { m_textEdit->dialogGotoLine(); };	void completeCode() { m_textEdit->completeCode(); };	void gotoImplementation() { m_textEdit->slotGotoImplementation(); };	void gotoDeclaration() { m_textEdit->slotGotoDeclaration(); };	QString wordUnderCursor() { return m_textEdit->wordUnderCursor(); };	void textPlugin(TextEditInterface *iTextEdit) { m_textEdit->textPlugin(iTextEdit); };	QString classNameUnderCursor() { return m_textEdit->classNameUnderCursor(); };	int verticalScrollBar() { return m_textEdit->verticalScrollBar()->value(); };	void setVerticalScrollBar(int s) { m_textEdit->verticalScrollBar()->setValue(s); };	void setAutobrackets(bool b) { m_textEdit->setAutobrackets(b); };	void setMatch(bool b) { m_textEdit->setMatch(b); };	void saveAsTemp() { m_textEdit->saveAsTemp(); };	void setHighlightCurrentLine(bool b) { m_textEdit->setHighlightCurrentLine(b); };	bool isModified() { return m_textEdit->document()->isModified(); };	void setFocus();	void replace();	void setActiveEditor(bool b);	void setIntervalUpdatingTreeClasses(int i) { m_intervalUpdatingClasses = i*1000;};	void setShowTreeClasses(bool s);	void toggleBreakpoint() { toggleBreakpoint( m_textEdit->currentLineNumber(), QString(), false ); };	void toggleBookmark() { toggleBookmark( m_textEdit->currentLineNumber() ); };	QList<int> bookmarksList();	QList<QTextBlock> breakpointsList();	bool inQuotations(int position, QString text);	QString toPlainText() { return m_textEdit->toPlainText(); };	void insertText(QString text, int insertAfterLine) { m_textEdit->insertText(text, insertAfterLine); };	void setNameOtherFile(QString oldName, QString newName);	void methodsList();	//void keyPress(QKeyEvent * event);	//		inline QString getOtherFileToolTip() { return m_otherFileButton->toolTip(); }	inline QString getOtherFileIcon() { return m_otherFileIcon; }	inline bool hasOtherFile() { return !m_nameOtherFile.isEmpty(); }public slots:	void slotEndBuild();	void gotoLine( int line, bool moveTop);	void slotComboClasses(QString text=QString());	void slotModifiedEditor(bool modified);	void setLineNumbers(bool activate) { m_textEdit->activateLineNumbers(activate); };	void setSelectionBorder(bool activate) { m_textEdit->setSelectionBorder(activate); };	void setFont(QFont fonte) { m_textEdit->setFont(fonte); };	void setEndLine(MainImpl::EndLine end) { m_textEdit->setEndLine(end); };	void setAutoIndent(bool activate) { m_textEdit->setAutoIndent(activate); };	void setSyntaxHighlight(bool activate);	void setTabStopWidth(int size) { m_textEdit->setTabStopWidth(size) ; };	void setAutoCompletion(bool activate) { m_textEdit->setAutoCompletion(activate) ; };	void setTabSpaces(bool t) { m_textEdit->setTabSpaces(t) ; };	void setSyntaxColors(QTextCharFormat a, QTextCharFormat b, QTextCharFormat c, QTextCharFormat d, QTextCharFormat e, QTextCharFormat f, QTextCharFormat g);	void slotClassesMethodsList();		void slotOtherFile();	void find();	QString selection();	void slotMessagesBuild(QString list, QString directory);	//void showMaximized();private slots:		//void slotMaximizeButtonClicked();	void slotComboMethods(int index);	void slotFindWidget_textChanged(QString text="", bool fromButton=false);	void slotFindPrevious();	void slotFindNext();	void slotTimerUpdateClasses();	void slotTimerCheckIfModifiedOutside();private:	TabWidget *m_parent;	QPointer<LineNumbers> m_lineNumbers;	QTextCursor m_previousCursor;	classesMethodsList m_classesMethodsList;	QString m_findExp;	QTextDocument::FindFlags m_findOptions;	QComboBox *m_comboClasses, *m_comboMethods;	QToolButton *m_otherFileButton;	QString m_otherFileIcon;	//QToolButton *m_maximizedButton;	QToolButton *m_refreshButton;	QString m_nameOtherFile;	MainImpl *m_mainimpl;	QWidget *m_findWidget;	TextEdit *m_textEdit;	QString m_filename;	Ui::FindWidget uiFind;	QTimer *autoHideTimer;	bool m_backward;	ReplaceOptions m_replaceOptions;	bool m_activeEditor;	QTimer m_timerUpdateClasses;	QTimer m_timerCheckLastModified;	bool m_showTreeClasses;	int m_intervalUpdatingClasses;	quint16 m_checksum;	InitCompletion *m_completion;	QDateTime m_lastModified;	QWidget *m_editorToolbar;	void checkBookmarks();	void updateOtherFile(QString currentFile);protected:signals:	void editorModified(Editor *, bool);	void refreshClasses(QString);	void breakpoint(QString, unsigned int, BlockUserData *); 	void updateClasses(QString, QString);	void otherFileChanged(void);};#endif

⌨️ 快捷键说明

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