Print Page | Close Window

Extending Layout Capability

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Docking Pane
Forum Description: Topics Related to Codejock Docking Pane
URL: http://forum.codejock.com/forum_posts.asp?TID=9728
Printed Date: 31 October 2024 at 10:38pm
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: Extending Layout Capability
Posted By: mrmathis
Subject: Extending Layout Capability
Date Posted: 27 February 2008 at 6:15pm
My product has a number of discrete tasks.  Each of them has their own unique set of docking panes.  As I move from Task A to Task B, I save a layout for Task A so that the next time I visit that stage I can do so with all the panes displayed and positioned as they were in my last visit.  The user is free to close any panes they choose at any time if they are not of interest to that particular user, and can turn them back on manually as well.  This general workflow has been in place for years using a homegrown docking pane system, but I am replacing it with Codejock's docking panes because they are very much superior to the old system.
 
That is all working reasonably well, but of course I wouldn't be posting if that were the end of the story.  There are points in my workflow where the software (as opposed to the user) hides one or more panes for various reasons.  Actually, there are a lot of points and a lot of reasons.  However, those reasons might not hold upon the next visit to a given task.  My problem is that when I leave a task and save a layout, the layout cannot distinguish between system- and user-hidden panes.  It just sees hidden panes.  Therefore, I would like to validate or override some of the layout's show/hide information when it is applied later, based on the state of the software at that point in time.
 
To minimize any potential flashing of windows, I thought I would try manipulating the layout before applying it.  I used CXTPDockingPaneLayout::GetPaneList and enumerated the panes, but I don't see how their future display is controllable from there.  Is there something I can do here to do that?
 
I also tried eumerating all panes after applying the layout, using a couple of different approaches to turn panes back on: pPaneMgr->EnsureVisible and pPaneMgr->ShowPane.  Both work, but both also bring those panes to the top if they happen to be docked with other panes.  That is something I can't live with.  Is there some other way I can get the pane turned on that would just leave it there in the list of tabs?


-------------
--Mike



Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net