Hi Marc

Marc Santhoff escribió:
Am Donnerstag, den 06.12.2007, 10:28 -0300 schrieb Ariel
Constenla-Haile:
Frank Schönheit - Sun Microsystems Germany escribió:
Hi Marc,

Isn't css.ui.doalogs.FilterOptionsDialog the service to call in front of
importing? (Frank?)
Uh, never heard of this one. (I really dislike the fact people do not
use [EMAIL PROTECTED] when they define new APIs. This limits others
to knowing-by-chance-only.)

Since OpenOffice 1.1.2

Since the description is somewhat sparse, I am not completely sure,
might be it can in fact be used to open the character set selection
dialog for importing csv/dBase files.
Hi Frank, Marc

all I know is that this can be implemented by an export/import component:

"It should be possible to prompt the user for better values by registering another component that implements the service com.sun.star.ui.dialogs.FilterOptionsDialog. It is called UIComponent. It enables a filter developer to query for user options before the filter operation is performed. It does not show this dialog inside the filter, because any UI can be suppressed, for example, an external application uses the API of OpenOffice.org for scripting running in a hidden mode."

http://api.openoffice.org/docs/DevelopersGuide/OfficeDev/OfficeDev.xhtml#1_2_4_2_4_Filter_Options


I still didn't play with it ...

I did and things don't seem to be that simple:

That service looks like a placeholder, sort of an Interface or abstract
service that is used by each client service to tell the filter about
having to show (and name?) it's own implementation via the
mediadescriptor.

Using this test:

sub TestFilterOptionsUI
        dim args(0) as new com.sun.star.beans.PropertyValue
        args(0).Name = "FilterName"
        args(0).Value = "Text - txt - csv (StarOffice Calc)"
        dlg = CreateUNOService("com.sun.star.ui.dialogs.FilterOptionsDialog")
        dlg.setPropertyValues(args())
        dlg.execute()
end sub

only the enconding questioning dialog is shown, not the one asking csv
properties.

What I don't completly understand is where to search for the real
implementation

ach... du Träumer...! you MUST implement it yourself, you dream too much if you think you can achieve it with OOo Basic.

As I understood this FilterOptionsDialog, the Filter component implementing XFilter MUST be shipped together with a component implementing FilterOptionsDialog - called an *UIComponent* : implementing services is IMPOSSIBLE in OOO Basic.

In the configuration for org.openoffice.TypeDetection.Filter (usually named TypeDectection.xcu) the Filter must provide this UIComponent implementation name:

<node oor:name="Filters">
<node oor:name="mytest_CSVExportFilter_Java_dba" oor:op="replace">
...
<prop oor:name="UIComponent">

<value>ar.com.arielconstenlahaile.comp.test.MyFilterOptionsDlgImpl</value>
</prop>
...

Basically the FilterOptionsDialog implementation implements all the interfaces specified in the service:

com.sun.star.beans.XPropertyAccess,
com.sun.star.ui.dialogs.XExecutableDialog

In the method execute() the component MUST execute its OWN dialog, and return according to the result of its own dialog implementation. This means the components must have a dialog of its own, OOo will not provide any dialog at all.

The component gets all the data from the dialog and the application will use getPropertyValues() to pass as a MediaDescriptor to the filter implementation (if execute() returns OK):

"The application will set the ::com::sun::star::document::MediaDescriptor using the interface ::com::sun::star::beans::XPropertyAccess and then call XExecutableDialog::execute . If that method returns ExecutableDialogResults::OK , the application will retrieve the changed ::com::sun::star::document::MediaDescriptor back using the interface ::com::sun::star::beans::XPropertyAccess . The filter operation is than continued, using the new ::com::sun::star::document::MediaDescriptor . Otherwise, the filter operation is canceled."


At least that's what I could understand from the API and the skeletons I send with this mail.

Sure that Frank will figure out how things work just seeing the Cpp skeleton.


Concerning your OOo Basic "dream", reading

http://extensions.openoffice.org/servlets/ReadMsg?list=dev&msgNo=1062

it seems that is

"impossible but just because core developers, when adding new features are not very concerned to make them accessible from starbasic. IMHO it's more a development policy matter rather than a technology problem"


By the way, have you seen in Frank's OOo Basic example how the service CopyTableWizard must be created: createUnoService will become completely useless as the future are the new style service constructors.

We should all rise our voices out...


