[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: ISSUE: Object behaviors
All, I had the action item to revise the object behaviors after the last telecon to investigate the best way to incorporate all desired behaviors. 1. WebCGM 1.0 behaviors The existing behaviors are highlight highlight_all view_context We decided to deprecate view_context in favor of the new navigation behaviors. 2. Proposed WebCGM 2.0 behaviors For WebCGM 2.0, the object behaviors shall be extended to allow for detailed control regarding navigation and highlighting. Navigation variants: full - establish a full (shrink-to-fit) view of the entire picture move - move object(s) into view, reduce scale if objects are bigger than viewer's rectangle zoom - zoom to object(s), fit destination rectangle into viewer's rectangle Highlighting variants: highlight - highlight specified object(s), remove highlighting on other objects (backward compatible with 1.0) highlightadd - highlight specified object(s), don't remove existing highlighting on other objects All variant: all - apply to all objects with this name. In addition, there are combinations possible of these atomic behaviors. After looking at these combinations in detail, I want to propose a combination of these atomic expressions (following Lofton's idea) rather than spelling out a long list of explicit keywords. 3. New Proposal This is my proposal, it comes in two variants: Variant A: objBehavior ::= navTerm ("_" highlightTerm)? ("_all")? | highlightTerm ("_all")? navTerm ::= full | zoom | move hightlightTerm ::= highlight | highlightadd Build the actual objectBehavior from a navigation term, a highlighting term, and the "all" keyword as desired. Note that in this variant "highlight" and "highlight_all" could be build preserving full backward compatibility. Variant B: objBehavior ::= navTerm ("_" highlightTerm)? | highlightTerm navTerm ::= full | zoom | move hightlightTerm ::= highlight | highlightadd Build the actual objectBehavior from a navigation term and a highlighting term as desired. This variant doesn't use the keyword "all" anymore. "All" only makes a difference if the object is specified by name. In WebCGM 1.0, we had the following: #name(myName,highlight) highlight the first object with this name #name(myName,highlight_all) highlight all objects with this name To highlight the first object with this name created a random effect based on the Z order in the file, no good control over this behavior. The most commonly used variant was "highlight_all". I believe it is safe to assume that if one addresses objects by name, that "all" is the desired behavior in all cases. Hence, we can omit the "all" keyword and assume the associated behavior for all cases where addressing by name is used. Note: This creates a minor issue regarding the definition of "highlight" and "highlight_all" in WebCGM 1.0, however, I don't believe that we will break applications by combining highlight and highlight_all into one behavior. RECOMMENDATION: Variant B. Regards, Dieter
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]