This project has moved and is read-only. For the latest updates, please go here.

ApplicationMenu and RibbonPageHeader UIElementAdaptors

Nov 7, 2007 at 2:45 AM
This weekend I did a little work on adding a UIElementAdaptor for the Ribbon ApplicationMenu. I also worked on a UIElementAdaptor for the RibbonPageHeader which is new to the Developer Express v20077 vol 3 beta. The RibbonPageHeader allows the addition of buttons and other BarItems to the right side of the Ribbon tabs area.

You may find the source code on my blog at


Dec 15, 2007 at 8:30 AM
Edited Dec 15, 2007 at 8:42 AM
Hi DevLynx,

I've not used the Ribbon control yet, but your additions look pretty useful. Do you think we could/should incorporate your new Adapters into the base ExtensionKit?

I downloaded the code and copied it to the ExtensionKit source tree and it all seems to fit in nicely.

Although I'd really like a sample application to demonstrate it all, so if you're feeling warm and fuzzy (with Xmas approaching) and don't mind letting your code drift into CodePlex, we could possibly use all your work - ie the Address Book Application sample application, as well ;-)

These RibbonAdapters seem to be the additions you've made: RibbonApplicationMenuUIAdapter, RibbonPageHeaderUIAdapter, RibbonQuickAccessToolbarUIAdapter
Dec 15, 2007 at 6:43 PM
Just last night I was thinking of contacting you about incorporating the RibbonAdapters into the main baseline. What a pleasant surprise when I saw your message. So, yes, please feel free to add the RibbonAdapters into the base ExtensionKit.

As far as my Xmas cheer ;-) I have yet to decide how I will distribute my work and it's way too early for a lot of consideration. When that time approaches I will certainly consider incorporating my work into the ExtensionKit. I'm afraid we'll have to find a summer or fall holiday to celebrate for that one :-)

Great idea to change the home page to the new Xmas Skin!


Dec 16, 2007 at 9:38 AM
Thanks, I committed the RibbonAdapters just now.
Dec 18, 2007 at 6:39 PM
Nice addition to CABDEX framework DevLynx and since you got me interested in your CAB blog you cant take a break from it, you just got to finish it. :)
Dec 18, 2007 at 6:39 PM
Edited Dec 18, 2007 at 6:42 PM
well this wasnt suppose to happen but it only underlines my interst in your blog :)
Dec 19, 2007 at 4:51 AM
I appreciate your enthusiasm for my blog. I'll try to take only a short break for the Christmas holiday :-) In fact, I was planning to leave my computer at home on this trip but your posting(s) have made me reconsider; I'll probably lug it along. It's so difficult traveling in the U.S. with a laptop anymore but I can probably eek out a few hours of work if I have it along.

Kind Regards,

Dec 21, 2007 at 11:51 AM
I hadn't added the new RibbonAdapters to the XtraRibbonBarUIAdapterFactory which I'm looking at now. I think I'll rename that class to RibbonBarUIAdapterFactory by the way, to go with the consistency of all Ribbon classes starting with the word Ribbon.
Dec 21, 2007 at 12:51 PM
Unfortunately, I can't commit this just now as SvnBridge is crashing over and over again.
Dec 21, 2007 at 2:09 PM
After reading your post on SvnBridge last week, I tried using it to get the latest source for CAB DevExpress. It always crashed on me as well. It's a great idea and I hope that they work out all of the issues.
Dec 31, 2007 at 7:33 AM
Edited Dec 31, 2007 at 7:34 AM
Damn, sorry about that. Yes, I take back my recommendation as I had 3 separate issues (crashes) trying to commit changes recently.
It took me a while to figure out work arounds.
Dec 31, 2007 at 7:43 AM
Edited Jan 1, 2008 at 7:57 AM
BTW I made a minor change to the Ribbon Adapters, and in fact, most of the adapters. I'm about to commit shortly.

They all had a propertly called 'InternalCollection', which was just a copy/paste artifact, and none of these properties were actually being used (with the exception of the BarLinksCollectionUIAdapter). I can see that this property was copied over from CAB's ToolStripItemCollectionUIAdapter, but it's not applicable in most cases.

I'm also starting to add some basic Unit Tests. Not easy with this sort of library.
I did this because I'm looking at code that's doing reasonably complicated stuff (incrementing, checking for -1 etc) and I would like to have confidence refactoring/changing it.

So I thought I'd give XUnit a run, since it's in CodePlex.