From: Jens F. <jfu...@us...> - 2006-03-29 23:07:50
|
Update of /cvsroot/jvcl/dev/JVCL3/run In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11237/run Modified Files: JvDynControlEngine.pas JvDynControlEngineDevExpCx.pas JvDynControlEngineIntf.pas JvDynControlEngineJVCL.pas JvDynControlEngineVCL.pas Log Message: Added/Enhanced DynControlEngine-Controls Index: JvDynControlEngineDevExpCx.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvDynControlEngineDevExpCx.pas,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** JvDynControlEngineDevExpCx.pas 31 Dec 2005 15:35:40 -0000 1.21 --- JvDynControlEngineDevExpCx.pas 29 Mar 2006 23:07:42 -0000 1.22 *************** *** 32,36 **** {$IFDEF UNITVERSIONING} uses ! JclUnitVersioning; {$ENDIF UNITVERSIONING} --- 32,36 ---- {$IFDEF UNITVERSIONING} uses ! JclUnitVersioning, JvDynControlEngineIntf; {$ENDIF UNITVERSIONING} *************** *** 45,49 **** cxButtonEdit, cxCalendar, cxCheckBox, cxMemo, cxRadioGroup, cxImage, cxTreeView, cxEdit, cxCalc, cxSpinEdit, cxTimeEdit, cxCheckListBox, cxGroupBox, cxRichEdit, ! cxProgressBar, JvDynControlEngine, JvDynControlEngineIntf; --- 45,49 ---- cxButtonEdit, cxCalendar, cxCheckBox, cxMemo, cxRadioGroup, cxImage, cxTreeView, cxEdit, cxCalc, cxSpinEdit, cxTimeEdit, cxCheckListBox, cxGroupBox, cxRichEdit, ! cxProgressBar, cxPC, JvDynControlEngine, JvDynControlEngineIntf; *************** *** 739,743 **** TJvDynControlCxTreeView = class(TcxTreeView, IUnknown, IJvDynControl, IJvDynControlTreeView, ! IJvDynControlDevExpCx, IJvDynControlReadOnly) public procedure ControlSetDefaultProperties; --- 739,743 ---- TJvDynControlCxTreeView = class(TcxTreeView, IUnknown, IJvDynControl, IJvDynControlTreeView, ! IJvDynControlDevExpCx, IJvDynControlReadOnly, IJvDynControlDblClick) public procedure ControlSetDefaultProperties; *************** *** 769,772 **** --- 769,775 ---- procedure ControlSetSortType(Value: TSortType); + //IJvDynControlDblClick + procedure ControlSetOnDblClick(Value: TNotifyEvent); + // IJvDynControlDevExpCx procedure ControlSetCxProperties(Value: TCxDynControlWrapper); *************** *** 796,799 **** --- 799,861 ---- end; + + type + TJvDynControlCxTabControl = class(TcxTabControl, IUnknown, IJvDynControl, + IJvDynControlTabControl, IJvDynControlDevExpCx) + public + procedure ControlSetDefaultProperties; + procedure ControlSetCaption(const Value: string); + procedure ControlSetTabOrder(Value: Integer); + + procedure ControlSetOnEnter(Value: TNotifyEvent); + procedure ControlSetOnExit(Value: TNotifyEvent); + procedure ControlSetOnClick(Value: TNotifyEvent); + procedure ControlSetHint(const Value: string); + procedure ControlSetAnchors(Value : TAnchors); + + //IJvDynControlTabControl + procedure ControlCreateTab (const AName : string); + procedure ControlSetOnChangeTab (OnChangeEvent: TNotifyEvent); + procedure ControlSetOnChangingTab (OnChangingEvent: TTabChangingEvent); + procedure ControlSetTabIndex (Index : integer); + function ControlGetTabIndex : integer; + procedure ControlSetMultiLine (Value : boolean); + procedure ControlSetScrollOpposite (Value : boolean); + procedure ControlSetHotTrack (Value : boolean); + procedure ControlSetRaggedRight (Value : boolean); + // IJvDynControlDevExpCx + procedure ControlSetCxProperties(Value: TCxDynControlWrapper); + end; + + TJvDynControlCxPageControl = class(TcxPageControl, IUnknown, + IJvDynControl, IJvDynControlTabControl, IJvDynControlPageControl, IJvDynControlDevExpCx) + public + procedure ControlSetDefaultProperties; + procedure ControlSetCaption(const Value: string); + procedure ControlSetTabOrder(Value: Integer); + + procedure ControlSetOnEnter(Value: TNotifyEvent); + procedure ControlSetOnExit(Value: TNotifyEvent); + procedure ControlSetOnClick(Value: TNotifyEvent); + procedure ControlSetHint(const Value: string); + procedure ControlSetAnchors(Value: TAnchors); + + //IJvDynControlTabControl + procedure ControlCreateTab(const AName: string); + procedure ControlSetOnChangeTab(OnChangeEvent: TNotifyEvent); + procedure ControlSetOnChangingTab(OnChangingEvent: TTabChangingEvent); + procedure ControlSetTabIndex(Index: integer); + function ControlGetTabIndex: integer; + procedure ControlSetMultiLine (Value : boolean); + procedure ControlSetScrollOpposite (Value : boolean); + procedure ControlSetHotTrack (Value : boolean); + procedure ControlSetRaggedRight (Value : boolean); + + //IJvDynControlPageControl + function ControlGetPage(const PageName: string): TWinControl; + // IJvDynControlDevExpCx + procedure ControlSetCxProperties(Value: TCxDynControlWrapper); + end; + TJvDynControlEngineDevExpCx = class(TJvDynControlEngine) private *************** *** 810,813 **** --- 872,876 ---- end; + procedure SetDynControlEngineDevExpCxDefault; function DynControlEngineDevExpCx: TJvDynControlEngineDevExpCx; *************** *** 2310,2314 **** for I := 0 to Items.Count-1 do FIntItems.Add(Items[I].Text); ! Result.Assign(FIntItems); end; --- 2373,2377 ---- for I := 0 to Items.Count-1 do FIntItems.Add(Items[I].Text); ! Result := FIntItems; end; *************** *** 3097,3100 **** --- 3160,3168 ---- end; + procedure TJvDynControlCxTreeView.ControlSetOnDblClick(Value: TNotifyEvent); + begin + OnDblClick := Value; + end; + procedure TJvDynControlCxTreeView.ControlSetCxProperties(Value: TCxDynControlWrapper); begin *************** *** 3250,3253 **** --- 3318,3524 ---- end; + + //=== { TJvDynControlCxTabControl } ========================================= + + procedure TJvDynControlCxTabControl.ControlSetDefaultProperties; + begin + end; + + procedure TJvDynControlCxTabControl.ControlSetHint(const Value: string); + begin + Hint := Value; + end; + + procedure TJvDynControlCxTabControl.ControlSetOnChangeTab (OnChangeEvent: TNotifyEvent); + begin + OnChange := OnChangeEvent; + end; + + procedure TJvDynControlCxTabControl.ControlSetOnChangingTab (OnChangingEvent: TTabChangingEvent); + begin + OnChanging := OnChangingEvent; + end; + + procedure TJvDynControlCxTabControl.ControlSetOnClick(Value: TNotifyEvent); + begin + OnClick := Value; + end; + + procedure TJvDynControlCxTabControl.ControlSetOnEnter(Value: TNotifyEvent); + begin + OnEnter := Value; + end; + + procedure TJvDynControlCxTabControl.ControlSetOnExit(Value: TNotifyEvent); + begin + OnExit := Value; + end; + + procedure TJvDynControlCxTabControl.ControlSetTabIndex (Index : integer); + begin + TabIndex := Index; + end; + + procedure TJvDynControlCxTabControl.ControlSetTabOrder(Value: Integer); + begin + TabOrder := Value; + end; + + procedure TJvDynControlCxTabControl.ControlCreateTab (const AName : string); + begin + Tabs.Add(AName); + end; + + function TJvDynControlCxTabControl.ControlGetTabIndex : integer; + begin + Result := TabIndex; + end; + + procedure TJvDynControlCxTabControl.ControlSetAnchors(Value : TAnchors); + begin + Anchors := Value; + end; + + procedure TJvDynControlCxTabControl.ControlSetCaption(const Value: string); + begin + Caption := Value; + end; + + procedure TJvDynControlCxTabControl.ControlSetCxProperties(Value: + TCxDynControlWrapper); + begin + LookAndFeel.Assign(Value.LookAndFeel); + end; + + procedure TJvDynControlCxTabControl.ControlSetMultiLine (Value : boolean); + begin + MultiLine := Value; + end; + + procedure TJvDynControlCxTabControl.ControlSetScrollOpposite (Value : boolean); + begin + ScrollOpposite := Value; + end; + + procedure TJvDynControlCxTabControl.ControlSetHotTrack (Value : boolean); + begin + HotTrack := Value; + end; + + procedure TJvDynControlCxTabControl.ControlSetRaggedRight (Value : boolean); + begin + RaggedRight := Value; + end; + + + //=== { TJvDynControlCxPageControl } ========================================= + + procedure TJvDynControlCxPageControl.ControlSetDefaultProperties; + begin + end; + + procedure TJvDynControlCxPageControl.ControlSetCaption(const Value: string); + begin + Caption := Value; + end; + + procedure TJvDynControlCxPageControl.ControlSetTabOrder(Value: Integer); + begin + TabOrder := Value; + end; + + procedure TJvDynControlCxPageControl.ControlSetOnEnter(Value: TNotifyEvent); + begin + OnEnter := Value; + end; + + procedure TJvDynControlCxPageControl.ControlSetOnExit(Value: TNotifyEvent); + begin + OnExit := Value; + end; + + procedure TJvDynControlCxPageControl.ControlSetOnClick(Value: TNotifyEvent); + begin + OnClick := Value; + end; + + procedure TJvDynControlCxPageControl.ControlSetHint(const Value: string); + begin + Hint := Value; + end; + + procedure TJvDynControlCxPageControl.ControlSetAnchors(Value: TAnchors); + begin + Anchors := Value; + end; + + procedure TJvDynControlCxPageControl.ControlCreateTab(const AName: string); + var + TabSheet: TcxTabSheet; + begin + TabSheet := TcxTabSheet.Create(self); + TabSheet.Caption := AName; + TabSheet.PageControl := self; + TabSheet.Parent := Self; + end; + + procedure TJvDynControlCxPageControl.ControlSetOnChangeTab(OnChangeEvent: TNotifyEvent); + begin + OnChange := OnChangeEvent; + end; + + procedure TJvDynControlCxPageControl.ControlSetOnChangingTab(OnChangingEvent: TTabChangingEvent); + begin + OnChanging := OnChangingEvent; + end; + + procedure TJvDynControlCxPageControl.ControlSetTabIndex(Index: integer); + begin + TabIndex := Index; + end; + + function TJvDynControlCxPageControl.ControlGetTabIndex: integer; + begin + Result := TabIndex; + end; + + procedure TJvDynControlCxPageControl.ControlSetMultiLine (Value : boolean); + begin + MultiLine := Value; + end; + + procedure TJvDynControlCxPageControl.ControlSetScrollOpposite (Value : boolean); + begin + ScrollOpposite := Value; + end; + + procedure TJvDynControlCxPageControl.ControlSetHotTrack (Value : boolean); + begin + HotTrack := Value; + end; + + procedure TJvDynControlCxPageControl.ControlSetRaggedRight (Value : boolean); + begin + RaggedRight := Value; + end; + + function TJvDynControlCxPageControl.ControlGetPage(const PageName: string): TWinControl; + var + i: Integer; + begin + i := Tabs.IndexOf(PageName); + if (i >= 0) and (i < PageCount) then + Result := TWinControl(Pages[i]) + else + Result := nil; + end; + + procedure TJvDynControlCxPageControl.ControlSetCxProperties(Value: + TCxDynControlWrapper); + begin + LookAndFeel.Assign(Value.LookAndFeel); + end; + + //=== { TJvDynControlEngineDevExpCx } ======================================== *************** *** 3301,3304 **** --- 3572,3577 ---- RegisterControlType(jctTreeVIew, TJvDynControlCxTreeView); RegisterControlType(jctProgressbar, TJvDynControlCxProgressbar); + RegisterControlType(jctTabControl, TJvDynControlCxTabControl); + RegisterControlType(jctPageControl, TJvDynControlCxPageControl); end; *************** *** 3314,3317 **** --- 3587,3591 ---- end; + //=== { DynControlEngineDevExpCx } =========================================== *************** *** 3326,3329 **** --- 3600,3604 ---- Result := IntDynControlEngineDevExpCx; end; + {$ENDIF USE_3RDPARTY_DEVEXPRESS_CXEDITOR} Index: JvDynControlEngineVCL.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvDynControlEngineVCL.pas,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -d -r1.56 -r1.57 *** JvDynControlEngineVCL.pas 26 Oct 2005 09:02:54 -0000 1.56 --- JvDynControlEngineVCL.pas 29 Mar 2006 23:07:42 -0000 1.57 *************** *** 30,45 **** uses ! {$IFDEF UNITVERSIONING} JclUnitVersioning, ! {$ENDIF UNITVERSIONING} ! {$IFDEF MSWINDOWS} ActnList, Graphics, ComCtrls, ImgList, ! {$ENDIF MSWINDOWS} ! {$IFDEF UNIX} QActnList, QGraphics, QComCtrls, QImgList, [...2296 lines suppressed...] IntDynControlEngineVCL := TJvDynControlEngineVCL.Create; SetDynControlEngineVCLDefault; *************** *** 2994,3000 **** finalization FreeAndNil(IntDynControlEngineVCL); ! {$IFDEF UNITVERSIONING} UnregisterUnitVersion(HInstance); ! {$ENDIF UNITVERSIONING} end. --- 3247,3254 ---- finalization FreeAndNil(IntDynControlEngineVCL); ! {$IFDEF UNITVERSIONING} UnregisterUnitVersion(HInstance); ! {$ENDIF UNITVERSIONING} end. + Index: JvDynControlEngineJVCL.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvDynControlEngineJVCL.pas,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** JvDynControlEngineJVCL.pas 7 Oct 2005 09:29:41 -0000 1.50 --- JvDynControlEngineJVCL.pas 29 Mar 2006 23:07:42 -0000 1.51 *************** *** 670,674 **** TJvDynControlJVCLTreeView = class(TJvTreeView, IUnknown, ! IJvDynControl, IJvDynControlTreeView, IJvDynControlReadOnly) public procedure ControlSetDefaultProperties; --- 670,674 ---- TJvDynControlJVCLTreeView = class(TJvTreeView, IUnknown, ! IJvDynControl, IJvDynControlTreeView, IJvDynControlReadOnly, IJvDynControlDblClick) public procedure ControlSetDefaultProperties; *************** *** 699,702 **** --- 699,705 ---- procedure ControlSetOnChange(Value: TTVChangedEvent); procedure ControlSetSortType(Value: TSortType); + + //IJvDynControlDblClick + procedure ControlSetOnDblClick(Value: TNotifyEvent); end; *************** *** 722,725 **** --- 725,783 ---- end; + type + TJvDynControlJVCLTabControl = class(TJvTabControl, IUnknown, IJvDynControl, + IJvDynControlTabControl) + public + procedure ControlSetDefaultProperties; + procedure ControlSetCaption(const Value: string); + procedure ControlSetTabOrder(Value: Integer); + + procedure ControlSetOnEnter(Value: TNotifyEvent); + procedure ControlSetOnExit(Value: TNotifyEvent); + procedure ControlSetOnClick(Value: TNotifyEvent); + procedure ControlSetHint(const Value: string); + procedure ControlSetAnchors(Value : TAnchors); + + //IJvDynControlTabControl + procedure ControlCreateTab (const AName : string); + procedure ControlSetOnChangeTab (OnChangeEvent: TNotifyEvent); + procedure ControlSetOnChangingTab (OnChangingEvent: TTabChangingEvent); + procedure ControlSetTabIndex (Index : integer); + function ControlGetTabIndex : integer; + procedure ControlSetMultiLine (Value : boolean); + procedure ControlSetScrollOpposite (Value : boolean); + procedure ControlSetHotTrack (Value : boolean); + procedure ControlSetRaggedRight (Value : boolean); + end; + + TJvDynControlJVCLPageControl = class(TJvPageControl, IUnknown, + IJvDynControl, IJvDynControlTabControl, IJvDynControlPageControl) + public + procedure ControlSetDefaultProperties; + procedure ControlSetCaption(const Value: string); + procedure ControlSetTabOrder(Value: Integer); + + procedure ControlSetOnEnter(Value: TNotifyEvent); + procedure ControlSetOnExit(Value: TNotifyEvent); + procedure ControlSetOnClick(Value: TNotifyEvent); + procedure ControlSetHint(const Value: string); + procedure ControlSetAnchors(Value: TAnchors); + + //IJvDynControlTabControl + procedure ControlCreateTab(const AName: string); + procedure ControlSetOnChangeTab(OnChangeEvent: TNotifyEvent); + procedure ControlSetOnChangingTab(OnChangingEvent: TTabChangingEvent); + procedure ControlSetTabIndex(Index: integer); + function ControlGetTabIndex: integer; + procedure ControlSetMultiLine (Value : boolean); + procedure ControlSetScrollOpposite (Value : boolean); + procedure ControlSetHotTrack (Value : boolean); + procedure ControlSetRaggedRight (Value : boolean); + + //IJvDynControlPageControl + function ControlGetPage(const PageName: string): TWinControl; + end; + + function DynControlEngineJVCL: TJvDynControlEngine; procedure SetDynControlEngineJVCLDefault; *************** *** 2841,2844 **** --- 2899,2908 ---- end; + procedure TJvDynControlJVCLTreeView.ControlSetOnDblClick(Value: TNotifyEvent); + begin + OnDblClick := Value; + end; + + //=== { TJvDynControlJVCLProgressbar } ========================================= *************** *** 2959,2964 **** --- 3023,3219 ---- RegisterControlType(jctTreeView, TJvDynControlJVCLTreeView); RegisterControlType(jctProgressbar, TJvDynControlJVCLProgressbar); + RegisterControlType(jctTabControl, TJvDynControlJVCLTabControl); + RegisterControlType(jctPageControl, TJvDynControlJVCLPageControl); + end; + + procedure TJvDynControlJVCLTabControl.ControlCreateTab (const AName : string); + begin + Tabs.Add(AName); + end; + + function TJvDynControlJVCLTabControl.ControlGetTabIndex : integer; + begin + Result := TabIndex; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetAnchors(Value : TAnchors); + begin + Anchors := Value; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetCaption(const Value: string); + begin + Caption := Value; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetMultiLine (Value : boolean); + begin + MultiLine := Value; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetScrollOpposite (Value : boolean); + begin + ScrollOpposite := Value; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetHotTrack (Value : boolean); + begin + HotTrack := Value; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetRaggedRight (Value : boolean); + begin + RaggedRight := Value; + end; + + //=== { TJvDynControlJVCLPageControl } ========================================= + + procedure TJvDynControlJVCLPageControl.ControlSetDefaultProperties; + begin + end; + + procedure TJvDynControlJVCLPageControl.ControlSetCaption(const Value: string); + begin + Caption := Value; + end; + + procedure TJvDynControlJVCLPageControl.ControlSetTabOrder(Value: Integer); + begin + TabOrder := Value; + end; + + procedure TJvDynControlJVCLPageControl.ControlSetOnEnter(Value: TNotifyEvent); + begin + OnEnter := Value; end; + procedure TJvDynControlJVCLPageControl.ControlSetOnExit(Value: TNotifyEvent); + begin + OnExit := Value; + end; + + procedure TJvDynControlJVCLPageControl.ControlSetOnClick(Value: TNotifyEvent); + begin + OnClick := Value; + end; + + procedure TJvDynControlJVCLPageControl.ControlSetHint(const Value: string); + begin + Hint := Value; + end; + + procedure TJvDynControlJVCLPageControl.ControlSetAnchors(Value: TAnchors); + begin + Anchors := Value; + end; + + procedure TJvDynControlJVCLPageControl.ControlCreateTab(const AName: string); + var + TabSheet: TTabSheet; + begin + TabSheet := TTabSheet.Create(self); + TabSheet.Caption := AName; + TabSheet.PageControl := self; + TabSheet.Parent := Self; + end; + + procedure TJvDynControlJVCLPageControl.ControlSetOnChangeTab(OnChangeEvent: TNotifyEvent); + begin + OnChange := OnChangeEvent; + end; + + procedure TJvDynControlJVCLPageControl.ControlSetOnChangingTab(OnChangingEvent: TTabChangingEvent); + begin + OnChanging := OnChangingEvent; + end; + + procedure TJvDynControlJVCLPageControl.ControlSetTabIndex(Index: integer); + begin + TabIndex := Index; + end; + + function TJvDynControlJVCLPageControl.ControlGetTabIndex: integer; + begin + Result := TabIndex; + end; + + procedure TJvDynControlJVCLPageControl.ControlSetMultiLine (Value : boolean); + begin + MultiLine := Value; + end; + + procedure TJvDynControlJVCLPageControl.ControlSetScrollOpposite (Value : boolean); + begin + ScrollOpposite := Value; + end; + + procedure TJvDynControlJVCLPageControl.ControlSetHotTrack (Value : boolean); + begin + HotTrack := Value; + end; + + procedure TJvDynControlJVCLPageControl.ControlSetRaggedRight (Value : boolean); + begin + RaggedRight := Value; + end; + + function TJvDynControlJVCLPageControl.ControlGetPage(const PageName: string): TWinControl; + var + i: Integer; + begin + i := Tabs.IndexOf(PageName); + if (i >= 0) and (i < PageCount) then + Result := TWinControl(Pages[i]) + else + Result := nil; + end; + + //=== { TJvDynControlJVCLTabControl } ========================================= + + procedure TJvDynControlJVCLTabControl.ControlSetDefaultProperties; + begin + end; + + procedure TJvDynControlJVCLTabControl.ControlSetHint(const Value: string); + begin + Hint := Value; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetOnChangeTab (OnChangeEvent: TNotifyEvent); + begin + OnChange := OnChangeEvent; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetOnChangingTab (OnChangingEvent: TTabChangingEvent); + begin + OnChanging := OnChangingEvent; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetOnClick(Value: TNotifyEvent); + begin + OnClick := Value; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetOnEnter(Value: TNotifyEvent); + begin + OnEnter := Value; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetOnExit(Value: TNotifyEvent); + begin + OnExit := Value; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetTabIndex (Index : integer); + begin + TabIndex := Index; + end; + + procedure TJvDynControlJVCLTabControl.ControlSetTabOrder(Value: Integer); + begin + TabOrder := Value; + end; + + initialization {$IFDEF UNITVERSIONING} Index: JvDynControlEngineIntf.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvDynControlEngineIntf.pas,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** JvDynControlEngineIntf.pas 26 Oct 2005 09:02:54 -0000 1.30 --- JvDynControlEngineIntf.pas 29 Mar 2006 23:07:42 -0000 1.31 *************** *** 279,282 **** --- 279,302 ---- end; + IJvDynControlTabControl = interface + ['{1C9FA637-14CC-4329-886F-696FD08AE951}'] + procedure ControlCreateTab (const AName : string); + procedure ControlSetOnChangeTab (OnChangeEvent: TNotifyEvent); + procedure ControlSetOnChangingTab (OnChangingEvent: TTabChangingEvent); + procedure ControlSetTabIndex (Index : integer); + function ControlGetTabIndex : integer; + procedure ControlSetMultiLine (Value : boolean); + procedure ControlSetScrollOpposite (Value : boolean); + procedure ControlSetHotTrack (Value : boolean); + procedure ControlSetRaggedRight (Value : boolean); + end; + + IJvDynControlPageControl = interface + ['{6FCC9619-EA8D-43E6-BB66-D754A01B0720}'] + function ControlGetPage (const PageName : String) : TWinControl; + end; + + + {$IFDEF UNITVERSIONING} const Index: JvDynControlEngine.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvDynControlEngine.pas,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** JvDynControlEngine.pas 11 Dec 2005 16:14:15 -0000 1.36 --- JvDynControlEngine.pas 29 Mar 2006 23:07:42 -0000 1.37 *************** *** 69,72 **** --- 69,74 ---- jctForm = TJvDynControlType('Form'); jctProgressBar = TJvDynControlType('Progressbar'); + jctPageControl = TJvDynControlType('Pagecontrol'); + jctTabControl = TJvDynControlType('Tabcontrol'); type *************** *** 175,178 **** --- 177,184 ---- function CreateTreeViewControl(AOwner: TComponent; AParentControl: TWinControl; const AControlName: string): TWinControl; virtual; + function CreatePageControlControl(AOwner: TComponent; AParentControl: TWinControl; + const AControlName: string; APages : TStrings): TWinControl; virtual; + function CreateTabControlControl(AOwner: TComponent; AParentControl: TWinControl; + const AControlName: string; ATabs : TStrings): TWinControl; virtual; function CreateButton(AOwner: TComponent; AParentControl: TWinControl; const AButtonName, ACaption, AHint: string; *************** *** 639,644 **** begin Result := TWinControl(CreateControl(jctComboBox, AOwner, AParentControl, AControlName)); ! IntfCast(Result, IJvDynControlItems, DynCtrlItems); ! DynCtrlItems.ControlSetItems(AItems); end; --- 645,653 ---- begin Result := TWinControl(CreateControl(jctComboBox, AOwner, AParentControl, AControlName)); ! if Assigned(AItems) then ! begin ! IntfCast(Result, IJvDynControlItems, DynCtrlItems); ! DynCtrlItems.ControlSetItems(AItems); ! end; end; *************** *** 694,699 **** begin Result := TWinControl(CreateControl(jctListBox, AOwner, AParentControl, AControlName)); ! IntfCast(Result, IJvDynControlItems, DynCtrlItems); ! DynCtrlItems.ControlSetItems(AItems); end; --- 703,711 ---- begin Result := TWinControl(CreateControl(jctListBox, AOwner, AParentControl, AControlName)); ! if Assigned(AItems) then ! begin ! IntfCast(Result, IJvDynControlItems, DynCtrlItems); ! DynCtrlItems.ControlSetItems(AItems); ! end; end; *************** *** 704,709 **** begin Result := TWinControl(CreateControl(jctCheckListBox, AOwner, AParentControl, AControlName)); ! IntfCast(Result, IJvDynControlItems, DynCtrlItems); ! DynCtrlItems.ControlSetItems(AItems); end; --- 716,724 ---- begin Result := TWinControl(CreateControl(jctCheckListBox, AOwner, AParentControl, AControlName)); ! if Assigned(AItems) then ! begin ! IntfCast(Result, IJvDynControlItems, DynCtrlItems); ! DynCtrlItems.ControlSetItems(AItems); ! end; end; *************** *** 751,759 **** function TJvDynControlEngine.CreateTreeViewControl(AOwner: TComponent; AParentControl: TWinControl; ! const AControlName: string): TWinControl; begin Result := TWinControl(CreateControl(jctTreeView, AOwner, AParentControl, AControlName)); end; function TJvDynControlEngine.CreateButton(AOwner: TComponent; AParentControl: TWinControl; const AButtonName, ACaption, AHint: string; --- 766,805 ---- function TJvDynControlEngine.CreateTreeViewControl(AOwner: TComponent; AParentControl: TWinControl; ! const AControlName: string): TWinControl; begin Result := TWinControl(CreateControl(jctTreeView, AOwner, AParentControl, AControlName)); end; + function TJvDynControlEngine.CreatePageControlControl(AOwner: TComponent; AParentControl: TWinControl; + const AControlName: string;APages : TStrings): TWinControl; + var + DynTabControl: IJvDynControlTabControl; + i: Integer; + begin + Result := TWinControl(CreateControl(jctPageControl, AOwner, AParentControl, AControlName)); + if Assigned(APages) and (APages.Count > 0) then + begin + IntfCast(Result, IJvDynControlTabControl, DynTabControl); + for i := 0 to APages.Count - 1 do + DynTabControl.ControlCreateTab(APages[i]); + end; + end; + + function TJvDynControlEngine.CreateTabControlControl(AOwner: TComponent; AParentControl: TWinControl; + const AControlName: string;ATabs : TStrings): TWinControl; + var + DynTabControl: IJvDynControlTabControl; + i: Integer; + begin + Result := TWinControl(CreateControl(jctTabControl, AOwner, AParentControl, AControlName)); + if Assigned(ATabs) and (ATabs.Count > 0) then + begin + IntfCast(Result, IJvDynControlTabControl, DynTabControl); + for i := 0 to ATabs.Count - 1 do + DynTabControl.ControlCreateTab(ATabs[i]); + end; + end; + + function TJvDynControlEngine.CreateButton(AOwner: TComponent; AParentControl: TWinControl; const AButtonName, ACaption, AHint: string; *************** *** 810,814 **** Panel := CreatePanelControl(AOwner, AParentControl, '', '', alNone); LabelControl := CreateLabelControl(AOwner, Panel, '', ACaption, AFocusControl); - // LabelControl.Width := panel.Canvas. AFocusControl.Parent := Panel; LabelControl.Top := 1; --- 856,859 ---- |