/*************************************************************************** * Copyright (C) 2006-2012 by Thomas Schweitzer * * thomas-schweitzer(at)arcor.de * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License version 2.0 as * * published by the Free Software Foundation. * * * * 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 in the file LICENSE.GPL; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include "MainWindowBase.h" #include "tqobjdefs.h" /// #include "UiGuiSettings.h" /// /// class UiGuiSettingsDialog; class AboutDialog; /// class AboutDialogGraphicsView; /// class UiGuiHighlighter; /// class IndentHandler class ToolBarWidget; /// /// class TQLabel; /// class TQScrollBar; /// class TQActionGroup; /// class TQTranslator; /// /// class QsciScintilla; class MainWindow : public MainWindowBase { TQ_OBJECT public: //! Constructor MainWindow(TQString file2OpenOnStart = "", TQWidget *parent = NULL); ~MainWindow(); ///-- protected: ///-- void closeEvent(TQCloseEvent *event); ///-- bool eventFilter(TQObject *obj, TQEvent *event); ///-- private slots: void openSourceFileDialog(TQString fileName = ""); bool saveSourceFile(); bool saveasSourceFileDialog(TQAction *chosenEncodingAction = NULL); ///-- void saveAsOtherEncoding(TQAction *chosenEncodingAction); ///-- void callIndenter(); ///-- void updateSourceView(); ///-- void turnHighlightOnOff(bool turnOn); ///-- void setWhiteSpaceVisibility(bool visible); ///-- void sourceCodeChangedHelperSlot(); ///-- void sourceCodeChangedSlot(); ///-- void indentSettingsChangedSlot(); void previewTurnedOnOff(bool turnOn); void exportToPDF(); void exportToHTML(); ///-- void languageChanged(int languageIndex); ///-- void encodingChanged(TQAction *encodingAction); ///-- void numberOfLinesChanged(); void updateRecentlyOpenedList(); void openFileFromRecentlyOpenedList(int recentlyOpenedActionId); void clearRecentlyOpenedList(); void showAboutDialog(); ///-- void setStatusBarCursorPosInfo(int line, int column); ///-- private: ///-- TQString loadFile(TQString filePath); ///-- TQString openFileDialog(TQString dialogHeaderStr, TQString startPath, TQString fileMaskStr); ///-- void updateWindowTitle(); ///-- void loadLastOpenedFile(); ///-- void saveSettings(); ///-- bool maybeSave(); ///-- void createEncodingMenu(); ///-- void createHighlighterMenu(); ///-- bool initApplicationLanguage(); void initMainWindow(); void initToolBar(); ///-- void initTextEditor(); ///-- void initSyntaxHighlighter(); ///-- void initIndenter(); ///-- void changeEvent(TQEvent *event); ///-- void dragEnterEvent(TQDragEnterEvent *event); ///-- void dropEvent(TQDropEvent *event); ///-- ///-- QsciScintilla *_qSciSourceCodeEditor; ///-- TQSharedPointer _settings; ///-- ///-- TQString _currentEncoding; ///-- TQString _sourceFileContent; ///-- TQString _sourceFormattedContent; ///-- TQString _sourceViewContent; ///-- UiGuiHighlighter *_highlighter; ///-- TQScrollBar *_textEditVScrollBar; AboutDialog *m_aboutDialog; ///-- AboutDialogGraphicsView *_aboutDialogGraphicsView; ///-- UiGuiSettingsDialog *_settingsDialog; int _actionClearRecentlyOpenedListId; ///-- int _textEditLastScrollPos; ///-- int _currentIndenterID; ///-- bool _loadLastSourceCodeFileOnStartup; ///-- TQString _currentSourceFile; ///-- TQString _currentSourceFileExtension; ///-- TQString _savedSourceContent; ///-- TQActionGroup *_encodingActionGroup; ///-- TQActionGroup *_saveEncodedActionGroup; ///-- TQActionGroup *_highlighterActionGroup; ///-- TQTranslator *_uiGuiTranslator; ///-- TQTranslator *_qTTranslator; ///-- bool _isFirstRunOfThisVersion; ///-- ///-- bool _sourceCodeChanged; ///-- bool _scrollPositionChanged; ///-- bool _indentSettingsChanged; ///-- bool _previewToggled; ///-- TQStringList _encodingsList; ///-- ToolBarWidget *m_toolBarWidget; ///-- IndentHandler *_indentHandler; ///-- TQLabel *_textEditLineColumnInfoLabel; }; #endif // MAINWINDOW_H