home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Delphi Anthology
/
aDELPHI.iso
/
Runimage
/
Delphi50
/
Demos
/
Midas
/
InternetExpress
/
InetXCustom
/
inetxcustomreg.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1999-08-11
|
5KB
|
163 lines
unit InetXCustomReg;
interface
procedure Register;
implementation
uses QueryComps, ShowXML, WebComp, ReconcileProd, LinkFlds, SortFlds,
Classes, ImgButtons, RowSetStatus, MidItems, WebCombo,
CustLayout, WCompReg, Dsgnintf, FieldAttr, MidProd;
type
TImgButtonsEditorHelper = class(TWebComponentsEditorHelper)
protected
function ImplCanAddClassHelper(AEditor: TComponent; AParent: TComponent; AClass: TClass): Boolean; override;
end;
type
TRowSetStatusEditorHelper = class(TWebComponentsEditorHelper)
protected
function ImplCanAddClassHelper(AEditor: TComponent; AParent: TComponent; AClass: TClass): Boolean; override;
end;
type
TRecCssClassProperty = class(TCssClassProperty)
protected
function FindProducer: TCustomMidasPageProducer; override;
end;
var
ImgButtonsEditorHelper: TImgButtonsEditorHelper;
RowSetStatusEditorHelper: TRowSetStatusEditorHelper;
{ TImgButtonsEditorHelper }
function TImgButtonsEditorHelper.ImplCanAddClassHelper(AEditor: TComponent; AParent: TComponent;
AClass: TClass): Boolean;
var
I: Integer;
List: IGetWebComponentList;
begin
Result := False;
if AEditor.InheritsFrom(TImgDataNavigator) then
begin
Result := True;
AParent.GetInterface(IGetWebComponentList, List);
with (List.GetComponentList as TWebComponentList) do
// Don't allow duplicates
for I := 0 to Count - 1 do
if WebComponents[I].ClassType = AClass then
begin
Result := False;
break;
end
end
end;
{ TRowSetStatusEditorHelper }
function TRowSetStatusEditorHelper.ImplCanAddClassHelper(AEditor,
AParent: TComponent; AClass: TClass): Boolean;
var
Component: TComponent;
Intf: IXMLDisplay;
begin
// Can insert this under a component that defines a row set.
Component := AParent;
while Assigned(Component) and
(not Component.GetInterface(IXMLDisplay, Intf)) do
Component := Component.GetParentComponent;
Result := Assigned(Component);
end;
function TRecCssClassProperty.FindProducer: TCustomMidasPageProducer;
var
Component: TComponent;
begin
if GetComponent(0) is TReconcileColumn then
Component := TReconcileColumn(GetComponent(0)).CaptionAttributes.Parent
else
Component := nil;
while Assigned(Component) and
not (Component is TCustomMidasPageProducer) do
Component := Component.GetParentComponent;
Result := TCustomMidasPageProducer(Component);
end;
procedure Register;
begin
RegisterComponents('InternetExpress', [ { do not localize }
TReconcilePageProducer
]);
RegisterNonActiveX([TReconcilePageProducer], axrIncludeDescendants);
RegisterWebComponents([
TPromptQueryButton, TSubmitValueButton, TQueryPassword,
TQueryHiddenText]);
RegisterWebComponents([
TShowXMLButton, TShowDeltaButton]);
RegisterWebComponents([
TFieldLink, TLinkColumn
]);
RegisterWebComponents([
TSortTextColumn
]);
RegisterWebComponents([
TImgDataNavigator
]);
RegisterWebComponents([
TImgFirstButton, TImgPriorPageButton, TImgPriorButton, TImgNextButton,
TImgNextPageButton, TImgLastButton, TImgInsertButton, TImgDeleteButton,
TImgUndoButton, TImgPostButton,
TImgApplyUpdatesButton], ImgButtonsEditorHelper);
RegisterWebComponents([TRowSetStatus],
RowSetStatusEditorHelper);
RegisterWebComponents([TFieldTextAttr, TTextColumnAttr]);
RegisterWebComponents([TQuerySearchSelectOptions]);
RegisterWebComponents([TTitleLayoutGroup, TTitleDataForm]);
RegisterPropertyEditor(TypeInfo(string), TSearchSelectOptionsInput, 'ValuesField', TItemsFieldProperty);
RegisterPropertyEditor(TypeInfo(string), TSearchSelectOptionsInput, 'ItemsField', TItemsFieldProperty);
RegisterPropertyEditor(TypeInfo(string), TReconcileColumn, 'StyleRule', TRecCssClassProperty); { do not localize }
RegisterPropertyEditor(TypeInfo(string), TWebLink, 'KeyFieldName', TDataSetViewFieldProperty); { do not localize }
end;
initialization
ImgButtonsEditorHelper := TImgButtonsEditorHelper.Create;
RowSetStatusEditorHelper := TRowSetStatusEditorHelper.Create;
finalization
UnRegisterWebComponents([
TPromptQueryButton, TSubmitValueButton, TQueryPassword,
TQueryHiddenText]);
UnRegisterWebComponents([
TShowXMLButton, TShowDeltaButton]);
UnRegisterWebComponents([
TFieldLink, TLinkColumn
]);
UnRegisterWebComponents([
TSortTextColumn
]);
UnRegisterWebComponents([
TImgDataNavigator
]);
UnRegisterWebComponents([
TImgFirstButton, TImgPriorPageButton, TImgPriorButton, TImgNextButton,
TImgNextPageButton, TImgLastButton, TImgInsertButton, TImgDeleteButton,
TImgUndoButton, TImgPostButton,
TImgApplyUpdatesButton]);
UnRegisterWebComponents([
TRowSetStatus]);
UnRegisterWebComponents([
TQuerySearchSelectOptions]);
UnRegisterWebComponents([
TTitleLayoutGroup, TTitleDataForm]);
UnRegisterWebComponents([
TTextColumnAttr, TFieldTextAttr]);
ImgButtonsEditorHelper.Free;
RowSetStatusEditorHelper.Free;
end.