<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Using CAB with DevComponents Ribbon Control</title>
	<atom:link href="http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/feed/" rel="self" type="application/rss+xml" />
	<link>http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/</link>
	<description>Attacking Programming Obstacles</description>
	<lastBuildDate>Fri, 22 Oct 2010 20:43:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Andrew Thompson</title>
		<link>http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-613</link>
		<dc:creator><![CDATA[Andrew Thompson]]></dc:creator>
		<pubDate>Tue, 23 Feb 2010 15:24:25 +0000</pubDate>
		<guid isPermaLink="false">http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-613</guid>
		<description><![CDATA[If you&#039;re interested, I actually knocked up a demo of Prism and Dotnetbar for Winforms using the Composite Extensions on Brian Noye&#039;s blog. I&#039;ve decided to use Prism since it is a lot more lightweight than CAB. 

Source (and of course links) are on the DotNetBar forums under

 Forum Home &gt; DotNetBar for Windows Forms &gt; Code Samples &gt; Microsoft Prism, Winforms, Dotnetbar dock/ribbon]]></description>
		<content:encoded><![CDATA[<p>If you&#8217;re interested, I actually knocked up a demo of Prism and Dotnetbar for Winforms using the Composite Extensions on Brian Noye&#8217;s blog. I&#8217;ve decided to use Prism since it is a lot more lightweight than CAB. </p>
<p>Source (and of course links) are on the DotNetBar forums under</p>
<p> Forum Home &gt; DotNetBar for Windows Forms &gt; Code Samples &gt; Microsoft Prism, Winforms, Dotnetbar dock/ribbon</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: savij</title>
		<link>http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-612</link>
		<dc:creator><![CDATA[savij]]></dc:creator>
		<pubDate>Sat, 20 Feb 2010 18:40:46 +0000</pubDate>
		<guid isPermaLink="false">http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-612</guid>
		<description><![CDATA[Couple of thoughts on this. I never worry about getting the signature wrong because I use the Recipies to generate the stub code when I create CAB events and subscriptions. They help a LOT, if you are not using them, you might wanna give them a look. 

Also, we decided on a sort of hybrid system. It&#039;s not totally CAB. For instance, for my menu buttons, I use the described system above to inject the buttons. BUT, I use a regular .net event to handle the clicks. The reason for this is that clicking a button in a view for me, is most of the time a thing I will be handling in the current view. Afterall, the menu class is a menu for this view. For the times when I need my button to fire a CAB event for another module (or view), I just fire off the event within my local event. I find that this model give me a lot of flexability, and I dont have to worry about CAB events for local view eventing.]]></description>
		<content:encoded><![CDATA[<p>Couple of thoughts on this. I never worry about getting the signature wrong because I use the Recipies to generate the stub code when I create CAB events and subscriptions. They help a LOT, if you are not using them, you might wanna give them a look. </p>
<p>Also, we decided on a sort of hybrid system. It&#8217;s not totally CAB. For instance, for my menu buttons, I use the described system above to inject the buttons. BUT, I use a regular .net event to handle the clicks. The reason for this is that clicking a button in a view for me, is most of the time a thing I will be handling in the current view. Afterall, the menu class is a menu for this view. For the times when I need my button to fire a CAB event for another module (or view), I just fire off the event within my local event. I find that this model give me a lot of flexability, and I dont have to worry about CAB events for local view eventing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Thompson</title>
		<link>http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-611</link>
		<dc:creator><![CDATA[Andrew Thompson]]></dc:creator>
		<pubDate>Fri, 19 Feb 2010 12:41:12 +0000</pubDate>
		<guid isPermaLink="false">http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-611</guid>
		<description><![CDATA[Edit: got the event working. 

http://www.orbifold.net/default/?p=707

&quot;The event has to be public&quot; :-D]]></description>
		<content:encoded><![CDATA[<p>Edit: got the event working. </p>
<p><a href="http://www.orbifold.net/default/?p=707" rel="nofollow">http://www.orbifold.net/default/?p=707</a></p>
<p>&#8220;The event has to be public&#8221; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Thompson</title>
		<link>http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-610</link>
		<dc:creator><![CDATA[Andrew Thompson]]></dc:creator>
		<pubDate>Fri, 19 Feb 2010 12:15:15 +0000</pubDate>
		<guid isPermaLink="false">http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-610</guid>
		<description><![CDATA[Fantastic article, I ran through the tutorial and everything works bar the click event handler for the Voila button. I will re-run through the steps and see if I missed anything! (Probably did).

With regard to this sort of work I would definitely be interested in seeing any other examples you have on DotNetBar -&gt; CAB integration. In particular I am wondering how to integrate the docking manager to CAB (I believe Telerik provides some examples on Raddock to CAB so surely it can&#039;t be that different)]]></description>
		<content:encoded><![CDATA[<p>Fantastic article, I ran through the tutorial and everything works bar the click event handler for the Voila button. I will re-run through the steps and see if I missed anything! (Probably did).</p>
<p>With regard to this sort of work I would definitely be interested in seeing any other examples you have on DotNetBar -&gt; CAB integration. In particular I am wondering how to integrate the docking manager to CAB (I believe Telerik provides some examples on Raddock to CAB so surely it can&#8217;t be that different)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andre Abrantes</title>
		<link>http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-398</link>
		<dc:creator><![CDATA[Andre Abrantes]]></dc:creator>
		<pubDate>Sat, 06 Sep 2008 10:55:43 +0000</pubDate>
		<guid isPermaLink="false">http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-398</guid>
		<description><![CDATA[Hi Jeff.

I tried your sample with VSTS2008 and SP1, but didn&#039;t work because SCSF needs to be fixed.
This issue can be found with keywords &quot;BUG SCSF - April 2008 with VS2008 + SP1 Beta Known Issues&quot;.

After I fix my SCSF Guidance Package, I did your tutorial, but I can&#039;t solve the follow errors:

----------------------------------------------------------------
C:\SCSF_Solution\Source\Infrastructure\Shell\ShellApplication.cs(102,13): error CS0012: The type &#039;Microsoft.Practices.CompositeUI.UIElements.IUIElementAdapterFactory&#039; is defined in an assembly that is not referenced. You must add a reference to assembly &#039;Microsoft.Practices.CompositeUI, Version=1.0.51205.1, Culture=neutral, PublicKeyToken=null&#039;.
C:\SCSF_Solution\Source\UIExtensionAdapters\bin\Debug\UIExtensionAdapters.dll: (Related file)
C:\SCSF_Solution\Source\Infrastructure\Shell\ShellApplication.cs(102,13): error CS1502: The best overloaded method match for &#039;Microsoft.Practices.CompositeUI.UIElements.IUIElementAdapterFactoryCatalog.RegisterFactory(Microsoft.Practices.CompositeUI.UIElements.IUIElementAdapterFactory)&#039; has some invalid arguments
C:\SCSF_Solution\Source\Infrastructure\Shell\ShellApplication.cs(102,37): error CS1503: Argument &#039;1&#039;: cannot convert from &#039;UIExtensionAdapters.RibbonBar.dnbRibbonAdapterFactory&#039; to &#039;Microsoft.Practices.CompositeUI.UIElements.IUIElementAdapterFactory&#039;
Compile complete -- 3 errors, 0 warnings
----------------------------------------------------------------

Can you give me a help in it?

Thanks in advance,
André Abrantes.]]></description>
		<content:encoded><![CDATA[<p>Hi Jeff.</p>
<p>I tried your sample with VSTS2008 and SP1, but didn&#8217;t work because SCSF needs to be fixed.<br />
This issue can be found with keywords &#8220;BUG SCSF &#8211; April 2008 with VS2008 + SP1 Beta Known Issues&#8221;.</p>
<p>After I fix my SCSF Guidance Package, I did your tutorial, but I can&#8217;t solve the follow errors:</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
C:\SCSF_Solution\Source\Infrastructure\Shell\ShellApplication.cs(102,13): error CS0012: The type &#8216;Microsoft.Practices.CompositeUI.UIElements.IUIElementAdapterFactory&#8217; is defined in an assembly that is not referenced. You must add a reference to assembly &#8216;Microsoft.Practices.CompositeUI, Version=1.0.51205.1, Culture=neutral, PublicKeyToken=null&#8217;.<br />
C:\SCSF_Solution\Source\UIExtensionAdapters\bin\Debug\UIExtensionAdapters.dll: (Related file)<br />
C:\SCSF_Solution\Source\Infrastructure\Shell\ShellApplication.cs(102,13): error CS1502: The best overloaded method match for &#8216;Microsoft.Practices.CompositeUI.UIElements.IUIElementAdapterFactoryCatalog.RegisterFactory(Microsoft.Practices.CompositeUI.UIElements.IUIElementAdapterFactory)&#8217; has some invalid arguments<br />
C:\SCSF_Solution\Source\Infrastructure\Shell\ShellApplication.cs(102,37): error CS1503: Argument &#8217;1&#8242;: cannot convert from &#8216;UIExtensionAdapters.RibbonBar.dnbRibbonAdapterFactory&#8217; to &#8216;Microsoft.Practices.CompositeUI.UIElements.IUIElementAdapterFactory&#8217;<br />
Compile complete &#8212; 3 errors, 0 warnings<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Can you give me a help in it?</p>
<p>Thanks in advance,<br />
André Abrantes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: savij</title>
		<link>http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-388</link>
		<dc:creator><![CDATA[savij]]></dc:creator>
		<pubDate>Thu, 29 May 2008 14:50:03 +0000</pubDate>
		<guid isPermaLink="false">http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-388</guid>
		<description><![CDATA[You should have it. It&#039;s located in CAB&#039;s namespace here:
Microsoft.Practices.CompositeUI.Commands.EventCommandAdapter

Looks like my copy paste of the method signature was ruined by WordPress, replace the square brackets with greater than less than signs (ButtonX goes in as the generic type):
&lt;code&gt;
 public class buttonXEventCommandAdapter : EventCommandAdapter[ButtonX]
{
   ...

}

&lt;/code&gt;]]></description>
		<content:encoded><![CDATA[<p>You should have it. It&#8217;s located in CAB&#8217;s namespace here:<br />
Microsoft.Practices.CompositeUI.Commands.EventCommandAdapter</p>
<p>Looks like my copy paste of the method signature was ruined by WordPress, replace the square brackets with greater than less than signs (ButtonX goes in as the generic type):<br />
<code><br />
 public class buttonXEventCommandAdapter : EventCommandAdapter[ButtonX]<br />
{<br />
   ...</p>
<p>}</p>
<p></code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dogge</title>
		<link>http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-387</link>
		<dc:creator><![CDATA[Dogge]]></dc:creator>
		<pubDate>Thu, 29 May 2008 13:53:45 +0000</pubDate>
		<guid isPermaLink="false">http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-387</guid>
		<description><![CDATA[Seems good but I dont have the EventCommandAdapter class to inherit from.]]></description>
		<content:encoded><![CDATA[<p>Seems good but I dont have the EventCommandAdapter class to inherit from.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: savij</title>
		<link>http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-386</link>
		<dc:creator><![CDATA[savij]]></dc:creator>
		<pubDate>Tue, 27 May 2008 16:01:46 +0000</pubDate>
		<guid isPermaLink="false">http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-386</guid>
		<description><![CDATA[I have not messed with getting a ButtonX to work specifically, I use my buttonX&#039;s as local events not CAB events, but I think it should work if you register the correct CommandService for it. Try this out for me and let me know (I don&#039;t have time today to create a sample... 

In your ShellApplication.cs file add the following into the AfterShellCreated()
RegisterCommandServices();

Then create that method as follows:
private void RegisterCommandServices()
    {
      ICommandAdapterMapService mapService = RootWorkItem.Services.Get();
      mapService.Register(typeof(ButtonX), typeof(buttonXEventCommandAdapter));

    }

Then just create a buttonXEventCommandAdapter class like so:
public class buttonXEventCommandAdapter : EventCommandAdapter
  {
    public buttonXEventCommandAdapter()
      : base()
    {
    }

    public buttonXEventCommandAdapter(ButtonX item, string eventName)
      : base(item, eventName)
    {
    }

    protected override void OnCommandChanged(Command command)
    {
      base.OnCommandChanged(command);      
    }
  }

Then just use the ButtonX like so:
WorkItem.Commands[&quot;myButtonX_Click&quot;].AddInvoker(exitButton, &quot;Click&quot;);

Not sure if I missed anything, this was just off the top of my head and some quick cut/paste samples.

Let me know.
-Jeff]]></description>
		<content:encoded><![CDATA[<p>I have not messed with getting a ButtonX to work specifically, I use my buttonX&#8217;s as local events not CAB events, but I think it should work if you register the correct CommandService for it. Try this out for me and let me know (I don&#8217;t have time today to create a sample&#8230; </p>
<p>In your ShellApplication.cs file add the following into the AfterShellCreated()<br />
RegisterCommandServices();</p>
<p>Then create that method as follows:<br />
private void RegisterCommandServices()<br />
    {<br />
      ICommandAdapterMapService mapService = RootWorkItem.Services.Get();<br />
      mapService.Register(typeof(ButtonX), typeof(buttonXEventCommandAdapter));</p>
<p>    }</p>
<p>Then just create a buttonXEventCommandAdapter class like so:<br />
public class buttonXEventCommandAdapter : EventCommandAdapter<br />
  {<br />
    public buttonXEventCommandAdapter()<br />
      : base()<br />
    {<br />
    }</p>
<p>    public buttonXEventCommandAdapter(ButtonX item, string eventName)<br />
      : base(item, eventName)<br />
    {<br />
    }</p>
<p>    protected override void OnCommandChanged(Command command)<br />
    {<br />
      base.OnCommandChanged(command);<br />
    }<br />
  }</p>
<p>Then just use the ButtonX like so:<br />
WorkItem.Commands["myButtonX_Click"].AddInvoker(exitButton, &#8220;Click&#8221;);</p>
<p>Not sure if I missed anything, this was just off the top of my head and some quick cut/paste samples.</p>
<p>Let me know.<br />
-Jeff</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dogge</title>
		<link>http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-385</link>
		<dc:creator><![CDATA[Dogge]]></dc:creator>
		<pubDate>Tue, 27 May 2008 15:39:24 +0000</pubDate>
		<guid isPermaLink="false">http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-385</guid>
		<description><![CDATA[Hi Jeff, loved your tutorial on using DotNetBar with CAB. 

However im having some problems using buttonX items on a view to use CAB´s commandhandlers to handle events when the button is clicked.
Im guessing the Workitem.Commands.addInvoker method cant handle buttonX objects but i might be wrong?

Any workaround?]]></description>
		<content:encoded><![CDATA[<p>Hi Jeff, loved your tutorial on using DotNetBar with CAB. </p>
<p>However im having some problems using buttonX items on a view to use CAB´s commandhandlers to handle events when the button is clicked.<br />
Im guessing the Workitem.Commands.addInvoker method cant handle buttonX objects but i might be wrong?</p>
<p>Any workaround?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Denis Basaric: DevComponents Blog &#187; Blog Archive &#187; DotNetBar Ribbon Control and Microsoft CAB</title>
		<link>http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-41</link>
		<dc:creator><![CDATA[Denis Basaric: DevComponents Blog &#187; Blog Archive &#187; DotNetBar Ribbon Control and Microsoft CAB]]></dc:creator>
		<pubDate>Wed, 01 Aug 2007 15:28:11 +0000</pubDate>
		<guid isPermaLink="false">http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/#comment-41</guid>
		<description><![CDATA[[...] http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/ [...]]]></description>
		<content:encoded><![CDATA[<p>[...] <a href="http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/" rel="nofollow">http://savij.com/2007/07/31/using-cab-with-devcomponents-ribbon-control/</a> [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

