Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS General Discussion » Skin formalization, applying... and so on Collapse All
Subject Author Date
Eugene Wineblat Sep 2, 2006 - 6:57 AM

I have spent some time to explore how your skins work, because of technical requirements for my project!

short sheme of inheritance for loading XML skins and storing skins generally...

CExtSkinItemBase
CExtSkinGlyph : CExtSkinItemBase
CExtSkinColor : CExtSkinItemBase
CExtSkinFont : CExtSkinItemBase
CExtSkinItem : CExtSkinItemBase
CExtSkin : CExtSkinItem

CExtSkin::Load - start point! In that phase is all right! I have traced all functions and all properties that you load...
At the end of operation we have our PaintManagerSkin prepared for work.

Than InstalPaintManager - you define new pPM in the g_PaintManager and at this point started most interesting things:
1. For All objects with CExtPmBridge interface, which advised to global paint manager executed :
PmBridge_OnPaintManagerChanged(    m_pPaintManager     ); - without all not important things this function simply redraw window...

2. Redrawing - "The point of no return" (c)
I have unerstoodd why you don’t have manuals about Skin making, because it would be source code or some different view of full redraw code...
This mess of conditions, checks, and g_PaintManager functions couldn’t be formalized!
Only one thing we can - work with xml skins as black box! Change png and see results!

Questions:
1. Could you make CExtSkin::Load error reporting more informational...??? vecause if some files not correspond Load will fail, but find bad file somewhere in skin direcory...
2. What you suppose to do to formalize skin apllying process?
3. When you plan to do this?
4. When I could start to hope to receive skin manual?

Technical Support Sep 4, 2006 - 12:17 PM

The skinning sub system in Prof-UIS is not based on a static set of images that are assigned for each control. A Prof-UIS skin is a kind of a set of rules similar to CSS. The XML skin file defines these rules and allows you to inherit them from each other for different control groups. So, we cannot display skinned controls in a skin editor so that the user can edit per-control parameters. We can simply display the entire XML in the tree control, enable editing of tree nodes and preview different skinned controls in some canvas window. The ProfSkin is under reconstruction now because we need to extend skin rules by adding Office 2007 alpha blending animation parameters.