{ *************************************************************************** }
{                                                                             }
{ EControl Syntax Editor SDK                                                  }
{                                                                             }
{ Copyright (c) 2004 - 2008 EControl Ltd., Zaharov Michael                    }
{     www.econtrol.ru                                                         }
{     support@econtrol.ru                                                     }
{                                                                             }
{ *************************************************************************** }
{$I ecSyntEdit.INC}

unit ecSyntReg;

interface

procedure Register;

implementation

{$R *.dcr}

uses Classes, Controls, Forms, ActnList,  SysUtils,
     ecSyntAnal, ecSyntMemo, ecSyntDlg, ecSyntTree, ecKeyMap, ecActns, ecActRes,
     ecExports, ecPopupCtrl, ecPrint, ecStylesCombo, ecPropManager, ecAutoReplace,
     ecSpell, ecExtHighlight, ecMacroRec{$IFNDEF EC_DOTNET}, ecSingleInst{$ENDIF},
     ecMultRepl, ecEmbObj, ecsnCodeTempl, ecsnColEdit, ecsnStyleEdit, ecSmartTags;

procedure Register;
begin
  RegisterComponents('EC SyntEdit', [TSyntaxMemo, TSyntAnalyzer, TSyntaxManager,
       TSyntaxTreeView, TSyntFindDialog, TSyntReplaceDialog,
       TSyntTextSource, TSyntKeyMapping, TSyntStyles, THTMLSyntExport, TRTFSyntExport,
       TTemplatePopup, TAutoCompletePopup, TecSyntPreview, TecSyntPrinter,
       TUserStylesCombo, TSyntAutoReplace,
       TecDictionary, TecSpellChecker, THyperlinkHighlighter, TParamCompletion,
       TecFormPrinter, TecMemoStateStorage, TecMacroRecorder, TecMultiReplace,
       TecEmbeddedObjects, TecSelCharPopup, TecFindInTreeDialog, TSmartTagManager]);
  RegisterComponents('EC System', [TPropsManager
       {$IFNDEF EC_DOTNET}, TecSingleInstance{$ENDIF}]);

  {$IFDEF EC_REGFRAMES}
  RegisterComponents('EC Frames', [TSyntCodeTemplFrame, TSyntColFrame, TSyntStyleFrame]);
  {$ENDIF}

  RegisterNoIcon([TLibSyntAnalyzer]);

  RegisterActions('EC Editor', [TecCommandAction, TecCopy, TecCut, TecPaste,
   TecClear, TecSelectAll, TecUndo, TecRedo, TecCopyAsRTF,
   TecIndent, TecUnindent, TecLowerCase, TecUpperCase, TecToggleCase,
   TecSyntMemoAction],
   TSyntEditActions);

  RegisterActions('EC Bookmark', [TecBookmarkGotoAction, TecBookmarkSetAction,
   TecBookmarkClearAction, TecBookmarkToggleAction,
   TecBookmarkClearAllAction], TSyntEditActions);

  RegisterActions('EC Search & Replace', [TecSearch, TecSearchAgain, TecSearchNext,
   TecSearchPrior, TecSearchAll, TecSearchFirst, TecSearchLast,
   TecReplace, TecReplaceAgain, TecReplaceNext, TecReplacePrior,
   TecReplaceAll, TecReplaceFirst, TecReplaceLast, TecIncrementalSearch,
   TecFindCurrentWordNextAction, TecFindCurrentWordPriorAction,
   TecMultiReplaceCustomizeAction,TecMultiReplaceSelectExecuteAction,
   TecMultiReplaceItemAction], TSyntEditActions);

  RegisterActions('EC User Ranges', [TecUserRangeDelete, TecUserRangeCollapsable,
   TecUserRangeTopLine, TecUserRangeBottomLine, TecUserRangeLineHighlight],
   TSyntEditActions);

  RegisterActions('EC Configuration', [TecCustomizeEditorOptionsAction,
   TecCustomizeSyntaxHighlightingAction, TecCustomizeLexerPropertiesAction,
   TecCustomizeKeyMappingAction, TecCustomizeUserStylesAction, TecCustomizeLexerLib,
   TecCustomizeAutoReplace],
   TSyntEditActions);

  RegisterActions('EC Print & Export', [TecPrintAction, TecPreviewAction,
   TecPageSetupAction, TecExportRTFAction, TecExportHTMLAction], TSyntEditActions);

  RegisterActions('EC Miscellaneous', [TecToggleCollapse, TecToggleCollapseNearest,
   TecFullCollapse, TecFullExpand, TecToggleNonPrinted, TecToggleWordWrap,
   TecToggleSyntTreeSync, TecSyncEditMode, TecCommentLines, TecUnCommentLines,
   TecInSelCollapse, TecInSelExpand, TecToggleFolding, TecSortAscending,
   TecSortDescending, TecGotoLine, TecToggleLineNumbersVisible],
   TSyntEditActions);

  RegisterActions('EC Formatting', [TecFormattingBold, TecFormattingItalic,
   TecFormattingUnderline, TecFormattingStrikeout, TecFormattingHidden,
   TecFormattingReadOnly, TecFormattingClearSel, TecFormattingClearAll,
   TecEnableFormattingAction],
   TSyntEditActions);

  RegisterActions('EC Macros', [TecMacroRecord, TecMacroStop, TecMacroCancel,
   TecMacroPlay],
   TSyntEditActions);
end;

end.

