mainform.h 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. /*
  2. ktigcc - TIGCC IDE for KDE
  3. Copyright (C) 2007 Kevin Kofler
  4. This program is free software; you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation; either version 2, or (at your option)
  7. any later version.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with this program; if not, write to the Free Software Foundation,
  14. Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  15. */
  16. #pragma once
  17. #include "ui_mainform.h"
  18. class MainForm : public Q3MainWindow, public Ui::MainForm
  19. {
  20. Q_OBJECT
  21. public:
  22. MainForm(QWidget* parent = 0, const char* name = 0, Qt::WindowFlags fl = Qt::WType_TopLevel);
  23. ~MainForm();
  24. static void deleteErrorsForLVFile( Q3ListViewItem * item );
  25. static void deleteErrorsForSrcFile( void * srcFile );
  26. static void createErrorCursorsForSourceFile( Q3ListViewItem * item );
  27. static void deleteOverwrittenErrorsIn( void * srcFile );
  28. static QString SGetFileName( int mode, const QString & fileFilter, const QString & caption, QWidget * parent );
  29. static QStringList SGetFileName_Multiple( const QString & fileFilter, const QString & caption, QWidget * parent );
  30. void * createView( const QString & fileName, const QString & fileText, Q3ListViewItem * category );
  31. virtual void adoptSourceFile( void * srcFile );
  32. virtual bool openProject( const QString & fileName );
  33. int fileSavePrompt( Q3ListViewItem * fileItem );
  34. virtual void fileSave_fromto( const QString & lastProj, const QString & nextProj );
  35. virtual void findAndOpenFile( const QString & fileName, void * category );
  36. virtual void openHeader( const QString & fileName, bool systemHeader, unsigned lineno );
  37. virtual QString writeTempSourceFile( void * srcFile, bool inProject );
  38. virtual void compileSourceFile( void * srcFile );
  39. static QString tilibsErrorMessage( int err );
  40. virtual QString textForHeader( const QString & fileName );
  41. public slots:
  42. virtual void errorListView_clicked( Q3ListViewItem * item );
  43. virtual bool findSourceFile( bool & inProject, void * & srcFile, const QString & fileName );
  44. virtual void init();
  45. virtual void destroy();
  46. virtual void te_popup_aboutToShow();
  47. virtual void te_popup_activated( int index );
  48. virtual void accel_activated( int index );
  49. virtual void completionPopup_closed();
  50. virtual void fileTreeAccel_activated( int index );
  51. virtual void fileNewProject();
  52. virtual void fileOpen();
  53. virtual void fileRecent1();
  54. virtual void fileRecent2();
  55. virtual void fileRecent3();
  56. virtual void fileRecent4();
  57. virtual bool fileSave();
  58. virtual bool fileSaveAs();
  59. virtual void filePrint();
  60. virtual void filePrintQuickly();
  61. virtual void filePreferences();
  62. virtual void editUndo();
  63. virtual void editRedo();
  64. virtual void editClear();
  65. virtual void editCut();
  66. virtual void editCopy();
  67. virtual void editPaste();
  68. virtual void editSelectAll();
  69. virtual void editIncreaseIndent();
  70. virtual void editDecreaseIndent();
  71. virtual void findFind();
  72. virtual void findFind_next();
  73. virtual void findFind_highlight( const QString & unused_text, int matchingindex, int matchedlength );
  74. virtual void findFind_stop();
  75. virtual void findReplace();
  76. virtual void findReplace_next();
  77. virtual void findReplace_highlight( const QString & unused_text, int matchingindex, int matchedlength );
  78. virtual void findReplace_replace( const QString & text, int replacementIndex, int replacedLength, int matchedLength );
  79. virtual void findReplace_stop();
  80. virtual void findFunctions();
  81. virtual void findFunctions_functionListBox_highlighted( int index );
  82. virtual void findFunctions_functionListBox_selected( int index );
  83. virtual void findFunctions_prototypeButton_clicked();
  84. virtual void findFunctions_implementationButton_clicked();
  85. virtual void findFunctionsPopup_aboutToShow();
  86. virtual void findFunctionsPopup_aboutToHide();
  87. virtual void findFunctionsPopup_aboutToHide_async();
  88. virtual void findFunctionsPopup_activated( int id );
  89. virtual void findOpenFileAtCursor();
  90. virtual void findFindSymbolDeclaration();
  91. virtual void projectAddFiles();
  92. virtual void procio_processExited();
  93. virtual void procio_readReady();
  94. virtual void procio_readReady_recordOnly();
  95. virtual void projectCompile();
  96. virtual void projectMake();
  97. virtual void projectBuild();
  98. virtual void projectStopCompilation();
  99. virtual void projectForceQuit();
  100. virtual void projectErrorsAndWarnings( bool on );
  101. virtual void projectProgramOutput();
  102. virtual void projectOptions();
  103. virtual void debugRun();
  104. virtual void debugPause();
  105. virtual void debugReset();
  106. virtual void toolsConfigure();
  107. virtual void toolsMenu_highlighted( int id );
  108. virtual void toolsMenu_activated( int id );
  109. virtual void toolsMenu_aboutToHide();
  110. virtual void helpDocumentation();
  111. virtual void helpContents();
  112. virtual void helpIndex();
  113. virtual void helpSearch();
  114. virtual void helpNews();
  115. virtual void helpAbout();
  116. virtual void resizeEvent( QResizeEvent * event );
  117. virtual void timerEvent( QTimerEvent * event );
  118. virtual void fileTreeClicked( Q3ListViewItem * item );
  119. virtual void fileNewFolder();
  120. virtual void fileTreeContextMenuRequested( Q3ListViewItem * item, const QPoint & pos, int unused_col );
  121. virtual void fileNewCHeader();
  122. virtual void fileNewGNUAssemblyHeader();
  123. virtual void fileNewA68kAssemblyHeader();
  124. virtual void fileNewCSourceFile();
  125. virtual void fileNewGNUAssemblySourceFile();
  126. virtual void fileNewA68kAssemblySourceFile();
  127. virtual void fileNewQuillSourceFile();
  128. virtual void fileNewTextFile();
  129. virtual void statusBar_messageChanged( const QString & message );
  130. virtual void current_view_cursorPositionChanged();
  131. virtual void current_view_textChanged();
  132. virtual void current_view_undoChanged();
  133. virtual void current_view_selectionChanged();
  134. virtual void current_view_charactersInteractivelyInserted( int line, int col, const QString & characters );
  135. virtual void clipboard_dataChanged();
  136. virtual void fileTreeItemRenamed( Q3ListViewItem * item, const QString & newName, int col );
  137. virtual void KDirWatch_dirty( const QString & fileName );
  138. protected:
  139. virtual void closeEvent( QCloseEvent * e );
  140. protected slots:
  141. virtual void languageChange();
  142. private:
  143. void clearProject();
  144. QString findFilter( unsigned short job );
  145. void updateRecent();
  146. void addRecent( const QString & fileName );
  147. Q3ListViewItem * openFile( Q3ListViewItem * category, Q3ListViewItem * parent, const QString & fileCaption, const QString & fileName );
  148. static Q3ListViewItem * createFolder( Q3ListViewItem * parent, const QString & name );
  149. void fileOpen_addList( Q3ListViewItem * category, void * fileListV, void * dir, const QString & open_file );
  150. int savePrompt( void );
  151. void removeTrailingSpacesFromView( void * view );
  152. void fileSave_save( Q3ListViewItem * theItem );
  153. void fileSave_saveAs( Q3ListViewItem * theItem );
  154. void fileSave_loadList( Q3ListViewItem * category, void * fileListV, const QString & base_dir, void * dir_new, QString * open_file );
  155. void findReplace_next( bool firstTime );
  156. int projectAddFiles_oneFile( const QString & fileName );
  157. void startCompiling();
  158. void stopCompiling();
  159. void compileFile( void * srcFile, bool inProject, bool force );
  160. void compileProject( bool forceAll );
  161. void linkProject();
  162. void showStats();
  163. bool tiemuInstance( void * instanceName );
  164. void updateToolsMenu();
  165. void updateSizes();
  166. bool removeItem( Q3ListViewItem * item );
  167. QStringList extractAllFileNames( void );
  168. void extractFileTreeInfo( Q3ListViewItem * parent, Q3ListViewItem * * p_category, QString * p_folderPath );
  169. void newFile( Q3ListViewItem * parent, QString text, const QPixmap & pixmap );
  170. void newFile( Q3ListViewItem * parent );
  171. Q3ListViewItem * resolveParent( Q3ListViewItem * category );
  172. void updateLeftStatusLabel();
  173. void updateRightStatusLabel();
  174. void current_view_newLineHook();
  175. QString pathInProject( Q3ListViewItem * item );
  176. };