{*******************************************************}
{                                                       }
{       Borland Delphi Visual Component Library         }
{       Registration of InernetExpress components       }
{                                                       }
{  Copyright (c) 1999-2002 Borland Software Corp.       }
{                                                       }
{*******************************************************}

unit WCompReg;

interface

{$IFDEF MSWINDOWS}
uses DesignIntf, DesignEditors, Classes, MidProd, WItemEdt,  WItemEdtW, Xmlxform;
{$ENDIF}
{$IFDEF LINUX}
uses DesignIntf, DesignEditors, Classes, MidProd, WItemEdt,  WItemEdtL;
{$ENDIF}
type
  TProviderNameProperty = class(TStringProperty)
    function GetAttributes: TPropertyAttributes; override;
    procedure GetValues(Proc: TGetStrProc); override;
  end;

  TXMLDisplayComponentProperty = class(TComponentProperty)
    function GetAttributes: TPropertyAttributes; override;
    procedure GetValues(Proc: TGetStrProc); override;
  end;

  TQueryFormComponentProperty = class(TComponentProperty)
    function GetAttributes: TPropertyAttributes; override;
    procedure GetValues(Proc: TGetStrProc); override;
  end;

  TItemsFieldProperty = class(TStringProperty)
    function GetAttributes: TPropertyAttributes; override;
    procedure GetValues(Proc: TGetStrProc); override;
  end;

  TDataSetViewFieldProperty = class(TStringProperty)
    function GetAttributes: TPropertyAttributes; override;
    procedure GetValues(Proc: TGetStrProc); override;
  end;

  TDataSetViewParamProperty = class(TStringProperty)
    function GetAttributes: TPropertyAttributes; override;
    procedure GetValues(Proc: TGetStrProc); override;
  end;

  TXMLDataSetFieldProperty = class(TStringProperty)
    function GetAttributes: TPropertyAttributes; override;
    procedure GetValues(Proc: TGetStrProc); override;
  end;

  TServerNameProperty = class(TStringProperty)
    function GetAttributes: TPropertyAttributes; override;
    procedure GetValues(Proc: TGetStrProc); override;
  end;

  TCssClassProperty = class(TStringProperty)
  protected
    function FindProducer: TComponent; virtual;
  public
    function GetAttributes: TPropertyAttributes; override;
    procedure GetValues(Proc: TGetStrProc); override;
  end;

  TPageItemsEditorClass = class of TPageItemsEditor;
  TWebPageItemsPropertyEditor = class(TClassProperty)
  protected
    function GetEditorClass: TPageItemsEditorClass; virtual;
  public
    procedure Edit; override;
    function GetAttributes: TPropertyAttributes; override;
  end;

  TStylesFilePropertyEditor = class(TStringProperty)
  public
    procedure Edit; override;
    function GetAttributes: TPropertyAttributes; override;
  end;

{$IFDEF LINUX}
  TWebPageEditor = class(TComponentEditor, IDesignerThreadAffinity)
  protected
    function GetEditorClass: TPageItemsEditorClass; virtual;
  public
    procedure ExecuteVerb(Index: Integer); override;
    function GetVerb(Index: Integer): string; override;
    function GetVerbCount: Integer; override;
    { IDesignerThreadAffinity }
    function GetThreadAffinity: TThreadAffinity;
  end;
{$ENDIF LINUX}

{$IFDEF MSWINDOWS}
  TWebPageEditor = class(TComponentEditor)
  protected
    function GetEditorClass: TPageItemsEditorClass; virtual;
  public
    procedure ExecuteVerb(Index: Integer); override;
    function GetVerb(Index: Integer): string; override;
    function GetVerbCount: Integer; override;
  end;
{$ENDIF MSWINDOWS}
  TXMLBrokerEditor = class(TComponentEditor)
  public
    procedure ExecuteVerb(Index: Integer); override;
    function GetVerb(Index: Integer): string; override;
    function GetVerbCount: Integer; override;
  end;

procedure Register;

implementation
