From: Peter T. <pe...@us...> - 2003-08-18 07:14:22
|
Update of /cvsroot/jvcl/dev/JVCL3/run In directory sc8-pr-cvs1:/tmp/cvs-serv2535/JVCL3/run Modified Files: JvStatusBar.pas Log Message: - New Control property not supported for D5 Index: JvStatusBar.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvStatusBar.pas,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** JvStatusBar.pas 15 Aug 2003 10:55:52 -0000 1.3 --- JvStatusBar.pas 18 Aug 2003 07:01:06 -0000 1.4 *************** *** 37,40 **** --- 37,41 ---- type TJvStatusPanel = class(TStatusPanel) + {$IFDEF COMPILER6_UP} private FControl: TControl; *************** *** 52,65 **** property MarginTop:integer read FMarginTop write SetMarginTop default 3; end; ! ! TJvStatusPanels = class(TStatusPanels) ! protected ! function GetItem(Index: integer): TJvStatusPanel; ! procedure SetItem(Index: integer; const Value: TJvStatusPanel); ! public ! constructor Create(StatusBar:TStatusBar); ! function Add:TJvStatusPanel; ! property Items[Index:integer]:TJvStatusPanel read GetItem write SetItem;default; ! end; TJvStatusBar = class(TStatusBar) --- 53,61 ---- property MarginTop:integer read FMarginTop write SetMarginTop default 3; end; ! {$ELSE} ! ; ! {$ENDIF} ! // access protected properties and methods ! TJvStatusPanels = class(TStatusPanels); TJvStatusBar = class(TStatusBar) *************** *** 80,94 **** procedure CMParentColorChanged(var Msg: TMessage); message CM_PARENTCOLORCHANGED; procedure WMSize(var Msg: TMessage); message WM_SIZE; - procedure MovePanelControls; - procedure SetPanels(const Value: TJvStatusPanels); - function GetPanels: TJvStatusPanels; protected procedure CreateParams(var Params: TCreateParams); override; procedure Notification(AComponent: TComponent; Operation: TOperation); override; function GetPanelClass: TStatusPanelClass; override; public constructor Create(AOwner: TComponent); override; - destructor Destroy;override; function ExecuteAction(Action: TBasicAction): Boolean; override; property AutoHintShown: Boolean read FAutoHintShown; --- 76,89 ---- procedure CMParentColorChanged(var Msg: TMessage); message CM_PARENTCOLORCHANGED; procedure WMSize(var Msg: TMessage); message WM_SIZE; protected procedure CreateParams(var Params: TCreateParams); override; procedure Notification(AComponent: TComponent; Operation: TOperation); override; + {$IFDEF COMPILER6_UP} + procedure MovePanelControls; function GetPanelClass: TStatusPanelClass; override; + {$ENDIF} public constructor Create(AOwner: TComponent); override; function ExecuteAction(Action: TBasicAction): Boolean; override; property AutoHintShown: Boolean read FAutoHintShown; *************** *** 96,100 **** property Color; property Font; - property Panels:TJvStatusPanels read GetPanels write SetPanels; property AboutJVCL: TJVCLAboutInfo read FAboutJVCL write FAboutJVCL stored False; property HintColor: TColor read FHintColor write FHintColor default clInfoBk; --- 91,94 ---- *************** *** 112,116 **** begin inherited Create(AOwner); - // FPanels := TJvStatusPanels.Create(self); FHintColor := clInfoBk; ControlStyle := ControlStyle + [csAcceptsControls]; --- 106,109 ---- *************** *** 142,146 **** --- 135,141 ---- inherited; Realign; + {$IFDEF COMPILER6_UP} MovePanelControls; + {$ENDIF} Invalidate; //Force full redraw, cause it's a lot buggy on XP without that!!! end; *************** *** 236,252 **** end; ! procedure TJvStatusBar.Notification(AComponent: TComponent; ! Operation: TOperation); var i:integer; begin inherited; if Operation = opRemove then for i := 0 to Panels.Count - 1 do ! if Panels[i].Control = AComponent then ! Panels[i].Control := nil; end; { TJvStatusPanel } procedure TJvStatusPanel.Changed(AllItems: boolean); begin --- 231,273 ---- end; ! procedure TJvStatusBar.Notification(AComponent: TComponent; Operation: TOperation); ! {$IFDEF COMPILER6_UP} var i:integer; + {$ENDIF} begin + {$IFDEF COMPILER6_UP} inherited; if Operation = opRemove then for i := 0 to Panels.Count - 1 do ! if TJvStatusPanel(Panels[i]).Control = AComponent then ! TJvStatusPanel(Panels[i]).Control := nil; ! {$ENDIF} end; + {$IFDEF COMPILER6_UP} + procedure TJvStatusBar.MovePanelControls; + var i, ALeft:integer; + tmpJvPanel : TJvStatusPanel; + begin + ALeft := 0; + for i := 0 to Panels.Count - 1 do + begin + tmpJvPanel := TJvStatusPanel(Panels[i]); + if tmpJvPanel.Control <> nil then + with tmpJvPanel do + Control.SetBounds(ALeft + MarginLeft,MarginTop,Control.Width, Control.Height); + Inc(ALeft,TJvStatusPanel(Panels[i]).Width); + end; + end; + + function TJvStatusBar.GetPanelClass: TStatusPanelClass; + begin + Result := TJvStatusPanel; + end; + {$ENDIF} + { TJvStatusPanel } + {$IFDEF COMPILER6_UP} procedure TJvStatusPanel.Changed(AllItems: boolean); begin *************** *** 265,269 **** var S:TJvStatusBar; begin ! S := TJvStatusPanels(Collection).GetOwner as TJvStatusBar; if FControl <> nil then FControl.RemoveFreeNotification(S); --- 286,290 ---- var S:TJvStatusBar; begin ! S := TJvStatusPanels(Collection).Owner as TJvStatusBar; if FControl <> nil then FControl.RemoveFreeNotification(S); *************** *** 297,359 **** end; end; ! ! procedure TJvStatusBar.MovePanelControls; ! var i, ALeft:integer; ! tmpJvPanel : TJvStatusPanel; ! begin ! ALeft := 0; ! for i := 0 to Panels.Count - 1 do ! begin ! tmpJvPanel := TJvStatusPanel(Panels[i]); ! if tmpJvPanel.Control <> nil then ! with tmpJvPanel do ! Control.SetBounds(ALeft + MarginLeft,MarginTop,Control.Width, Control.Height); ! Inc(ALeft,TJvStatusPanel(Panels[i]).Width); ! end; ! end; ! ! { TJvStatusPanels } ! ! function TJvStatusPanels.Add: TJvStatusPanel; ! begin ! Result := TJvStatusPanel(inherited Add); ! end; ! ! constructor TJvStatusPanels.Create(StatusBar: TStatusBar); ! begin ! inherited Create(StatusBar); ! end; ! ! function TJvStatusPanels.GetItem(Index: integer): TJvStatusPanel; ! begin ! Result := TJvStatusPanel(inherited Items[Index]); ! end; ! ! procedure TJvStatusPanels.SetItem(Index: integer; ! const Value: TJvStatusPanel); ! begin ! inherited Items[Index] := Value; ! end; ! ! procedure TJvStatusBar.SetPanels(const Value: TJvStatusPanels); ! begin ! inherited Panels.Assign(Value); ! end; ! ! destructor TJvStatusBar.Destroy; ! begin ! inherited; ! end; ! ! function TJvStatusBar.GetPanelClass: TStatusPanelClass; ! begin ! Result := TJvStatusPanel; ! end; ! ! function TJvStatusBar.GetPanels: TJvStatusPanels; ! begin ! Result := TJvStatusPanels(inherited Panels); ! end; ! end. --- 318,322 ---- end; end; ! {$ENDIF} end. |