XPDUnitWizard.pas
上传用户:yjb1804
上传日期:2021-01-30
资源大小:3105k
文件大小:4k
源码类别:

Email服务器

开发平台:

Delphi

  1. unit XPDUnitWizard;
  2. {
  3.  $Source: /cvsroot/dunit/dunit/Contrib/DUnitWizard/Source/DelphiExperts/DUnitProject/XPDUnitWizard.pas,v $
  4.  $Revision: 1.2 $
  5.  $Date: 2004/05/03 15:07:16 $
  6.  Last amended by $Author: pvspain $
  7.  $State: Exp $
  8.  XPDUnitWizard:
  9.  Copyright (c) 2002 by The Excellent Programming Company Pty Ltd
  10.  (Australia) (ABN 27 005 394 918). All rights reserved.
  11.  Contact Paul Spain via email: paul@xpro.com.au
  12.  This unit is free software; you can redistribute it and/or
  13.  modify it under the terms of the GNU Lesser General Public
  14.  License as published by the Free Software Foundation; either
  15.  version 2.1 of the License, or (at your option) any later version.
  16.  This unit is distributed in the hope that it will be useful,
  17.  but WITHOUT ANY WARRANTY; without even the implied warranty of
  18.  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  19.  Lesser General Public License for more details.
  20.  You should have received a copy of the GNU Lesser General Public
  21.  License along with this unit; if not, the license can be viewed at:
  22.  http://www.gnu.org/copyleft/lesser.html
  23.  or write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
  24.  Boston, MA  02111-1307  USA
  25. }
  26. interface
  27. procedure Register;
  28. implementation
  29. uses
  30.   ToolsAPI,
  31.   XP_OTAWizards,
  32.   XP_OTAUtils,
  33.   XPDUnitProjectWizard,
  34.   XPDUnitTestModuleWizard,
  35.   XPDUnitTestClassWizard,
  36.   XPDUnitMenuWizard;
  37. const CVSID: string = '$Header: /cvsroot/dunit/dunit/Contrib/DUnitWizard/Source/DelphiExperts/DUnitProject/XPDUnitWizard.pas,v 1.2 2004/05/03 15:07:16 pvspain Exp $';
  38. const Author = 'Paul Spain, EPC';
  39. const DisplayName = 'EPC DUnit Wizard';
  40. type
  41. //////////////////////////////////////////////////////////////////////////////
  42. ///     Wizard declaration
  43. //////////////////////////////////////////////////////////////////////////////
  44.   TXPDUnitWizard = class(TXP_OTAWizard)
  45.   private
  46.     FProjectWizardHandle: integer;
  47.     FTestModuleWizardHandle: integer;
  48.     FTestClassWizardHandle: integer;
  49.     FMenuWizardHandle: integer;
  50.   protected
  51.     function GetAuthor: string; override;
  52.     function GetName: string; override;
  53.   public
  54.     constructor Create;
  55.     destructor Destroy; override;
  56.   end;
  57. //////////////////////////////////////////////////////////////////////////////
  58. ///     Wizard entry point
  59. //////////////////////////////////////////////////////////////////////////////
  60. procedure Register;
  61.   begin
  62.   ToolsAPI.RegisterPackageWizard(TXPDUnitWizard.Create)
  63.   end;
  64. //////////////////////////////////////////////////////////////////////////////
  65. ///   Wizard implementation
  66. //////////////////////////////////////////////////////////////////////////////
  67. constructor TXPDUnitWizard.Create;
  68. var
  69.   ATestClassWizard, ATestModuleWizard, AProjectWizard: IOTAWizard;
  70. begin
  71.   inherited;
  72.   AProjectWizard := XPDUnitProjectWizard.ProjectWizard;
  73.   XP_OTAUtils.AddWizard(AProjectWizard, FProjectWizardHandle);
  74.   ATestModuleWizard := XPDUnitTestModuleWizard.TestModuleWizard;
  75.   XP_OTAUtils.AddWizard(ATestModuleWizard, FTestModuleWizardHandle);
  76.   ATestClassWizard := XPDUnitTestClassWizard.TestClassWizard;
  77.   XP_OTAUtils.AddWizard(ATestClassWizard, FTestClassWizardHandle);
  78.   XP_OTAUtils.AddWizard( XPDUnitMenuWizard.MenuWizard(ATestClassWizard,
  79.     ATestModuleWizard, AProjectWizard), FMenuWizardHandle );
  80. end;
  81. destructor TXPDUnitWizard.Destroy;
  82. begin
  83.   XP_OTAUtils.DeleteWizard(FMenuWizardHandle);
  84.   XP_OTAUtils.DeleteWizard(FTestClassWizardHandle);
  85.   XP_OTAUtils.DeleteWizard(FTestModuleWizardHandle);
  86.   XP_OTAUtils.DeleteWizard(FProjectWizardHandle);
  87.   inherited;
  88. end;
  89. function TXPDUnitWizard.GetAuthor: string;
  90. begin
  91.    Result := Author;
  92. end;
  93. function TXPDUnitWizard.GetName: string;
  94. begin
  95.   Result := DisplayName;
  96. end;
  97. end.