{ Compiletime Extctrls support } unit uPSC_extctrls; {$I PascalScript.inc} interface uses uPSCompiler, uPSUtils; (* Will register files from: ExtCtrls Requires: STD, classes, controls, graphics {$IFNDEF PS_MINIVCL}, stdctrls {$ENDIF} *) procedure SIRegister_ExtCtrls_TypesAndConsts(cl: TPSPascalCompiler); procedure SIRegisterTSHAPE(Cl: TPSPascalCompiler); procedure SIRegisterTIMAGE(Cl: TPSPascalCompiler); procedure SIRegisterTPAINTBOX(Cl: TPSPascalCompiler); procedure SIRegisterTBEVEL(Cl: TPSPascalCompiler); procedure SIRegisterTTIMER(Cl: TPSPascalCompiler); procedure SIRegisterTCUSTOMPANEL(Cl: TPSPascalCompiler); procedure SIRegisterTPANEL(Cl: TPSPascalCompiler); {$IFNDEF CLX} procedure SIRegisterTPAGE(Cl: TPSPascalCompiler); procedure SIRegisterTNOTEBOOK(Cl: TPSPascalCompiler); procedure SIRegisterTHEADER(Cl: TPSPascalCompiler); {$ENDIF} procedure SIRegisterTCUSTOMRADIOGROUP(Cl: TPSPascalCompiler); procedure SIRegisterTRADIOGROUP(Cl: TPSPascalCompiler); procedure SIRegister_ExtCtrls(cl: TPSPascalCompiler); implementation procedure SIRegisterTSHAPE(Cl: TPSPascalCompiler); begin with Cl.AddClassN(cl.FindClass('TGraphicControl'), 'TShape') do begin {$IFDEF DELPHI4UP} RegisterProperty('Anchors', 'TAnchors', iptrw); {$ENDIF} RegisterProperty('Brush', 'TBrush', iptrw); RegisterProperty('Pen', 'TPen', iptrw); RegisterProperty('Shape', 'TShapeType', iptrw); {$IFNDEF PS_MINIVCL} RegisterMethod('procedure StyleChanged(Sender: TObject)'); RegisterProperty('DragCursor', 'LongInt', iptrw); RegisterProperty('DragMode', 'TDragMode', iptrw); RegisterProperty('ParentShowHint', 'Boolean', 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 SIRegisterTIMAGE(Cl: TPSPascalCompiler); begin with Cl.AddClassN(cl.FindClass('TGraphicControl'), 'TImage') do begin {$IFDEF DELPHI4UP} RegisterProperty('Anchors', 'TAnchors', iptrw); {$ENDIF} RegisterProperty('Canvas', 'TCanvas', iptr); RegisterProperty('AutoSize', 'Boolean', iptrw); RegisterProperty('Center', 'Boolean', iptrw); RegisterProperty('Picture', 'TPicture', iptrw); RegisterProperty('Stretch', '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 SIRegisterTPAINTBOX(Cl: TPSPascalCompiler); begin with Cl.AddClassN(cl.FindClass('TGraphicControl'), 'TPaintBox') do begin {$IFDEF DELPHI4UP} RegisterProperty('Anchors', 'TAnchors', iptrw); {$ENDIF} RegisterProperty('Canvas', 'TCanvas', iptr); 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('OnPaint', '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 SIRegisterTBEVEL(Cl: TPSPascalCompiler); begin with Cl.AddClassN(cl.FindClass('TGraphicControl'), 'TBevel') do begin {$IFDEF DELPHI4UP} RegisterProperty('Anchors', 'TAnchors', iptrw); {$ENDIF} RegisterProperty('Shape', 'TBevelShape', iptrw); RegisterProperty('Style', 'TBevelStyle', iptrw); {$IFNDEF PS_MINIVCL} RegisterProperty('ParentShowHint', 'Boolean', iptrw); {$ENDIF} end; end; procedure SIRegisterTTIMER(Cl: TPSPascalCompiler); begin with Cl.AddClassN(cl.FindClass('TComponent'), 'TTimer') do begin RegisterProperty('Enabled', 'Boolean', iptrw); RegisterProperty('Interval', 'Cardinal', iptrw); RegisterProperty('OnTimer', 'TNotifyEvent', iptrw); end; end; procedure SIRegisterTCUSTOMPANEL(Cl: TPSPascalCompiler); begin Cl.AddClassN(cl.FindClass('TCustomControl'), 'TCustomPanel'); end; procedure SIRegisterTPANEL(Cl: TPSPascalCompiler); begin with Cl.AddClassN(cl.FindClass('TCustomPanel'), 'TPanel') do begin RegisterProperty('Alignment', 'TAlignment', iptrw); {$IFDEF DELPHI4UP} RegisterProperty('Anchors', 'TAnchors', iptrw); {$ENDIF} RegisterProperty('BevelInner', 'TPanelBevel', iptrw); RegisterProperty('BevelOuter', 'TPanelBevel', iptrw); {$IFDEF DELPHI2009UP} RegisterProperty('BevelKind', 'TBevelKind', iptrw); {$ENDIF} RegisterProperty('BevelWidth', 'TBevelWidth', iptrw); RegisterProperty('BorderWidth', 'TBorderWidth', iptrw); RegisterProperty('BorderStyle', 'TBorderStyle', iptrw); RegisterProperty('Caption', 'string', 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('OnEnter', 'TNotifyEvent', iptrw); RegisterProperty('OnExit', 'TNotifyEvent', iptrw); {$IFNDEF PS_MINIVCL} RegisterProperty('DragCursor', 'LongInt', iptrw); RegisterProperty('DragMode', 'TDragMode', iptrw); RegisterProperty('CTL3D', 'Boolean', iptrw); RegisterProperty('Locked', '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('OnResize', 'TNotifyEvent', iptrw); RegisterProperty('OnStartDrag', 'TStartDragEvent', iptrw); {$ENDIF} end; end; {$IFNDEF CLX} procedure SIRegisterTPAGE(Cl: TPSPascalCompiler); begin with Cl.AddClassN(cl.FindClass('TCustomControl'), 'TPage') do begin RegisterProperty('Caption', 'string', iptrw); end; end; procedure SIRegisterTNOTEBOOK(Cl: TPSPascalCompiler); begin with Cl.AddClassN(cl.FindClass('TCustomControl'), 'TNotebook') do begin RegisterProperty('ActivePage', 'string', iptrw); {$IFDEF DELPHI4UP} RegisterProperty('Anchors', 'TAnchors', iptrw); {$ENDIF} RegisterProperty('Color', 'TColor', iptrw); RegisterProperty('Font', 'TFont', iptrw); RegisterProperty('PageIndex', 'Integer', iptrw); RegisterProperty('Pages', 'TStrings', iptrw); RegisterProperty('ParentColor', 'Boolean', iptrw); RegisterProperty('ParentFont', 'Boolean', iptrw); RegisterProperty('OnClick', 'TNotifyEvent', iptrw); RegisterProperty('OnDblClick', 'TNotifyEvent', iptrw); RegisterProperty('OnEnter', 'TNotifyEvent', iptrw); RegisterProperty('OnExit', 'TNotifyEvent', iptrw); RegisterProperty('OnPageChanged', '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 SIRegisterTHEADER(Cl: TPSPascalCompiler); begin with Cl.AddClassN(cl.FindClass('TCustomControl'), 'THeader') do begin RegisterProperty('SectionWidth', 'Integer Integer', iptrw); RegisterProperty('AllowResize', 'Boolean', iptrw); {$IFDEF DELPHI4UP} RegisterProperty('Anchors', 'TAnchors', iptrw); {$ENDIF} RegisterProperty('BorderStyle', 'TBorderStyle', iptrw); RegisterProperty('Font', 'TFont', iptrw); RegisterProperty('ParentFont', 'Boolean', iptrw); RegisterProperty('Sections', 'TStrings', iptrw); RegisterProperty('OnSizing', 'TSectionEvent', iptrw); RegisterProperty('OnSized', 'TSectionEvent', iptrw); {$IFNDEF PS_MINIVCL} RegisterProperty('ParentShowHint', 'Boolean', iptrw); RegisterProperty('PopupMenu', 'TPopupMenu', iptrw); {$ENDIF} end; end; {$ENDIF} procedure SIRegisterTCUSTOMRADIOGROUP(Cl: TPSPascalCompiler); begin Cl.AddClassN(cl.FindClass('TCustomGroupBox'), 'TCustomRadioGroup'); end; procedure SIRegisterTRADIOGROUP(Cl: TPSPascalCompiler); begin with Cl.AddClassN(cl.FindClass('TCustomRadioGroup'), 'TRadioGroup') do begin {$IFDEF DELPHI4UP} RegisterProperty('Anchors', 'TAnchors', iptrw); {$ENDIF} RegisterProperty('Caption', 'string', iptrw); RegisterProperty('Color', 'TColor', iptrw); RegisterProperty('Columns', 'Integer', iptrw); RegisterProperty('Font', 'TFont', iptrw); RegisterProperty('ItemIndex', 'Integer', iptrw); RegisterProperty('Items', 'TStrings', iptrw); RegisterProperty('ParentColor', 'Boolean', iptrw); RegisterProperty('ParentFont', 'Boolean', iptrw); RegisterProperty('OnClick', 'TNotifyEvent', 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('OnStartDrag', 'TStartDragEvent', iptrw); {$ENDIF} end; end; procedure SIRegister_ExtCtrls_TypesAndConsts(cl: TPSPascalCompiler); begin cl.AddTypeS('TShapeType', '(stRectangle, stSquare, stRoundRect, stRoundSquare, stEllipse, stCircle)'); cl.AddTypeS('TBevelStyle', '(bsLowered, bsRaised)'); cl.AddTypeS('TBevelShape', '(bsBox, bsFrame, bsTopLine, bsBottomLine, bsLeftLine, bsRightLine,bsSpacer)'); cl.AddTypeS('TPanelBevel', '(bvNone, bvLowered, bvRaised,bvSpace)'); cl.AddTypeS('TBevelWidth', 'LongInt'); cl.AddTypeS('TBorderWidth', 'LongInt'); cl.AddTypeS('TSectionEvent', 'procedure(Sender: TObject; ASection, AWidth: Integer)'); end; procedure SIRegister_ExtCtrls(cl: TPSPascalCompiler); begin SIRegister_ExtCtrls_TypesAndConsts(cl); {$IFNDEF PS_MINIVCL} SIRegisterTSHAPE(Cl); SIRegisterTIMAGE(Cl); SIRegisterTPAINTBOX(Cl); {$ENDIF} SIRegisterTBEVEL(Cl); {$IFNDEF PS_MINIVCL} SIRegisterTTIMER(Cl); {$ENDIF} SIRegisterTCUSTOMPANEL(Cl); SIRegisterTPANEL(Cl); {$IFNDEF PS_MINIVCL} {$IFNDEF CLX} SIRegisterTPAGE(Cl); SIRegisterTNOTEBOOK(Cl); SIRegisterTHEADER(Cl); {$ENDIF} SIRegisterTCUSTOMRADIOGROUP(Cl); SIRegisterTRADIOGROUP(Cl); {$ENDIF} end; end.