<?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 : [COMPLETED] Widget View Template</title>
  <link>http://www.ideablade.com/forum/</link>
  <description>This is an XML content feed of; DevForce Community Forum : DevForce Classic : [COMPLETED] Widget View Template</description>
  <pubDate>Wed, 13 May 2026 18:07:02 -700</pubDate>
  <lastBuildDate>Sat, 29 Sep 2007 10:36:36 -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=423</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>[COMPLETED] Widget View Template : Hey Dan,  Certainly. I am leaving...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1378#1378</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> 423<br /><strong>Posted:</strong> 29-Sep-2007 at 10:36am<br /><br />Hey Dan,<DIV>&nbsp;</DIV><DIV>Certainly.&nbsp; I am leaving for the day, so Monday I will try to put something together as a summary of this widget view creation.</DIV><DIV>&nbsp;</DIV><DIV>Have a good weekend!</DIV><DIV>Bill</DIV>]]>
   </description>
   <pubDate>Sat, 29 Sep 2007 10:36:36 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1378#1378</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : Can you supply your final findings...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1376#1376</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> 423<br /><strong>Posted:</strong> 29-Sep-2007 at 10:32am<br /><br />Can you supply your final findings and paths to final product. This thread was rather long and hard to keep track of what exactly was going on.<DIV>&nbsp;</DIV><DIV>&nbsp;</DIV>]]>
   </description>
   <pubDate>Sat, 29 Sep 2007 10:32:30 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1376#1376</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : Thanks for all of your help, Bill....</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1369#1369</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> 423<br /><strong>Posted:</strong> 28-Sep-2007 at 4:53pm<br /><br />Thanks for all of your help, Bill.&nbsp; I am going to end this thread.&nbsp; It is a bit long.&nbsp; And, I think I can pursue other questions separately, now.&nbsp; The new widget control view works quite well.]]>
   </description>
   <pubDate>Fri, 28 Sep 2007 16:53:36 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1369#1369</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : Yeah, that sounds reasonable....</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1363#1363</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> 423<br /><strong>Posted:</strong> 27-Sep-2007 at 3:45pm<br /><br />Yeah, that sounds reasonable.&nbsp; It'll probably be generic &lt;boundType&gt;.&nbsp; Be sure to follow the template pattern so a specific TabViewController can override the Add, Delete and Edit methods.<DIV>&nbsp;</DIV><DIV>Bill J.</DIV>]]>
   </description>
   <pubDate>Thu, 27 Sep 2007 15:45:12 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1363#1363</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : I should create a new ControlViewTabViewController...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1362#1362</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> 423<br /><strong>Posted:</strong> 27-Sep-2007 at 2:10pm<br /><br />I should create a new ControlViewTabViewController in the IdeaBlade.Cab.UI project under the TabViewController folder.&nbsp; When I add a new control view to a tab controller, I would just add the view using this controller.&nbsp; What I am trying not to do is have to create all of that add/edit/delete code every time I add a new view. <DIV>&nbsp;</DIV><DIV>Please let me know if there are any gotchas for doing it this way.</DIV><span style="font-size:10px"><br /><br />Edited by Linguinut - 27-Sep-2007 at 2:11pm</span>]]>
   </description>
   <pubDate>Thu, 27 Sep 2007 14:10:13 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1362#1362</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : Sorry, you have to provide the...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1360#1360</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> 423<br /><strong>Posted:</strong> 27-Sep-2007 at 1:55pm<br /><br />Sorry, you have to provide the handlers to add, edit or delete objects.&nbsp; In MasterDetailTabViewController (in IdeaBlade.Cab.UI), look at the method<DIV>&nbsp;</DIV><DIV>ConfigureMasterViewContext()</DIV><DIV>&nbsp;</DIV><DIV>You'll need to create handlers and register commands in much the same way in your ContactViewTabViewController.&nbsp; Just walk thru the code to see how it's done.</DIV><DIV>&nbsp;</DIV><DIV>The point of the command pattern is to decouple the source of the command's firing (button, menu item) from the actual command processing.&nbsp; The view controller is where you "know" about how to create, edit and delete elements of your data mode.&nbsp; You don't want to couple the general-purpose presenter or the ToolStripAdapter to this information.</DIV><DIV>&nbsp;</DIV><DIV>Bill J.</DIV>]]>
   </description>
   <pubDate>Thu, 27 Sep 2007 13:55:38 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1360#1360</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : From what I can tell, I would...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1359#1359</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> 423<br /><strong>Posted:</strong> 27-Sep-2007 at 1:35pm<br /><br />From what I can tell, I would have to implement the actual add/save/delete calls (EntityManager.SaveAll(), or something like that).&nbsp; This kind of thing should already be wrapped up above this toolbar somewhere and accessible to it.&nbsp; I&nbsp;do not want to rewrite any of the code found in the <FONT size=2>MasterDetailTabViewController.&nbsp; Shouldn't it have "bubbled up" someplace else, already?&nbsp; Well, I hope Ward can come to the rescue and point the way on this.&nbsp; I do want to duplicate code unnecessarily.&nbsp; If the wheel has already been created...</FONT>]]>
   </description>
   <pubDate>Thu, 27 Sep 2007 13:35:38 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1359#1359</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template :  Here is the method in the Do...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1358#1358</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> 423<br /><strong>Posted:</strong> 27-Sep-2007 at 12:05pm<br /><br /><DIV><FONT color=#0000ff size=2><DIV><FONT color=#000000>Here is the method in the DotNetNavigatorControlViewToolStripAdapter:</FONT></DIV><DIV><FONT color=#0000ff size=2><BR>protected</FONT><FONT color=#000000 size=2> </FONT><FONT color=#0000ff size=2>void</FONT><FONT size=2><FONT color=#000000> AddButtonTo<FONT size=2>Control</FONT>ViewToolStrip(</FONT></FONT><FONT color=#2b91af size=2>ToolStripButton</FONT><FONT size=2> <FONT color=#000000>pButton,</FONT> </FONT><FONT color=#0000ff size=2>string</FONT><FONT size=2> <FONT color=#000000>pCommandRootName, </FONT></FONT><FONT color=#0000ff size=2>bool</FONT><FONT size=2> <FONT color=#000000>pHideIfNoCommandHandler) {<BR></FONT></FONT><FONT color=#0000ff size=2>&nbsp; string</FONT><FONT size=2> <FONT color=#000000>commandName = ViewContext.MakeViewSpecificId(pCommandRootName);<BR>&nbsp;&nbsp;<FONT size=2>ControlViewToolStripSite</FONT>.Add(pButton);</FONT><BR></FONT><FONT color=#2b91af size=2>&nbsp; CabWinFormFns</FONT><FONT color=#000000><FONT size=2>.AddCommandToButton(WorkItem, pButton, commandName);<BR></FONT><FONT size=2>&nbsp; if</FONT></FONT><FONT color=#000000 size=2> ( pHideIfNoCommandHandler ) {<BR></FONT><FONT color=#2b91af size=2><FONT color=#000000>&nbsp;&nbsp;&nbsp; </FONT>CabFns</FONT><FONT color=#000000 size=2>.ResetStatusIfNoHandlers(WorkItem, commandName, </FONT><FONT color=#2b91af size=2>CommandStatus</FONT><FONT size=2><FONT color=#000000>.Unavailable);<BR>&nbsp; }<BR>}</FONT></DIV></FONT></FONT></DIV><DIV>&nbsp;</DIV><DIV>What if I added the following into the above&nbsp;code?</DIV><DIV>&nbsp;</DIV><DIV><FONT color=#2b91af>CabFns</FONT><FONT size=2>.RegisterCommandHandler(WorkItem, commandName, pButton.Click);</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><FONT size=2>All of the ingredients I need are right there while the button is cooking.&nbsp; I am not sure how I would do this in the tab controller. <DIV></DIV><DIV></DIV><DIV>&nbsp;</DIV><DIV>Bill</DIV><DIV>&nbsp;</DIV><DIV>Note: pButton.Click cannot be used as the EventHandler passed in the argument.&nbsp; The eventhandler must be presented another way.</DIV></FONT><span style="font-size:10px"><br /><br />Edited by Linguinut - 27-Sep-2007 at 12:09pm</span>]]>
   </description>
   <pubDate>Thu, 27 Sep 2007 12:05:33 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1358#1358</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : In the DotNetGridViewToolStripAdapter...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1357#1357</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> 423<br /><strong>Posted:</strong> 27-Sep-2007 at 11:12am<br /><br /><P>In the DotNetGridViewToolStripAdapter (and presumably your ControlView version), the method AddButtonToGridViewToolStrip() contains the code:</P><FONT size=2><P></FONT><FONT color=#0000ff size=2>if</FONT><FONT size=2> ( pHideIfNoCommandHandler ) {</P><P></FONT><FONT color=#008080 size=2>CabFns</FONT><FONT size=2>.ResetStatusIfNoHandlers(WorkItem, commandName, </FONT><FONT color=#008080 size=2>CommandStatus</FONT><FONT size=2>.Unavailable);</P><DIV></DIV><DIV>Basically this hides the button if its attached command doesn't have a handler registered.</DIV><DIV>&nbsp;</DIV><DIV>The ToolStripAdapter (and in fact the presenter that owns it) doesn't care what happens when a button is clicked--it merely sets up a command (with a name that includes the unique ViewId)&nbsp;&nbsp;and fires it.</DIV><DIV>&nbsp;</DIV><DIV>The handler for the command&nbsp;must be&nbsp;registered somewhere.&nbsp; It remains a mystery to me where this is done for the detail grid view case.&nbsp;&nbsp;However, the MasterDetailTabViewController contains this function:</DIV><DIV><FONT size=2><P></FONT><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>Register CommandHandler for a Command on the detail view.</FONT><FONT color=#808080 size=2>&lt;/summary&gt;</P></FONT><FONT size=2><P></FONT><FONT color=#808080 size=2>///</FONT><FONT color=#008000 size=2> </FONT><FONT color=#808080 size=2>&lt;param name="pCommandRootName"&gt;</FONT><FONT color=#008000 size=2>The root name of the CommandName to make (e.g., "Edit").</FONT><FONT color=#808080 size=2>&lt;/param&gt;</P></FONT><FONT size=2><P></FONT><FONT color=#808080 size=2>///</FONT><FONT color=#008000 size=2> </FONT><FONT color=#808080 size=2>&lt;param name="pHandler"&gt;</FONT><FONT color=#008000 size=2>CommandHandler of this command.</FONT><FONT color=#808080 size=2>&lt;/param&gt;</P></FONT><FONT size=2><P></FONT><FONT color=#0000ff size=2>protected</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>void</FONT><FONT size=2> RegisterDetailCommandHandler(</FONT><FONT color=#0000ff size=2>string</FONT><FONT size=2> pCommandRootName, </FONT><FONT color=#008080 size=2>EventHandler</FONT><FONT size=2> pHandler) {</P><P></FONT><FONT color=#0000ff size=2>string</FONT><FONT size=2> commandName = mDetailViewContext.MakeViewSpecificId(pCommandRootName);</P><P></FONT><FONT color=#008080 size=2>CabFns</FONT><FONT size=2>.RegisterCommandHandler(WorkItem, commandName, pHandler);</P><P>}</P></FONT></DIV><DIV><FONT size=2><P>I can't find any invocations of this method, but at least it shows you how to register a command handler. &nbsp;You'll need to register handlers for the button events (probably in your ContactViewTabController).</P><DIV>I'll try to get some more information out of Ward.</DIV><DIV>&nbsp;</DIV><DIV>Bill J.</DIV></FONT></FONT></DIV>]]>
   </description>
   <pubDate>Thu, 27 Sep 2007 11:12:32 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1357#1357</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : I much appreciate the quick refresher....</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1355#1355</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> 423<br /><strong>Posted:</strong> 27-Sep-2007 at 10:55am<br /><br />I much appreciate the quick refresher.&nbsp; I wanted to make sure that my thinking was straight on these issues.&nbsp; Thanks.<DIV>&nbsp;</DIV><DIV>Btw, I am going to start a new thread regarding the toolbar buttons.</DIV>]]>
   </description>
   <pubDate>Thu, 27 Sep 2007 10:55:24 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1355#1355</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : I created a DotNet Grid View and...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1354#1354</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> 423<br /><strong>Posted:</strong> 27-Sep-2007 at 10:54am<br /><br /><DIV>I created a DotNet Grid View and added it to the customer tab controller.&nbsp; No toolbar is displayed, so I cannot even tell if the buttons will show up.</DIV><DIV>&nbsp;</DIV><DIV>Bill, can you&nbsp;verify that the add/edit/delete buttons, in fact, do show up on a DotNet Grid View?</DIV><DIV>&nbsp;</DIV><DIV>Thanks!</DIV>]]>
   </description>
   <pubDate>Thu, 27 Sep 2007 10:54:00 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1354#1354</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : A quick refresher on object-oriented...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1353#1353</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> 423<br /><strong>Posted:</strong> 27-Sep-2007 at 10:19am<br /><br /><DIV><FONT color=#000000 size=2>A quick refresher on object-oriented 101, C# style:</FONT></DIV><DIV><FONT size=2><FONT color=#0000cc></FONT></FONT>&nbsp;</DIV><DIV><FONT size=2><FONT color=#0000cc>The ControlViewToolStripAdapter has a protected virtual method defined called AddToControlViewToolStrip.&nbsp;</FONT> </FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Correct.&nbsp;&nbsp;It has an empty body.&nbsp; The <strong>virtual</strong> declaration indicates&nbsp;that a child class may provide&nbsp;a non-empty&nbsp;implementation.&nbsp; The <strong>protected</strong> modifier merely restricts the visibility to the base and child classes.&nbsp; A <strong>virtual</strong> method can be <strong>public</strong> or <strong>internal</strong>, but <strong>private</strong> <strong>virtual</strong> doesn't make any sense.</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT color=#0000cc size=2>The class DotNetNavigatorControlViewToolStripAdapter is derived from ControlViewToolStripAdapter; therefore, has the implementation of the AddToControlViewToolStrip method.</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Correct, though it doesn't&nbsp;<EM>have</EM> to provide an implementation, since an empty implementation is provided in the base class.&nbsp; If it were&nbsp;marked <strong>abstract</strong> in the base class, the child class&nbsp;would be <EM>required</EM>&nbsp;provide an implementation.</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT color=#000099 size=2>When a call is made to ControlViewToolStripAdapter.Configure, the method AddToControlViewToolStrip is called.&nbsp; <EM>This is where I get confused</EM>.&nbsp; The abstract class then calls the concrete class to run the method defined there?&nbsp; Is that right?&nbsp; </FONT></DIV><DIV><FONT color=#000099 size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Yes, that's the meaning of the&nbsp;<strong>override</strong> modifer on a method; when the method is invoked, the implementation in the&nbsp;overriding method is called, <EM>even if the invoker thinks it is holding a reference to an instance of the base class</EM>.&nbsp;&nbsp;</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2><DIV><FONT color=#000099 size=2>Does the protected virtual designation make a difference over the protected abstract designation?</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV>If the child implementation were marked <strong>new</strong> (instead of&nbsp;<strong>override</strong>), then the child method will be invoked if the invoker holds a reference to an instance of the child class, but the base class method will be invoked if it is called on a reference to the base class.</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Does this clarify things?</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Bill J.</FONT></DIV><DIV>&nbsp;</DIV>]]>
   </description>
   <pubDate>Thu, 27 Sep 2007 10:19:43 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1353#1353</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : I can walk the code. Btw, I changed...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1352#1352</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> 423<br /><strong>Posted:</strong> 27-Sep-2007 at 10:12am<br /><br />I can walk the code.&nbsp; Btw, I changed the virtual tag to abstract, then back to virtual--the code does the same thing either way.&nbsp; The call is being made to the concrete class (as expected).&nbsp; The buttons are being built.&nbsp; But they are not showing up on the toolbar.&nbsp; The UIExtensionSite&nbsp; looks like it is being registered properly.&nbsp; The buttons are being added to that defined site.&nbsp; Nothing is showing up.&nbsp; This remains a mystery.]]>
   </description>
   <pubDate>Thu, 27 Sep 2007 10:12:58 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1352#1352</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template :  Originally posted by Bill Jensen Immediately...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1351#1351</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> 423<br /><strong>Posted:</strong> 27-Sep-2007 at 8:15am<br /><br /><table width="99%"><tr><td class="BBquote"><strong><em>Originally posted by Bill Jensen</strong></em><br /><br /><P>Immediately after calling SetGridViewToolStripAdapter(), GridViewPresenterBase calls its Configure() method.&nbsp; Among other things, Configure() invokes <FONT size=2>AddToGridViewToolStrip() which is again delegated to the concrete implementation.</P><DIV></FONT></td></tr></table> </DIV><DIV>&nbsp;</DIV><DIV><FONT size=2>Slowly wrapping my brain around this.&nbsp; </FONT></DIV><DIV><FONT size=2>&nbsp;</FONT></DIV><DIV><FONT size=2>The ControlViewToolStripAdapter has a protected virtual method defined called AddToControlViewToolStrip.&nbsp; The class DotNetNavigatorControlViewToolStripAdapter is derived from ControlViewToolStripAdapter; therefore, has the implementation of the AddToControlViewToolStrip method.&nbsp; When a call is made to ControlViewToolStripAdapter.Configure, the method AddToControlViewToolStrip is called.&nbsp; <EM>This is where I get confused</EM>.&nbsp; The abstract class then calls the concrete class to run the method defined there?&nbsp; Is that right?&nbsp; Does the protected virtual designation make a difference over the protected abstract designation?</FONT></DIV><DIV><FONT size=2>&nbsp;</FONT></DIV><DIV><FONT size=2>Thanks.</FONT></DIV><span style="font-size:10px"><br /><br />Edited by Linguinut - 27-Sep-2007 at 8:51am</span>]]>
   </description>
   <pubDate>Thu, 27 Sep 2007 08:15:32 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1351#1351</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : Hey Bill,   No problem with...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1350#1350</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> 423<br /><strong>Posted:</strong> 27-Sep-2007 at 5:33am<br /><br />Hey Bill, <DIV>&nbsp;</DIV><DIV>No problem with your posting frequency.&nbsp; I am glad whenever you can offer help.&nbsp; <EM>I do wish that there were more of us out here, though.</EM></DIV><DIV>&nbsp;</DIV><DIV>This is getting to be a long thread; however, it is all related to my desire to create the control view widget with a toolbar.&nbsp; I am at the very final stages of this journey.</DIV><DIV>&nbsp;</DIV><DIV>Thanks a bunch for the bird's eye overview of the adapter classes.&nbsp; I will work through this for understanding.&nbsp; Unfortunately, the classic template is a relatively new animal for me.&nbsp; I am still doing a lot of catch-up reading to get more acquainted.</DIV><DIV>&nbsp;</DIV><DIV>Thanks, again.&nbsp; I'll update here when I get more answers or have more questions regarding this.</DIV><DIV>&nbsp;</DIV><DIV>Bill</DIV><span style="font-size:10px"><br /><br />Edited by Linguinut - 27-Sep-2007 at 8:57am</span>]]>
   </description>
   <pubDate>Thu, 27 Sep 2007 05:33:27 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1350#1350</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : Sorry not to post sooner today--I&amp;#039;ve...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1346#1346</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> 423<br /><strong>Posted:</strong> 26-Sep-2007 at 4:20pm<br /><br /><P>Sorry not to post sooner today--I've been out for some appointments and errands.</P><DIV>You've got a couple of things going in this thread which has become rather long.&nbsp; At some point we should close this thread and start a couple of new ones.</DIV><DIV>&nbsp;</DIV><DIV>Anyway, to address your most recent post:</DIV><DIV>&nbsp;</DIV><DIV>First, the tool strip adapter is implemented as a classic template pattern:</DIV><DIV>&nbsp;</DIV><DIV>GridViewToolStripAdapter is an abstract template class that delegates its implementation details to a concrete implementation class.&nbsp; It always looks the same to its client class, GridView (or more precisely, GridViewPresenterBase).&nbsp; In this case, Ward has provided only one concrete implementation: &nbsp;DotNetGridViewToolStripAdapter.</DIV><DIV>&nbsp;</DIV><DIV>Second,&nbsp;the template pattern is extremely common and occurs again:</DIV><DIV>&nbsp;</DIV><DIV>GridViewPresenterBase is itself an abstract&nbsp;template that delegates its implementation to concrete classes, two in this case:&nbsp; DotNetGridViewPresenter and DevExGridViewPresenter.&nbsp; </DIV><DIV>&nbsp;</DIV><DIV>Once the view context is set,&nbsp;the OnContextSet() method configures the grid view.&nbsp; One of the steps is to invoke SetGridViewToolStripAdapter() that delegates to the concrete implementation of SetGridViewToolStripAdapterCore() which creates a new DotNetGridViewToolStripAdapter, passing the tool strip object itself, the binding source and the view context.</DIV><DIV>&nbsp;</DIV><DIV>Immediately after calling SetGridViewToolStripAdapter(), GridViewPresenterBase calls its Configure() method.&nbsp; Among other things, Configure() invokes <FONT size=2>AddToGridViewToolStrip() which is again delegated to the concrete implementation.</FONT></DIV><DIV>&nbsp;</DIV><DIV>Your ControlView-based versions of these classes&nbsp;should work in exactly the&nbsp;the same way.</DIV><DIV>&nbsp;</DIV><DIV>N.B.: The GridViewToolStripAdapter and DotNetGridViewToolStripAdapter classes have "GridView" appearing all over the place.&nbsp; On closer examination however, almost all of these are just class, member and variable names.&nbsp; </DIV><DIV>&nbsp;</DIV><DIV>The only real dependency is on&nbsp;the&nbsp;view context being a GridViewContextBase and even that is&nbsp;only used to provide three items:</DIV><DIV>&nbsp;</DIV><DIV>The binding source (actually available from the base BindingViewContextBase class)</DIV><DIV>&nbsp;</DIV><DIV>The GridViewToolStripVisible flag.</DIV><DIV>and</DIV><DIV>The GridViewToolStripChanged event.</DIV><DIV>&nbsp;</DIV><DIV>These last two could be made optional&nbsp;by moving them to an interface, IGridViewToolStripContext, then having GridViewToolStripAdapter check if the view context implements this interface and hook them up if so.</DIV><DIV>&nbsp;</DIV><DIV>Once that's done, the dependency on GridView (and ControlView, in your case) could be eliminated and it becomes possible to add a tool strip to any binding view.&nbsp; If there were a BindingViewPresenterBase class (there isn't)&nbsp;we could move the logic there but for now, we can&nbsp;just leave it in our specific base presenter classes.</DIV><DIV>&nbsp;</DIV><DIV>This kind of refactoring is constant in a framework like Cabana.&nbsp; We start with specific implementations for initial use cases (i.e., GridView tool strips&nbsp;in this case), then, rather than duplicating code, refactor to a more abstract implementation to cover more use cases.&nbsp; In the process we eliminate dependencies and increase reusability.</DIV><DIV>&nbsp;</DIV><DIV>My battery is going dead...gotta post this.</DIV><DIV>&nbsp;</DIV><DIV>Hope this helps.</DIV><DIV>&nbsp;</DIV><DIV>Bill J.</DIV>]]>
   </description>
   <pubDate>Wed, 26 Sep 2007 16:20:09 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1346#1346</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : I found this method: AddToControlViewToolStrip()...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1345#1345</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> 423<br /><strong>Posted:</strong> 26-Sep-2007 at 2:04pm<br /><br />I found this method:&nbsp; <FONT size=2>AddToControlViewToolStrip() in the DotNetNavigatorControlViewToolStripAdapter (adapted from the DotNetGridViewToolStripAdapter).&nbsp; It has the AddEditButton, AddAddNewButton and AddDeleteButton methods that I want, but how do I get them to fire?</FONT> <DIV>&nbsp;</DIV><DIV>This is quite odd.&nbsp; The DotNetNavigatorControlViewToolStripAdapter inherits from ControlViewToolStripAdapter in which the following is declared:</DIV><DIV><FONT color=#808080 size=2><BR>///</FONT><FONT color=#008000 size=2> </FONT><FONT color=#808080 size=2>&lt;summary&gt;</FONT><FONT color=#008000 size=2>Add to the ControlViewToolStrip </FONT><FONT color=#808080 size=2>&lt;see cref="UIExtensionSite"/&gt;</FONT><FONT color=#008000 size=2>.</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>virtual</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>void</FONT><FONT size=2> AddToControlViewToolStrip() {<BR>}</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>In that same class is the Configure() method which has as one of its calls, AddToControlViewToolStrip().&nbsp; That method is defined (with the add button methods)&nbsp;in DotNetNavigatorControlViewToolStripAdapter, not in ControlViewToolStripAdapter.&nbsp; Shouldn't these add button methods be in that class rather than the class that is inheriting from it?&nbsp; In the event that I don't want them implemented, I could override in the class that is inheriting from it.&nbsp; Well, I may not have this square in my head, but if someone else could look at this and let me know what to do or how to think about it, I would really appreciate it.&nbsp; The same structure is found in Cabana with the DotNetNavigatorGridViewToolStripAdapter (IdeaBlade.Cab.UI)&nbsp;and the GridViewToolStripAdapter (IdeaBlade.Cab.Interface).</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Thanks!!</FONT></DIV><DIV><FONT size=2>Bill</DIV></FONT><span style="font-size:10px"><br /><br />Edited by Linguinut - 26-Sep-2007 at 2:17pm</span>]]>
   </description>
   <pubDate>Wed, 26 Sep 2007 14:04:34 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1345#1345</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : Along the way, I found the DevExPageView....</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1344#1344</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> 423<br /><strong>Posted:</strong> 26-Sep-2007 at 1:14pm<br /><br />Along the way, I found the DevExPageView.&nbsp; I created a new ContactView2 and inherited from this control.&nbsp; I passed it to the GeneralTabViewController and got the error that ContactView2 could not be converted to IBindingView.&nbsp; Bummer.&nbsp; That would have saved a lot of work...it has the add/edit/delete and alert messaging...sure would be nice.&nbsp; Is there a way to do that, maybe?]]>
   </description>
   <pubDate>Wed, 26 Sep 2007 13:14:28 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1344#1344</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : The culprit was in the new Con...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1343#1343</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> 423<br /><strong>Posted:</strong> 26-Sep-2007 at 11:05am<br /><br /><P>The culprit was in the new ControlViewWithToolbarPresenterBase.cs class.&nbsp; I had the following:</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>ViewContext was set and is presumed ready with values.</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=#0000ff size=2>void</FONT><FONT size=2> OnViewContextSet() {<BR></FONT><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp; base</FONT><FONT size=2>.OnViewContextSet();<BR>&nbsp;&nbsp;&nbsp; SetBindingManagerBindingSource();<BR>&nbsp;&nbsp;&nbsp; SetControlViewToolStripAdapter();<BR>}</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>In the GridViewContextBase there was a slough of stuff that inaugurated the GridView.&nbsp; Inside of one of the methods was a call like this:</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>GridViewToolStripAdapter.Configure();</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Aha!!&nbsp; I added the call to the OnViewContextSet() above.&nbsp; Now, the data shows up properly with navigation to the additional entities.&nbsp; Good stuff!!!</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Alas!&nbsp; There is always a cloud with every silver lining.&nbsp; I assumed (ya, bad idea) that the add, delete and save buttons would appear in the toolbar, but they do not.&nbsp; Another switch is hiding in there somewhere.&nbsp; Now, where is that thing?</DIV></FONT>]]>
   </description>
   <pubDate>Wed, 26 Sep 2007 11:05:13 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1343#1343</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : From the ContactsView class:  public...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1341#1341</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> 423<br /><strong>Posted:</strong> 25-Sep-2007 at 8:49pm<br /><br /><DIV><FONT size=2>From the ContactsView class:</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>&#091;</FONT><FONT color=#2b91af size=2>InjectionMethod</FONT><FONT size=2>&#093;<BR></FONT><FONT color=#0000ff size=2>public</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>void</FONT><FONT size=2> InjectPresenter(&#091;</FONT><FONT color=#2b91af size=2>CreateNew</FONT><FONT size=2>&#093; </FONT><FONT color=#2b91af size=2>DotNetControlViewWithToolbarPresenter</FONT><FONT size=2>&lt;</FONT><FONT color=#2b91af size=2>IBindingView</FONT><FONT size=2>&gt; pPresenter)<BR>{<BR>&nbsp;&nbsp;&nbsp; SetPresenter(pPresenter, mNavigator, mControlBindingManager);<BR>}</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Is this the right way to do this?</DIV></FONT>]]>
   </description>
   <pubDate>Tue, 25 Sep 2007 20:49:50 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1341#1341</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : As I mentioned earlier, ensure...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1340#1340</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> 423<br /><strong>Posted:</strong> 25-Sep-2007 at 6:23pm<br /><br /><P>As I mentioned earlier, ensure that the BindingSource for your ControlView is properly assigned to the BindingNavigator.</P>]]>
   </description>
   <pubDate>Tue, 25 Sep 2007 18:23:19 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1340#1340</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : Ok. The test was partially successful....</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1338#1338</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> 423<br /><strong>Posted:</strong> 25-Sep-2007 at 5:24pm<br /><br />Ok.&nbsp; The test was partially successful.&nbsp; I was able to get past the casting problem.&nbsp; Now, I am still trying to figure out how to get the toolbar to be enabled.&nbsp; It has got to be related to S<FONT size=2>etControlViewToolStripAdapterCore() somehow.</FONT>]]>
   </description>
   <pubDate>Tue, 25 Sep 2007 17:24:23 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1338#1338</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : It is very difficult to present...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1336#1336</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> 423<br /><strong>Posted:</strong> 25-Sep-2007 at 5:18pm<br /><br />It is very difficult to present to the forum all of the intricacies of this project.&nbsp; As a result, I&nbsp;have&nbsp;obviously not provided enough information about what I am doing.&nbsp; Sorry about that.<DIV>&nbsp;</DIV><DIV>I didn't have any kind of support for the toolstrip in the BindingViewContext, so I created a new one--ControlViewContext.&nbsp; I threw a few things in there to get the ball rolling.&nbsp; It is possible that I didn't need to do that.&nbsp; I am attempting to get this current casting issue resolved and it may include rewritting some of those classes.</DIV><DIV>&nbsp;</DIV><DIV>As I was finishing this response up, I did notice that ControlViewContext was inheriting directly from BindingViewContextBase.&nbsp; I changed that to ControlViewContextBase.&nbsp; Building now.&nbsp; Will test shortly.</DIV>]]>
   </description>
   <pubDate>Tue, 25 Sep 2007 17:18:47 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1336#1336</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : So...  does IdeaBlade.Cab.ControlViewContext...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1334#1334</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> 423<br /><strong>Posted:</strong> 25-Sep-2007 at 5:01pm<br /><br />So...<DIV>&nbsp;</DIV><DIV>does IdeaBlade.Cab.ControlViewContext inherit from IdeaBlade.Cab.ControlViewContextBase?</DIV><DIV>&nbsp;</DIV><DIV>Neither of these are defined in standard IdeaBlade.Cab.&nbsp; The ControlView is built using BindingViewContext.</DIV><DIV>&nbsp;</DIV><DIV>What are you adding in ControlViewContext (and CVCBase) that isn't present in BindingViewContext?</DIV><DIV>&nbsp;</DIV><DIV>Bill J.</DIV>]]>
   </description>
   <pubDate>Tue, 25 Sep 2007 17:01:51 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1334#1334</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template :  Unable to cast object of type...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1333#1333</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> 423<br /><strong>Posted:</strong> 25-Sep-2007 at 3:20pm<br /><br /><FONT size=2><P>Unable to cast object of type 'IdeaBlade.Cab.UI.ControlViewContext' to type 'IdeaBlade.Cab.Interface.ControlViewContextBase'.</P><DIV></DIV>This is being thrown on:<DIV></DIV><DIV></DIV>///<FONT color=#008000 size=2> </FONT><FONT color=#808080 size=2>&lt;summary&gt;</FONT><FONT color=#008000 size=2>Get the ControlView's ViewContext.</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>new</FONT><FONT size=2> </FONT><FONT color=#2b91af size=2>ControlViewContextBase</FONT><FONT size=2> ViewContext {<BR></FONT><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp; get</FONT><FONT size=2> { </FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> (</FONT><FONT color=#2b91af size=2>ControlViewContextBase</FONT><FONT size=2>) </FONT><FONT color=#0000ff size=2>base</FONT><FONT size=2>.ViewContext; }<BR>}<DIV></DIV><DIV></DIV></FONT></FONT>]]>
   </description>
   <pubDate>Tue, 25 Sep 2007 15:20:51 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1333#1333</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : I found an override where one...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1332#1332</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> 423<br /><strong>Posted:</strong> 25-Sep-2007 at 2:34pm<br /><br />I found an override where one didn't need to be.&nbsp; It was in the ControlViewWithToolbarPresenter class.&nbsp; <DIV><FONT color=#808080 size=2><BR>///</FONT><FONT color=#008000 size=2> </FONT><FONT color=#808080 size=2>&lt;summary&gt;</FONT><FONT color=#008000 size=2>get the view's bindingviewcontext</FONT><FONT color=#808080 size=2>&lt;/summary&gt;<BR></FONT><FONT color=#0000ff size=2>public</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>new</FONT><FONT size=2> ibindingviewcontext viewcontext<BR>{<BR></FONT><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp; get</FONT><FONT size=2> { </FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> (ibindingviewcontext)</FONT><FONT color=#0000ff size=2>base</FONT><FONT size=2>.viewcontext; }<BR>}</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>I commented this section out.&nbsp; Now, I am past that error, but am now experiencing another.&nbsp; A similar error so I will review all of the various pieces again and see what I overlooked.&nbsp; It is not easy converting from the grid view to the control view.</DIV></FONT>]]>
   </description>
   <pubDate>Tue, 25 Sep 2007 14:34:57 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1332#1332</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : The ViewContext is showing up...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1331#1331</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> 423<br /><strong>Posted:</strong> 25-Sep-2007 at 2:13pm<br /><br />The ViewContext is showing up as an IBindingViewContext type rather than the expected type of ControlViewContextBase.&nbsp; The presenter base class has the following:<FONT color=#808080 size=2><DIV><BR>///</FONT><FONT color=#008000 size=2> </FONT><FONT color=#808080 size=2>&lt;summary&gt;</FONT><FONT color=#008000 size=2>Get the ControlView's ViewContext.</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>new</FONT><FONT size=2> </FONT><FONT color=#2b91af size=2>ControlViewContextBase</FONT><FONT size=2> ViewContext {<BR></FONT><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp; get</FONT><FONT size=2> { </FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> (</FONT><FONT color=#2b91af size=2>ControlViewContextBase</FONT><FONT size=2>) </FONT><FONT color=#0000ff size=2>base</FONT><FONT size=2>.ViewContext; }<BR>}<BR><BR></FONT><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>Get the view's ViewContext.</FONT><FONT color=#808080 size=2>&lt;/summary&gt;<BR></FONT><FONT color=#2b91af size=2>IBindingViewContext</FONT><FONT size=2> </FONT><FONT color=#2b91af size=2>IControlViewWithToolbarPresenter</FONT><FONT size=2>.ViewContext{ </FONT><FONT color=#0000ff size=2>get</FONT><FONT size=2> { </FONT><FONT color=#0000ff size=2>return</FONT><FONT size=2> ViewContext; } }<BR><BR>This is setup in the same way as the grid view presenter base class.&nbsp; I tried to force the type by casting it; however, that did not work.</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>I am not sure if SetControlViewToolStripAdapterCore() is called after setting the context.&nbsp; I will set some breakpoints to see if the calls are being made in the proper order.</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2></FONT>&nbsp;</DIV>]]>
   </description>
   <pubDate>Tue, 25 Sep 2007 14:13:49 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1331#1331</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : I&amp;#039;d like to help, but I don&amp;#039;t...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1330#1330</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> 423<br /><strong>Posted:</strong> 25-Sep-2007 at 2:03pm<br /><br />I'd like to help, but I don't quite understand the problem.<DIV>&nbsp;</DIV><DIV>What do you mean when you say you can't "get the ViewContext to behave"?&nbsp; Do you get a compile error?&nbsp; An exception at runtime?</DIV><DIV>&nbsp;</DIV><DIV>Are you calling <FONT size=2>SetControlViewToolStripAdapterCore() after the context has been set in the presenter?</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Bill J.</FONT></DIV>]]>
   </description>
   <pubDate>Tue, 25 Sep 2007 14:03:33 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1330#1330</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : Ugh! After all that work yesterday,...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1329#1329</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> 423<br /><strong>Posted:</strong> 25-Sep-2007 at 1:01pm<br /><br /><P>Ugh!&nbsp; After all that work yesterday, I think I really screwed up the LIB source projects.&nbsp; I added a ControlViewWithToolbarPresenterBase class in order to replicate what was done in the GridViewPresenterBase class. For the life of me, I cannot get the ViewContext to behave in the following method of the presenter class:</P><DIV><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>ControlViewToolStripAdapter</FONT><FONT size=2> SetControlViewToolStripAdapterCore(</FONT><FONT color=#0000ff size=2>object</FONT><FONT size=2> pToolStrip)</DIV><DIV><DIV>{<BR></FONT><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp; return</FONT><FONT size=2> </FONT><FONT color=#0000ff size=2>new</FONT><FONT size=2> </FONT><FONT color=#2b91af size=2>DotNetNavigatorControlViewToolStripAdapter</FONT><FONT size=2>&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (pToolStrip</FONT><FONT color=#0000ff size=2>&nbsp;as</FONT><FONT size=2> </FONT><FONT color=#2b91af size=2>BindingNavigator</FONT><FONT size=2>, BindingSource, ViewContext);<BR>}</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>It is looking for the type ControlViewContextBase.&nbsp; It is in the presenter base class.&nbsp; That type is being returned as ViewContext.&nbsp; And, it should be available to this presenter.&nbsp; Yet, it ain't happenin'.</FONT></DIV><DIV><FONT size=2></FONT>&nbsp;</DIV><DIV><FONT size=2>Time to take a walk.&nbsp; Maybe it will all fall into place after I clear my head a little.</DIV></FONT></DIV>]]>
   </description>
   <pubDate>Tue, 25 Sep 2007 13:01:08 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1329#1329</guid>
  </item> 
  <item>
   <title>[COMPLETED] Widget View Template : Have youchecked that theBindingSource...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1328#1328</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> 423<br /><strong>Posted:</strong> 25-Sep-2007 at 10:58am<br /><br />Have you&nbsp;checked that the&nbsp;BindingSource for the ControView is properly assigned to the BindingSource property of the BindingNavigator.<DIV>&nbsp;</DIV><DIV>Bill J.</DIV>]]>
   </description>
   <pubDate>Tue, 25 Sep 2007 10:58:52 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=423&amp;PID=1328#1328</guid>
  </item> 
 </channel>
</rss>