From: Remko B. <rem...@us...> - 2004-09-21 20:50:07
|
Update of /cvsroot/jvcl/dev/JVCL3/run In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21973 Modified Files: JvDockControlForm.pas JvDockInfo.pas JvDockSupportControl.pas JvDockVCStyle.pas JvDockVSNetStyle.pas Log Message: Sorted Index: JvDockInfo.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvDockInfo.pas,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** JvDockInfo.pas 1 Sep 2004 15:06:37 -0000 1.28 --- JvDockInfo.pas 21 Sep 2004 20:49:46 -0000 1.29 *************** *** 157,160 **** --- 157,162 ---- JvDockGlobals, JvDockVSNetStyle; + //=== Local procedures ======================================================= + function FindDockForm(const FormName: string): TCustomForm; begin *************** *** 205,372 **** end; - //=== { TJvDockInfoZone } ==================================================== - - function TJvDockInfoZone.GetChildControlCount: Integer; - var - Zone: TJvDockBaseZone; - begin - Result := 0; - if ChildZone <> nil then - begin - Inc(Result); - Zone := ChildZone; - while Zone.NextSibling <> nil do - begin - Zone := Zone.NextSibling; - if TJvDockInfoZone(Zone).DockControl <> nil then - Inc(Result); - end; - end; - end; - - procedure TJvDockInfoZone.SetDockInfoFromControlToNode(Control: TControl); - begin - DockRect := Control.BoundsRect; - UnDockWidth := Control.UnDockWidth; - UnDockHeight := Control.UnDockHeight; - if Control is TJvDockVSPopupPanel then - Control.Visible := False - else - Visible := Control.Visible; - - if Control is TForm then - begin - BorderStyle := TForm(Control).BorderStyle; - FormStyle := TForm(Control).FormStyle; - WindowState := TForm(Control).WindowState; - LRDockWidth := Control.LRDockWidth; - TBDockHeight := Control.TBDockHeight; - end; - end; - - procedure TJvDockInfoZone.SetDockInfoFromDockControlToNode(DockControl: TJvDockBaseControl); - - function GetLastDockSiteName(AControl: TControl): string; - begin - Result := RsDockCannotFindWindow; - if AControl <> nil then - begin - if AControl.Parent is TJvDockableForm then - Result := AControl.Parent.Name - else - if AControl is TJvDockPanel then - Result := AControl.Parent.Name + RsDockJvDockInfoSplitter + AControl.Name; - end; - end; - - begin - CanDocked := DockControl.EnableDock; - EachOtherDocked := DockControl.EachOtherDock; - LeftDocked := DockControl.LeftDock; - TopDocked := DockControl.TopDock; - RightDocked := DockControl.RightDock; - BottomDocked := DockControl.BottomDock; - if DockControl is TJvDockClient then - begin - VSPaneWidth := TJvDockClient(DockControl).VSPaneWidth; - UnDockLeft := TJvDockClient(DockControl).UnDockLeft; - UnDockTop := TJvDockClient(DockControl).UnDockTop; - LastDockSiteName := GetLastDockSiteName(TJvDockClient(DockControl).LastDockSite); - end - else - VSPaneWidth := 0; - end; - - procedure TJvDockInfoZone.SetDockInfoFromNodeToControl(Control: TControl); - var - lbDockServer: TJvDockServer; - - procedure SetPopupPanelSize(PopupPanel: TJvDockVSPopupPanel); - begin - end; - - procedure SetDockSiteSize(DockSite: TJvDockPanel); - begin - if DockSite.Align in [alTop, alBottom] then - DockSite.JvDockManager.DockSiteSize := DockRect.Bottom - DockRect.Top - else - DockSite.JvDockManager.DockSiteSize := DockRect.Right - DockRect.Left; - end; - - begin - if (ParentName = '') or ((Control is TJvDockPanel) and - (TJvDockPanel(Control).VisibleDockClientCount > 0)) then - begin - TWinControl(Control).DisableAlign; - try - if Control is TForm then - begin - TForm(Control).BorderStyle := BorderStyle; - TForm(Control).FormStyle := FormStyle; - if WindowState = wsNormal then - Control.BoundsRect := DockRect; - TForm(Control).WindowState := WindowState; - end - else - begin - if Control is TJvDockVSPopupPanel then - SetPopupPanelSize(Control as TJvDockVSPopupPanel) - else - SetDockSiteSize(Control as TJvDockPanel); - end; - lbDockServer := FindDockServer(Control); - if lbDockServer <> nil then - begin - lbDockServer.GetClientAlignControl(alTop); - lbDockServer.GetClientAlignControl(alBottom); - lbDockServer.GetClientAlignControl(alLeft); - lbDockServer.GetClientAlignControl(alRight); - end; - finally - TWinControl(Control).EnableAlign; - end; - end; - Control.Visible := Visible; - Control.LRDockWidth := LRDockWidth; - Control.TBDockHeight := TBDockHeight; - Control.UnDockHeight := UnDockHeight; - Control.UnDockWidth := UnDockWidth; - end; - - procedure TJvDockInfoZone.SetDockInfoFromNodeToDockControl(DockControl: TJvDockBaseControl); - - function GetLastDockSite(const AName: string): TWinControl; - begin - Result := FindDockPanel(AName); - if Result = nil then - begin - Result := FindDockForm(AName); - if Result is TJvDockableForm then - Result := TJvDockableForm(Result).DockableControl; - end; - end; - - begin - if DockControl is TJvDockClient then - begin - TJvDockClient(DockControl).UnDockLeft := UnDockLeft; - TJvDockClient(DockControl).UnDockTop := UnDockTop; - TJvDockClient(DockControl).LastDockSite := GetLastDockSite(LastDockSiteName); - if Visible then - begin - TJvDockClient(DockControl).ParentVisible := False; - TJvDockClient(DockControl).MakeShowEvent; - end - else - TJvDockClient(DockControl).MakeHideEvent; - TJvDockClient(DockControl).VSPaneWidth := VSPaneWidth; - end; - DockControl.EnableDock := CanDocked; - DockControl.LeftDock := LeftDocked; - DockControl.TopDock := TopDocked; - DockControl.BottomDock := BottomDocked; - DockControl.RightDock := RightDocked; - end; - //=== { TJvDockInfoTree } ==================================================== --- 207,210 ---- *************** *** 388,391 **** --- 226,253 ---- end; + function TJvDockInfoTree.CreateHostControl(ATreeZone: TJvDockInfoZone): TWinControl; + var + Form: TForm; + DockClient: TJvDockClient; + begin + Result := nil; + case ATreeZone.DockFormStyle of + dsConjoin: + begin + Form := TJvDockConjoinHostForm.Create(Application); + DockClient := FindDockClient(TJvDockInfoZone(ATreeZone.ChildZone).DockControl); + Result := DockClient.CreateConjoinPanelClass(Form).Parent; + end; + dsTab: + begin + Form := TJvDockTabHostForm.Create(Application); + DockClient := FindDockClient(TJvDockInfoZone(ATreeZone.ChildZone).DockControl); + Result := DockClient.CreateTabDockClass(Form).Parent; + end; + end; + if Result <> nil then + Result.Name := ATreeZone.DockFormName; + end; + procedure TJvDockInfoTree.CreateZoneAndAddInfoFromApp(Control: TControl); var *************** *** 767,771 **** --- 629,649 ---- end; + function TJvDockInfoTree.FindDockForm(const FormName: string): TCustomForm; + begin + if Pos(RsDockJvDockInfoSplitter, FormName) > 0 then + Result := nil + else + Result := JvDockFindDockFormWithName(FormName); + end; + {$IFDEF USEJVCL} + + function TJvDockInfoTree.GetAppStoragePath: string; + begin + Result := FAppStoragePath; + if (Result = '') and (FAppStorage <> nil) then + Result := FAppStorage.Path; + end; + procedure TJvDockInfoTree.ReadInfoFromAppStorage; begin *************** *** 786,789 **** --- 664,668 ---- end; end; + {$ENDIF USEJVCL} *************** *** 968,1003 **** {$ENDIF USEJVCL} - function TJvDockInfoTree.FindDockForm(const FormName: string): TCustomForm; - begin - if Pos(RsDockJvDockInfoSplitter, FormName) > 0 then - Result := nil - else - Result := JvDockFindDockFormWithName(FormName); - end; - - function TJvDockInfoTree.CreateHostControl(ATreeZone: TJvDockInfoZone): TWinControl; - var - Form: TForm; - DockClient: TJvDockClient; - begin - Result := nil; - case ATreeZone.DockFormStyle of - dsConjoin: - begin - Form := TJvDockConjoinHostForm.Create(Application); - DockClient := FindDockClient(TJvDockInfoZone(ATreeZone.ChildZone).DockControl); - Result := DockClient.CreateConjoinPanelClass(Form).Parent; - end; - dsTab: - begin - Form := TJvDockTabHostForm.Create(Application); - DockClient := FindDockClient(TJvDockInfoZone(ATreeZone.ChildZone).DockControl); - Result := DockClient.CreateTabDockClass(Form).Parent; - end; - end; - if Result <> nil then - Result.Name := ATreeZone.DockFormName; - end; - procedure TJvDockInfoTree.SetDockControlInfo(ATreeZone: TJvDockInfoZone); var --- 847,850 ---- *************** *** 1069,1073 **** {$IFDEF USEJVCL} - procedure TJvDockInfoTree.WriteInfoToAppStorage; begin --- 916,919 ---- *************** *** 1128,1140 **** end; ! {$IFDEF USEJVCL} ! function TJvDockInfoTree.GetAppStoragePath: string; begin ! Result := FAppStoragePath; ! if (Result = '') and (FAppStorage <> nil) then ! Result := FAppStorage.Path; end; - {$ENDIF USEJVCL} {$IFDEF UNITVERSIONING} --- 974,1140 ---- end; ! //=== { TJvDockInfoZone } ==================================================== ! function TJvDockInfoZone.GetChildControlCount: Integer; ! var ! Zone: TJvDockBaseZone; begin ! Result := 0; ! if ChildZone <> nil then ! begin ! Inc(Result); ! Zone := ChildZone; ! while Zone.NextSibling <> nil do ! begin ! Zone := Zone.NextSibling; ! if TJvDockInfoZone(Zone).DockControl <> nil then ! Inc(Result); ! end; ! end; ! end; ! ! procedure TJvDockInfoZone.SetDockInfoFromControlToNode(Control: TControl); ! begin ! DockRect := Control.BoundsRect; ! UnDockWidth := Control.UnDockWidth; ! UnDockHeight := Control.UnDockHeight; ! if Control is TJvDockVSPopupPanel then ! Control.Visible := False ! else ! Visible := Control.Visible; ! ! if Control is TForm then ! begin ! BorderStyle := TForm(Control).BorderStyle; ! FormStyle := TForm(Control).FormStyle; ! WindowState := TForm(Control).WindowState; ! LRDockWidth := Control.LRDockWidth; ! TBDockHeight := Control.TBDockHeight; ! end; ! end; ! ! procedure TJvDockInfoZone.SetDockInfoFromDockControlToNode(DockControl: TJvDockBaseControl); ! ! function GetLastDockSiteName(AControl: TControl): string; ! begin ! Result := RsDockCannotFindWindow; ! if AControl <> nil then ! begin ! if AControl.Parent is TJvDockableForm then ! Result := AControl.Parent.Name ! else ! if AControl is TJvDockPanel then ! Result := AControl.Parent.Name + RsDockJvDockInfoSplitter + AControl.Name; ! end; ! end; ! ! begin ! CanDocked := DockControl.EnableDock; ! EachOtherDocked := DockControl.EachOtherDock; ! LeftDocked := DockControl.LeftDock; ! TopDocked := DockControl.TopDock; ! RightDocked := DockControl.RightDock; ! BottomDocked := DockControl.BottomDock; ! if DockControl is TJvDockClient then ! begin ! VSPaneWidth := TJvDockClient(DockControl).VSPaneWidth; ! UnDockLeft := TJvDockClient(DockControl).UnDockLeft; ! UnDockTop := TJvDockClient(DockControl).UnDockTop; ! LastDockSiteName := GetLastDockSiteName(TJvDockClient(DockControl).LastDockSite); ! end ! else ! VSPaneWidth := 0; ! end; ! ! procedure TJvDockInfoZone.SetDockInfoFromNodeToControl(Control: TControl); ! var ! lbDockServer: TJvDockServer; ! ! procedure SetPopupPanelSize(PopupPanel: TJvDockVSPopupPanel); ! begin ! end; ! ! procedure SetDockSiteSize(DockSite: TJvDockPanel); ! begin ! if DockSite.Align in [alTop, alBottom] then ! DockSite.JvDockManager.DockSiteSize := DockRect.Bottom - DockRect.Top ! else ! DockSite.JvDockManager.DockSiteSize := DockRect.Right - DockRect.Left; ! end; ! ! begin ! if (ParentName = '') or ((Control is TJvDockPanel) and ! (TJvDockPanel(Control).VisibleDockClientCount > 0)) then ! begin ! TWinControl(Control).DisableAlign; ! try ! if Control is TForm then ! begin ! TForm(Control).BorderStyle := BorderStyle; ! TForm(Control).FormStyle := FormStyle; ! if WindowState = wsNormal then ! Control.BoundsRect := DockRect; ! TForm(Control).WindowState := WindowState; ! end ! else ! begin ! if Control is TJvDockVSPopupPanel then ! SetPopupPanelSize(Control as TJvDockVSPopupPanel) ! else ! SetDockSiteSize(Control as TJvDockPanel); ! end; ! lbDockServer := FindDockServer(Control); ! if lbDockServer <> nil then ! begin ! lbDockServer.GetClientAlignControl(alTop); ! lbDockServer.GetClientAlignControl(alBottom); ! lbDockServer.GetClientAlignControl(alLeft); ! lbDockServer.GetClientAlignControl(alRight); ! end; ! finally ! TWinControl(Control).EnableAlign; ! end; ! end; ! Control.Visible := Visible; ! Control.LRDockWidth := LRDockWidth; ! Control.TBDockHeight := TBDockHeight; ! Control.UnDockHeight := UnDockHeight; ! Control.UnDockWidth := UnDockWidth; ! end; ! ! procedure TJvDockInfoZone.SetDockInfoFromNodeToDockControl(DockControl: TJvDockBaseControl); ! ! function GetLastDockSite(const AName: string): TWinControl; ! begin ! Result := FindDockPanel(AName); ! if Result = nil then ! begin ! Result := FindDockForm(AName); ! if Result is TJvDockableForm then ! Result := TJvDockableForm(Result).DockableControl; ! end; ! end; ! ! begin ! if DockControl is TJvDockClient then ! begin ! TJvDockClient(DockControl).UnDockLeft := UnDockLeft; ! TJvDockClient(DockControl).UnDockTop := UnDockTop; ! TJvDockClient(DockControl).LastDockSite := GetLastDockSite(LastDockSiteName); ! if Visible then ! begin ! TJvDockClient(DockControl).ParentVisible := False; ! TJvDockClient(DockControl).MakeShowEvent; ! end ! else ! TJvDockClient(DockControl).MakeHideEvent; ! TJvDockClient(DockControl).VSPaneWidth := VSPaneWidth; ! end; ! DockControl.EnableDock := CanDocked; ! DockControl.LeftDock := LeftDocked; ! DockControl.TopDock := TopDocked; ! DockControl.BottomDock := BottomDocked; ! DockControl.RightDock := RightDocked; end; {$IFDEF UNITVERSIONING} Index: JvDockSupportControl.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvDockSupportControl.pas,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** JvDockSupportControl.pas 1 Sep 2004 15:06:37 -0000 1.22 --- JvDockSupportControl.pas 21 Sep 2004 20:49:53 -0000 1.23 *************** *** 552,555 **** --- 552,569 ---- MouseStation: TJvDockMouseStation) of object; + PCheckTargetInfo = ^TCheckTargetInfo; + TCheckTargetInfo = record + ClientWnd: HWND; + TargetWnd: HWND; + CurrentWnd: HWND; + MousePos: TPoint; + Found: Boolean; [...4549 lines suppressed...] - ReleaseLineDC; - if Assigned(FActiveControl) then - begin - TWinControlAccessProtected(FActiveControl).OnKeyDown := FOldKeyDown; - FActiveControl := nil; - end; - end; - if Assigned(FOnMoved) then - FOnMoved(Self); - end; - {$IFDEF UNITVERSIONING} const --- 3698,3701 ---- *************** *** 3704,3706 **** end. - --- 3715,3716 ---- Index: JvDockVCStyle.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvDockVCStyle.pas,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** JvDockVCStyle.pas 1 Sep 2004 15:06:37 -0000 1.19 --- JvDockVCStyle.pas 21 Sep 2004 20:49:53 -0000 1.20 *************** *** 205,212 **** --- 205,216 ---- JvDockSupportProc, JvDockGlobals; + type + TWinControlAccessProtected = class(TWinControl); + const DefaultFrameWidth = 3; DefaultDockOverFrameWidth = 1; DefaultDockOverBrushStyle = bsSolid; [...1993 lines suppressed...] ! ShiftBy := -DockSize - BorderSize; ! ShiftScaleOrientation := DockSiteOrientation; ! ! if BeforeClosestVisibleZone <> nil then ! DockSiteSize := DockSiteSize - DockSize - BorderSize ! else ! if AfterClosestVisibleZone <> nil then begin ! ForEachAt(AfterClosestVisibleZone, ShiftZone, tskForward); ! DockSiteSize := DockSiteSize - DockSize - BorderSize; end; + end; end; end; ! procedure TJvDockVCZone.SetZoneSize(Size: Integer; Show: Boolean); begin ! inherited SetZoneSize(Size, Show); end; Index: JvDockControlForm.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvDockControlForm.pas,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** JvDockControlForm.pas 1 Sep 2004 15:06:37 -0000 1.47 --- JvDockControlForm.pas 21 Sep 2004 20:49:45 -0000 1.48 *************** *** 886,889 **** --- 886,893 ---- {$R JvDockTabHost.dfm} + type + TControlAccessProtected = class(TControl); + TWinControlAccessProtected = class(TWinControl); + const cDefaultFormName = 'A_B_C_D_E_F_G_H_I_J_K_L_M_N'; *************** [...6583 lines suppressed...] ! ! if NameLen > 0 then ! Stream.Write(Pointer(ControlName)^, NameLen); ! SheetVisible := 0; ! if (Self is TJvDockVSNETTabPageControl) and (ParentForm.HostDockSite is TJvDockPanel) then ! SheetVisible := Integer(TJvDockVSNETTabSheet(Pages[I]).OldVisible) ! else ! SheetVisible := SheetVisible + Integer(CurrentControl.Visible); ! ! Stream.Write(SheetVisible, SizeOf(SheetVisible)); ! end; ! end; ! ActiveSheetIndex := ActivePageIndex; ! ! Stream.Write(ActiveSheetIndex, SizeOf(ActiveSheetIndex)); ! ! TabPageStreamEndFlag := -10; ! Stream.Write(TabPageStreamEndFlag, SizeOf(TabPageStreamEndFlag)); end; Index: JvDockVSNetStyle.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvDockVSNetStyle.pas,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** JvDockVSNetStyle.pas 1 Sep 2004 15:06:37 -0000 1.33 --- JvDockVSNetStyle.pas 21 Sep 2004 20:49:54 -0000 1.34 *************** *** 484,487 **** --- 484,489 ---- GlobalPopupPanelStartAnimateInterval: Integer = 400; + //=== Local procedures ======================================================= + // (p3) not used: // AnimateSleepTime: Integer = 500; *************** *** 494,497 **** --- 496,527 ---- [...3021 lines suppressed...] - end; - - procedure TJvDockVSChannel.AnimationStartTimerOnTimerHandler(Sender: TObject); - var - CursorPos: TPoint; - begin - // Show the form only if the cursor is still above the same pane - try - GetCursorPos(CursorPos); - CursorPos := Self.ScreenToClient(CursorPos); - if GetDockFormWithMousePos(Point(CursorPos.X, CursorPos.Y)) = Pointer(FAnimationStartTimer.Tag) then - PopupDockForm(TJvDockVSPane(Pointer(FAnimationStartTimer.Tag))); - finally - FAnimationStartTimer.Free; - FAnimationStartTimer := nil; - end; - end; {$IFDEF UNITVERSIONING} --- 3157,3160 ---- |