Currently auto-hidden windows are displayed under following conditions: - Associated TaItem is hovered or - Associated TabItem is clicked or - The DockWindow itself becomes the currently Active one We should allow the user to control these conditions.
Resize cursor is initially set when RadDock is mouse-entered
Let's have a RadDock control hosting several MDI child forms. Set the MDIParent property of these forms to null. The forms will become top level windows, but the HostWindows will not be removed and RadDock will continue listening to the events of the forms. MDIChildren will still contains the forms as well.
If you try to set this this.toolWindow4.TabStrip.SizeInfo.SizeMode = SplitPanelSizeMode.Absolute , the TabStrip will not stay fixed if the form containing RadDock is resized. However, if you hide the main document container, this setting will start working.
When saving the layout RadDock saves the windows as they appear in the DockWindows collection. However, improvement to save the current toolwindows position will be great addition.
IMPROVE. RadDock - add possibility for replacing the page items in the DocumentWindows with custom ones. Resolution: Use the static class RadDockEvents to subscribe to events before InitializeComponent
When the RadDiock is in right to left mode and the QuickNavigator is shown. The snapshot in the QuickNavigator is of the top-left corner of the window in the current context. The snapshot should display the top-right corner.
General Information: - works until 2012.2.726.00 Q2 2012 SP1 version of our controls - does not work after 2012.3.1017.00 Q3 2012 version of our controls Steps to reproduce: 1) Add RadDock control 2) Show Next and Previous Buttons of the default DocumentTabStrip: private void Form1_Load(object sender, EventArgs e) { this.radDock1.DockTabStripNeeded += new DockTabStripNeededEventHandler(radDock1_DockTabStripNeeded); tabStrip = this.radDock1.GetDefaultDocumentTabStrip(false); tabStrip.TabStripElement.StripButtons = StripViewButtons.All; DockLayoutPanel dockPanel = tabStrip.RootElement.Children[0].Children[3] as DockLayoutPanel; if(dockPanel != null) { dockPanel.ZIndex = -1; } StripViewItemContainer stripContainer = tabStrip.TabStripElement.Children[0] as StripViewItemContainer; if (stripContainer != null) { stripContainer.Padding = new Padding(stripContainer.Padding.Left, stripContainer.Padding.Top, 0, stripContainer.Padding.Bottom); } } void radDock1_DockTabStripNeeded(object sender, DockTabStripNeededEventArgs e) { if(e.DockType == DockType.Document) { e.Strip = new CustomDocumentTabStrip(); } } Expected Result: Navigate through all document windows by using the Next and Previous Button beside OverflowDropdownButton Actual Result: NullReferenceException unhandled by RadPageViewStripElement
In very specific cases, if one resizes RadDock, its content is not resized/redrawn correctly.
When you open the Advanced Layout Designer of RadDock and you try to reposition a ToolWindow by a drag-and-drop operation, the designer closes unexpectedly. This issue happens when there is a specific layout created.
Add the ability to easily turn on/off the DockingGuides
One possible scenario is adding an application menu button like in RadRibbonBar.
ADD. RadDock - functionality to change the text orientation of the AutoHideTab Comment: The text of AutoHideTab can be flipped for achieving of these requirements as the following code snippet demonstrates: private void radDock1_TransactionCommitted(object sender, RadDockTransactionEventArgs e) { if (e.Transaction is AutoHideTransaction) { foreach (DockWindow window in e.Transaction.AssociatedWindows) { window.AutoHideTab.FlipText = true; window.AutoHideTab.TextAlignment = ContentAlignment.MiddleCenter; } } }
FIX. RadDock - arranging DocumentWindows tabs in design time is not possible.
To reproduce: Add RadDock to a form. Add a few DocumentWindows. Drag a tab among the other tabs and you will see how the cursor is a different, that is normal. Drag a tab to the content area of the document window and you will see the docking guides. Now if you drag the tab again over the other tabs you will see that the docking guides are still visible and the cursor is not changing (except if you drag outside of the dock). Resolution: 1. Inherit RadPageViewInDockDragDropService and override the UpdateCursor virtual method. class MyDragDropService : RadPageViewInDockDragDropService { RadPageViewElement owner; public MyDragDropService(RadPageViewElement owner) : base(owner) { this.owner = owner; } protected override void UpdateCursor(Point mousePos) { RadPageViewStripElement stripElement = this.owner as RadPageViewStripElement; if (stripElement == null) { return; } if (!this.processing) { //Cursor.Current = Cursors.Default; return; } Point mousePt = Control.MousePosition; if (this.owner.IsInValidState(true)) { mousePt = this.owner.ElementTree.Control.PointToClient(mousePt); } else { mousePt = mousePos; } if (!stripElement.ItemContainer.ControlBoundingRectangle.Contains(mousePt)) { Cursor.Current = Cursors.Default; base.HintWindow.BackgroundImage = null; base.HintWindow.Hide(); this.processing = false; } } } 2. Change the nested PageView in RadDock public Form2() { InitializeComponent(); radDock1.GetService<DragDropService>().Starting += (sender, args) => { if ((sender as DragDropService).DragDropContext == DragDropContext.DocumentWindow) { args.Cancel = true; } }; foreach (Control child in ControlHelper.EnumChildControls(this.radDock1, true)) { DocumentTabStrip docStrip = child as DocumentTabStrip; if (docStrip != null) { RadPageViewElement pageViewElement = docStrip.TabStripElement; pageViewElement.ItemDragService = new MyDragDropService(pageViewElement); } } }
RadDock tool tabs look incorrect with ControlDefault theme when RightToLeft layout is used.
Control size is wrong when using anchoring in a user control hosted in RadDock.
There is a memory leak in RadDock when closing a document window with the context menu.
Create a new project and add RadForm Add RadDock and set its Dock property to Fill Run the project and start resizing the form, you will see that the memory increases
1. Create a new project containing RadDock 2. Add two buttons, the first one will add a document window, the second one will remove it. 3. Run the project and add and remove document windows multiple times.