Editor.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. //---------------------------------------------------------------------------
  2. #ifndef EditorH
  3. #define EditorH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <Controls.hpp>
  7. #include <StdCtrls.hpp>
  8. #include <Forms.hpp>
  9. #include <ComCtrls.hpp>
  10. #include <ToolWin.hpp>
  11. #include <ActnList.hpp>
  12. #include <ImgList.hpp>
  13. #include <ExtCtrls.hpp>
  14. #include <StdActns.hpp>
  15. #include <Dialogs.hpp>
  16. #include <Menus.hpp>
  17. #include "TB2Dock.hpp"
  18. #include "TBX.hpp"
  19. #include "TB2Item.hpp"
  20. #include "TB2Toolbar.hpp"
  21. #include "TBXStatusBars.hpp"
  22. //---------------------------------------------------------------------------
  23. class TRichEdit20;
  24. //---------------------------------------------------------------------------
  25. class TEditorForm : public TForm
  26. {
  27. __published:
  28. TActionList *EditorActions;
  29. TImageList *EditorImages;
  30. TAction *SaveAction;
  31. TTBXDock *TopDock;
  32. TTBXToolbar *ToolBar;
  33. TTBXStatusBar *StatusBar;
  34. TEditCut *EditCut;
  35. TEditCopy *EditCopy;
  36. TEditPaste *EditPaste;
  37. TEditSelectAll *EditSelectAll;
  38. TEditUndo *EditUndo;
  39. TEditDelete *EditDelete;
  40. TAction *PreferencesAction;
  41. TAction *CloseAction;
  42. TAction *FindAction;
  43. TAction *ReplaceAction;
  44. TAction *FindNextAction;
  45. TAction *GoToLineAction;
  46. TTBXItem *TBXItem1;
  47. TTBXItem *TBXItem2;
  48. TTBXSeparatorItem *TBXSeparatorItem1;
  49. TTBXItem *TBXItem3;
  50. TTBXItem *TBXItem4;
  51. TTBXItem *TBXItem5;
  52. TTBXItem *TBXItem6;
  53. TTBXItem *TBXItem7;
  54. TTBXItem *TBXItem8;
  55. TTBXSeparatorItem *TBXSeparatorItem2;
  56. TTBXItem *TBXItem9;
  57. TTBXSeparatorItem *TBXSeparatorItem3;
  58. TTBXItem *TBXItem10;
  59. TTBXItem *TBXItem11;
  60. TTBXItem *TBXItem12;
  61. TTBXSeparatorItem *TBXSeparatorItem4;
  62. TTBXItem *TBXItem13;
  63. TTBXPopupMenu *EditorPopup;
  64. TTBXItem *Undo1;
  65. TTBXSeparatorItem *N1;
  66. TTBXItem *Cut1;
  67. TTBXItem *Copy1;
  68. TTBXItem *Paste1;
  69. TTBXItem *Delete1;
  70. TTBXSeparatorItem *N2;
  71. TTBXItem *SelectAll1;
  72. TTBXSeparatorItem *N3;
  73. TTBXItem *Find1;
  74. TTBXItem *Replace1;
  75. TTBXItem *Findnext1;
  76. TTBXItem *Gotolinenumber1;
  77. TTBXSeparatorItem *TBXSeparatorItem5;
  78. TTBXItem *TBXItem14;
  79. TAction *HelpAction;
  80. TTBXSeparatorItem *TBXSeparatorItem6;
  81. TTBXItem *TBXItem15;
  82. TAction *ReloadAction;
  83. TTBXItem *TBXItem16;
  84. TAction *EditRedo;
  85. TTBXItem *TBXItem17;
  86. TTBXItem *TBXItem18;
  87. void __fastcall EditorActionsUpdate(TBasicAction *Action, bool &Handled);
  88. void __fastcall EditorActionsExecute(TBasicAction *Action,
  89. bool &Handled);
  90. void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
  91. void __fastcall EditorMemoMouseUp(TObject *Sender, TMouseButton Button,
  92. TShiftState Shift, int X, int Y);
  93. void __fastcall EditorMemoKeyUp(TObject *Sender, WORD &Key,
  94. TShiftState Shift);
  95. void __fastcall EditorMemoChange(TObject *Sender);
  96. void __fastcall FindDialogFind(TObject *Sender);
  97. void __fastcall FormShow(TObject *Sender);
  98. void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
  99. private:
  100. AnsiString FFileName;
  101. TNotifyEvent FOnFileChanged;
  102. TNotifyEvent FOnFileReload;
  103. TNotifyEvent FOnWindowClose;
  104. TCustomForm * FParentForm;
  105. TFindDialog * FLastFindDialog;
  106. TPoint FCaretPos;
  107. TFindDialog * FFindDialog;
  108. TReplaceDialog * FReplaceDialog;
  109. bool FCloseAnnounced;
  110. TRichEdit20 * EditorMemo;
  111. void __fastcall SetFileName(const AnsiString value);
  112. void __fastcall SetParentForm(TCustomForm * value);
  113. public:
  114. __fastcall TEditorForm(TComponent* Owner);
  115. virtual __fastcall ~TEditorForm();
  116. void __fastcall ApplyConfiguration();
  117. __property AnsiString FileName = { read = FFileName, write = SetFileName };
  118. __property TNotifyEvent OnFileChanged = { read = FOnFileChanged, write = FOnFileChanged };
  119. __property TNotifyEvent OnFileReload = { read = FOnFileReload, write = FOnFileReload };
  120. __property TNotifyEvent OnWindowClose = { read = FOnWindowClose, write = FOnWindowClose };
  121. __property TCustomForm * ParentForm = { read = FParentForm, write = SetParentForm };
  122. protected:
  123. bool __fastcall CursorInUpperPart();
  124. void __fastcall Find();
  125. void __fastcall GoToLine();
  126. void __fastcall LoadFile();
  127. void __fastcall PositionFindDialog(bool VerticalOnly);
  128. void __fastcall StartFind(bool Find);
  129. void __fastcall UpdateControls();
  130. void __fastcall DoWindowClose();
  131. void __fastcall Reload();
  132. virtual void __fastcall CreateParams(TCreateParams & Params);
  133. };
  134. //---------------------------------------------------------------------------
  135. #endif