123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714 |
- unit Compiler.ScriptClasses;
- {
- Inno Setup
- Copyright (C) 1997-2025 Jordan Russell
- Portions by Martijn Laan
- For conditions of distribution and use, see LICENSE.TXT.
- Script support classes (compile time)
- }
- interface
- uses
- uPSCompiler;
- procedure ScriptClassesLibraryRegister_C(Cl: TPSPascalCompiler);
- implementation
- uses
- Windows, Shared.SetupTypes,
- uPSC_std, uPSC_classes, uPSC_graphics, uPSC_controls, uPSC_stdctrls,
- uPSC_forms, uPSC_extctrls, uPSC_comobj;
- procedure RegisterWinControl_C(Cl: TPSPascalCompiler);
- begin
- SIRegisterTWinControl(Cl);
- with Cl.FindClass('TWinControl') do
- begin
- RegisterProperty('ParentBackground', 'Boolean', iptrw);
- end;
- end;
- procedure RegisterNewStaticText_C(Cl: TPSPascalCompiler);
- begin
- with Cl.AddClassN(Cl.FindClass('TWinControl'), 'TNewStaticText') do
- begin
- RegisterMethod('function AdjustHeight: Integer');
- RegisterProperty('Anchors', 'TAnchors', iptrw);
- RegisterProperty('AutoSize', 'Boolean', iptrw);
- RegisterProperty('Caption', 'String', iptrw);
- RegisterProperty('Color', 'TColor', iptrw);
- RegisterProperty('FocusControl', 'TWinControl', iptrw);
- RegisterProperty('Font', 'TFont', iptrw);
- RegisterProperty('ParentColor', 'Boolean', iptrw);
- RegisterProperty('ParentFont', 'Boolean', iptrw);
- RegisterProperty('ShowAccelChar', 'Boolean', iptrw);
- RegisterProperty('WordWrap', 'Boolean', iptrw);
- RegisterProperty('OnClick', 'TNotifyEvent', iptrw);
- RegisterProperty('OnDblClick', 'TNotifyEvent', iptrw);
- {$IFNDEF PS_MINIVCL}
- RegisterProperty('DragCursor', 'Longint', iptrw);
- RegisterProperty('DragMode', 'TDragMode', iptrw);
- RegisterProperty('ParentShowHint', 'Boolean', iptrw);
- RegisterProperty('PopupMenu', 'TPopupMenu', iptrw);
- RegisterProperty('OnDragDrop', 'TDragDropEvent', iptrw);
- RegisterProperty('OnDragOver', 'TDragOverEvent', iptrw);
- RegisterProperty('OnEndDrag', 'TEndDragEvent', iptrw);
- RegisterProperty('OnMouseDown', 'TMouseEvent', iptrw);
- RegisterProperty('OnMouseMove', 'TMouseMoveEvent', iptrw);
- RegisterProperty('OnMouseUp', 'TMouseEvent', iptrw);
- RegisterProperty('OnStartDrag', 'TStartDragEvent', iptrw);
- {$ENDIF}
- end;
- end;
- procedure RegisterNewCheckListBox_C(Cl: TPSPascalCompiler);
- begin
- Cl.AddTypeS('TCheckItemOperation', '(coUncheck, coCheck, coCheckWithChildren)');
- with Cl.AddClassN(Cl.FindClass('TCustomListBox'), 'TNewCheckListBox') do
- begin
- RegisterMethod('function AddCheckBox(const ACaption, ASubItem: String; ALevel: Byte; AChecked, AEnabled, AHasInternalChildren, ACheckWhenParentChecked: Boolean; AObject: TObject): Integer');
- RegisterMethod('function AddGroup(const ACaption, ASubItem: String; ALevel: Byte; AObject: TObject): Integer');
- RegisterMethod('function AddRadioButton(const ACaption, ASubItem: String; ALevel: Byte; AChecked, AEnabled: Boolean; AObject: TObject): Integer');
- RegisterMethod('function CheckItem(const Index: Integer; const AOperation: TCheckItemOperation): Boolean');
- RegisterProperty('Anchors', 'TAnchors', iptrw);
- RegisterProperty('Checked', 'Boolean Integer', iptrw);
- RegisterProperty('State', 'TCheckBoxState Integer', iptr);
- RegisterProperty('ItemCaption', 'String Integer', iptrw);
- RegisterProperty('ItemEnabled', 'Boolean Integer', iptrw);
- RegisterProperty('ItemLevel', 'Byte Integer', iptr);
- RegisterProperty('ItemObject', 'TObject Integer', iptrw);
- RegisterProperty('ItemSubItem', 'String Integer', iptrw);
- RegisterProperty('ItemFontStyle', 'TFontStyles Integer', iptrw);
- RegisterProperty('SubItemFontStyle', 'TFontStyles Integer', iptrw);
- RegisterProperty('Flat', 'Boolean', iptrw);
- RegisterProperty('MinItemHeight', 'Integer', iptrw);
- RegisterProperty('Offset', 'Integer', iptrw);
- RegisterProperty('OnClickCheck', 'TNotifyEvent', iptrw);
- RegisterProperty('BorderStyle', 'TBorderStyle', iptrw);
- RegisterProperty('Color', 'TColor', iptrw);
- RegisterProperty('Font', 'TFont', iptrw);
- RegisterProperty('ParentColor', 'Boolean', iptrw);
- RegisterProperty('ParentFont', 'Boolean', iptrw);
- RegisterProperty('OnClick', 'TNotifyEvent', iptrw);
- RegisterProperty('OnDblClick', 'TNotifyEvent', iptrw);
- RegisterProperty('OnKeyDown', 'TKeyEvent', iptrw);
- RegisterProperty('OnKeyPress', 'TKeyPressEvent', iptrw);
- RegisterProperty('OnKeyUp', 'TKeyEvent', iptrw);
- RegisterProperty('ShowLines', 'Boolean', iptrw);
- RegisterProperty('WantTabs', 'Boolean', iptrw);
- RegisterProperty('RequireRadioSelection', 'Boolean', iptrw);
- RegisterProperty('OnEnter', 'TNotifyEvent', iptrw);
- RegisterProperty('OnExit', 'TNotifyEvent', iptrw);
- {$IFNDEF PS_MINIVCL}
- RegisterProperty('Ctl3D', 'Boolean', iptrw);
- RegisterProperty('DragCursor', 'Longint', iptrw);
- RegisterProperty('DragMode', 'TDragMode', iptrw);
- RegisterProperty('ParentCtl3D', 'Boolean', iptrw);
- RegisterProperty('ParentShowHint', 'Boolean', iptrw);
- RegisterProperty('PopupMenu', 'TPopupMenu', iptrw);
- RegisterProperty('OnDragDrop', 'TDragDropEvent', iptrw);
- RegisterProperty('OnDragOver', 'TDragOverEvent', iptrw);
- RegisterProperty('OnEndDrag', 'TEndDragEvent', iptrw);
- RegisterProperty('OnMouseDown', 'TMouseEvent', iptrw);
- RegisterProperty('OnMouseMove', 'TMouseMoveEvent', iptrw);
- RegisterProperty('OnMouseUp', 'TMouseEvent', iptrw);
- RegisterProperty('OnStartDrag', 'TStartDragEvent', iptrw);
- {$ENDIF}
- end;
- end;
- procedure RegisterNewProgressBar_C(Cl: TPSPascalCompiler);
- begin
- cl.AddTypeS('TNewProgressBarState', '(npbsNormal, npbsError, npbsPaused)');
- cl.AddTypeS('TNewProgressBarStyle', '(npbstNormal, npbstMarquee)');
- with Cl.AddClassN(Cl.FindClass('TWinControl'), 'TNewProgressBar') do
- begin
- RegisterProperty('Anchors', 'TAnchors', iptrw);
- RegisterProperty('Min', 'Longint', iptrw);
- RegisterProperty('Max', 'Longint', iptrw);
- RegisterProperty('Position', 'Longint', iptrw);
- RegisterProperty('State', 'TNewProgressBarState', iptrw);
- RegisterProperty('Style', 'TNewProgressBarStyle', iptrw);
- end;
- end;
- procedure RegisterRichEditViewer_C(Cl: TPSPascalCompiler);
- begin
- with Cl.AddClassN(Cl.FindClass('TMemo'), 'TRichEditViewer') do
- begin
- RegisterProperty('Anchors', 'TAnchors', iptrw);
- RegisterProperty('BevelKind', 'TBevelKind', iptrw);
- RegisterProperty('BorderStyle', 'TBorderStyle', iptrw);
- RegisterProperty('RTFText', 'AnsiString', iptw);
- RegisterProperty('UseRichEdit', 'Boolean', iptrw);
- end;
- end;
- procedure RegisterPasswordEdit_C(Cl: TPSPascalCompiler);
- begin
- with Cl.AddClassN(cl.FindClass('TCustomEdit'), 'TPasswordEdit') do
- begin
- RegisterProperty('Anchors', 'TAnchors', iptrw);
- RegisterProperty('AutoSelect', 'Boolean', iptrw);
- RegisterProperty('AutoSize', 'Boolean', iptrw);
- RegisterProperty('BorderStyle', 'TBorderStyle', iptrw);
- RegisterProperty('Color', 'TColor', iptrw);
- RegisterProperty('Font', 'TFont', iptrw);
- RegisterProperty('HideSelection', 'Boolean', iptrw);
- RegisterProperty('MaxLength', 'Integer', iptrw);
- RegisterProperty('ParentColor', 'Boolean', iptrw);
- RegisterProperty('ParentFont', 'Boolean', iptrw);
- RegisterProperty('Password', 'Boolean', iptrw);
- RegisterProperty('ReadOnly', 'Boolean', iptrw);
- RegisterProperty('Text', 'string', iptrw);
- RegisterProperty('OnChange', 'TNotifyEvent', iptrw);
- RegisterProperty('OnClick', 'TNotifyEvent', iptrw);
- RegisterProperty('OnDblClick', 'TNotifyEvent', iptrw);
- RegisterProperty('OnKeyDown', 'TKeyEvent', iptrw);
- RegisterProperty('OnKeyPress', 'TKeyPressEvent', iptrw);
- RegisterProperty('OnKeyUp', 'TKeyEvent', iptrw);
- RegisterProperty('OnEnter', 'TNotifyEvent', iptrw);
- RegisterProperty('OnExit', 'TNotifyEvent', iptrw);
- {$IFNDEF PS_MINIVCL}
- RegisterProperty('CharCase', 'TEditCharCase', iptrw);
- RegisterProperty('Ctl3D', 'Boolean', iptrw);
- RegisterProperty('DragCursor', 'Longint', iptrw);
- RegisterProperty('DragMode', 'TDragMode', iptrw);
- RegisterProperty('OEMConvert', 'Boolean', iptrw);
- RegisterProperty('ParentCtl3D', 'Boolean', iptrw);
- RegisterProperty('ParentShowHint', 'Boolean', iptrw);
- RegisterProperty('PopupMenu', 'TPopupMenu', iptrw);
- RegisterProperty('OnDragDrop', 'TDragDropEvent', iptrw);
- RegisterProperty('OnDragOver', 'TDragOverEvent', iptrw);
- RegisterProperty('OnEndDrag', 'TEndDragEvent', iptrw);
- RegisterProperty('OnMouseDown', 'TMouseEvent', iptrw);
- RegisterProperty('OnMouseMove', 'TMouseMoveEvent', iptrw);
- RegisterProperty('OnMouseUp', 'TMouseEvent', iptrw);
- RegisterProperty('OnStartDrag', 'TStartDragEvent', iptrw);
- {$ENDIF}
- end;
- end;
- procedure RegisterCustomFolderTreeView_C(Cl: TPSPascalCompiler);
- begin
- with Cl.AddClassN(Cl.FindClass('TWinControl'),'TCustomFolderTreeView') do
- begin
- RegisterMethod('procedure ChangeDirectory(const Value: String; const CreateNewItems: Boolean)');
- RegisterMethod('procedure CreateNewDirectory(const ADefaultName: String)');
- RegisterProperty('Directory', 'String', iptrw);
- end;
- CL.AddTypeS('TFolderRenameEvent', 'procedure(Sender: TCustomFolderTreeView; var NewName: String; var Accept: Boolean)');
- end;
- procedure RegisterFolderTreeView_C(Cl: TPSPascalCompiler);
- begin
- with Cl.AddClassN(Cl.FindClass('TCustomFolderTreeView'),'TFolderTreeView') do
- begin
- RegisterProperty('Anchors', 'TAnchors', iptrw);
- RegisterProperty('OnChange', 'TNotifyEvent', iptrw);
- RegisterProperty('OnRename', 'TFolderRenameEvent', iptrw);
- end;
- end;
- procedure RegisterStartMenuFolderTreeView_C(Cl: TPSPascalCompiler);
- begin
- with Cl.AddClassN(Cl.FindClass('TCustomFolderTreeView'),'TStartMenuFolderTreeView') do
- begin
- RegisterMethod('procedure SetPaths(const AUserPrograms, ACommonPrograms, AUserStartup, ACommonStartup: String)');
- RegisterProperty('Anchors', 'TAnchors', iptrw);
- RegisterProperty('OnChange', 'TNotifyEvent', iptrw);
- RegisterProperty('OnRename', 'TFolderRenameEvent', iptrw);
- end;
- end;
- procedure RegisterBitmapButton_C(Cl: TPSPascalCompiler);
- begin
- Cl.AddTypeS('TAlphaFormat', '(afIgnored, afDefined, afPremultiplied)');
- with Cl.FindClass('TBitmap') do
- begin
- RegisterProperty('AlphaFormat', 'TAlphaFormat', iptrw);
- end;
- with Cl.AddClassN(CL.FindClass('TCustomControl'),'TBitmapButton') do
- begin
- RegisterProperty('Anchors', 'TAnchors', iptrw);
- RegisterProperty('AutoSize', 'Boolean', iptrw);
- RegisterProperty('BackColor', 'TColor', iptrw);
- RegisterProperty('Caption', 'String', iptrw);
- RegisterProperty('Center', 'Boolean', iptrw);
- RegisterProperty('Bitmap', 'TBitmap', iptrw);
- RegisterProperty('ReplaceColor', 'TColor', iptrw);
- RegisterProperty('ReplaceWithColor', 'TColor', iptrw);
- RegisterProperty('Stretch', 'Boolean', iptrw);
- RegisterProperty('OnClick', 'TNotifyEvent', iptrw);
- RegisterProperty('OnDblClick', 'TNotifyEvent', iptrw);
- end;
- end;
- procedure RegisterBitmapImage_C(Cl: TPSPascalCompiler);
- begin
- with Cl.AddClassN(CL.FindClass('TGraphicControl'),'TBitmapImage') do
- begin
- RegisterProperty('Anchors', 'TAnchors', iptrw);
- RegisterProperty('AutoSize', 'Boolean', iptrw);
- RegisterProperty('BackColor', 'TColor', iptrw);
- RegisterProperty('Center', 'Boolean', iptrw);
- RegisterProperty('Bitmap', 'TBitmap', iptrw);
- RegisterProperty('ReplaceColor', 'TColor', iptrw);
- RegisterProperty('ReplaceWithColor', 'TColor', iptrw);
- RegisterProperty('Stretch', 'Boolean', iptrw);
- RegisterProperty('OnClick', 'TNotifyEvent', iptrw);
- RegisterProperty('OnDblClick', 'TNotifyEvent', iptrw);
- end;
- end;
- procedure RegisterBidiCtrls_C(Cl: TPSPascalCompiler);
- begin
- Cl.AddClassN(Cl.FindClass('TEdit'), 'TNewEdit');
- Cl.AddClassN(Cl.FindClass('TMemo'), 'TNewMemo');
- Cl.AddClassN(Cl.FindClass('TComboBox'), 'TNewComboBox');
- Cl.AddClassN(Cl.FindClass('TListBox'), 'TNewListBox');
- Cl.AddClassN(Cl.FindClass('TButton'), 'TNewButton');
- Cl.AddClassN(Cl.FindClass('TCheckBox'), 'TNewCheckBox');
- Cl.AddClassN(Cl.FindClass('TRadioButton'), 'TNewRadioButton');
- with Cl.AddClassN(Cl.FindClass('TLinkLabel'), 'TNewLinkLabel') do
- begin
- RegisterMethod('function AdjustHeight: Integer');
- end;
- end;
- procedure RegisterNewNotebook_C(Cl: TPSPascalCompiler);
- begin
- Cl.AddClassN(Cl.FindClass('TCustomControl'),'TNewNotebookPage');
- with Cl.AddClassN(Cl.FindClass('TWinControl'),'TNewNotebook') do
- begin
- RegisterMethod('function FindNextPage(CurPage: TNewNotebookPage; GoForward: Boolean): TNewNotebookPage');
- RegisterProperty('Anchors', 'TAnchors', iptrw);
- RegisterProperty('PageCount', 'Integer', iptr);
- RegisterProperty('Pages', 'TNewNotebookPage Integer', iptr);
- RegisterProperty('ActivePage', 'TNewNotebookPage', iptrw);
- end;
- end;
- procedure RegisterNewNotebookPage_C(Cl: TPSPascalCompiler);
- begin
- with Cl.FindClass('TNewNotebookPage') do
- begin
- RegisterProperty('Color', 'TColor', iptrw);
- RegisterProperty('Notebook', 'TNewNotebook', iptrw);
- RegisterProperty('PageIndex', 'Integer', iptrw);
- end;
- end;
- procedure RegisterUIStateForm_C(Cl: TPSPascalCompiler);
- begin
- Cl.AddClassN(Cl.FindClass('TForm'), 'TUIStateForm');
- end;
- procedure RegisterSetupForm_C(Cl: TPSPascalCompiler);
- begin
- with Cl.AddClassN(Cl.FindClass('TUIStateForm'), 'TSetupForm') do
- begin
- RegisterMethod('function CalculateButtonWidth(const ButtonCaptions: array of String): Integer;');
- RegisterMethod('function ShouldSizeX: Boolean;');
- RegisterMethod('function ShouldSizeY: Boolean;');
- RegisterMethod('procedure FlipSizeAndCenterIfNeeded(const ACenterInsideControl: Boolean; const CenterInsideControlCtl: TWinControl; const CenterInsideControlInsideClientArea: Boolean)');
- RegisterProperty('ControlsFlipped', 'Boolean', iptr);
- RegisterProperty('FlipControlsOnShow', 'Boolean', iptrw);
- RegisterProperty('KeepSizeY', 'Boolean', iptrw);
- RegisterProperty('RightToLeft', 'Boolean', iptr);
- RegisterProperty('SizeAndCenterOnShow', 'Boolean', iptrw);
- end;
- end;
- procedure RegisterWizardForm_C(Cl: TPSPascalCompiler);
- begin
- with Cl.AddClassN(Cl.FindClass('TSetupForm'), 'TWizardForm') do
- begin
- RegisterProperty('CancelButton', 'TNewButton', iptr);
- RegisterProperty('NextButton', 'TNewButton', iptr);
- RegisterProperty('BackButton', 'TNewButton', iptr);
- RegisterProperty('OuterNotebook', 'TNewNotebook', iptr);
- RegisterProperty('InnerNotebook', 'TNewNotebook', iptr);
- RegisterProperty('WelcomePage', 'TNewNotebookPage', iptr);
- RegisterProperty('InnerPage', 'TNewNotebookPage', iptr);
- RegisterProperty('FinishedPage', 'TNewNotebookPage', iptr);
- RegisterProperty('LicensePage', 'TNewNotebookPage', iptr);
- RegisterProperty('PasswordPage', 'TNewNotebookPage', iptr);
- RegisterProperty('InfoBeforePage', 'TNewNotebookPage', iptr);
- RegisterProperty('UserInfoPage', 'TNewNotebookPage', iptr);
- RegisterProperty('SelectDirPage', 'TNewNotebookPage', iptr);
- RegisterProperty('SelectComponentsPage', 'TNewNotebookPage', iptr);
- RegisterProperty('SelectProgramGroupPage', 'TNewNotebookPage', iptr);
- RegisterProperty('SelectTasksPage', 'TNewNotebookPage', iptr);
- RegisterProperty('ReadyPage', 'TNewNotebookPage', iptr);
- RegisterProperty('PreparingPage', 'TNewNotebookPage', iptr);
- RegisterProperty('InstallingPage', 'TNewNotebookPage', iptr);
- RegisterProperty('InfoAfterPage', 'TNewNotebookPage', iptr);
- RegisterProperty('DiskSpaceLabel', 'TNewStaticText', iptr);
- RegisterProperty('DirEdit', 'TEdit', iptr);
- RegisterProperty('GroupEdit', 'TNewEdit', iptr);
- RegisterProperty('NoIconsCheck', 'TNewCheckBox', iptr);
- RegisterProperty('PasswordLabel', 'TNewStaticText', iptr);
- RegisterProperty('PasswordEdit', 'TPasswordEdit', iptr);
- RegisterProperty('PasswordEditLabel', 'TNewStaticText', iptr);
- RegisterProperty('ReadyMemo', 'TNewMemo', iptr);
- RegisterProperty('TypesCombo', 'TNewComboBox', iptr);
- RegisterProperty('Bevel', 'TBevel', iptr);
- RegisterProperty('WizardBitmapImage', 'TBitmapImage', iptr);
- RegisterProperty('WelcomeLabel1', 'TNewStaticText', iptr);
- RegisterProperty('InfoBeforeMemo', 'TRichEditViewer', iptr);
- RegisterProperty('InfoBeforeClickLabel', 'TNewStaticText', iptr);
- RegisterProperty('MainPanel', 'TPanel', iptr);
- RegisterProperty('Bevel1', 'TBevel', iptr);
- RegisterProperty('PageNameLabel', 'TNewStaticText', iptr);
- RegisterProperty('PageDescriptionLabel', 'TNewStaticText', iptr);
- RegisterProperty('WizardSmallBitmapImage', 'TBitmapImage', iptr);
- RegisterProperty('ReadyLabel', 'TNewStaticText', iptr);
- RegisterProperty('FinishedLabel', 'TNewStaticText', iptr);
- RegisterProperty('YesRadio', 'TNewRadioButton', iptr);
- RegisterProperty('NoRadio', 'TNewRadioButton', iptr);
- RegisterProperty('WizardBitmapImage2', 'TBitmapImage', iptr);
- RegisterProperty('WelcomeLabel2', 'TNewStaticText', iptr);
- RegisterProperty('LicenseLabel1', 'TNewStaticText', iptr);
- RegisterProperty('LicenseMemo', 'TRichEditViewer', iptr);
- RegisterProperty('InfoAfterMemo', 'TRichEditViewer', iptr);
- RegisterProperty('InfoAfterClickLabel', 'TNewStaticText', iptr);
- RegisterProperty('ComponentsList', 'TNewCheckListBox', iptr);
- RegisterProperty('ComponentsDiskSpaceLabel', 'TNewStaticText', iptr);
- RegisterProperty('BeveledLabel', 'TNewStaticText', iptr);
- RegisterProperty('StatusLabel', 'TNewStaticText', iptr);
- RegisterProperty('FilenameLabel', 'TNewStaticText', iptr);
- RegisterProperty('ProgressGauge', 'TNewProgressBar', iptr);
- RegisterProperty('SelectDirLabel', 'TNewStaticText', iptr);
- RegisterProperty('SelectStartMenuFolderLabel', 'TNewStaticText', iptr);
- RegisterProperty('SelectComponentsLabel', 'TNewStaticText', iptr);
- RegisterProperty('SelectTasksLabel', 'TNewStaticText', iptr);
- RegisterProperty('LicenseAcceptedRadio', 'TNewRadioButton', iptr);
- RegisterProperty('LicenseNotAcceptedRadio', 'TNewRadioButton', iptr);
- RegisterProperty('UserInfoNameLabel', 'TNewStaticText', iptr);
- RegisterProperty('UserInfoNameEdit', 'TNewEdit', iptr);
- RegisterProperty('UserInfoOrgLabel', 'TNewStaticText', iptr);
- RegisterProperty('UserInfoOrgEdit', 'TNewEdit', iptr);
- RegisterProperty('PreparingErrorBitmapImage', 'TBitmapImage', iptr);
- RegisterProperty('PreparingLabel', 'TNewStaticText', iptr);
- RegisterProperty('FinishedHeadingLabel', 'TNewStaticText', iptr);
- RegisterProperty('UserInfoSerialLabel', 'TNewStaticText', iptr);
- RegisterProperty('UserInfoSerialEdit', 'TNewEdit', iptr);
- RegisterProperty('TasksList', 'TNewCheckListBox', iptr);
- RegisterProperty('RunList', 'TNewCheckListBox', iptr);
- RegisterProperty('DirBrowseButton', 'TNewButton', iptr);
- RegisterProperty('GroupBrowseButton', 'TNewButton', iptr);
- RegisterProperty('SelectDirBitmapImage', 'TBitmapImage', iptr);
- RegisterProperty('SelectGroupBitmapImage', 'TBitmapImage', iptr);
- RegisterProperty('SelectDirBrowseLabel', 'TNewStaticText', iptr);
- RegisterProperty('SelectStartMenuFolderBrowseLabel', 'TNewStaticText', iptr);
- RegisterProperty('PreparingYesRadio', 'TNewRadioButton', iptr);
- RegisterProperty('PreparingNoRadio', 'TNewRadioButton', iptr);
- RegisterProperty('PreparingMemo', 'TNewMemo', iptr);
- RegisterProperty('CurPageID', 'Integer', iptr);
- RegisterMethod('function AdjustLabelHeight(ALabel: TNewStaticText): Integer');
- RegisterMethod('function AdjustLinkLabelHeight(ALinkLabel: TNewLinkLabel): Integer');
- RegisterMethod('procedure IncTopDecHeight(AControl: TControl; Amount: Integer)');
- RegisterProperty('PrevAppDir', 'String', iptr);
- end;
- end;
- procedure RegisterUninstallProgressForm_C(Cl: TPSPascalCompiler);
- begin
- with Cl.AddClassN(Cl.FindClass('TSetupForm'), 'TUninstallProgressForm') do
- begin
- RegisterProperty('OuterNotebook', 'TNewNotebook', iptr);
- RegisterProperty('InnerPage', 'TNewNotebookPage', iptr);
- RegisterProperty('InnerNotebook', 'TNewNotebook', iptr);
- RegisterProperty('InstallingPage', 'TNewNotebookPage', iptr);
- RegisterProperty('MainPanel', 'TPanel', iptr);
- RegisterProperty('PageNameLabel', 'TNewStaticText', iptr);
- RegisterProperty('PageDescriptionLabel', 'TNewStaticText', iptr);
- RegisterProperty('WizardSmallBitmapImage', 'TBitmapImage', iptr);
- RegisterProperty('Bevel1', 'TBevel', iptr);
- RegisterProperty('StatusLabel', 'TNewStaticText', iptr);
- RegisterProperty('ProgressBar', 'TNewProgressBar', iptr);
- RegisterProperty('BeveledLabel', 'TNewStaticText', iptr);
- RegisterProperty('Bevel', 'TBevel', iptr);
- RegisterProperty('CancelButton', 'TNewButton', iptr);
- end;
- end;
- procedure RegisterWizardPage_C(Cl: TIFPSPascalCompiler);
- var
- NewClass: TPSCompileTimeClass;
- begin
- NewClass := Cl.AddClassN(Cl.FindClass('TComponent'), 'TWizardPage');
- CL.AddTypeS('TWizardPageNotifyEvent', 'procedure(Sender: TWizardPage)');
- CL.AddTypeS('TWizardPageButtonEvent', 'function(Sender: TWizardPage): Boolean');
- CL.AddTypeS('TWizardPageCancelEvent', 'procedure(Sender: TWizardPage; var ACancel, AConfirm: Boolean)');
- CL.AddTypeS('TWizardPageShouldSkipEvent', 'function(Sender: TWizardPage): Boolean');
- with NewClass do
- begin
- RegisterProperty('ID', 'Integer', iptr);
- RegisterProperty('Caption', 'String', iptrw);
- RegisterProperty('Description', 'String', iptrw);
- RegisterProperty('Surface', 'TNewNotebookPage', iptr);
- RegisterProperty('SurfaceColor', 'TColor', iptr);
- RegisterProperty('SurfaceHeight', 'Integer', iptr);
- RegisterProperty('SurfaceWidth', 'Integer', iptr);
- RegisterProperty('OnActivate', 'TWizardPageNotifyEvent', iptrw);
- RegisterProperty('OnBackButtonClick', 'TWizardPageButtonEvent', iptrw);
- RegisterProperty('OnCancelButtonClick', 'TWizardPageCancelEvent', iptrw);
- RegisterProperty('OnNextButtonClick', 'TWizardPageButtonEvent', iptrw);
- RegisterProperty('OnShouldSkipPage', 'TWizardPageShouldSkipEvent', iptrw);
- end;
- end;
- procedure RegisterInputQueryWizardPage_C(Cl: TPSPascalCompiler);
- begin
- with CL.AddClassN(Cl.FindClass('TWizardPage'),'TInputQueryWizardPage') do
- begin
- RegisterMethod('function Add(const APrompt: String; const APassword: Boolean): Integer');
- RegisterProperty('Edits', 'TPasswordEdit Integer', iptr);
- RegisterProperty('PromptLabels', 'TNewStaticText Integer', iptr);
- RegisterProperty('SubCaptionLabel', 'TNewStaticText', iptr);
- RegisterProperty('Values', 'String Integer', iptrw);
- end;
- end;
- procedure RegisterInputOptionWizardPage_C(Cl: TPSPascalCompiler);
- begin
- with CL.AddClassN(Cl.FindClass('TWizardPage'),'TInputOptionWizardPage') do
- begin
- RegisterMethod('function Add(const ACaption: String): Integer');
- RegisterMethod('function AddEx(const ACaption: String; const ALevel: Byte; const AExclusive: Boolean): Integer');
- RegisterProperty('CheckListBox', 'TNewCheckListBox', iptr);
- RegisterProperty('SelectedValueIndex', 'Integer', iptrw);
- RegisterProperty('SubCaptionLabel', 'TNewStaticText', iptr);
- RegisterProperty('Values', 'Boolean Integer', iptrw);
- end;
- end;
- procedure RegisterInputDirWizardPage_C(CL: TPSPascalCompiler);
- begin
- with CL.AddClassN(CL.FindClass('TWizardPage'),'TInputDirWizardPage') do
- begin
- RegisterMethod('function Add(const APrompt: String): Integer');
- RegisterProperty('Buttons', 'TNewButton Integer', iptr);
- RegisterProperty('Edits', 'TEdit Integer', iptr);
- RegisterProperty('NewFolderName', 'String', iptrw);
- RegisterProperty('PromptLabels', 'TNewStaticText Integer', iptr);
- RegisterProperty('SubCaptionLabel', 'TNewStaticText', iptr);
- RegisterProperty('Values', 'String Integer', iptrw);
- end;
- end;
- procedure RegisterInputFileWizardPage_C(Cl: TPSPascalCompiler);
- begin
- with CL.AddClassN(Cl.FindClass('TWizardPage'),'TInputFileWizardPage') do
- begin
- RegisterMethod('function Add(const APrompt, AFilter, ADefaultExtension: String): Integer');
- RegisterProperty('Buttons', 'TNewButton Integer', iptr);
- RegisterProperty('Edits', 'TEdit Integer', iptr);
- RegisterProperty('PromptLabels', 'TNewStaticText Integer', iptr);
- RegisterProperty('SubCaptionLabel', 'TNewStaticText', iptr);
- RegisterProperty('Values', 'String Integer', iptrw);
- RegisterProperty('IsSaveButton', 'Boolean Integer', iptrw);
- end;
- end;
- procedure RegisterOutputMsgWizardPage_C(Cl: TPSPascalCompiler);
- begin
- with CL.AddClassN(Cl.FindClass('TWizardPage'),'TOutputMsgWizardPage') do
- begin
- RegisterProperty('MsgLabel', 'TNewStaticText', iptr);
- end;
- end;
- procedure RegisterOutputMsgMemoWizardPage_C(Cl: TPSPascalCompiler);
- begin
- with CL.AddClassN(Cl.FindClass('TWizardPage'),'TOutputMsgMemoWizardPage') do
- begin
- RegisterProperty('RichEditViewer', 'TRichEditViewer', iptr);
- RegisterProperty('SubCaptionLabel', 'TNewStaticText', iptr);
- end;
- end;
- procedure RegisterOutputProgressWizardPage_C(Cl: TPSPascalCompiler);
- begin
- with CL.AddClassN(Cl.FindClass('TWizardPage'),'TOutputProgressWizardPage') do
- begin
- RegisterMethod('procedure Hide');
- RegisterProperty('Msg1Label', 'TNewStaticText', iptr);
- RegisterProperty('Msg2Label', 'TNewStaticText', iptr);
- RegisterProperty('ProgressBar', 'TNewProgressBar', iptr);
- RegisterMethod('procedure SetProgress(const Position, Max: Longint)');
- RegisterMethod('procedure SetText(const Msg1, Msg2: String)');
- RegisterMethod('procedure Show');
- end;
- end;
- procedure RegisterOutputMarqueeProgressWizardPage_C(Cl: TPSPascalCompiler);
- begin
- with CL.AddClassN(Cl.FindClass('TOutputProgressWizardPage'),'TOutputMarqueeProgressWizardPage') do
- begin
- RegisterMethod('procedure Animate');
- RegisterMethod('procedure SetProgress(const Position, Max: Longint)'); { Only used to stop the script from called TOutputProgressWizardPage.SetProgress }
- end;
- end;
- procedure RegisterDownloadWizardPage_C(Cl: TPSPascalCompiler);
- begin
- with CL.AddClassN(Cl.FindClass('TOutputProgressWizardPage'),'TDownloadWizardPage') do
- begin
- RegisterProperty('AbortButton', 'TNewButton', iptr);
- RegisterProperty('AbortedByUser', 'Boolean', iptr);
- RegisterProperty('LastBaseNameOrUrl', 'String', iptr);
- RegisterProperty('ShowBaseNameInsteadOfUrl', 'Boolean', iptrw);
- RegisterMethod('function Add(const Url, BaseName, RequiredSHA256OfFile: String): Integer');
- RegisterMethod('function AddWithISSigVerify(const Url, ISSigUrl, BaseName: String; const AllowedKeysRuntimeIDs: TStringList): Integer;');
- RegisterMethod('function AddEx(const Url, BaseName, RequiredSHA256OfFile, UserName, Password: String): Integer');
- RegisterMethod('function AddExWithISSigVerify(const Url, ISSigUrl, BaseName, UserName, Password: String; const AllowedKeysRuntimeIDs: TStringList): Integer;');
- RegisterMethod('procedure Clear');
- RegisterMethod('function Download: Int64');
- RegisterMethod('procedure Show'); { Without this TOutputProgressWizardPage's Show will be called }
- end;
- end;
- procedure RegisterExtractionWizardPage_C(Cl: TPSPascalCompiler);
- begin
- with CL.AddClassN(Cl.FindClass('TOutputProgressWizardPage'),'TExtractionWizardPage') do
- begin
- RegisterProperty('AbortButton', 'TNewButton', iptr);
- RegisterProperty('AbortedByUser', 'Boolean', iptr);
- RegisterProperty('ShowArchiveInsteadOfFile', 'Boolean', iptrw);
- RegisterMethod('function Add(const ArchiveFileName, DestDir: String; const FullPaths: Boolean): Integer');
- RegisterMethod('function AddEx(const ArchiveFileName, DestDir, Password: String; const FullPaths: Boolean): Integer');
- RegisterMethod('procedure Clear');
- RegisterMethod('procedure Extract');
- RegisterMethod('procedure Show'); { Without this TOutputProgressWizardPage's Show will be called }
- end;
- end;
- procedure RegisterHandCursor_C(Cl: TPSPascalCompiler);
- begin
- cl.AddConstantN('crHand', 'Integer').Value.ts32 := crHand;
- end;
- procedure ScriptClassesLibraryRegister_C(Cl: TPSPascalCompiler);
- const
- clSystemColor = $FF000000;
- begin
- { Std }
- SIRegister_Std_TypesAndConsts(Cl);
- SIRegisterTObject(Cl);
- SIRegisterTPersistent(Cl);
- SIRegisterTComponent(Cl);
- { Classes }
- SIRegister_Classes_TypesAndConsts(Cl);
- SIRegisterTStream(Cl);
- SIRegisterTStrings(Cl, True);
- SIRegisterTStringList(Cl);
- SIRegisterTHandleStream(Cl);
- SIRegisterTFileStream(Cl);
- SIRegisterTStringStream(Cl);
- { Graphics }
- SIRegister_Graphics_TypesAndConsts(Cl);
- cl.AddConstantN('clHotLight', 'Integer').Value.ts32 := Integer(clSystemColor or COLOR_HOTLIGHT);
- SIRegisterTGraphicsObject(Cl);
- SIRegisterTFont(Cl);
- SIRegisterTPen(Cl);
- SIRegisterTBrush(Cl);
- SIRegisterTCanvas(Cl);
- SIRegisterTGraphic(Cl);
- SIRegisterTBitmap(Cl, True);
- { Controls }
- SIRegister_Controls_TypesAndConsts(Cl);
- SIRegisterTDragObject(Cl);
- SIRegisterTSizeConstraints(Cl);
- SIRegisterTControl(Cl);
- RegisterWinControl_C(Cl);
- SIRegisterTGraphicControl(Cl);
- SIRegisterTCustomControl(Cl);
- { Forms }
- SIRegister_Forms_TypesAndConsts(Cl);
- SIRegisterTScrollingWinControl(Cl);
- SIRegisterTForm(Cl);
- { StdCtrls }
- SIRegister_StdCtrls_TypesAndConsts(Cl);
- SIRegisterTCustomLabel(Cl);
- SIRegisterTLabel(Cl);
- SIRegisterTCustomEdit(Cl);
- SIRegisterTEdit(Cl);
- SIRegisterTCustomMemo(Cl);
- SIRegisterTMemo(Cl);
- SIRegisterTCustomComboBox(Cl);
- SIRegisterTComboBox(Cl);
- SIRegisterTButtonControl(Cl);
- SIRegisterTButton(Cl);
- SIRegisterTCustomCheckBox(Cl);
- SIRegisterTCheckBox(Cl);
- SIRegisterTRadioButton(Cl);
- SIRegisterTCustomListBox(Cl);
- SIRegisterTListBox(Cl);
- { ExtCtrls }
- SIRegister_ExtCtrls_TypesAndConsts(cl);
- SIRegisterTBevel(Cl);
- SIRegisterTCustomPanel(Cl);
- SIRegisterTPanel(Cl);
- SIRegisterTCustomLinkLabel(Cl);
- SIRegisterTLinkLabel(Cl);
- { ComObj }
- SIRegister_ComObj(Cl);
- RegisterNewStaticText_C(Cl);
- RegisterNewCheckListBox_C(Cl);
- RegisterNewProgressBar_C(Cl);
- RegisterRichEditViewer_C(Cl);
- RegisterPasswordEdit_C(Cl);
- RegisterCustomFolderTreeView_C(Cl);
- RegisterFolderTreeView_C(Cl);
- RegisterStartMenuFolderTreeView_C(Cl);
- RegisterBitmapButton_C(Cl);
- RegisterBitmapImage_C(Cl);
- RegisterBidiCtrls_C(Cl);
- RegisterNewNotebook_C(Cl);
- RegisterNewNotebookPage_C(Cl);
- RegisterUIStateForm_C(Cl);
- RegisterSetupForm_C(Cl);
- RegisterWizardForm_C(Cl);
- RegisterUninstallProgressForm_C(Cl);
- RegisterWizardPage_C(Cl);
- RegisterInputQueryWizardPage_C(Cl);
- RegisterInputOptionWizardPage_C(Cl);
- RegisterInputDirWizardPage_C(Cl);
- RegisterInputFileWizardPage_C(Cl);
- RegisterOutputMsgWizardPage_C(Cl);
- RegisterOutputMsgMemoWizardPage_C(Cl);
- RegisterOutputProgressWizardPage_C(Cl);
- RegisterOutputMarqueeProgressWizardPage_C(Cl);
- RegisterDownloadWizardPage_C(Cl);
- RegisterExtractionWizardPage_C(Cl);
- RegisterHandCursor_C(Cl);
-
- AddImportedClassVariable(Cl, 'WizardForm', 'TWizardForm');
- AddImportedClassVariable(Cl, 'UninstallProgressForm', 'TUninstallProgressForm');
- end;
- end.
|