Componentes.Terceros.DevExp.../official/x.30/ExpressWeb Framework/Sources/cxWebModuleWizard.pas
2007-12-16 17:06:54 +00:00

198 lines
6.1 KiB
ObjectPascal

{*******************************************************************}
{ }
{ ExpressWeb Framework by Developer Express }
{ Designer Module }
{ }
{ Copyright (c) 2000-2007 Developer Express Inc. }
{ ALL RIGHTS RESERVED }
{ }
{ The entire contents of this file is protected by U.S. and }
{ International Copyright Laws. Unauthorized reproduction, }
{ reverse-engineering, and distribution of all or any portion of }
{ the code contained in this file is strictly prohibited and may }
{ result in severe civil and criminal penalties and will be }
{ prosecuted to the maximum extent possible under the law. }
{ }
{ RESTRICTIONS }
{ }
{ THIS SOURCE CODE AND ALL RESULTING INTERMEDIATE FILES }
{ (DCU, OBJ, DLL, ETC.) ARE CONFIDENTIAL AND PROPRIETARY TRADE }
{ SECRETS OF DEVELOPER EXPRESS INC. THE REGISTERED DEVELOPER IS }
{ LICENSED TO DISTRIBUTE THE EXPRESSWEB FRAMEWORK AND ALL }
{ ACCOMPANYING VCL CLASSES AS PART OF AN EXECUTABLE WEB }
{ APPLICATION ONLY. }
{ }
{ THE SOURCE CODE CONTAINED WITHIN THIS FILE AND ALL RELATED }
{ FILES OR ANY PORTION OF ITS CONTENTS SHALL AT NO TIME BE }
{ COPIED, TRANSFERRED, SOLD, DISTRIBUTED, OR OTHERWISE MADE }
{ AVAILABLE TO OTHER INDIVIDUALS WITHOUT EXPRESS WRITTEN CONSENT }
{ AND PERMISSION FROM DEVELOPER EXPRESS INC. }
{ }
{ CONSULT THE END USER LICENSE AGREEMENT FOR INFORMATION ON }
{ ADDITIONAL RESTRICTIONS. }
{ }
{*******************************************************************}
unit cxWebModuleWizard;
{$I cxVer.inc}
interface
uses
Classes, SysUtils, HTTPApp, ToolsAPI,
cxWebModule, cxWebWizardUtils;
type
TcxWebPageModuleWizard = class(TcxWebCustomModuleWizard, IOTAFormWizard)
public
function GetName: string; override;
function GetIDString: string; override;
function GetComment: string; override;
function GetGlyph: Cardinal; override;
procedure Execute; override;
end;
TcxWebDataModuleWizard = class(TcxWebCustomModuleWizard, IOTAFormWizard)
public
function GetName: string; override;
function GetIDString: string; override;
function GetComment: string; override;
function GetGlyph: Cardinal; override;
procedure Execute; override;
end;
TcxWebDataModuleCreator = class(TcxWebModuleCreator)
protected
function HasHTML: Boolean; override;
end;
TcxWebPageModuleCreator = class(TcxWebModuleCreator)
protected
function GetProperties: string; override;
end;
procedure Register;
implementation
uses TypInfo,
{$IFDEF VCL}
Windows,
{$ELSE}
Qt, QGraphics,
{$ENDIF}
cxfmWebModuleWizard, cxfmWebDataModuleWizard, cxWebStrs, cxWebDsgnConsts,
cxWebDsgnUtils;
{TcxWebDataModuleCreator}
function TcxWebDataModuleCreator.HasHTML: Boolean;
begin
Result := False;
end;
{TcxWebPageModuleCreator}
function TcxWebPageModuleCreator.GetProperties: string;
begin
Result := Format(' DesignerId = %d ServerScript = %d ', [CreationData.DesignerID, CreationData.ScriptEngine]);
end;
{ TcxWebPageModuleWizard }
procedure TcxWebPageModuleWizard.Execute;
var
AModuleWizardData: TcxWebModuleWizardData;
AModuleServices: IOTAModuleServices;
begin
with AModuleWizardData do
begin
ModuleType := wmtPage;
CacheMode := caDestroy;
CreateMode := crOnDemand;
IsPublished := True;
ScriptEngine := 0;
end;
if ShowcxWebNewModuleWizard(@AModuleWizardData) and
Supports(BorlandIDEServices, IOTAModuleServices, AModuleServices) then
AModuleServices.CreateModule(TcxWebPageModuleCreator.Create(@AModuleWizardData));
end;
function TcxWebPageModuleWizard.GetName: string;
begin
Result := scxWebPageModuleWizardName;
end;
function TcxWebPageModuleWizard.GetIDString: string;
begin
Result := scxWebPageModuleWizardID;
end;
function TcxWebPageModuleWizard.GetComment: string;
begin
Result := scxWebPageModuleWizardComment;
end;
function TcxWebPageModuleWizard.GetGlyph: Cardinal;
begin
Result :=
{$IFDEF VCL}
LoadIcon(hInstance, scxWebPageModuleWizardIconName);
{$ELSE}
GetIconResourceID(scxWebPageModuleWizardIconName);
{$ENDIF}
end;
{ TcxWebDataModuleWizard }
procedure TcxWebDataModuleWizard.Execute;
var
AModuleWizardData: TcxWebModuleWizardData;
begin
with AModuleWizardData do
begin
ModuleType := wmtData;
CacheMode := caDestroy;
CreateMode := crOnDemand;
IsPublished := True;
end;
if ShowcxWebNewDataModuleWizard(@AModuleWizardData) then
begin
(BorlandIDEServices as IOTAModuleServices).CreateModule(TcxWebDataModuleCreator.Create(@AModuleWizardData));
end;
end;
function TcxWebDataModuleWizard.GetName: string;
begin
Result := scxWebDataModuleWizardName;
end;
function TcxWebDataModuleWizard.GetIDString: string;
begin
Result := scxWebDataModuleWizardID;
end;
function TcxWebDataModuleWizard.GetComment: string;
begin
Result := scxWebDataModuleWizardComment;
end;
function TcxWebDataModuleWizard.GetGlyph: Cardinal;
begin
Result :=
{$IFDEF VCL}
LoadIcon(hInstance, scxWebDataModuleWizardIconName);
{$ELSE}
GetIconResourceID(scxWebDataModuleWizardIconName);
{$ENDIF}
end;
procedure Register;
begin
RegisterPackageWizard(TcxWebDataModuleWizard.Create);
RegisterPackageWizard(TcxWebPageModuleWizard.Create);
end;
end.