On Oct 5, 2006, at 9:55 PM, Ted Gould wrote:

An idea that I had a long time ago (noting the copyright statement, it

was in 2004) is contained in svg-profile.h.  The idea was that every

verb could contain an Inkscape::SvgProfile object.  Then you could

adjust which verbs were visible (active) based on the SVG profile.  The

header file basically implements a fancy bitmask that can grow easily.

The idea was also to make everything in a way that could be built into

the static verb arrays also.



I think we might want to shift things around the other way.

That is, I think we should consider verbs to be lower-level atomic items that just do their job but don't know about the higher-level concept of profile grouping.

Then above the verb level we could have the profile manager and profile instances. Each of these could contain the lists of verbs applicable (or a list of those blocked).

I think it's important to approach it this way for a few reasons. The main one is that then there is no profile info hardcoded in the verbs themselves, and the profiles can just be loaded from files at runtime. Among other things this would allow end users to craft custom profiles to target individual phones, etc.


So instead of verbs holding profile info, there would be a set of profiles that have a list of verbs to block or allow, and something else to apply the filtering by profile.