This is an update|mashup|feature enhancement of 2 older plugins - bbStyle & bbColor3dc - with a few ideas borrowed from RandomStyle & bbColorEx. Hey, I got sidetracked!
Much of the code - for both plugins - has been taken apart and put back together (not quite) from scratch - largely with reference to bbSDK
Tested on Vista, XP SP2 & 2000. The MSVC 8 runtimes - downloadable here
- are required.
options|features not previously available in either bbStyle or bbColor3dc
° Display of style name & author.
° Setting of local style path (for "zooming in") from the plugin menu.
° Shortcuts & 3dc files in style folders are ignored.
° Full expansion of 3dc settings read out of styles (including MenuBar & MenuHighlight).
° Option to restrict 3dc settings to only those specified by a style author.
° Switching of settings to have text window always dark on light.
° Option for a permanent (pale grey) default window.
° Indifference as to which style syntax is available for customisation.
° Fading of customised 3dc settings.
° All options available from plugin menu - mostly via a single-click.
° Full feature availability for xoblite.
° Option to append 3dc settings to existing style file.
° Removal of occasional bugs.
features|options not carried over from bbStyle
° Defaulting of plugin window height to match the toolbar.
° Setting of separate rootCommands for each workspace.
features|options not carried over from bbColor3dc
° Individual tweaking of 3dc settings.
° Individual reading of 3dc settings.
There is a fairly extensive ReadMe - in xml format. On xoblite: switching 3dc settings generally goes better if you turn off "enable 3dc settings" (on the plugin menu) before
making the changes. Unloading|Reloading the plugin should not
The "default" 3dc mapping (which can be turned off)
is indifferent to style syntax and respects parentrelative settings. This had been achieved by working with the GetSettingPtr enum in bbApi.h. For bbLean, I believe that this has produced something close to what style authors had in mind - had
they wished to use 3dc in their styles.
In xoblite, however, I was unable to persuade the enum to extend to any of the Window.Focus|Unfocus settings.
Default customised mapping: bbLean|xoblite
(If the style calls for a gradient - where it would be unsupported by M$ - the midpoint of the gradient colours is taken. Palette choices automatically degrade to parentrelative - where relevant.)
3D Dark Shadow: Window.Focus.Handle|Toolbar
3D Shadow: Window.Unfocus.Handle|Toolbar.Button
3D Face: Toolbar.Button.Pressed
3D Alternate Face: *autoset by M$*
3D Light: Window.Unfocus.Grip|Toolbar.Button.TextColor
3D Hi-Light: Window.Focus.Grip|Toolbar.TextColor
Active Caption: )
Active Caption Gradient: )Window.Focus.Title|Toolbar.Button
Active Caption Text: )
Active Window Border: Window.Focus.Handle|Toolbar.Label
Application Background: *autoset by M$*
Button Text: Toolbar.Button.Pressed.PicColor
Focused Object Frame: BorderColor
Gray Text: Window.Unfocus.Label|Menu.Hilite/Active.TextColor
Inactive Caption: )
Inactive Caption Gradient: )Window.Unfocus.Title|Toolbar.Button.Pressed
Inactive Caption Text: )
Inactive Window Border: Window.Unfocus.Handle|Toolbar.WindowLabel
Menu Text: Menu.Frame.TextColor
Mouse Highlight: Menu.Hilite/Active
Scrollbar: *autoset by M$*
Selected Item: Toolbar.Button.Pressed
Selected Item Text: Toolbar.Button.Pressed.PicColor
Tooltip Text: Toolbar.TextColor
Window Text: Menu.Frame.TextColor
Menu Bar: Menu.Title
Menu Highlight: Menu.Hilite/Active
For those of you interested, the basic GUI clocks in at 10.5Kb. The remaining 20.5Kb|21Kb splits out at 14Kb for "style" features and 6.5Kb|7Kb for "3dc" features. (The xoblite version is slightly larger than the bbLean version.)