/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * 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 . */ #ifndef __com_sun_star_sdb_ErrorMessageDialog_idl__ #define __com_sun_star_sdb_ErrorMessageDialog_idl__ #include #include #include #include module com { module sun { module star { module sdb { /** provides a dialog for displaying database related exceptions.

If applications use any of the functionality provided in the modules sdbc , sdbcx and sdb , they will - sooner or later - encounter SQLException 's.
These exceptions can be chained, so the information wrapped in one single SQLException can be rather complex (e.g., every instance where such an exception is passing before it is finally caught, could append a SQLContext to explain what it was doing), and they should be presented to the user in a consistent way.
This can be reached by using this service. @see com.sun.star.sdb.InteractionHandler

*/ published service ErrorMessageDialog { /** the title of the (dialog) window */ [property] string Title; /** parent window to use for the dialog

This property can't be set while the dialog is being displayed.

*/ [property] com::sun::star::awt::XWindow ParentWindow; /** is the exception displayed by the dialog

This should contain a SQLException instance, or an instance of any class derived from this exception.

This property can't be set while the dialog is being displayed.

*/ [property] any SQLException; /** specifies the URL to the help topic to associate with the dialog.

If This URL is not empty, then the dialog will get a "Help" button, which directs the user to the given help topic.

*/ [optional, property] string HelpURL; /** allows access to the properties of the object */ interface com::sun::star::beans::XPropertySet; /** allows starting execution of the dialog */ interface com::sun::star::ui::dialogs::XExecutableDialog; /** allows initializing the dialog

You do not need to call the initialize method directly, instead you may use the createInstanceWithArguments method of your XMultiServiceFactory .

You specify a parameter by passing one (or more) PropertyValue object(s) to the initialize method, where the Name field contains a string describing which aspect you want to affect, and the Value field containing a value.
Imagine the initialization values, as if you use XPropertySet::setPropertyValue() of the XPropertySet interface ...
allowed parameters are

  • Title
    String describing the initial title of the dialog. If not specified, a default title is used.
  • ParentWindow
    XWindow describing the parent window to use for the dialog.
  • SQLException
    SQLException describing the error which is being displayed.
    When initializing this value, you may use any derivative of SQLException .

*/ interface com::sun::star::lang::XInitialization; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */