blob: a82b5a28b89aa4833b8d12cf936d0e317bbf754b [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_smarttags_XSmartTagRecognizer_idl__
#define __com_sun_star_smarttags_XSmartTagRecognizer_idl__
#ifndef __com_sun_star_uno_XInitialization_idl__
#include <com/sun/star/lang/XInitialization.idl>
#endif
#ifndef __com_sun_star_lang_Locale_idl__
#include <com/sun/star/lang/Locale.idl>
#endif
#ifndef __com_sun_star_i18n_XBreakIterator_idl__
#include <com/sun/star/i18n/XBreakIterator.idl>
#endif
#ifndef __com_sun_star_smarttags_SmartTagRecognizerMode_idl__
#include <com/sun/star/smarttags/SmartTagRecognizerMode.idl>
#endif
#ifndef __com_sun_star_text_XTextMarkup_idl__
#include <com/sun/star/text/XTextMarkup.idl>
#endif
#ifndef __com_sun_star_frame_XController_idl__
#include <com/sun/star/frame/XController.idl>
#endif
#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
#endif
#ifndef __com_sun_star_text_XTextRange_idl__
#include <com/sun/star/text/XTextRange.idl>
#endif
//=============================================================================
module com { module sun { module star { module smarttags {
//=============================================================================
/**
provides access to a smart tag recognizer.
@since OpenOffice 2.3
*/
interface XSmartTagRecognizer: com::sun::star::lang::XInitialization
{
//-------------------------------------------------------------------------
/** obtains a name that describes this recognizer component.
@param aLocale
Is used for localization of the name.
@return
the name of the recognizer component.
*/
string getName( [in] ::com::sun::star::lang::Locale aLocale );
//-------------------------------------------------------------------------
/** obtains a detailed description of this recognizer component.
@param aLocale
Is used for localization of the description.
@return
the description of the recognizer component.
*/
string getDescription( [in] ::com::sun::star::lang::Locale aLocale );
//-------------------------------------------------------------------------
/** The number of smart tag types supported by this recognizer
component.
*/
[attribute, readonly] long SmartTagCount;
//-------------------------------------------------------------------------
/** obtains the name of one specific smart tag type supported by
this recognizer component.
@param nSmartTagIndex
Index of the wanted smart tag type. Value needs to be
between 0 and the number of smarttags available
(exclusively).
@return
the unique name of the smart tag type. Smart tag type
names are always in the format of namespaceURI#tagname.
@throws com::sun::star::lang::IndexOutOfBoundsException
if nSmartTagIndex is greater than SmartTagCount
*/
string getSmartTagName( [in] long nSmartTagIndex )
raises( com::sun::star::lang::IndexOutOfBoundsException );
//-------------------------------------------------------------------------
/** obtains the URL that can be used to download new or updated
recognizers.
@param nSmartTagIndex
Index of the wanted smart tag type. Value needs to be
between 0 and the number of smarttags available
(exclusively).
@return
the download URL.
@throws com::sun::star::lang::IndexOutOfBoundsException
if nSmartTagIndex is greater than SmartTagCount
*/
string getSmartTagDownloadURL( [in] long nSmartTagIndex )
raises( com::sun::star::lang::IndexOutOfBoundsException );
//-------------------------------------------------------------------------
/** recognizes smart tags.
@param aText
The text that should be scanned by the recognizer. aText
is UFT16 encoded.
@param nStart
Denotes the start position of the region to scan.
@param nLength
Denotes the length of the text to scan.
@param eDataType
This value indicates the type of the passed text.
@param aLocale
Is used to indicate the language of the passed text.
@param xTextMarkup
This object is used to submit any recognized smart tags
to the calling application.
@param aApplicationName
A string containing the name of the calling application.
@param xController
The current controller of the document.
@param xTokenizer
This can be used to tokenize the string to recognize.
*/
void recognize( [in] string aText,
[in] long nStart,
[in] long nLength,
[in] SmartTagRecognizerMode eDataType,
[in] com::sun::star::lang::Locale aLocale,
[in] com::sun::star::text::XTextMarkup xTextMarkup,
[in] string aApplicationName,
[in] com::sun::star::frame::XController xController,
[in] com::sun::star::i18n::XBreakIterator xTokenizer );
//-------------------------------------------------------------------------
/** indicates whether there is a property page for a smart tag type.
@param nSmartTagIndex
Index of the wanted smart tag type. Value needs to be
between 0 and the number of smarttags available
(exclusively).
@param aLocale
Is used for localization of the property page.
@return
true if there is a property page matching the requested
smart tag type and locale.
@throws com::sun::star::lang::IndexOutOfBoundsException
if nSmartTagIndex is greater than SmartTagCount
*/
boolean hasPropertyPage( [in] long nSmartTagIndex,
[in] ::com::sun::star::lang::Locale aLocale )
raises( com::sun::star::lang::IndexOutOfBoundsException );
//-------------------------------------------------------------------------
/** launches the property page for a smart tag type.
@param nSmartTagIndex
Index of the wanted smart tag type. Value needs to be
between 0 and the number of smarttags available
(exclusively).
@param aLocale
Is used for localization of the property page.
@throws com::sun::star::lang::IndexOutOfBoundsException
if nSmartTagIndex is greater than SmartTagCount
*/
void displayPropertyPage( [in] long nSmartTagIndex,
[in] ::com::sun::star::lang::Locale aLocale )
raises( com::sun::star::lang::IndexOutOfBoundsException );
};
}; }; }; };
#endif