Regards
Ariel



--
Ariel Constenla-Haile
La Plata, Argentina

[EMAIL PROTECTED]
[EMAIL PROTECTED]

http://www.arielconstenlahaile.com.ar/ooo/



"Aus der Kriegsschule des Lebens
                - Was mich nicht umbringt,
        macht mich härter."
                Nietzsche Götzendämmerung, Sprüche und Pfeile, 8.
#include "sal/config.h"
#include "cppuhelper/factory.hxx"
#include "cppuhelper/implementationentry.hxx"
#include "cppuhelper/implbase5.hxx"
#include "com/sun/star/lang/XServiceInfo.hpp"
#include "com/sun/star/document/XExporter.hpp"
#include "com/sun/star/document/XFilter.hpp"
#include "com/sun/star/container/XNamed.hpp"
#include "com/sun/star/lang/XInitialization.hpp"


// component helper namespace
namespace comp_MyExportFilterTest {

namespace css = ::com::sun::star;

// component and service helper functions:
::rtl::OUString SAL_CALL _getImplementationName();
css::uno::Sequence< ::rtl::OUString > SAL_CALL _getSupportedServiceNames();
css::uno::Reference< css::uno::XInterface > SAL_CALL _create( css::uno::Reference< css::uno::XComponentContext > const & context );

} // closing component helper namespace



/// anonymous implementation namespace
namespace {

namespace css = ::com::sun::star;

class MyExportFilterTest:
    public ::cppu::WeakImplHelper5<
        css::lang::XServiceInfo,
        css::document::XExporter,
        css::document::XFilter,
        css::container::XNamed,
        css::lang::XInitialization>
{
public:
    explicit MyExportFilterTest(css::uno::Reference< css::uno::XComponentContext > const & context);

    // ::com::sun::star::lang::XServiceInfo:
    virtual ::rtl::OUString SAL_CALL getImplementationName() throw (css::uno::RuntimeException);
    virtual ::sal_Bool SAL_CALL supportsService(const ::rtl::OUString & ServiceName) throw (css::uno::RuntimeException);
    virtual css::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw (css::uno::RuntimeException);

    // ::com::sun::star::document::XExporter:
    virtual void SAL_CALL setSourceDocument(const css::uno::Reference< css::lang::XComponent > & Document) throw (css::uno::RuntimeException, css::lang::IllegalArgumentException);

    // ::com::sun::star::document::XFilter:
    virtual ::sal_Bool SAL_CALL filter(const css::uno::Sequence< css::beans::PropertyValue > & aDescriptor) throw (css::uno::RuntimeException);
    virtual void SAL_CALL cancel() throw (css::uno::RuntimeException);

    // ::com::sun::star::container::XNamed:
    virtual ::rtl::OUString SAL_CALL getName() throw (css::uno::RuntimeException);
    virtual void SAL_CALL setName(const ::rtl::OUString & aName) throw (css::uno::RuntimeException);

    // ::com::sun::star::lang::XInitialization:
    virtual void SAL_CALL initialize(const css::uno::Sequence< ::com::sun::star::uno::Any > & aArguments) throw (css::uno::RuntimeException, css::uno::Exception);

private:
    MyExportFilterTest(MyExportFilterTest &); // not defined
    void operator =(MyExportFilterTest &); // not defined

    virtual ~MyExportFilterTest() {}

    css::uno::Reference< css::uno::XComponentContext > m_xContext;
};

MyExportFilterTest::MyExportFilterTest(css::uno::Reference< css::uno::XComponentContext > const & context) :
    m_xContext(context)
{}

// com.sun.star.uno.XServiceInfo:
::rtl::OUString SAL_CALL MyExportFilterTest::getImplementationName() throw (css::uno::RuntimeException)
{
    return comp_MyExportFilterTest::_getImplementationName();
}

::sal_Bool SAL_CALL MyExportFilterTest::supportsService(::rtl::OUString const & serviceName) throw (css::uno::RuntimeException)
{
    css::uno::Sequence< ::rtl::OUString > serviceNames = comp_MyExportFilterTest::_getSupportedServiceNames();
    for (::sal_Int32 i = 0; i < serviceNames.getLength(); ++i) {
        if (serviceNames[i] == serviceName)
            return sal_True;
    }
    return sal_False;
}

css::uno::Sequence< ::rtl::OUString > SAL_CALL MyExportFilterTest::getSupportedServiceNames() throw (css::uno::RuntimeException)
{
    return comp_MyExportFilterTest::_getSupportedServiceNames();
}

// ::com::sun::star::document::XExporter:
void SAL_CALL MyExportFilterTest::setSourceDocument(const css::uno::Reference< css::lang::XComponent > & Document) throw (css::uno::RuntimeException, css::lang::IllegalArgumentException)
{
    // TODO: Insert your implementation for "setSourceDocument" here.
}

// ::com::sun::star::document::XFilter:
::sal_Bool SAL_CALL MyExportFilterTest::filter(const css::uno::Sequence< css::beans::PropertyValue > & aDescriptor) throw (css::uno::RuntimeException)
{
    // TODO: Exchange the default return implementation for "filter" !!!
    // Exchange the default return implementation.
    // NOTE: Default initialized polymorphic structs can cause problems because of
    // missing default initialization of primitive types of some C++ compilers or
    // different Any initialization in Java and C++ polymorphic structs.
    return sal_False;
}

void SAL_CALL MyExportFilterTest::cancel() throw (css::uno::RuntimeException)
{
    // TODO: Insert your implementation for "cancel" here.
}

// ::com::sun::star::container::XNamed:
::rtl::OUString SAL_CALL MyExportFilterTest::getName() throw (css::uno::RuntimeException)
{
    // TODO: Exchange the default return implementation for "getName" !!!
    // Exchange the default return implementation.
    // NOTE: Default initialized polymorphic structs can cause problems because of
    // missing default initialization of primitive types of some C++ compilers or
    // different Any initialization in Java and C++ polymorphic structs.
    return ::rtl::OUString();
}

void SAL_CALL MyExportFilterTest::setName(const ::rtl::OUString & aName) throw (css::uno::RuntimeException)
{
    // TODO: Insert your implementation for "setName" here.
}

// ::com::sun::star::lang::XInitialization:
void SAL_CALL MyExportFilterTest::initialize(const css::uno::Sequence< ::com::sun::star::uno::Any > & aArguments) throw (css::uno::RuntimeException, css::uno::Exception)
{
    // TODO: Insert your implementation for "initialize" here.
}

} // closing anonymous implementation namespace



