require "phi"
require "rdb"

# （１）ソースファイルを捜して、ソースファイル
# →C:/PROGRA~1/Borland/Delphi6/Source/Vcl/CheckLst.pas[TCheckListBox]
# からコピーしてきて、「<<MMMM」〜「MMMM」に貼り付ける。
# （３）クラス名を変更する
# （２）行の泣き別れを一つにして
# （３）不要な行をコメントアウトして
# （４）このスクリプトを実行し
# （５）Apolloのソースファイル
# 
# →C:/ap-cvs/apollo/src/ext/dialogs/dialogs.dpr[TReplaceDialog]
# に貼り付ける。
# （６）保存が必要なら、名前を変えて「ap_xx.rb」→「ap_Field.rb」保存。
# （７）出来た uField.pas を使って Phi.dpr をコンパイルする。
# （８）エラーが出た部分はとりあえず削除して、コンパイル可能にする。
# （９）それを初期バージョンとしてＭＬにアップする。
# （10）エラーが得た部分に関して、ap_src_maker.rb の訂正や、手動補正でメソッドを増やす。
# （11）methods_for_wiki でマニュアルの項目を作り、
# （12）ヘルプなどを見ながら、作りすぎを削除したり、補正したりする。また、マニュアルを作る。

$ap_class = Phi::CheckListBox
$dl_class = "TCheckListBox"

$public_method_data =<<MMMM
##  protected
##    procedure DrawItem(Index: Integer; Rect: TRect;      State: TOwnerDrawState); override;
##    function InternalGetItemData(Index: Integer): Longint; override;
##    procedure InternalSetItemData(Index: Integer; AData: Longint); override;
##    procedure SetItemData(Index: Integer; AData: LongInt); override;
##    function GetItemData(Index: Integer): LongInt; override;
##    procedure KeyPress(var Key: Char); override;
##    procedure MouseDown(Button: TMouseButton; Shift: TShiftState;      X, Y: Integer); override;
##    procedure ResetContent; override;
##    procedure DeleteString(Index: Integer); override;
##    procedure ClickCheck; dynamic;
##    procedure CreateParams(var Params: TCreateParams); override;
##    procedure CreateWnd; override;
##    procedure DestroyWnd; override;
##    function GetCheckWidth: Integer;
##  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    property Checked[Index: Integer]: Boolean read GetChecked write SetChecked;
    property ItemEnabled[Index: Integer]: Boolean read GetItemEnabled write SetItemEnabled;
    property State[Index: Integer]: TCheckBoxState read GetState write SetState;
    property Header[Index: Integer]: Boolean read GetHeader write SetHeader;
  published
    property OnClickCheck: TNotifyEvent read FOnClickCheck write FOnClickCheck;
    property Align;
    property AllowGrayed: Boolean read FAllowGrayed write FAllowGrayed default False;
    property Anchors;
    property AutoComplete;
    property BevelEdges;
    property BevelInner;
    property BevelOuter;
    property BevelKind;
    property BevelWidth;
    property BiDiMode;
    property BorderStyle;
    property Color;
    property Columns;
    property Constraints;
    property Ctl3D;
    property DragCursor;
    property DragKind;
    property DragMode;
    property Enabled;
    property Flat: Boolean read FFlat write SetFlat default True;
    //property ExtendedSelect;
    property Font;
    property HeaderColor: TColor read FHeaderColor write SetHeaderColor default clInfoText;
    property HeaderBackgroundColor: TColor read FHeaderBackgroundColor write SetHeaderBackgroundColor default clInfoBk;
    property ImeMode;
    property ImeName;
    property IntegralHeight;
    property ItemHeight;
    property Items;
    //property MultiSelect;
    property ParentBiDiMode;
    property ParentColor;
    property ParentCtl3D;
    property ParentFont;
    property ParentShowHint;
    property PopupMenu;
    property ShowHint;
    property Sorted;
    property Style;
    property TabOrder;
    property TabStop;
    property TabWidth;
    property Visible;
    property OnClick;
    property OnContextPopup;
    property OnData;
    property OnDataFind;
    property OnDataObject;
    property OnDblClick;
    property OnDragDrop;
    property OnDragOver;
    property OnDrawItem;
    property OnEndDock;
    property OnEndDrag;
    property OnEnter;
    property OnExit;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnMeasureItem;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
    property OnStartDock;
    property OnStartDrag;
MMMM

require "../ap_src_maker"  # ../ap_src_maker
