<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwiz.co.uk/rss_namespace/">
 <channel>
  <title>DevForce Community Forum : [Resolved] TabShellLayout</title>
  <link>http://www.ideablade.com/forum/</link>
  <description>This is an XML content feed of; DevForce Community Forum : DevForce Classic : [Resolved] TabShellLayout</description>
  <pubDate>Wed, 10 Jun 2026 04:11:59 -700</pubDate>
  <lastBuildDate>Tue, 30 Oct 2007 14:37:59 -700</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.69</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>www.ideablade.com/forum/RSS_post_feed.asp?TID=474</WebWizForums:feedURL>
  <image>
   <title>DevForce Community Forum</title>
   <url>http://www.ideablade.com/forum/forum_images/IdeaBlade_logo_tm.png</url>
   <link>http://www.ideablade.com/forum/</link>
  </image>
  <item>
   <title>[Resolved] TabShellLayout : Sounds like a good solution to...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1840#1840</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=97" rel="nofollow">Bill Jensen</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 30-Oct-2007 at 2:37pm<br /><br />Sounds like a good solution to me.&nbsp; Keeping the knowledge of the tabs in a TabService avoids having any other components depend on the particular shell layout type.<DIV>&nbsp;</DIV><DIV>This could be generalized slightly into a "PageVisibilityService" with a MakeVisible(pageViewId) method.&nbsp;&nbsp; If the page isn't part of a TabShellLyaout, the service does nothing.&nbsp; That way, page's don't care at all about where they're displayed.</DIV><DIV>&nbsp;</DIV><DIV>Bill J.</DIV>]]>
   </description>
   <pubDate>Tue, 30 Oct 2007 14:37:59 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1840#1840</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : This is my solution, atleast until...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1839#1839</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 30-Oct-2007 at 12:55pm<br /><br />This is my solution, atleast until refactoring.<DIV>&nbsp;</DIV><DIV>I created a TabService. This service adds each tab to a&nbsp;collection, built with a helper class that add the tab with an allowclose flag. If the page is to not ever be closed then the flag is false. When a new page is selected I see if the page exists in the collection if not I add it.</DIV><DIV>&nbsp;</DIV><DIV>Then in the ShowPage static method of each&nbsp;page I&nbsp;make the page visible by pulling the Tab from the service and changing the visibility. Then I refresh the page, as noted above by Bill, if necessary.</DIV><DIV>&nbsp;</DIV><DIV>&nbsp;</DIV><DIV>&nbsp;</DIV><DIV>&nbsp;</DIV>]]>
   </description>
   <pubDate>Tue, 30 Oct 2007 12:55:43 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1839#1839</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : The static ShowPage() method ofthe...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1834#1834</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=97" rel="nofollow">Bill Jensen</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 29-Oct-2007 at 3:33pm<br /><br /><P>The static ShowPage() method of&nbsp;the page controller (mine is named Page1)&nbsp;calls the generic base class method:</P><DIV><FONT size=2><P>ShowPage&lt;</FONT><FONT color=#008080 size=2>Page1PageController</FONT><FONT size=2>&gt;(pParentWorkItem, pPageWorkItemId, pPageWorkspace);</P><DIV>Examining this method, we find:</DIV><DIV><FONT size=2><P></FONT><FONT color=#0000ff size=2>protected</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>static</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>void</FONT><FONT size=2> ShowPage&lt;T&gt;(</FONT><FONT color=#008080 size=2>WorkItem</FONT><FONT size=2> pParentWorkItem, </FONT><FONT color=#0000ff size=2>string</FONT><FONT size=2> pPageWorkItemId, </FONT><FONT color=#008080 size=2>IWorkspace</FONT><FONT size=2> pPageWorkspace)</P><P></FONT><FONT color=#0000ff size=2>where</FONT><FONT size=2> T : </FONT><FONT color=#008080 size=2>PageController</FONT><FONT size=2>&lt;TRootObj&gt; {</P><P>T controller = GetPageController&lt;T&gt;(pParentWorkItem, pPageWorkItemId);</P><DIV>We note that GetPageController&lt;&gt;() is protected static, so it's available in our page controller's static ShowPage method.&nbsp; So, in your page controller's static ShowPage() method try:</DIV><DIV>&nbsp;</DIV><DIV><FONT size=2><P></FONT><FONT color=#0000ff size=2>public</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>static</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>void</FONT><FONT size=2> ShowPage(</FONT><FONT color=#008080 size=2>WorkItem</FONT><FONT size=2> pParentWorkItem, </FONT><FONT color=#0000ff size=2>string</FONT><FONT size=2> pPageWorkItemId, </FONT><FONT color=#008080 size=2>IWorkspace</FONT><FONT size=2> pPageWorkspace)</P><P>{</P><P></FONT><FONT color=#008000 size=2>// Refresh entities before displaying</P></FONT><FONT size=2><P></FONT><FONT color=#008080 size=2>Page1PageController</FONT><FONT size=2> controller = GetPageController&lt;</FONT><FONT color=#008080 size=2>Page1PageController</FONT><FONT size=2>&gt;(pParentWorkItem, pPageWorkItemId);</P><P>controller.RefreshEntities();</P><P></FONT><FONT color=#008000 size=2>// Base ShowPage method will call back to overridden methods in this class</P></FONT><FONT size=2><P>ShowPage&lt;</FONT><FONT color=#008080 size=2>Page1PageController</FONT><FONT size=2>&gt;(pParentWorkItem, pPageWorkItemId, pPageWorkspace);</P><P>}</P><DIV>Then write a RefreshEntities() method (perhaps similar to what you do in GetInitialEntities() to re-query the data.</DIV><DIV>&nbsp;</DIV><DIV>Full disclosure:&nbsp; I haven't tested this code.</DIV><DIV>&nbsp;</DIV><DIV>Bill J.</DIV></FONT></DIV></FONT></DIV></FONT></DIV>]]>
   </description>
   <pubDate>Mon, 29 Oct 2007 15:33:41 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1834#1834</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : Because I am an idiot and can&amp;#039;t...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1833#1833</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 29-Oct-2007 at 2:34pm<br /><br /><P>Because I am an idiot and can't figure out how to do it. </P><DIV>I know I want to "Re-execute the original query and assign the result as the data source for the binding source." but I can't figure it out.</DIV><DIV>&nbsp;</DIV><DIV>ShowPage is static. This method runs when you click on the link in the NavBar. Therefore, I do not have the same access to the variables. The MainBindingSource is not static.</DIV><DIV>&nbsp;</DIV><DIV>The main reason I was trying to remove the page from the WorkItem is because ShowPage either adds a new page, if the current page hasn't been created, or makes it the active page. I thought it would be simpler to remove it. This would only require me to add code to the TabShellLayout presenter and view.</DIV><DIV>&nbsp;</DIV><DIV>&nbsp;</DIV><DIV>&nbsp;</DIV><DIV>&nbsp;</DIV>]]>
   </description>
   <pubDate>Mon, 29 Oct 2007 14:34:22 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1833#1833</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : The concept of destroying and...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1832#1832</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=97" rel="nofollow">Bill Jensen</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 29-Oct-2007 at 2:22pm<br /><br /><P>The concept of destroying and recreating a view each time it becomes visible is rather foreign to CAB and Cabana.</P><DIV>Since you've succeeded in hiding and revealing a view, I'm still not understanding why you can't merely refresh the data source of a view when it becomes visible.</DIV><DIV>&nbsp;</DIV><DIV>Bill J.</DIV>]]>
   </description>
   <pubDate>Mon, 29 Oct 2007 14:22:12 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1832#1832</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : Ok, I know what I want to do....</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1825#1825</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 29-Oct-2007 at 12:20pm<br /><br />Ok, I know what I want to do. But I have no idea on how to do it. <DIV>&nbsp;</DIV><DIV>The following is built into the page controllers ShowPage:</DIV><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">if</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"> ( controller == <SPAN style="COLOR: blue">null</SPAN> ) {<?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>controller = MakeNewPage&lt;T&gt;(pParentWorkItem, pPageWorkItemId);<o:p></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>ShowPage(controller, pPageWorkspace);<o:p></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>} <SPAN style="COLOR: blue">else</SPAN> {<o:p></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>controller.MainWorkspace.Activate(controller.MainView);<o:p></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}</P><DIV></DIV><DIV><FONT face="Arial, Helvetica, sans-serif">Meaning that if the controller doesn't exist then add one. This will do the refresh of the content.</FONT></DIV><DIV><FONT face=Arial></FONT>&nbsp;</DIV><DIV><FONT face=Arial>Now, in the TabbedShellLayout I can hide a page. I can also get the ActiveSmartPart and the current IPageView, to keep it generic. </FONT></DIV><DIV><FONT face=Arial></FONT>&nbsp;</DIV><DIV><FONT face=Arial>I want to dispose of that PageView, that way when the user clicks on the nav item again it will create the page again, but I have no idea how to do that.</FONT></DIV><DIV><FONT face=Arial></FONT>&nbsp;</DIV><DIV><FONT face=Arial>So far, I have been successful in hiding the tab, remove it from the WorkItem. But, the page will not load again when the user clicks on the nav item.</FONT></DIV><DIV><FONT face=Arial></FONT>&nbsp;</DIV><DIV><FONT face=Arial>HELP</FONT></DIV></SPAN>]]>
   </description>
   <pubDate>Mon, 29 Oct 2007 12:20:04 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1825#1825</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : I am going to alter the ShellService...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1809#1809</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 26-Oct-2007 at 3:49pm<br /><br />I am going to alter the ShellService and the Nave service to do what I want. I will let you know how it goes.]]>
   </description>
   <pubDate>Fri, 26 Oct 2007 15:49:00 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1809#1809</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : Dan,  For what it&amp;#039;s worth,...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1803#1803</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=24" rel="nofollow">Linguinut</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 26-Oct-2007 at 2:47pm<br /><br />Dan,<DIV>&nbsp;</DIV><DIV>For what it's worth, I really wish I could help.&nbsp; I have been tracking with you.&nbsp; As I keep up with you, if anything comes to mind, I will certainly let you know.&nbsp; Keep at it.&nbsp; The solution is waiting for you to find.</DIV><DIV>&nbsp;</DIV><DIV>Bill</DIV>]]>
   </description>
   <pubDate>Fri, 26 Oct 2007 14:47:05 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1803#1803</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : I have got the command to run...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1802#1802</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 26-Oct-2007 at 2:41pm<br /><br />I have got the command to run when I click a group in the nav bar. I just can't get it to run when I click an item in that group.]]>
   </description>
   <pubDate>Fri, 26 Oct 2007 14:41:27 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1802#1802</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : The TabPresenter registers an...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1800#1800</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 26-Oct-2007 at 2:12pm<br /><br />The TabPresenter registers an event (ToggleVisibility)&nbsp;that fires when the user clicks the close button. <DIV>&nbsp;</DIV><DIV>The problem is that I am not sure how to get the nav bar to fire an event that fires the ToggleVisbility event as well. </DIV><DIV>&nbsp;</DIV><DIV>Not sure how I would get the Nav bar to fire another event, one is fired automatically for ShowPage&lt;&gt;, that will fire the ToggleVisibility event again.</DIV><DIV>&nbsp;</DIV><DIV>help please.</DIV>]]>
   </description>
   <pubDate>Fri, 26 Oct 2007 14:12:42 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1800#1800</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : I can get the tab to hide and...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1798#1798</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 26-Oct-2007 at 1:46pm<br /><br />I can get the tab to hide and the SmartPart to hide. But I can not get them to reload.&nbsp; <DIV></DIV><DIV></DIV><DIV></DIV><DIV></DIV><DIV></DIV><DIV></DIV><DIV>&nbsp;</DIV><DIV>I am looking for a way to get the tab/page to reload when you choose its item from the Nav bar. Unfortunately it does not.</DIV><DIV>&nbsp;</DIV><DIV>I believe I will need to set the tab visibility at the PageController or the ModuleController.</DIV><DIV>&nbsp;</DIV><DIV>I know that the Page.ShowPage function is called whenever the nav bar item is selected. So, this would be a good place to set the page back to visible. </DIV><DIV>&nbsp;</DIV><DIV>But, that brings me back to one of my original questions. If I want this to be loose coupling how do I know from the ShellServices.ShellContent that a tab even exists? How do I reload the tab and keep it loosely coupled.</DIV><DIV>&nbsp;</DIV><DIV>&nbsp;</DIV>]]>
   </description>
   <pubDate>Fri, 26 Oct 2007 13:46:23 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1798#1798</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : I am now able to get the workspace...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1795#1795</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 26-Oct-2007 at 12:42pm<br /><br />I am now able to get the workspace to hide and show again. I used the DemoDotNetTabVisibility as a guide. <DIV>&nbsp;</DIV><DIV>I combined the Presenter and the Buildcore info from the demo into the ShellTabLayoutPresenter: </DIV><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="COLOR: gray"><?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></SPAN></P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">void</SPAN> SetToggleTabVisibilityCommandElement(<o:p></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">object</SPAN> pUiElement, <SPAN style="COLOR: blue">string</SPAN> pUiElementEventName, <SPAN style="COLOR: #2b91af">IWorkspace</SPAN> pWorkspace)<o:p></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: #2b91af">ShellTabVisibility</SPAN>.SetTabControl(WorkItem, pWorkspace);<o:p></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p>&nbsp;</o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: #2b91af">CabFns</SPAN>.AddLocalCommandInvoker(<o:p></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: n&#111;ne"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>WorkItem, <SPAN style="COLOR: #a31515">"ToggleTabVisibility"</SPAN>, pUiElement, pUiElementEventName);<o:p></o:p></SPAN></P><P =Ms&#111;normal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}</P><DIV>&nbsp;</DIV><DIV><FONT face="Arial, Helvetica, sans-serif">And added the InjectPresenter call in the ShellTabLayoutView</FONT></DIV><DIV>&nbsp;</DIV><FONT size=2><P>pPresenter.SetToggleTabVisibilityCommandElement(mShellContentWorkspace, </FONT><FONT color=#a31515 size=2>"CloseButtonClick"</FONT><FONT size=2>, mShellContentWorkspace);</P><DIV></DIV><P><FONT face="Arial, Helvetica, sans-serif">There are other little changes, like making it DevEx.</P><DIV></DIV><DIV></DIV>Now I just have to get the Tab itself to hide a reappear. And then refreshing the data on some occurances.</FONT></FONT><DIV></DIV></SPAN>]]>
   </description>
   <pubDate>Fri, 26 Oct 2007 12:42:12 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1795#1795</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : I am trying to find a way to see...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1790#1790</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 26-Oct-2007 at 10:24am<br /><br />I am trying to find a way to see the state of the current tab. I know I can get&nbsp;to the TabController by using &nbsp;ShellService.ShellContentWorkspace. <DIV>&nbsp;</DIV><DIV>But, if I don't want to make it a specific type of workspace how do I get the current page? </DIV><DIV>&nbsp;</DIV><DIV>There is a ShellContentWorkspace.Hide and Show; but, you have to&nbsp;send it a SmartPart. I can access the Show using the NavViewContext&nbsp;on PageController but, how do I&nbsp;know the SmartPart to use when I am at the TabShellLayoutPresenter? </DIV>]]>
   </description>
   <pubDate>Fri, 26 Oct 2007 10:24:02 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1790#1790</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : duh </title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1747#1747</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 23-Oct-2007 at 10:20am<br /><br />duh]]>
   </description>
   <pubDate>Tue, 23 Oct 2007 10:20:19 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1747#1747</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : Re-execute the original query...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1745#1745</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=97" rel="nofollow">Bill Jensen</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 23-Oct-2007 at 10:16am<br /><br /><P>Re-execute the original query and assign the result as the data source for the binding source.</P><P>&nbsp;</P>]]>
   </description>
   <pubDate>Tue, 23 Oct 2007 10:16:55 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1745#1745</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : How would I refresh the contents...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1740#1740</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 23-Oct-2007 at 8:16am<br /><br />How would I refresh the contents of the datasource? I have been trying to figure that out for a while.]]>
   </description>
   <pubDate>Tue, 23 Oct 2007 08:16:14 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1740#1740</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : Hi Dan,  You said:   I want...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1733#1733</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=97" rel="nofollow">Bill Jensen</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 22-Oct-2007 at 4:22pm<br /><br />Hi Dan,<DIV>&nbsp;</DIV><DIV>You said:</DIV><DIV>&nbsp;</DIV><DIV><DIV><FONT color=#0000ff>I want to close a tab completely and then be able to reload it when the user selects that page again. And I am wondering&nbsp;the best way to do this.</FONT></DIV><DIV><FONT color=#0000ff>&nbsp;</FONT></DIV><DIV><FONT color=#0000ff>I have tried <FONT size=2>.Close(mShellContentWorkspace.SmartParts&#091;mShellContentWorkspace.SelectedTabPageIndex&#093;);.</FONT></FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Yes, as Platt describes, Workspace.Close() removes the SmartPart from the workspace.&nbsp; You would probably have to replicate the composition logic from the page controller's Run() method in its ShowPage delegate, taking care not to create a new page every time its shown.</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT color=#0000ff size=2><DIV>I really do not want it to hide, which I can do, because I want the data reloaded when the page is loaded again.</DIV><DIV>&nbsp;</DIV><DIV><FONT color=#000000>Why not?&nbsp; You could use some logic to determine if it's been hidden and if so, unhide it and refresh the contents of its data source.</FONT></DIV><DIV><FONT color=#000000></FONT>&nbsp;</DIV><DIV><DIV>Also, is there&nbsp;a way to access the TabControl from inside a module or outside form. (ie. close all tabs from an admin/options page)?</DIV><DIV>&nbsp;</DIV><DIV><FONT color=#000000>The shell layout view is registered as a SmartPart in the root workitem under the key <FONT color=#008080 size=2><P>WorkspaceNames</FONT><FONT size=2>.ShellLayout</P><DIV></DIV>Bill J.</FONT></FONT></DIV></DIV></FONT></DIV></DIV>]]>
   </description>
   <pubDate>Mon, 22 Oct 2007 16:22:08 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1733#1733</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : I am still working with the tabbedshelllayout....</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1730#1730</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 22-Oct-2007 at 3:05pm<br /><br />I am still working with the tabbedshelllayout. <DIV></DIV><DIV>&nbsp;</DIV><DIV>I want to close a tab completely and then be able to reload it when the user selects that page again. And I am wondering&nbsp;the best way to do this.</DIV><DIV>&nbsp;</DIV><DIV>I have tried <FONT size=2>.Close(mShellContentWorkspace.SmartParts&#091;mShellContentWorkspace.SelectedTabPageIndex&#093;);. </FONT></DIV><DIV>&nbsp;</DIV><DIV>But when I do this and wish to load the page again it gives me an error because the SmartPart no longer exists.</DIV><DIV>&nbsp;</DIV><DIV>I really do not want it to hide, which I can do, because I want the data reloaded when the page is loaded again.</DIV><DIV>&nbsp;</DIV><DIV>Also, is there&nbsp;a way to access the TabControl from inside a module or outside form. (ie. close all tabs from an admin/options page)?</DIV>]]>
   </description>
   <pubDate>Mon, 22 Oct 2007 15:05:50 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1730#1730</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : Ward&amp;#039;s Response:   I suspect...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1480#1480</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=97" rel="nofollow">Bill Jensen</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 08-Oct-2007 at 1:31pm<br /><br /><strong>Ward's Response:</strong><DIV>&nbsp;</DIV><DIV><DIV dir=ltr align=left><SPAN =265393215-08102007>I suspect that you are referring to the tab titles that appear when the Page content area is implemented with a TabWorkspace rather than a DeckWorkspace. </SPAN></DIV><DIV dir=ltr align=left><SPAN =265393215-08102007></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =265393215-08102007>&#091;<EM>aside: That's&nbsp;what we do in TabShellLayout.cs which is hiding as an excluded file in Cabana.Foundation.Views.Layout.&#093;</EM></SPAN></DIV><DIV dir=ltr align=left><SPAN =265393215-08102007></SPAN><SPAN =265393215-08102007><SPAN =265393215-08102007></SPAN></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =265393215-08102007><SPAN =265393215-08102007>You were betting that this the tab text title carried over from the NavBar title. That makes sense although it is by no means necessary that the tab title (which is brief and might be supplemented dynamically with something instance specific) should be the same as the nav bar item text (which could be fixed text and too long).</SPAN></SPAN></DIV><DIV dir=ltr align=left><SPAN =265393215-08102007><SPAN =265393215-08102007></SPAN></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =265393215-08102007><SPAN =265393215-08102007><SPAN =265393215-08102007><DIV dir=ltr align=left><SPAN =265393215-08102007>In any case, the PageController is decoupled from all navigation so it doesn't know about a NavBar title. I suppose we could have passed it into the PageController but I didn't like that approach. Clearly I figured that the author of a PageController&nbsp;should decide&nbsp;how to determine the Page name.</SPAN></DIV><DIV dir=ltr align=left><SPAN =265393215-08102007></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =265393215-08102007>To control how a Page view displays in the page area, we must set</SPAN>&nbsp;the view's PageSmartPartInfo. </SPAN></SPAN></SPAN><SPAN =265393215-08102007>I do this for you in the PageControllers (see CabanaLib) - see InitializeSmartPartInfo. </SPAN></DIV><DIV dir=ltr align=left><SPAN =265393215-08102007></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =265393215-08102007>&#091;<EM>aside: PageSmartPartInfo derives ultimately from CAB's SmartPartInfo which is the standard CAB mechanism for communicating extra configuration data to a View as it is about to be loaded into a Workspace.</EM>&#093;</SPAN></DIV><DIV dir=ltr align=left><SPAN =265393215-08102007></SPAN>&nbsp;</DIV></DIV><DIV dir=ltr align=left><SPAN =265393215-08102007>This InitializeSmartPartInfo virtual method sets the page name to the Title.&nbsp;Title is a virtual property of the PageController which, by default, shows the RootObjectTypeDisplayName. That too is a virtual property of the PageController that defaults to the name of the type of the root object (recall all pages have a root object - the thing that they are putatively about).</SPAN></DIV><DIV dir=ltr align=left><SPAN =265393215-08102007></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =265393215-08102007>Users of the default ShellLayout from CabanaLib (e.g, DotNetShellLayout,&nbsp;DevExShellLayout, ... depending on the control suite) don't complain about this because the Page area is a DeckWorkSpace rather than a TabWorkSpace; no tabs, no tab title, no problem.</SPAN></DIV><DIV dir=ltr align=left><SPAN =265393215-08102007></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =265393215-08102007>I'll leave it to you to figure out how you obtain page titles. If you override each PageController's Title property so that it returns that value, things should work out fine.</SPAN></DIV><DIV dir=ltr align=left><SPAN =265393215-08102007></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =265393215-08102007><strong>Dan's Response to Ward's Response:</strong></SPAN></DIV><DIV dir=ltr align=left><SPAN =265393215-08102007></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =265393215-08102007><DIV>Thank you Ward. Apparently I set the title before the initialization took affect so the title never changed. I decided to override the InitializeSmartPartInfo method in my PageController and it worked like a charm. </DIV></SPAN></DIV></DIV>]]>
   </description>
   <pubDate>Mon, 08 Oct 2007 13:31:10 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1480#1480</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : SmartPartInfo doesn&amp;#039;t exist...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1474#1474</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 05-Oct-2007 at 10:19am<br /><br />SmartPartInfo doesn't exist in the PageController itself. I found the PageView.SmartPartInfo and tried to change the title there. It did not do anything.]]>
   </description>
   <pubDate>Fri, 05 Oct 2007 10:19:43 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1474#1474</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : That is a bit of a mystery, then.  SmartPartInfo.Title...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1473#1473</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=24" rel="nofollow">Linguinut</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 05-Oct-2007 at 9:52am<br /><br />That is a bit of a mystery, then.<DIV>&nbsp;</DIV><DIV>SmartPartInfo.Title = "foo";</DIV><DIV>&nbsp;</DIV><DIV>Would that work?</DIV>]]>
   </description>
   <pubDate>Fri, 05 Oct 2007 09:52:08 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1473#1473</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : That is for the actual TabControllers....</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1472#1472</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 05-Oct-2007 at 9:31am<br /><br />That is for the actual TabControllers. Mine is the Page itself. I am using a TabLayout for my pages. So each Nav Menu item creates a new Tab Page.]]>
   </description>
   <pubDate>Fri, 05 Oct 2007 09:31:33 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1472#1472</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : In the view&amp;#039;s tabcontroller: ///...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1471#1471</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=24" rel="nofollow">Linguinut</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 05-Oct-2007 at 9:12am<br /><br /><P>In the view's tabcontroller:</P><DIV><FONT color=#808080 size=2>///</FONT><FONT color=#008000 size=2> </FONT><FONT color=#808080 size=2>&lt;summary&gt;</FONT><FONT color=#008000 size=2>Set the View's Tab's SmartPartInfo within the <BR></FONT><FONT color=#808080 size=2>///</FONT><FONT color=#008000 size=2> </FONT><FONT color=#808080 size=2>&lt;see cref="TabViewController.ShowInTabWorkspace"/&gt;</FONT><FONT color=#008000 size=2> phase.</FONT><FONT color=#808080 size=2>&lt;/summary&gt;<BR></FONT><FONT color=#0000ff size=2>protected</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>override</FONT><FONT size=2> </FONT><FONT color=#2b91af size=2>TabSmartPartInfo</FONT><FONT size=2> SetSmartPartInfo()<BR>{<BR>&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> </FONT><FONT color=#2b91af size=2>SmartPartInfoFns</FONT><FONT size=2>.MakeTabSmartPartInfo(</FONT><FONT color=#a31515 size=2>"Addresses"</FONT><FONT size=2>, </FONT><FONT color=#a31515 size=2>"Customer Addresses"</FONT><FONT size=2>, </FONT><FONT color=#0000ff size=2>true</FONT><FONT size=2>);<BR>}</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Hope that helps.</DIV></FONT>]]>
   </description>
   <pubDate>Fri, 05 Oct 2007 09:12:54 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1471#1471</guid>
  </item> 
  <item>
   <title>[Resolved] TabShellLayout : In a different thread I got off...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1464#1464</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=136" rel="nofollow">orcities</a><br /><strong>Subject:</strong> 474<br /><strong>Posted:</strong> 05-Oct-2007 at 7:32am<br /><br />In a different thread I got off track and started asking about tabs, so I started a new thread to discuss this. <DIV>&nbsp;</DIV><DIV>I am using the TabShellLayout, that Ward was generous enough to give us, and I am curious as to how the tab display name&nbsp;is set.</DIV><DIV>&nbsp;</DIV><DIV>I have noticed that it is not the same value as the nav bar as one might thing. It apparently is set somewhere else.</DIV><DIV>&nbsp;</DIV><DIV>Does anyone know where this might be?</DIV><span style="font-size:10px"><br /><br />Edited by orcities - 30-Oct-2007 at 12:56pm</span>]]>
   </description>
   <pubDate>Fri, 05 Oct 2007 07:32:48 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=474&amp;PID=1464#1464</guid>
  </item> 
 </channel>
</rss>