// component helper namespace
namespace comp_MyExportFilterTest {

::rtl::OUString SAL_CALL _getImplementationName() {
    return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
        "MyExportFilterTest"));
}

css::uno::Sequence< ::rtl::OUString > SAL_CALL _getSupportedServiceNames()
{
    css::uno::Sequence< ::rtl::OUString > s(1);
    s[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
        "com.sun.star.document.ExportFilter"));
    return s;
}

css::uno::Reference< css::uno::XInterface > SAL_CALL _create(
    const css::uno::Reference< css::uno::XComponentContext > & context)
        SAL_THROW((css::uno::Exception))
{
    return static_cast< ::cppu::OWeakObject * >(new MyExportFilterTest(context));
}

} // closing component helper namespace

static ::cppu::ImplementationEntry const entries[] = {
    { &comp_MyExportFilterTest::_create,
      &comp_MyExportFilterTest::_getImplementationName,
      &comp_MyExportFilterTest::_getSupportedServiceNames,
      &::cppu::createSingleComponentFactory, 0, 0 },
    { 0, 0, 0, 0, 0, 0 }
};

extern "C" void SAL_CALL component_getImplementationEnvironment(
    const char ** envTypeName, uno_Environment **)
{
    *envTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}

extern "C" void * SAL_CALL component_getFactory(
    const char * implName, void * serviceManager, void * registryKey)
{
    return ::cppu::component_getFactoryHelper(
        implName, serviceManager, registryKey, entries);
}

extern "C" sal_Bool SAL_CALL component_writeInfo(
    void * serviceManager, void * registryKey)
{
    return ::cppu::component_writeInfoHelper(serviceManager, registryKey, entries);
}
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
import com.sun.star.lib.uno.helper.Factory;
import com.sun.star.lang.XSingleComponentFactory;
import com.sun.star.registry.XRegistryKey;
import com.sun.star.lib.uno.helper.WeakBase;


