<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>patterns &amp; practices: Smart Client Contrib</title><link>http://www.codeplex.com/scsfcontrib/Project/ProjectRss.aspx</link><description>Community contributed extensions and providers for Smart Client development</description><item><title>New Post: Help with app design</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=34715</link><description>&lt;div style="line-height: normal;"&gt;wow, ok so copy-paste from word does NOT work well lol&lt;br&gt;
&lt;br&gt;
Hi,&lt;br&gt;
&lt;br&gt;
I'm quite new to CAB and SCSF and would like some advice with an application I am developing.&lt;br&gt;
The application will utilize CAB, SCSF+Contrib, NetTiers and Infragistics. I might later use the Infragistic CAB controls instead of the regular ones, but for now I only need their ComboBox, WinGrid, WinTree etc controls.&lt;br&gt;
&lt;br&gt;
The main design of my application consists of: &lt;br&gt;
&lt;ul&gt;
    &lt;li&gt;a banner across the top that will display the name of the application and the logged in user&lt;/li&gt;
    &lt;li&gt;a STATIC menu bar below the banner that has 7 root menus (that correspond to the 7 business modules) and each root menu has submenus that will allow quick access to specific screens inside each module, &lt;/li&gt;
    &lt;li&gt;a main area that will display the modules,&lt;/li&gt;
    &lt;li&gt;a status bar.&lt;/li&gt;
&lt;/ul&gt;
I also might have a toolbar under the menu for module specific commands, but for now I want to keep the design very simple. &lt;br&gt;
&lt;br&gt;
The menu is static and items will never be added or removed, just enabled/disabled depending on the role of the logged in user. &lt;br&gt;
&lt;br&gt;
When a user starts the application they will be presented with a login screen where they enter their credentials and are allowed access to the application. Depending on their privileges, some modules/menu items might be disabled. Users will load different modules by selecting menu items under the respective module menu (ex. under root menu &amp;quot;Orders&amp;quot;, users can &amp;quot;Create Order&amp;quot;, Modify Order&amp;quot;, &amp;quot;Print Orders&amp;quot;). Selecting any of these will load the Orders module and display the screen that corresponds to the function the user requested.&lt;br&gt;
&lt;br&gt;
I have spent quite a bit of time reading and trying to understand CAB and boy is it not a weekend task.&amp;nbsp; So far, I have created the SCSF solution with a separate Layout module, created the banner, menu, main workspace, status bar, and have two empty modules. &lt;br&gt;
&lt;br&gt;
Some problems that I have are:&lt;br&gt;
&lt;br&gt;
&lt;ul&gt;
    &lt;li&gt;How do I control what modules are loaded into the application when it starts up? I don't want the Administration module loaded for a non-admin user, while an admin user would be able to access all modules. Also, I only want modules to be displayed after a user has clicked to launch them from the menu. I figure that I need to remove the lines that create the new workitem and add it to the root workitem in the ModuleInit for each module I don't want loaded. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;How do I load the module I want based on user selection from the menu? This is along the same line the previous question. At this point, in &amp;quot;ShellLayoutView&amp;quot; I handle the menu click event that launches the ShellLayoutViewPresenter method and now I don't know if I am suppose to create the workitem for the module I want to display, add it to the root workitem and run the workItem.Controller.Run() method. Just like in ModuleInit.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;Since, I have 7 different modules, each one of them can be loaded at the same time (possibly even more than one of each - if this is difficult then only one of each will suffice), I need a way to display what modules are loaded and let the user switch between them.&amp;nbsp; I thought of something like the document thing in the TestSuite application.&amp;nbsp; I want to have as much area as possible available for each module as the application is very data centric. &lt;/li&gt;
