Editor.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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. //---------------------------------------------------------------------------
  18. class TEditorForm : public TForm
  19. {
  20. __published:
  21. TActionList *EditorActions;
  22. TImageList *EditorImages;
  23. TAction *SaveAction;
  24. TCoolBar *TopCoolBar;
  25. TToolBar *ToolBar;
  26. TToolButton *ToolButton1;
  27. TRichEdit *EditorMemo;
  28. TStatusBar *StatusBar;
  29. TToolButton *ToolButton2;
  30. TToolButton *ToolButton3;
  31. TToolButton *ToolButton4;
  32. TToolButton *ToolButton5;
  33. TToolButton *ToolButton6;
  34. TToolButton *ToolButton7;
  35. TToolButton *ToolButton8;
  36. TEditCut *EditCut;
  37. TEditCopy *EditCopy;
  38. TEditPaste *EditPaste;
  39. TEditSelectAll *EditSelectAll;
  40. TEditUndo *EditUndo;
  41. TEditDelete *EditDelete;
  42. TToolButton *ToolButton9;
  43. TToolButton *ToolButton10;
  44. TAction *PreferencesAction;
  45. TToolButton *ToolButton11;
  46. TAction *CloseAction;
  47. TToolButton *ToolButton12;
  48. TAction *FindAction;
  49. TAction *ReplaceAction;
  50. TAction *FindNextAction;
  51. TAction *GoToLineAction;
  52. TToolButton *ToolButton13;
  53. TToolButton *ToolButton14;
  54. TToolButton *ToolButton15;
  55. TToolButton *ToolButton16;
  56. TToolButton *ToolButton17;
  57. TFindDialog *FindDialog;
  58. TReplaceDialog *ReplaceDialog;
  59. TPopupMenu *EditorPopup;
  60. TMenuItem *Undo1;
  61. TMenuItem *N1;
  62. TMenuItem *Cut1;
  63. TMenuItem *Copy1;
  64. TMenuItem *Paste1;
  65. TMenuItem *Delete1;
  66. TMenuItem *N2;
  67. TMenuItem *SelectAll1;
  68. TMenuItem *N3;
  69. TMenuItem *Find1;
  70. TMenuItem *Replace1;
  71. TMenuItem *Findnext1;
  72. TMenuItem *Gotolinenumber1;
  73. void __fastcall EditorActionsUpdate(TBasicAction *Action, bool &Handled);
  74. void __fastcall EditorActionsExecute(TBasicAction *Action,
  75. bool &Handled);
  76. void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
  77. void __fastcall EditorMemoMouseUp(TObject *Sender, TMouseButton Button,
  78. TShiftState Shift, int X, int Y);
  79. void __fastcall EditorMemoKeyUp(TObject *Sender, WORD &Key,
  80. TShiftState Shift);
  81. void __fastcall EditorMemoChange(TObject *Sender);
  82. void __fastcall FindDialogFind(TObject *Sender);
  83. void __fastcall FormShow(TObject *Sender);
  84. private:
  85. AnsiString FFileName;
  86. TNotifyEvent FOnFileChanged;
  87. TCustomForm * FParentForm;
  88. TFindDialog * FLastFindDialog;
  89. TPoint FCaretPos;
  90. void __fastcall SetFileName(const AnsiString value);
  91. void __fastcall SetParentForm(TCustomForm * value);
  92. public:
  93. __fastcall TEditorForm(TComponent* Owner);
  94. virtual __fastcall ~TEditorForm();
  95. bool __fastcall Execute();
  96. __property AnsiString FileName = { read = FFileName, write = SetFileName };
  97. __property TNotifyEvent OnFileChanged = { read = FOnFileChanged, write = FOnFileChanged };
  98. __property TCustomForm * ParentForm = { read = FParentForm, write = SetParentForm };
  99. protected:
  100. void __fastcall ApplyConfiguration();
  101. bool __fastcall CursorInUpperPart();
  102. void __fastcall Find();
  103. void __fastcall GoToLine();
  104. void __fastcall LoadFile();
  105. void __fastcall PositionFindDialog(bool VerticalOnly);
  106. void __fastcall StartFind(bool Find);
  107. void __fastcall UpdateControls();
  108. };
  109. //---------------------------------------------------------------------------
  110. #endif