public final class MyExportFilterTest extends WeakBase
   implements com.sun.star.lang.XServiceInfo,
              com.sun.star.document.XExporter,
              com.sun.star.document.XFilter,
              com.sun.star.container.XNamed,
              com.sun.star.lang.XInitialization
{
    private final XComponentContext m_xContext;
    private static final String m_implementationName = MyExportFilterTest.class.getName();
    private static final String[] m_serviceNames = {
        "com.sun.star.document.ExportFilter" };


    public MyExportFilterTest( XComponentContext context )
    {
        m_xContext = context;
    };

    public static XSingleComponentFactory __getComponentFactory( String sImplementationName ) {
        XSingleComponentFactory xFactory = null;

        if ( sImplementationName.equals( m_implementationName ) )
            xFactory = Factory.createComponentFactory(MyExportFilterTest.class, m_serviceNames);
        return xFactory;
    }

    public static boolean __writeRegistryServiceInfo( XRegistryKey xRegistryKey ) {
        return Factory.writeRegistryServiceInfo(m_implementationName,
                                                m_serviceNames,
                                                xRegistryKey);
    }

    // com.sun.star.lang.XServiceInfo:
    public String getImplementationName() {
         return m_implementationName;
    }

    public boolean supportsService( String sService ) {
        int len = m_serviceNames.length;

        for( int i=0; i < len; i++) {
            if (sService.equals(m_serviceNames[i]))
                return true;
        }
        return false;
    }

    public String[] getSupportedServiceNames() {
        return m_serviceNames;
    }

    // com.sun.star.document.XExporter:
    public void setSourceDocument(com.sun.star.lang.XComponent Document) throws com.sun.star.lang.IllegalArgumentException
    {
        // TODO: Insert your implementation for "setSourceDocument" here.
    }

    // com.sun.star.document.XFilter:
    public boolean filter(com.sun.star.beans.PropertyValue[] aDescriptor)
    {
        // TODO: Exchange the default return implementation for "filter" !!!
        // NOTE: Default initialized polymorphic structs can cause problems
        // because of missing default initialization of primitive types of
        // some C++ compilers or different Any initialization in Java and C++
        // polymorphic structs.
        return false;
    }

    public void cancel()
    {
        // TODO: Insert your implementation for "cancel" here.
    }

    // com.sun.star.container.XNamed:
    public String getName()
    {
        // TODO: Exchange the default return implementation for "getName" !!!
        // NOTE: Default initialized polymorphic structs can cause problems
        // because of missing default initialization of primitive types of
        // some C++ compilers or different Any initialization in Java and C++
        // polymorphic structs.
        return new String();
    }

    public void setName(String aName)
    {
        // TODO: Insert your implementation for "setName" here.
    }

    // com.sun.star.lang.XInitialization:
    public void initialize(Object[] aArguments) throws com.sun.star.uno.Exception
    {
        // TODO: Insert your implementation for "initialize" here.
    }

}
#include "sal/config.h"
#include "cppuhelper/factory.hxx"
#include "cppuhelper/implementationentry.hxx"
#include "cppuhelper/implbase3.hxx"
#include "com/sun/star/lang/XServiceInfo.hpp"
#include "com/sun/star/beans/XPropertyAccess.hpp"
#include "com/sun/star/ui/dialogs/XExecutableDialog.hpp"


// component helper namespace
namespace comp_MyFilterOptionsDialog {

namespace css = ::com::sun::star;

// component and service helper functions:
::rtl::OUString SAL_CALL _getImplementationName();
css::uno::Sequence< ::rtl::OUString > SAL_CALL _getSupportedServiceNames();
css::uno::Reference< css::uno::XInterface > SAL_CALL _create( css::uno::Reference< css::uno::XComponentContext > const & context );

} // closing component helper namespace