&lt;/ul&gt;
Sorry for the long post. I know some information may be vague and confusing, but I appreciate any input and I can provide further details. &lt;br&gt;
&lt;br&gt;
Thank You &lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>PolarBear2k</author><pubDate>Tue, 02 Sep 2008 03:38:15 GMT</pubDate><guid isPermaLink="false">New Post: Help with app design 20080902033815A</guid></item><item><title>New Post: dockPanelWorkspace.SmartPartActivated</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=34249</link><description>&lt;div style="line-height: normal;"&gt;&lt;p style="margin:0in 0in 0pt"&gt;I am&amp;nbsp;trying to use the&amp;nbsp;&lt;span style="font-size:10pt"&gt;SCSFContrib.CompositeUI.WinForms.Workspaces.DockPanelWorkspace in my application using the codes as shown in the Test Suite application.&amp;nbsp; When I added this line to the&amp;nbsp;&lt;span style="color:blue"&gt;Class&lt;/span&gt; ShellLayoutView&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;“AddHandler dockPanelWorkspace.SmartPartActivated, AddressOf DockPanelWorkspaceSmartPartActivated” to the constructor I got this error &lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;Error&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;Method “Private sub DockPanelWorkspaceSmartPartActivated(sender as object, e as Microsoft.Practices.CompositeUI.Smartparts.WorkspaceEventArgs)” does not have the same signature as “Delegate Sub EventHandler(of TEventArgs as System.EventArgs)(sender as Object, e as Microsoft.Practices.CompositeUI.Smartparts.WorkspaceEventArgs)”. &lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;Here is the declaration for sub &lt;span style="font-size:10pt;font-family:'Courier New'"&gt;DockPanelWorkspaceSmartPartActivated in the &lt;/span&gt;&lt;span style="font-size:10pt"&gt;ShellLayoutView class &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;&lt;span style="font-size:10pt;font-family:'Courier New'"&gt;Private Sub DockPanelWorkspaceSmartPartActivated(ByVal sender As Object, ByVal e As WorkspaceEventArgs)&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;&lt;span style="font-size:10pt;font-family:'Courier New'"&gt;&amp;nbsp;' Workaround to activate the WorkItem (Only necessary for Windows Forms Controls) &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;&lt;span style="font-size:10pt;font-family:'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If TypeOf dockPanelWorkspace.ActiveSmartPart Is Control Then&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;&lt;span style="font-size:10pt;font-family:'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DirectCast(dockPanelWorkspace.ActiveSmartPart, Control).Focus()&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;&lt;span style="font-size:10pt;font-family:'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;&lt;span style="font-size:10pt;font-family:'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;The event is declared in &lt;span style="font-size:10pt;font-family:'Courier New'"&gt;SCSFContrib.CompositeUI.WinForms.Workspaces.DockPanelWorkspace as &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;&lt;span class=keyword2&gt;&lt;span style="font-size:9pt;font-family:'Courier New'"&gt;&lt;b&gt;&lt;span style="color:#006699"&gt;“Public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt; &lt;span class=keyword2&gt;&lt;span style="font-size:9pt;font-family:'Courier New'"&gt;&lt;b&gt;&lt;span style="color:#006699"&gt;Event&lt;/span&gt;&lt;/b&gt;&lt;/span&gt; SmartPartActivated &lt;span class=keyword2&gt;&lt;span style="font-size:9pt;font-family:'Courier New'"&gt;&lt;b&gt;&lt;span style="color:#006699"&gt;As&lt;/span&gt;&lt;/b&gt;&lt;/span&gt; EventHandler(&lt;span class=keyword2&gt;&lt;span style="font-size:9pt;font-family:'Courier New'"&gt;&lt;b&gt;&lt;span style="color:#006699"&gt;Of&lt;/span&gt;&lt;/b&gt;&lt;/span&gt; WorkspaceEventArgs) “&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;I don't know what to do&amp;nbsp;to resolve the error, any help will be greatly appreciated.&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;Thanks&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt"&gt;Bunmi&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;</description><author>bogunjemiyo</author><pubDate>Mon, 25 Aug 2008 23:21:58 GMT</pubDate><guid isPermaLink="false">New Post: dockPanelWorkspace.SmartPartActivated 20080825112158P</guid></item><item><title>New Post: CAB/SCSF best way to access Database data</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=33188</link><description>&lt;div style="line-height: normal;"&gt;I am new to CAB/SCSF and trying to create a simple application that requires users access to Db data. I have seen examples of connecting to the database using webservice. Is that the best&amp;nbsp;way of doing things or can I just add the typed datasets directly to the application without the need for&amp;nbsp;a&amp;nbsp;web service. Any guidance regarding this will be greatly appreciated. I have gone through the Global Bank Example. &lt;br&gt;
Thanks&lt;br&gt;
Bunmi
&lt;/div&gt;</description><author>bogunjemiyo</author><pubDate>Fri, 08 Aug 2008 18:16:50 GMT</pubDate><guid isPermaLink="false">New Post: CAB/SCSF best way to access Database data 20080808061650P</guid></item><item><title>New Post: Updater Application Block 2.1 - Vista Power user; assembly signing</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=33180</link><description>&lt;div style="line-height: normal;"&gt;Hi, I have been using&amp;nbsp;Updater Application Block 2.0 and a week ago I downloaded&amp;nbsp;UAB 2.1&amp;nbsp;trying to&amp;nbsp;fix the non-admin user downloading problem.&lt;br&gt;
UAB2.1 does work great at XP SP2 for both admin and power users. But&amp;nbsp;the power users at&amp;nbsp;Vista are experiencing the following exception:&lt;br&gt;
&lt;br&gt;
ex.Message = &amp;quot;The operation being requested was not performed because the user has not logged on to the network. The specified service does not exist. (Exception from HRESULT: 0x800704DD)&amp;quot;&lt;br&gt;
&lt;br&gt;
ex.StackTrace = &amp;quot;&amp;nbsp;&amp;nbsp; at Microsoft.ApplicationBlocks.Updater.Downloaders.IBackgroundCopyJob.Cancel()&lt;br&gt;
&amp;nbsp;&amp;nbsp; at Microsoft.ApplicationBlocks.Updater.Downloaders.BitsDownloader.OnJobError(UpdaterTask task, IBackgroundCopyJob pJob, IBackgroundCopyError pError, Exception ex)&lt;br&gt;
&amp;nbsp;&amp;nbsp; at Microsoft.ApplicationBlocks.Updater.Downloaders.BitsDownloader.Download(UpdaterTask task, TimeSpan maxWaitTime)&lt;br&gt;
&amp;nbsp;&amp;nbsp; at Microsoft.ApplicationBlocks.Updater.Downloader.DownloadManager.SubmitTask(UpdaterTask task, TimeSpan maxWaitTime)&lt;br&gt;
&amp;nbsp;&amp;nbsp; at Microsoft.ApplicationBlocks.Updater.ApplicationUpdaterManager.Download(Manifest[] selectedManifests, TimeSpan maxWaitTime)&amp;quot;&lt;br&gt;
&lt;br&gt;
Another thing I'd like to ask is that when I try to sign my updater app, I got comiling error saying my app's references &amp;quot;Microsoft.ApplicationBlocks.Updater&amp;quot; and &amp;quot;Microsoft.ApplicationBlocks.Updater.Downloaders&amp;quot; do not have strong names.&lt;br&gt;
&lt;br&gt;
Thanks a&amp;nbsp; lot.
&lt;/div&gt;</description><author>pxb</author><pubDate>Fri, 08 Aug 2008 15:54:19 GMT</pubDate><guid isPermaLink="false">New Post: Updater Application Block 2.1 - Vista Power user; assembly signing 20080808035419P</guid></item><item><title>New Post: Presenter.Dispose() Infinite Loop</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=32642</link><description>&lt;div style="line-height: normal;"&gt;Hi,&amp;nbsp; I originally posted this in the Smart Client Guidance project discussion list, but figured I'd post it here too since it's referencing the contrib demo.&lt;br&gt;
Link to other discussion item: &lt;a href="http://www.codeplex.com/smartclient/Thread/View.aspx?ThreadId=32574"&gt;http://www.codeplex.com/smartclient/Thread/View.aspx?ThreadId=32574&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
-------------------------------&lt;br&gt;
I was trying to do the demo script from the contrib project and kept
running into StackOverflowExceptions when I tried to do the &amp;quot;Close View
Programatically&amp;quot; button.&lt;br&gt;
&lt;br&gt;
I have the April 2008 release installed (with the couple of changes for VS2008 SP1 Beta listed &lt;a href="../../smartclient/Wiki/View.aspx?title=Known Issues: SC-SF April 2008 with Visual Studio 2008 and SP1 Beta"&gt;here&lt;/a&gt;).&amp;nbsp; I also have the trunk release of the contrib demo app that I'm looking through.&lt;br&gt;
&lt;br&gt;
In the code generated by the Smart Client Factory for my demo app, the Dispose() for the Presenter class is:&lt;br&gt;
{code:c#}&lt;br&gt;
public void Dispose() {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!disposed) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Dispose(true);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; GC.SuppressFinalize(this);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
protected virtual void Dispose(bool disposing) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (disposing) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (_workItem != null) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.View != null) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; OnCloseView();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; _workItem.Items.Remove(this.View);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; _workItem.Items.Remove(this);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; disposed = true;&lt;br&gt;
}&lt;br&gt;
{code:c#}&lt;br&gt;
&lt;br&gt;
While the code from the trunk of contrib's demo app has the following:&lt;br&gt;
{code:c#}&lt;br&gt;
public void Dispose()&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dispose(true);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; GC.SuppressFinalize(this);&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
protected virtual void Dispose(bool disposing)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (disposing)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (_workItem != null)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _workItem.Items.Remove(this);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;br&gt;
{code:c#}&lt;br&gt;
&lt;br&gt;
What is happening is that in my code, when the Dispose(true) is called
by Dispose() (because the disposed flag was not yet set) the
OnCloseView() is called creating an infinite loop.&amp;nbsp; As a point of
reference, the demo application view's &amp;quot;Close View Programatically&amp;quot;
action is to call the view's presenter OnCloseView() function.&lt;br&gt;
&lt;br&gt;
Is calling OnCloseView() the wrong action?&amp;nbsp; Or is there something else I should be setting/changing/calling?&lt;br&gt;
&lt;/div&gt;</description><author>cuppm</author><pubDate>Thu, 31 Jul 2008 13:38:55 GMT</pubDate><guid isPermaLink="false">New Post: Presenter.Dispose() Infinite Loop 20080731013855P</guid></item><item><title>New Post: Patch uploaded with changes to FormWorkspace and DemoApp</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=31423</link><description>&lt;div style="line-height: normal;"&gt;I declined my own patch, trimmed down the change to the bare minimum of files and committed it as a Developer.&lt;br&gt;
&lt;div style="border-style:dotted none;border-color:rgb(170, 170, 170) -moz-use-text-color;border-width:0.1em medium;margin:1em 0em 2.5em 3em;padding:0.2em;font-style:italic"&gt;&lt;br&gt;
PandaWood wrote:&lt;br&gt;
Hi,
I've uploaded a patch (for review) which enhances &lt;em&gt;FormWorkspace. &lt;/em&gt;&lt;br&gt;
&lt;/div&gt;
&lt;/div&gt;</description><author>PandaWood</author><pubDate>Mon, 21 Jul 2008 02:55:42 GMT</pubDate><guid isPermaLink="false">New Post: Patch uploaded with changes to FormWorkspace and DemoApp 20080721025542A</guid></item><item><title>Source code checked in, #20371</title><link>http://www.codeplex.com/scsfcontrib/SourceControl/ListDownloadableCommits.aspx</link><description>Added StartPosition and FormBorderStyle to FormSmartPartInfo and implemented them in FormWorkspace&amp;#13;&amp;#10;Added a Help&amp;#124;About dialog to the DemoApp to demonstrate use of the FormWorkspace - I&amp;#39;ve put this in the InfrastructureModule for now &amp;#40;common to the whole app&amp;#41;&amp;#13;&amp;#10;LightSmartPartInfo - xml comment was missing a reference to System.ComponentModel</description><author>PandaWood</author><pubDate>Sun, 20 Jul 2008 15:25:48 GMT</pubDate><guid isPermaLink="false">Source code checked in, #20371 20080720032548P</guid></item><item><title>Patch Declined: #1501</title><link>http://www.codeplex.com/scsfcontrib/SourceControl/PatchList.aspx</link><description>
&lt;p&gt;&lt;a href='/site/users/view/PandaWood'&gt;PandaWood&lt;/a&gt; has declined patch #1501.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Comment:&lt;/b&gt;&lt;br /&gt;I&amp;#39;m declining this myself for 2 reasons&amp;#58; &lt;br /&gt;1&amp;#41; because I&amp;#39;ve been added as a Developer and I can make the changes directly myself &lt;br /&gt;2&amp;#41; there are too many changes here - I will split the change up into bite size chunks. For example, I will isolate the FormWorkspace and DemoApp changes into a single commit and then make any &amp;#39;cleanup&amp;#39; changes as part of another commit. Mainly to make it easy for users to see 1 change per commit and also to be able to rollback any particular change if it doesn&amp;#39;t work out.&lt;/p&gt;</description><author>PandaWood</author><pubDate>Sun, 20 Jul 2008 10:14:46 GMT</pubDate><guid isPermaLink="false">Patch Declined: #1501 20080720101446A</guid></item><item><title>New Post: DockPanelSmartPartInfo, how can I set its width?</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=31639</link><description>&lt;div style="line-height: normal;"&gt;Sorry for replying to my own question.&lt;br&gt;
&lt;br&gt;
After looking at the test suite application I was able to find the solution for this.&lt;br&gt;
&lt;br&gt;
This property is set on the main workspace (RightWorkspace for me), namely on the DockLeftPortion property.&lt;br&gt;
&lt;br&gt;
Thanks and best regards,&lt;br&gt;
&lt;br&gt;
Luís Pinho&lt;br&gt;
&lt;div style="border-style:dotted none;border-color:rgb(170, 170, 170) -moz-use-text-color;border-width:0.1em medium;margin:1em 0em 2.5em 3em;padding:0.2em;font-style:italic"&gt;&lt;br&gt;
lpinho wrote:&lt;br&gt;
Hi all,&lt;br&gt;
&lt;br&gt;
&amp;nbsp;first thank to all that contributed to the SCSF Contrib, it's very useful and it enabled me the reduce some development time since things are already done :)&lt;br&gt;
&lt;br&gt;
&amp;nbsp;I'm using a OutlookBarWorkspace inside a view, that I placed the view inside the infrastructure module and all the modules have the possibility of inserting their own icons:&lt;br&gt;
&amp;nbsp;The view name is OutlookBar. The guys that will be using our application complain that the size of the left dock area is too big (I share their opinion).&lt;br&gt;
&amp;nbsp;I'm able to set the max. size of the OutlookBar but not of the container were this view is, I'm sure that I'm able to set the size of the view correctly (but it's dock style is fill at this time so I cannot notice any change).&lt;br&gt;
Is there any change of reducing the width of the docking area (don't know if this is the correct name...)? &lt;br&gt;
&lt;br&gt;
&amp;nbsp;This is the code that I'm using to show the view:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OutlookBar view = WorkItem.SmartParts.AddNew&amp;lt;OutlookBar&amp;gt;();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DockPanelSmartPartInfo dockInfo = new DockPanelSmartPartInfo(string.Empty, string.Empty);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dockInfo.Icon = System.Drawing.Icon.FromHandle(Properties.Resources.imgPackage16x16.GetHicon());&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dockInfo.DockingType = DockingType.TaskView;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dockInfo.ShowStrategy = new DockStateShowStrategy(DockState.DockLeft);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkItem.Workspaces[WorkspaceNames.RightWorkspace].Show(view, dockInfo);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkItem.RootWorkItem.Workspaces.Add(view.outlookBarWorkspace, WorkspaceNames.LeftWorkspace);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Thanks for all the help,&lt;br&gt;
&lt;br&gt;
Luis Pinho&lt;br&gt;
&lt;br&gt;
Since I cannot post any images, setting the max size of the view itself the result is something like this:&lt;br&gt;
&lt;br&gt;
&lt;a href="http://img210.imageshack.us/my.php?image=docksizeuk5.jpg"&gt;&lt;img src="http://img210.imageshack.us/img210/9783/docksizeuk5.th.jpg" alt="Free Image Hosting at www.ImageShack.us" border=0&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;a href="http://img604.imageshack.us/content.php?page=blogpost&amp;files=img210/9783/docksizeuk5.jpg" title=QuickPost&gt;&lt;img src="http://imageshack.us/img/butansn.png" alt=QuickPost border=0&gt;&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>lpinho</author><pubDate>Wed, 16 Jul 2008 14:37:56 GMT</pubDate><guid isPermaLink="false">New Post: DockPanelSmartPartInfo, how can I set its width? 20080716023756P</guid></item><item><title>New Post: DockPanelSmartPartInfo, how can I set its width?</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=31639</link><description>&lt;div style="line-height: normal;"&gt;Hi all,&lt;br&gt;
&lt;br&gt;
&amp;nbsp;first thank to all that contributed to the SCSF Contrib, it's very useful and it enabled me the reduce some development time since things are already done :)&lt;br&gt;
&lt;br&gt;
&amp;nbsp;I'm using a OutlookBarWorkspace inside a view, that I placed the view inside the infrastructure module and all the modules have the possibility of inserting their own icons:&lt;br&gt;
&amp;nbsp;The view name is OutlookBar. The guys that will be using our application complain that the size of the left dock area is too big (I share their opinion).&lt;br&gt;
&amp;nbsp;I'm able to set the max. size of the OutlookBar but not of the container were this view is, I'm sure that I'm able to set the size of the view correctly (but it's dock style is fill at this time so I cannot notice any change).&lt;br&gt;
Is there any change of reducing the width of the docking area (don't know if this is the correct name...)? &lt;br&gt;
&lt;br&gt;
&amp;nbsp;This is the code that I'm using to show the view:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OutlookBar view = WorkItem.SmartParts.AddNew&amp;lt;OutlookBar&amp;gt;();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DockPanelSmartPartInfo dockInfo = new DockPanelSmartPartInfo(string.Empty, string.Empty);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dockInfo.Icon = System.Drawing.Icon.FromHandle(Properties.Resources.imgPackage16x16.GetHicon());&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dockInfo.DockingType = DockingType.TaskView;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dockInfo.ShowStrategy = new DockStateShowStrategy(DockState.DockLeft);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkItem.Workspaces[WorkspaceNames.RightWorkspace].Show(view, dockInfo);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkItem.RootWorkItem.Workspaces.Add(view.outlookBarWorkspace, WorkspaceNames.LeftWorkspace);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Thanks for all the help,&lt;br&gt;
&lt;br&gt;
Luis Pinho&lt;br&gt;
&lt;br&gt;
Since I cannot post any images, setting the max size of the view itself the result is something like this:&lt;br&gt;
&lt;br&gt;
[URL=http://img210.imageshack.us/my.php?image=docksizeuk5.jpg][IMG]http://img210.imageshack.us/img210/9783/docksizeuk5.th.jpg[/IMG][/URL]&lt;br&gt;
&lt;/div&gt;</description><author>lpinho</author><pubDate>Wed, 16 Jul 2008 14:10:57 GMT</pubDate><guid isPermaLink="false">New Post: DockPanelSmartPartInfo, how can I set its width? 20080716021057P</guid></item><item><title>New Post: Shifting focus from one view to other</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=31573</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br&gt;
&lt;br&gt;
I have dockpanel workspace with left pane for navigation .on left pane i have list of five items,so if somebody &lt;br&gt;
clicks on one of them it opens a view.&lt;br&gt;
&lt;br&gt;
The problem that i am having is this if somebody clicks the selection again it should shift the focus from other views&lt;br&gt;
to seclected view.&lt;br&gt;
&lt;br&gt;
Basically i want to know how can i shift my focus from view to other&lt;br&gt;
&lt;br&gt;
Thanks
&lt;/div&gt;</description><author>Abhi_Dev</author><pubDate>Tue, 15 Jul 2008 19:51:18 GMT</pubDate><guid isPermaLink="false">New Post: Shifting focus from one view to other 20080715075118P</guid></item><item><title>New Post: Shifting focus from one view to other</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=31573</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br&gt;
&lt;br&gt;
I have dockpanel workspace with left pane for navigation .on left pane i have list of five items,so if somebody &lt;br&gt;
clicks on one of them it opens a view.&lt;br&gt;
&lt;br&gt;
The problem that i am having is this if somebody clicks the selection again it should shift the focus from other views&lt;br&gt;
to seclected view.&lt;br&gt;
&lt;br&gt;
Basically i want to know how can i shift my focus from view to other&lt;br&gt;
&lt;br&gt;
Thanks
&lt;/div&gt;</description><author>Abhi_Dev</author><pubDate>Tue, 15 Jul 2008 19:51:18 GMT</pubDate><guid isPermaLink="false">New Post: Shifting focus from one view to other 20080715075118P</guid></item><item><title>New Post: Patch uploaded with changes to FormWorkspace and DemoApp</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=31423</link><description>&lt;div style="line-height: normal;"&gt;Hi,
I've uploaded a patch to add a few properties to &lt;em&gt;FormWorkspace &lt;/em&gt;and a corresponding example use of it, in the Demo App.&lt;br&gt;
I basically just added &lt;strong&gt;FormStartPosition &lt;/strong&gt;and &lt;strong&gt;FormBorderStyle &lt;/strong&gt;as properties to &lt;em&gt;FormSmartPartInfo&lt;/em&gt;/&lt;em&gt;FormWorkspace&lt;/em&gt;.&lt;br&gt;
&lt;img src="http://home.swiftdsl.com.au/~spurrymoses/pics/ScsfDemoAppHelpAbout.png"&gt;&lt;br&gt;
I do confess, however, I probably went too far with my changes and accepted a bunch of ReSharper suggestions with object initializers, namespace cleanups, automatic properties etc.
&lt;br&gt;
My Apologies, if I've gone too far, please let me know, and I will resubmit a simpler change.&lt;br&gt;
&lt;br&gt;
I wasn't actually sure whether this project has decided to start using C#3 features, but as the project has been moved to VS2008/.NET3.5, I assumed it was OK to start using them. In the case of &lt;em&gt;FormSmartPartInfo&lt;/em&gt;, I was able to reduce the line count from 134 to 80, by using automatic properties and object initializers - and a sprinkle of conservative 'compacting'. I must say, deleting code without losing functionality, is bliss ;-)&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>PandaWood</author><pubDate>Mon, 14 Jul 2008 02:45:57 GMT</pubDate><guid isPermaLink="false">New Post: Patch uploaded with changes to FormWorkspace and DemoApp 20080714024557A</guid></item><item><title>New Post: WPF Page/Navigation model in a CAB application?</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=31415</link><description>&lt;div style="line-height: normal;"&gt;I'm modifying an existing CAB application to support browser-style navigation between smartparts.&amp;nbsp; Specifically, I'd like to use the WPF NavigationService, and a WPF Frame element (probably hosted in a custom workspace) as the container so the user can navigate backwards and forwards.&amp;nbsp; The application has several WinForms views that the standard WPF workspaces have no difficulty hosting (they wrap them in a HostElement).&amp;nbsp; But the WPF Page/Navigation system expects WPF Pages defined by XAML files, and it also wants to manage to loading and display of Pages, whereas CAB wants to manage that itself.&amp;nbsp; Is anyone aware of a framework designed to bridge CAB to the WPF Page/Navigation model?&lt;br&gt;
&lt;br&gt;
Paul Schofield&lt;br&gt;
&lt;/div&gt;</description><author>pnschofield</author><pubDate>Sun, 13 Jul 2008 22:04:48 GMT</pubDate><guid isPermaLink="false">New Post: WPF Page/Navigation model in a CAB application? 20080713100448P</guid></item><item><title>Patch Uploaded: #1501</title><link>http://www.codeplex.com/scsfcontrib/SourceControl/PatchList.aspx</link><description>
&lt;p&gt;&lt;a href='/site/users/view/PandaWood'&gt;PandaWood&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;The main goal of this patch, was to add 2 properties to FormWorkspace and then add a dialog to the DemoApp, that used the new features - since the DemoApp doesn&amp;#39;t contain an example of the FormWorkspace now. To this end, please check&amp;#58; FormWorkspace, FormSmartPartInfo, AboutView, SCSFContrib.DemoWorkshop.Infrastructure.Module.ModuleController and related classes.&lt;br /&gt;A lot of other files have been modified in this patch, because I couldn&amp;#39;t resist a bunch of ReSharper suggestions such as namespace cleanups, object initializers and automatic properties - FormSmartPartInfo was 134 lines of code, and it&amp;#39;s come down to 81 lines - and that&amp;#39;s with adding 2 properties - if it&amp;#39;s OK me hacking away at the code like this, you could accept all the changes.&lt;/p&gt;</description><author>PandaWood</author><pubDate>Sun, 13 Jul 2008 14:15:35 GMT</pubDate><guid isPermaLink="false">Patch Uploaded: #1501 20080713021535P</guid></item><item><title>New Post: Bank Teller quickstart: Why state stuff is replaced by a service?</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=12479</link><description>&lt;div style="line-height: normal;"&gt;&amp;lt;&amp;lt;&lt;em&gt;Anyway, I've rambled...&amp;gt;&amp;gt;&lt;br&gt;
&lt;/em&gt;Not at all, much appreciated. A ramble is good in this sort of discussion.&lt;br&gt;
I'm going to reassess where I've used WorkItemState. I didn't use it much, but I know it made things hard to test in cases where I also used the StateChanged event.&lt;br&gt;
&lt;/div&gt;</description><author>PandaWood</author><pubDate>Sun, 13 Jul 2008 02:38:27 GMT</pubDate><guid isPermaLink="false">New Post: Bank Teller quickstart: Why state stuff is replaced by a service? 20080713023827A</guid></item><item><title>New Post: Bank Teller quickstart: Why state stuff is replaced by a service?</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=12479</link><description>&lt;div style="line-height: normal;"&gt;&lt;br&gt;
&lt;div style="border-style:dotted none;border-color:rgb(170, 170, 170) -moz-use-text-color;border-width:0.1em medium;margin:1em 0em 2.5em 3em;padding:0.2em;font-style:italic"&gt;&lt;br&gt;
PandaWood wrote:&lt;br&gt;
The question was &amp;quot;Were there any thoughts about [WorkItemState] disadvantages&amp;quot;.&lt;br&gt;
And the response asks &amp;quot;is there any real advantage?&amp;quot;&lt;br&gt;
&lt;br&gt;
I'd like to extend this discussion and explore whether WorkItemState is &amp;quot;completely useless&amp;quot;.&lt;br&gt;
&lt;br&gt;
It may be the case, and I'd be interested in other opinions.&lt;br&gt;
Does it needlessly couple your code? Make it harder to test? Is there always a better way to achieve the same functionality?&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;em&gt;I'd like to extend this discussion and explore whether WorkItemState is &amp;quot;completely useless&amp;quot;.&lt;br&gt;
&lt;br&gt;
&lt;/em&gt;Basically, IMO, yes. When I was at Patterns and Practices conference a couple years ago, I was able to listen in on a hallway conversation with Brad Wilson where it revealed that the State bag was one of the things they actually wanted to take out of the CAB, but they didn't have the time to do it. The impression I got from Brad was that he thought the State bag was a mistake, and that state management should have not been done by the CAB, or should have been done differently, in a way that gave developers more control. &lt;br&gt;
&lt;br&gt;
As to the last three questions you asked, my answers are: yes, yes and yes. &lt;br&gt;
&lt;br&gt;
I find the State bag to be wholly inadequate for state management. It is basically little more than a hash, with an event on it. Where I work, we wrote our own state management service. It gave us a lot more control over how the state of an object was stored, persisted (if we choose), restored, etc. It also allowed us to create an interface with methods that were strongly typed, and it was dead-simple to use in a unit-testing scenario (no reliance on a TestableRootWorkItem, for instance).  I like my classes (Presenters, etc.) to be dependent on other classes with public-facing interfaces that I can inject via dependency injection and mock with a tool like RhinoMocks. I do not like being dependent on anything in the CAB, especially a stub of a heavyweight object like WorkItem, which was not built for testing (no virtual methods, not enough usage of interfaces, etc.)&lt;br&gt;
&lt;br&gt;
CAB was a neat idea, but it was poorly implemented from a testing standpoint. Try and mock something in CAB and you'll run into problems because of the aforementioned limitations. Now take a look at what Scott Guthrie's team is doing with the MVC framework and see the difference: pluggable IoC container, heavy use of interfaces, virtual methods by default. I'm glad some lessons were learned from CAB and that some knowledgeable people's opinions in the .NET world were listened to for the ASP.NET MVC framework, but for CAB&amp;nbsp; it is too late. &lt;br&gt;
&lt;br&gt;
These problems with CAB can be overcome, however. A lot of things can be wrapped behind custom interfaces allowing you to exploit a much better system. &lt;br&gt;
&lt;br&gt;
The way we write all of our code is: we make as few direct references to the CAB framework as possible. The exception (as of right now) is Workspace.Show(), and only because I haven't abstracted that away yet. Everything else that relates to the CAB, for us, is either (a) wrapped up in a subclassed WorkItem that we utilize, or (b) hidden behind interfaces that are easy to mock (for instance, all calls to WorkItem.Items, or WorkItem.SmartParts, or WorkItem.WorkItems are abstracted away behind an IContainer interface (ours) that has methods like IContainer.AddNew()). &lt;br&gt;
&lt;br&gt;
Anyway, I've rambled. I think the State bag is a waste of time and I prefer to see a service handle that. The way I approach solutions like this is: what if I wasn't using the CAB? How would I solve this problem in a way that was (a) easy to test and (b) was clean and simple to use with minimal development pain? A service works whether the application is a CAB application or not. The State bag is &lt;strong&gt;proprietary&lt;/strong&gt;... A word that is wholly evil all by itself. &lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>ChrisHolmes</author><pubDate>Sat, 12 Jul 2008 18:11:59 GMT</pubDate><guid isPermaLink="false">New Post: Bank Teller quickstart: Why state stuff is replaced by a service? 20080712061159P</guid></item><item><title>Updated Wiki: Home</title><link>http://www.codeplex.com/scsfcontrib/Wiki/View.aspx?title=Home&amp;version=37</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Welcome to the Smart Client Contrib project
&lt;/h1&gt; &lt;br /&gt;Smart Client Contrib is a community-developed library of extensions to the patterns &amp;amp; practices &lt;a href="/smartclient" class="externalLink"&gt;Smart Client Software Factory&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;If you are building custom tools and extensions and want to share them then SCSF Contrib will get it out to the masses.&lt;/li&gt;&lt;li&gt;If you've got a great idea for new extensions than SCSF contrib is the place to find developers ready, willing, and able to make it happen.&lt;/li&gt;&lt;li&gt;If you use SCSF/CAB within your org, then SCSF contrib is the place to find tools and extensions to add to your arsenal.&lt;/li&gt;&lt;li&gt;If you want to connect with others who are pushing the bar on SCSF/CAB development, then SCSF is the place to be.&lt;/li&gt;
&lt;/ul&gt;Smart Client contrib is about &lt;b&gt;YOU&lt;/b&gt;. With &lt;b&gt;your&lt;/b&gt; help we can make Smart Client Contrib a vibrant resource for Smart Client developers world-wide.&lt;br /&gt; &lt;br /&gt;If you have any suggestions on additional extensibility points that you think we should provide please email &lt;a href="mailto:scsffbk@microsoft.com" class="externalLink"&gt;SCSF Feedback&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;
News
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;(2008-04-17) &lt;b&gt;SCSF Contrib Release 1.5&lt;/b&gt;. &lt;a href="http://www.codeplex.com/scsfcontrib/Release/ProjectReleases.aspx?ReleaseId=12662"&gt;Download it here&lt;/a&gt;!*&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;New Features&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;All solution and projects migrated to &lt;b&gt;Visual Studio 2008&lt;/b&gt; and &lt;b&gt;.NET Framework 3.5&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;DockPanelWorkspace&lt;/b&gt; and &lt;b&gt;FormWorkspace&lt;/b&gt; added to &lt;b&gt;SCSFContrib.CompositeUI.WinForms&lt;/b&gt; project.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Action Catalog Service&lt;/b&gt; added to &lt;b&gt;SCSFContrib.Services&lt;/b&gt; project.&lt;/li&gt;&lt;li&gt;Added Visual Studio templates and Installer for &lt;b&gt;Trusted&lt;/b&gt; and &lt;b&gt;Untrusted&lt;/b&gt; modules in the WPF/CAB Shell.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;b&gt;New Samples&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;BankTeller&lt;/b&gt; implementation using a pure WPF application.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Demo Application&lt;/b&gt; with its &lt;b&gt;Demo Script&lt;/b&gt; that provides step-by-step instructions to create a SC-SF application.&lt;/li&gt;&lt;li&gt;&lt;b&gt;OrdersManager&lt;/b&gt; application that demonstrates how to integrate the CAB and SC-SF with Windows Workflow Foundation.&lt;/li&gt;&lt;li&gt;&lt;b&gt;TestSuite&lt;/b&gt; reference application showing DockPanelWorkspace usage.&lt;/li&gt;&lt;li&gt;&lt;b&gt;WPF CAB Shell&lt;/b&gt; sample application (source code, libs and unit tests).&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=scsfcontrib&amp;amp;DownloadId=32600" alt="scsfcontrib15screens.png" /&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;(2008-03-07) &lt;b&gt;New Application with Demo Script&lt;/b&gt;. The goal of this demo script is to help presenters give a presentation that illustrates the main aspects of SC-SF such as WorkItems, Commands, EventBroker, Services, Workspaces and the Dependency Injection pattern. This demo stript provides step-by-step instructions to create a SCSF application -  &lt;a href="http://www.codeplex.com/scsfcontrib/Release/ProjectReleases.aspx?ReleaseId=11382"&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=scsfcontrib&amp;amp;DownloadId=29263" alt="SCSFLandingPageImage.png" /&gt;&lt;br /&gt;&lt;h3&gt;
What's in Smart Client Contrib?
&lt;/h3&gt; &lt;br /&gt;Other releases:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Smart Client Contrib 1.0 &lt;a href="http://www.codeplex.com/scsfcontrib/Release/ProjectReleases.aspx?ReleaseId=5492"&gt;Download it here&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Smart Client Contrib 1.1 &lt;a href="http://www.codeplex.com/scsfcontrib/Release/ProjectReleases.aspx?ReleaseId=7739"&gt;Download it here&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Updater Application Block 2.1 (Supports Vista!) &lt;a href="http://www.codeplex.com/scsfcontrib/Release/ProjectReleases.aspx?ReleaseId=7738"&gt;Download it here&lt;/a&gt;!&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;The latest release of Smart Client Contrib contains the following functionality: &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;WPFCAB - Full port of CAB to WPF. Supports pure WPF Shell, SmartParts and Workspaces.&lt;/li&gt;&lt;li&gt;OutlookBar - CAB Outlook bar style workspace&lt;/li&gt;&lt;li&gt;Bank Teller Quickstart - Full port of CAB Bank Teller Quickstart to SCSF May 2007 (including WPF support).&lt;/li&gt;&lt;li&gt;WPF CAB Visualizer - CAB Visualizer using WPF.&lt;/li&gt;&lt;li&gt;Orders Manager application - Workflow Foundation Integration with CAB and SCSF&lt;/li&gt;&lt;li&gt;Action Catalog Service &lt;/li&gt;
&lt;/ul&gt;See the &lt;a href="http://www.codeplex.com/scsfcontrib/Wiki/View.aspx?title=Documentation&amp;amp;referringTitle=Home"&gt;Documentation&lt;/a&gt; index for information on how to use each of these extensions and components.&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Contributing to SCSF Contrib
&lt;/h3&gt;Would you like to join as a developer of the SCSF Contrib project to share your own extensions or improve the existing codebase? Great! Here is what you need to know&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=About%20p%26p%20%22Contrib%22%20projects&amp;amp;referringTitle=Home" class="externalLink"&gt;About p&amp;amp;p &amp;quot;Contrib&amp;quot; projects&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/scsfcontrib/Wiki/View.aspx?title=Guidelines%20for%20SCSF%20Contrib%20code&amp;amp;referringTitle=Home"&gt;Guidelines for SCSF Contrib code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/scsfcontrib/Wiki/View.aspx?title=Sign%20Up%20Process&amp;amp;referringTitle=Home"&gt;Sign Up Process&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;
Other p&amp;amp;p Contrib Projects
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="/CompositeWPFContrib" class="externalLink"&gt;CompositeWPF Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="/wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="Enterpse%20Library%20Contrib/entlibcontrib" class="externalLink"&gt;Enterpse Library Contrib/entlibcontrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>ejadib</author><pubDate>Sat, 12 Jul 2008 16:20:42 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20080712042042P</guid></item><item><title>New Post: Bank Teller quickstart: Why state stuff is replaced by a service?</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=12479</link><description>&lt;div style="line-height: normal;"&gt;The question was &amp;quot;Were there any thoughts about [WorkItemState] disadvantages&amp;quot;.&lt;br&gt;
And the response asks &amp;quot;is there any real advantage?&amp;quot;&lt;br&gt;
&lt;br&gt;
Any other takers?&lt;br&gt;
I am very interested to hear more details about why WorkItemState is apparently completely useless.&lt;br&gt;
It may be the case, but I'd be interested in any other opinions. This could be a good discussion.&lt;br&gt;
Does it needlessly couple your code? Make it harder to test?&lt;br&gt;
&lt;/div&gt;</description><author>PandaWood</author><pubDate>Fri, 11 Jul 2008 06:28:11 GMT</pubDate><guid isPermaLink="false">New Post: Bank Teller quickstart: Why state stuff is replaced by a service? 20080711062811A</guid></item><item><title>New Post: Tab order in dockpanel workspace</title><link>http://www.codeplex.com/scsfcontrib/Thread/View.aspx?ThreadId=31304</link><description>&lt;div style="line-height: normal;"&gt;I have created a shell using dockpanel workspace, it looks same as VS studio with one view on left ,one on right and one on bottom. &lt;br&gt;
In the middle i have different views coming as tabs, Now the problem is this if i have four views opened in the middle portion and somebody closes &lt;br&gt;
one of them the focus goes to the first view.&lt;br&gt;
&lt;br&gt;
I know i should be more clear ok let me try this when i am creating this discussion i can see there are 8 tabs (Home ,Releases, Discussion, Issue tracker and so on)&lt;br&gt;
what i want is, if somebody closes the issue tracker tab( if it was possible)&amp;nbsp; the focus should go to discussion tab rather than home tab ( which is happening in my application it goes to home tab)&lt;br&gt;
&lt;br&gt;
So is it possible that i can control the tab order on closing of view..&lt;br&gt;
&lt;br&gt;
If i am still not clear please reply i'll try to post it again.&lt;br&gt;
&lt;/div&gt;</description><author>Abhi_Dev</author><pubDate>Fri, 11 Jul 2008 02:04:24 GMT</pubDate><guid isPermaLink="false">New Post: Tab order in dockpanel workspace 20080711020424A</guid></item></channel></rss>