CnPack Forum » CnWizards IDE Wizards » [feature idea #3] collect class


2007-1-30 11:11 klemm
[feature idea #3] collect class

A spinoff from previous idea:

A tool to order method bodies in implementation according to interface order.

Example:

type
  TMyClass = class
  private
    FText: String;
    procedure SetText(Value: String);
  public
    constructor Create(AText: String);
    procedure Show(Canvas: TCanvas);
    function GetSize(Canvas: TCanvas): TPoint; virtual;
    procedure Whatever; virtual; abstract;
    property Text: String read FText write SetText;
  end;

  TMyClass2 = class(TMyClass)
  public
    procedure Whatever; override;
  end;

implementation

constructor TMyClass.Create(AText: String);
begin
  {$MESSAGE WARN 'Not implemented yet!'}
end;

procedure TMyClass.SetText(Value: String);
begin
  {$MESSAGE WARN 'Not implemented yet!'}
end;

procedure TMyClass2.Whatever;
begin
  {$MESSAGE WARN 'Not implemented yet!'}
end;

function TMyClass.GetSize(Canvas: TCanvas): TPoint;
begin
  {$MESSAGE WARN 'Not implemented yet!'}
end;

procedure TMyClass.Show(Canvas: TCanvas);
begin
  {$MESSAGE WARN 'Not implemented yet!'}
end;


After running the wizard, the implementation would look like this:


procedure TMyClass.SetText(Value: String);
begin
  {$MESSAGE WARN 'Not implemented yet!'}
end;

constructor TMyClass.Create(AText: String);
begin
  {$MESSAGE WARN 'Not implemented yet!'}
end;

procedure TMyClass.Show(Canvas: TCanvas);
begin
  {$MESSAGE WARN 'Not implemented yet!'}
end;

function TMyClass.GetSize(Canvas: TCanvas): TPoint;
begin
  {$MESSAGE WARN 'Not implemented yet!'}
end;

procedure TMyClass2.Whatever;
begin
  {$MESSAGE WARN 'Not implemented yet!'}
end;


--
BR,
Lauri -- the idea generator [img]http://bbs.cnpack.org/images/smilies/biggrin.gif[/img]

2007-2-14 11:16 Passion
Sorry for late relpy.

Syntax Parsing is a weak point in CnWizards. There're some difficut for CnWizards to do such jobs.

And actually, MMX CodeExplorer does it better than us. :lol

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.