/// anonymous implementation namespace
namespace {

namespace css = ::com::sun::star;

class MyFilterOptionsDialog:
    public ::cppu::WeakImplHelper3<
        css::lang::XServiceInfo,
        css::beans::XPropertyAccess,
        css::ui::dialogs::XExecutableDialog>
{
public:
    explicit MyFilterOptionsDialog(css::uno::Reference< css::uno::XComponentContext > const & context);

    // ::com::sun::star::lang::XServiceInfo:
    virtual ::rtl::OUString SAL_CALL getImplementationName() throw (css::uno::RuntimeException);
    virtual ::sal_Bool SAL_CALL supportsService(const ::rtl::OUString & ServiceName) throw (css::uno::RuntimeException);
    virtual css::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw (css::uno::RuntimeException);

    // ::com::sun::star::beans::XPropertyAccess:
    virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getPropertyValues() throw (css::uno::RuntimeException);
    virtual void SAL_CALL setPropertyValues(const css::uno::Sequence< css::beans::PropertyValue > & aProps) throw (css::uno::RuntimeException, css::beans::UnknownPropertyException, css::beans::PropertyVetoException, css::lang::IllegalArgumentException, css::lang::WrappedTargetException);

    // ::com::sun::star::ui::dialogs::XExecutableDialog:
    virtual void SAL_CALL setTitle(const ::rtl::OUString & aTitle) throw (css::uno::RuntimeException);
    virtual ::sal_Int16 SAL_CALL execute() throw (css::uno::RuntimeException);

private:
    MyFilterOptionsDialog(MyFilterOptionsDialog &); // not defined
    void operator =(MyFilterOptionsDialog &); // not defined

    virtual ~MyFilterOptionsDialog() {}

    css::uno::Reference< css::uno::XComponentContext > m_xContext;
};

MyFilterOptionsDialog::MyFilterOptionsDialog(css::uno::Reference< css::uno::XComponentContext > const & context) :
    m_xContext(context)
{}

// com.sun.star.uno.XServiceInfo:
::rtl::OUString SAL_CALL MyFilterOptionsDialog::getImplementationName() throw (css::uno::RuntimeException)
{
    return comp_MyFilterOptionsDialog::_getImplementationName();
}

::sal_Bool SAL_CALL MyFilterOptionsDialog::supportsService(::rtl::OUString const & serviceName) throw (css::uno::RuntimeException)
{
    css::uno::Sequence< ::rtl::OUString > serviceNames = comp_MyFilterOptionsDialog::_getSupportedServiceNames();
    for (::sal_Int32 i = 0; i < serviceNames.getLength(); ++i) {
        if (serviceNames[i] == serviceName)
            return sal_True;
    }
    return sal_False;
}

css::uno::Sequence< ::rtl::OUString > SAL_CALL MyFilterOptionsDialog::getSupportedServiceNames() throw (css::uno::RuntimeException)
{
    return comp_MyFilterOptionsDialog::_getSupportedServiceNames();
}

// ::com::sun::star::beans::XPropertyAccess:
css::uno::Sequence< css::beans::PropertyValue > SAL_CALL MyFilterOptionsDialog::getPropertyValues() throw (css::uno::RuntimeException)
{
    // TODO: Exchange the default return implementation for "getPropertyValues" !!!
    // Exchange the default return implementation.
    // NOTE: Default initialized polymorphic structs can cause problems because of
    // missing default initialization of primitive types of some C++ compilers or
    // different Any initialization in Java and C++ polymorphic structs.
    return css::uno::Sequence< css::beans::PropertyValue >();
}

void SAL_CALL MyFilterOptionsDialog::setPropertyValues(const css::uno::Sequence< css::beans::PropertyValue > & aProps) throw (css::uno::RuntimeException, css::beans::UnknownPropertyException, css::beans::PropertyVetoException, css::lang::IllegalArgumentException, css::lang::WrappedTargetException)
{
    // TODO: Insert your implementation for "setPropertyValues" here.
}

// ::com::sun::star::ui::dialogs::XExecutableDialog:
void SAL_CALL MyFilterOptionsDialog::setTitle(const ::rtl::OUString & aTitle) throw (css::uno::RuntimeException)
{
    // TODO: Insert your implementation for "setTitle" here.
}

::sal_Int16 SAL_CALL MyFilterOptionsDialog::execute() throw (css::uno::RuntimeException)
{
    // TODO: Exchange the default return implementation for "execute" !!!
    // Exchange the default return implementation.
    // NOTE: Default initialized polymorphic structs can cause problems because of
    // missing default initialization of primitive types of some C++ compilers or
    // different Any initialization in Java and C++ polymorphic structs.
    return 0;
}

} // closing anonymous implementation namespace



// component helper namespace
namespace comp_MyFilterOptionsDialog {

::rtl::OUString SAL_CALL _getImplementationName() {
    return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
        "MyFilterOptionsDialog"));
}

css::uno::Sequence< ::rtl::OUString > SAL_CALL _getSupportedServiceNames()
{
    css::uno::Sequence< ::rtl::OUString > s(1);
    s[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
        "com.sun.star.ui.dialogs.FilterOptionsDialog"));
    return s;
}

