home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 November / Chip_2002-11_cd1.bin / zkuste / delphi / kompon / d456 / CAJSCRPT.ZIP / ifps3 / ifpii_controls.pas < prev    next >
Pascal/Delphi Source File  |  2002-07-12  |  9KB  |  197 lines

  1. unit ifpii_controls;
  2. {$I ifps3_def.inc}
  3. interface
  4. uses
  5.   ifpscomp, ifps3common, ifps3utl, ifpiclass;
  6. {
  7.   Will register files from:
  8.     Controls
  9.  
  10.   Register the STD, Classes (at least the types&consts) and Graphics libraries first
  11.  
  12. }
  13.  
  14. procedure SIRegister_Controls_TypesAndConsts(Cl: TIFPSCompileTimeClassesImporter);
  15.  
  16. procedure SIRegisterTControl(Cl: TIFPSCompileTimeClassesImporter);
  17. procedure SIRegisterTWinControl(Cl: TIFPSCompileTimeClassesImporter); // requires TControl
  18. procedure SIRegisterTGraphicControl(cl: TIFPSCompileTimeClassesImporter); // requires TControl
  19. procedure SIRegisterTCustomControl(cl: TIFPSCompileTimeClassesImporter); // requires TWinControl
  20.  
  21.  
  22. procedure SIRegister_Controls(Cl: TIFPSCompileTimeClassesImporter);
  23.  
  24.  
  25. implementation
  26. uses
  27. {$IFDEF CLX}
  28.   QControls;
  29. {$ELSE}
  30.   Controls;
  31. {$ENDIF}
  32.  
  33. procedure SIRegisterTControl(Cl: TIFPSCompileTimeClassesImporter);
  34. begin
  35.   with Cl.Add(cl.FindClass('TComponent'), TControl) do
  36.   begin
  37.     RegisterMethod('constructor Create(AOwner: TComponent);');
  38.     RegisterMethod('procedure BringToFront;');
  39.     RegisterMethod('procedure Hide;');
  40.     RegisterMethod('procedure Invalidate;virtual;');
  41.     RegisterMethod('procedure refresh;');
  42.     RegisterMethod('procedure Repaint;virtual;');
  43.     RegisterMethod('procedure SendToBack;');
  44.     RegisterMethod('procedure Show;');
  45.     RegisterMethod('procedure Update;');
  46.     RegisterMethod('procedure SetBounds(x,y,w,h: Integer);virtual;');
  47.     RegisterProperty('Left', 'Integer', iptRW);
  48.     RegisterProperty('Top', 'Integer', iptRW);
  49.     RegisterProperty('Width', 'Integer', iptRW);
  50.     RegisterProperty('Height', 'Integer', iptRW);
  51.     RegisterProperty('Hint', 'String', iptRW);
  52.     RegisterProperty('Align', 'TAlign', iptRW);
  53.     RegisterProperty('ClientHeight', 'Longint', iptRW);
  54.     RegisterProperty('ClientWidth', 'Longint', iptRW);
  55.     RegisterProperty('ShowHint', 'Boolean', iptRW);
  56.     RegisterProperty('Visible', 'Boolean', iptRW);
  57.     RegisterProperty('ENABLED', 'BOOLEAN', iptrw);
  58.     RegisterProperty('HINT', 'STRING', iptrw);
  59.  
  60.     {$IFNDEF MINIVCL}
  61.     RegisterMethod('function Dragging: Boolean;');
  62.     RegisterProperty('HasParent', 'Boolean', iptr);
  63.     RegisterMethod('procedure BEGINDRAG(IMMEDIATE:BOOLEAN)');
  64.     RegisterMethod('function CLIENTTOSCREEN(POINT:TPOINT):TPOINT');
  65.     RegisterMethod('procedure ENDDRAG(DROP:BOOLEAN)');
  66.     {$IFNDEF CLX}
  67.     RegisterMethod('function GETTEXTBUF(BUFFER:PCHAR;BUFSIZE:INTEGER):INTEGER');
  68.     RegisterMethod('function GETTEXTLEN:INTEGER');
  69.     RegisterMethod('procedure SETTEXTBUF(BUFFER:PCHAR)');
  70.     RegisterMethod('function PERFORM(MSG:CARDINAL;WPARAM,LPARAM:LONGINT):LONGINT');
  71.     {$ENDIF}
  72.     RegisterMethod('function SCREENTOCLIENT(POINT:TPOINT):TPOINT');
  73.     RegisterProperty('CURSOR', 'TCURSOR', iptrw);
  74.     {$ENDIF}
  75.   end;
  76. end;
  77.  
  78. procedure SIRegisterTWinControl(Cl: TIFPSCompileTimeClassesImporter); // requires TControl
  79. begin
  80.   with Cl.Add(cl.FindClass('TControl'), TWinControl) do
  81.   begin
  82.  
  83.     with Cl.FindClass('TControl') do
  84.     begin
  85.       RegisterProperty('Parent', 'TWinControl', iptRW);
  86.     end;
  87.  
  88.  
  89.     {$IFNDEF MINIVCL}
  90.     RegisterMethod('function HandleAllocated: Boolean;');
  91.     RegisterMethod('procedure HandleNeeded;');
  92.     RegisterMethod('procedure EnableAlign;');
  93.     RegisterMethod('procedure RemoveControl(AControl: TControl);');
  94.     RegisterMethod('procedure InsertControl(AControl: TControl);');
  95.     RegisterMethod('procedure Realign;');
  96.     RegisterMethod('procedure ScaleBy(M, D: Integer);');
  97.     RegisterMethod('procedure ScrollBy(DeltaX, DeltaY: Integer);');
  98.     RegisterMethod('procedure SetFocus; virtual;');
  99.     {$IFNDEF CLX}
  100.     RegisterProperty('Handle', 'Longint', iptRW);
  101.     RegisterMethod('procedure PAINTTO(DC:Longint;X,Y:INTEGER)');
  102.     {$ENDIF}
  103.     RegisterProperty('Showing', 'Boolean', iptR);
  104.     RegisterProperty('TabOrder', 'Integer', iptRW);
  105.     RegisterProperty('TabStop', 'Boolean', iptRW);
  106.  
  107.     RegisterMethod('function CANFOCUS:BOOLEAN');
  108.     RegisterMethod('function CONTAINSCONTROL(CONTROL:TCONTROL):BOOLEAN');
  109.     RegisterMethod('procedure DISABLEALIGN');
  110.     RegisterMethod('function FOCUSED:BOOLEAN');
  111.     RegisterMethod('procedure UPDATECONTROLSTATE');
  112.  
  113.     RegisterProperty('BRUSH', 'TBRUSH', iptr);
  114.     RegisterProperty('CONTROLS', 'TCONTROL INTEGER', iptr);
  115.     RegisterProperty('CONTROLCOUNT', 'INTEGER', iptr);
  116.     RegisterProperty('HELPCONTEXT', 'LONGINT', iptrw);
  117.     {$ENDIF}
  118.   end;
  119. end;
  120. procedure SIRegisterTGraphicControl(cl: TIFPSCompileTimeClassesImporter); // requires TControl
  121. begin
  122.   Cl.Add(cl.FindClass('TControl'), TGraphicControl);
  123. end;
  124.  
  125. procedure SIRegisterTCustomControl(cl: TIFPSCompileTimeClassesImporter); // requires TWinControl
  126. begin
  127.   Cl.Add(cl.FindClass('TWinControl'), TCustomControl);
  128. end;
  129.  
  130. procedure SIRegister_Controls_TypesAndConsts(Cl: TIFPSCompileTimeClassesImporter);
  131. begin
  132.  Cl.se.AddTypeS('TMouseEvent', 'procedure(Sender: TObject; Button: Byte; Shift: Byte; X, Y: Integer);');
  133.   cl.se.AddTypeS('TMouseMoveEvent', 'procedure(Sender: TObject; Shift: Byte; X, Y: Integer);');
  134.   cl.se.AddTypeS('TKeyEvent', 'procedure(Sender: TObject; var Key: Word; Shift: Byte);');
  135.   cl.se.AddTypeS('TKeyPressEvent', 'procedure(Sender: TObject; var Key: Char);');
  136.   cl.se.AddTypeS('TMouseButton', '(mbLeft, mbRight, mbMiddle)');
  137.   cl.se.AddTypeS('TDragMode', '(dmManual, dmAutomatic)');
  138.   cl.se.AddTypeS('TDragState', '(dsDragEnter, dsDragLeave, dsDragMove)');
  139.   cl.se.AddTypeS('TDragKind', '(dkDrag, dkDock)');
  140.   cl.se.AddTypeS('TDragOverEvent', 'procedure(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean)');
  141.   cl.se.AddTypeS('TDragDropEvent', 'procedure(Sender, Source: TObject;X, Y: Integer)');
  142.   cl.se.AddTypeS('TEndDragEvent', 'procedure(Sender, Target: TObject; X, Y: Integer)');
  143.  
  144.   cl.se.addTypeS('TAlign', '(alNone, alTop, alBottom, alLeft, alRight, alClient)');
  145.  
  146.   cl.se.AddConstantN('akLeft', 'Byte')^.Value.Value := #1;
  147.   cl.se.AddConstantN('akTop', 'Byte')^.Value.Value := #2;
  148.   cl.se.AddConstantN('akRight', 'Byte')^.Value.Value := #4;
  149.   cl.se.AddConstantN('akbottom', 'Byte')^.Value.Value := #8;
  150.   cl.se.AddConstantN('mrNone', 'Integer')^.Value.Value := TransLongintToStr(0);
  151.   cl.se.AddConstantN('mrOk', 'Integer')^.Value.Value := TransLongintToStr(1);
  152.   cl.se.AddConstantN('mrCancel', 'Integer')^.Value.Value := TransLongintToStr(2);
  153.   cl.se.AddConstantN('mrAbort', 'Integer')^.Value.Value := TransLongintToStr(3);
  154.   cl.se.AddConstantN('mrRetry', 'Integer')^.Value.Value := TransLongintToStr(4);
  155.   cl.se.AddConstantN('mrIgnore', 'Integer')^.Value.Value := TransLongintToStr(5);
  156.   cl.se.AddConstantN('mrYes', 'Integer')^.Value.Value := TransLongintToStr(6);
  157.   cl.se.AddConstantN('mrNo', 'Integer')^.Value.Value := TransLongintToStr(7);
  158.   cl.se.AddConstantN('mrAll', 'Integer')^.Value.Value := TransLongintToStr(8);
  159.   cl.se.AddConstantN('mrNoToAll', 'Integer')^.Value.Value := TransLongintToStr(9);
  160.   cl.se.AddConstantN('mrYesToAll', 'Integer')^.Value.Value := TransLongintToStr(10);
  161.   cl.se.AddConstantN('crDefault', 'Integer')^.Value.Value := TransLongintToStr(0);
  162.   cl.se.AddConstantN('crNone', 'Integer')^.Value.Value := TransLongintToStr(-1);
  163.   cl.se.AddConstantN('crArrow', 'Integer')^.Value.Value := TransLongintToStr(-2);
  164.   cl.se.AddConstantN('crCross', 'Integer')^.Value.Value := TransLongintToStr(-3);
  165.   cl.se.AddConstantN('crIBeam', 'Integer')^.Value.Value := TransLongintToStr(-4);
  166.   cl.se.AddConstantN('crSize', 'Integer')^.Value.Value := TransLongintToStr(-22);
  167.   cl.se.AddConstantN('crSizeNESW', 'Integer')^.Value.Value := TransLongintToStr(-6);
  168.   cl.se.AddConstantN('crSizeNS', 'Integer')^.Value.Value := TransLongintToStr(-7);
  169.   cl.se.AddConstantN('crSizeNWSE', 'Integer')^.Value.Value := TransLongintToStr(-8    );
  170.   cl.se.AddConstantN('crSizeWE', 'Integer')^.Value.Value := TransLongintToStr(-9    );
  171.   cl.se.AddConstantN('crUpArrow', 'Integer')^.Value.Value := TransLongintToStr(-10);
  172.   cl.se.AddConstantN('crHourGlass', 'Integer')^.Value.Value := TransLongintToStr(-11);
  173.   cl.se.AddConstantN('crDrag', 'Integer')^.Value.Value := TransLongintToStr(-12);
  174.   cl.se.AddConstantN('crNoDrop', 'Integer')^.Value.Value := TransLongintToStr(-13  );
  175.   cl.se.AddConstantN('crHSplit', 'Integer')^.Value.Value := TransLongintToStr(-14);
  176.   cl.se.AddConstantN('crVSplit', 'Integer')^.Value.Value := TransLongintToStr(-15);
  177.   cl.se.AddConstantN('crMultiDrag', 'Integer')^.Value.Value := TransLongintToStr(-16);
  178.   cl.se.AddConstantN('crSQLWait', 'Integer')^.Value.Value := TransLongintToStr(-17);
  179.   cl.se.AddConstantN('crNo', 'Integer')^.Value.Value := TransLongintToStr(-18);
  180.   cl.se.AddConstantN('crAppStart', 'Integer')^.Value.Value := TransLongintToStr(-19);
  181.   cl.se.AddConstantN('crHelp', 'Integer')^.Value.Value := TransLongintToStr(-20);
  182. end;
  183.  
  184. procedure SIRegister_Controls(Cl: TIFPSCompileTimeClassesImporter);
  185. begin
  186.   SIRegister_Controls_TypesAndConsts(cl);
  187.  
  188.   SIRegisterTControl(Cl);
  189.   SIRegisterTWinControl(Cl);
  190.   SIRegisterTGraphicControl(cl);
  191.   SIRegisterTCustomControl(cl);
  192. end;
  193.  
  194. // MiniVCL changes by Martijn Laan (mlaan at wintax _dot_ nl)
  195.  
  196. end.
  197.