List Info

Thread: Re: Proposal: New Smart Tag API




Re: Proposal: New Smart Tag API
user name
2007-04-17 10:53:29
Frank Meies wrote:
> Hi,
> 
> with OOo 2.2, a first draft of a Smart Tag API has been
introduced. That 
> API only provided some basic Smart Tag functionality
which had to be 
> enhanced in many regards. An overview about Smart Tags
and the current 
> Smart Tag API can be found be:
> 
> h
ttp://wiki.services.openoffice.org/wiki/Smart_Tags
> 
> So here comes my proposal for the new API:
> 
> The new/changed services/interfaces are
> 
> com.sun.star.smarttags.SmartTagRecognizer
> com.sun.star.smarttags.XSmartTagRecognizer
> com.sun.star.smarttags.SmartTagAction
> com.sun.star.smarttags.XSmartTagAction
> com.sun.star.smarttags.SmartTagRecognizerMode
> com.sun.star.text.XTextMarkup
> com.sun.star.text.TextMarkupType
> com.sun.star.container.XStringKeyMap
> 
> Short Description of the services/interfaces:
> 
> - A SmartTagRecognizer is used to find smart tags in a
document. Usually 
> there are a couple of SmartTagRecognizer components
installed.
> 
> - A SmartTagAction defines actions associated with
smart tags. Usually 
> there are a couple of SmartTagAction components
installed.

Why are those two constructor-less services needed?  Who
creates 
instances of those services, and how are different service 
implementations discriminated?  (Frank, please ignore this
or any of the 
following if we already clarified it back then, I simply
cannot remember.)

> - SmartTagRecognizerMode defines some constants which
are used to 
> specify the type of text (paragraph, cell content,
single word) passed 
> to the recognize function of the SmartTagRecognizer
service.

Should that be an enum?  (If not, long would probably be
more natural 
than short.)  Are combinations of those values of interest
(since the 
values are 2^0, 2^1, ... instead of 0, 1, ...)?

XSmartTagRecognizer.recognize parameters nStartPos, nLength:
 UNO 
strings are arbitrary-length sequences of Unicode scalar
values.  How 
shall nStartPos and nLength be interpreted?  (The
optimization to pass 
complete string plus index range instead of just substring
might be 
great for non-bridged UNO calls, but can be a pessimization
in general.)

> - The XTextMarkup interface provides functionality to
highlight the text 
> of a paragraph. This interface is used by the recognize
function of the 
> SmartTagRecognizer service to mark text as smart tags.
> 
> - TextMarkupType defines some constants to specify the
type of the 
> highlighted text (smart tag, spell check, grammar
check).

Enum and long vs. short: questions as above.

> - The interface XStringKeyMap provides functions to map
strings to anys. 
> This is used to associate user defined data with the
smart tag 
> identified by a SmartTagRecognizer. This user defined
data will be 
> stored together with the smart tag and passed to a
SmartTagAction on 
> invocation.
> 
> 
> Feedback is very much appreciated!

Inconsistent spelling of URL, ID vs. Xml.

> Thanks,
> 
> Frank

-Stephan

------------------------------------------------------------
---------
To unsubscribe, e-mail: interface-discuss-unsubscribeopenoffice.org
For additional commands, e-mail: interface-discuss-helpopenoffice.org


[1]

about | contact  Other archives ( Real Estate discussion Medical topics )