css::uno::Reference< css::uno::XInterface > SAL_CALL _create(
    const css::uno::Reference< css::uno::XComponentContext > & context)
        SAL_THROW((css::uno::Exception))
{
    return static_cast< ::cppu::OWeakObject * >(new MyFilterOptionsDialog(context));
}

} // closing component helper namespace

static ::cppu::ImplementationEntry const entries[] = {
    { &comp_MyFilterOptionsDialog::_create,
      &comp_MyFilterOptionsDialog::_getImplementationName,
      &comp_MyFilterOptionsDialog::_getSupportedServiceNames,
      &::cppu::createSingleComponentFactory, 0, 0 },
    { 0, 0, 0, 0, 0, 0 }
};

extern "C" void SAL_CALL component_getImplementationEnvironment(
    const char ** envTypeName, uno_Environment **)
{
    *envTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}

extern "C" void * SAL_CALL component_getFactory(
    const char * implName, void * serviceManager, void * registryKey)
{
    return ::cppu::component_getFactoryHelper(
        implName, serviceManager, registryKey, entries);
}

extern "C" sal_Bool SAL_CALL component_writeInfo(
    void * serviceManager, void * registryKey)
{
    return ::cppu::component_writeInfoHelper(serviceManager, registryKey, entries);
}
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XComponentContext;
import com.sun.star.lib.uno.helper.Factory;
import com.sun.star.lang.XSingleComponentFactory;
import com.sun.star.registry.XRegistryKey;
import com.sun.star.lib.uno.helper.WeakBase;


public final class MyFilterOptionsDialog extends WeakBase
   implements com.sun.star.lang.XServiceInfo,
              com.sun.star.beans.XPropertyAccess,
              com.sun.star.ui.dialogs.XExecutableDialog
{
    private final XComponentContext m_xContext;
    private static final String m_implementationName = MyFilterOptionsDialog.class.getName();
    private static final String[] m_serviceNames = {
        "com.sun.star.ui.dialogs.FilterOptionsDialog" };


    public MyFilterOptionsDialog( XComponentContext context )
    {
        m_xContext = context;
    };

    public static XSingleComponentFactory __getComponentFactory( String sImplementationName ) {
        XSingleComponentFactory xFactory = null;

        if ( sImplementationName.equals( m_implementationName ) )
            xFactory = Factory.createComponentFactory(MyFilterOptionsDialog.class, m_serviceNames);
        return xFactory;
    }

    public static boolean __writeRegistryServiceInfo( XRegistryKey xRegistryKey ) {
        return Factory.writeRegistryServiceInfo(m_implementationName,
                                                m_serviceNames,
                                                xRegistryKey);
    }

    // com.sun.star.lang.XServiceInfo:
    public String getImplementationName() {
         return m_implementationName;
    }

    public boolean supportsService( String sService ) {
        int len = m_serviceNames.length;

        for( int i=0; i < len; i++) {
            if (sService.equals(m_serviceNames[i]))
                return true;
        }
        return false;
    }

    public String[] getSupportedServiceNames() {
        return m_serviceNames;
    }

    // com.sun.star.beans.XPropertyAccess:
    public com.sun.star.beans.PropertyValue[] getPropertyValues()
    {
        // TODO: Exchange the default return implementation for "getPropertyValues" !!!
        // NOTE: Default initialized polymorphic structs can cause problems
        // because of missing default initialization of primitive types of
        // some C++ compilers or different Any initialization in Java and C++
        // polymorphic structs.
        return new com.sun.star.beans.PropertyValue[0];
    }

    public void setPropertyValues(com.sun.star.beans.PropertyValue[] aProps) throws com.sun.star.beans.UnknownPropertyException, com.sun.star.beans.PropertyVetoException, com.sun.star.lang.IllegalArgumentException, com.sun.star.lang.WrappedTargetException
    {
        // TODO: Insert your implementation for "setPropertyValues" here.
    }

    // com.sun.star.ui.dialogs.XExecutableDialog:
    public void setTitle(String aTitle)
    {
        // TODO: Insert your implementation for "setTitle" here.
    }

    public short execute()
    {
        // TODO: Exchange the default return implementation for "execute" !!!
        // NOTE: Default initialized polymorphic structs can cause problems
        // because of missing default initialization of primitive types of
        // some C++ compilers or different Any initialization in Java and C++
        // polymorphic structs.
        return 0;
    }

}

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to