office-gobmx/offapi/com/sun/star/sdb/QueryDesign.idl
Michael Meeks c73745117d re-base on ALv2 code. Includes:
linecap: Reintegrating finished LineCap feature
    Work contributed by Regina Henschel
    http://svn.apache.org/viewvc?view=revision&revision=1232507

    i118815 - Deprecate service due to removed implementation
    Patch contributed by Ariel Constenla-Haile
    http://svn.apache.org/viewvc?view=revision&revision=1233320

    i118814 - Allow set timeout in Mail API
    Patch contributed by Ariel Constenla-Haile
    http://svn.apache.org/viewvc?view=revision&revision=1235679

    included in the Apache baseline:
    dr80: #i117511# remove some assertions in xlsx/xlsb import filters
    Patch contributed by Daniel Rentz
2012-09-27 11:35:06 +01:00

185 lines
9 KiB
Text

/* -*- 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_QueryDesign_idl__
#define __com_sun_star_sdb_QueryDesign_idl__
#include <com/sun/star/frame/XController.idl>
#include <com/sun/star/lang/XInitialization.idl>
#include <com/sun/star/frame/XDispatchProvider.idl>
#include <com/sun/star/form/FormController.idl>
module com { module sun { module star { module sdb {
/** implements a component which allows the creation of SQL statements.
<p>This service implements a user interface for creating SQL statements either through a graphical design
interface or simply to enter the SQL statement directly.</p>
<p>The design view of the QueryDesign is divided into two parts. The first part contains the table windows
where columns can be selected for the SQL statement. The second part contains the columns which should appear
in the selection of the SQL statement or criteria which narrow the query.</p>
<h3>Operation Modes</h3>
<p>A <code>QueryDesign</code> component has 3 operation modes, which control what kind of object is edited:
<ul><li><a name="query_mode"></a><b>Query Mode</b>
<p>In <code>Query Mode</code>, the designer is used to modify an existing or create a new client-side
query.</p></li>
<li><a name="view_mode"</a><b>View Mode</b>
<p>In <code>View Mode</code>, the designer is used to modify an existing or create a new server-side
view.</p>
<p>The view which is being designed must support the <type scope="com::sun::star::sdbcx">XAlterView</type>
interface, except when a new view is being designed. In the latter case, the designer closes itself
automatically when <code>XAlterView</code> is not supported, and the view has been saved.</p></li>
<li><a name="command_mode"</a><b>Command Mode</b>
<p>In <code>Command Mode</code>, the designer is used to design an standalone SQL command.</p>
<p>The client of the designer is then responsible to listen at changes in the
<member>ActiveCommand</member> and <member>EscapeProcessing</member> members, which are updated
every time the user saves the command.</p></li>
</ul></p>
<h3><a name="initialization"></a>Initialization</h3>
<p>Initialization is done using the <type scope="com::sun::star::lang">XInitialization</type> interface,
which expects a sequence of objects being either <type scope="com::sun::star::beans">NamedValue</type>s or
<type scope="com::sun::star::beans">PropertyValue</type>s. The following parameters are supported at
initialization time:
<ul>
<li><b>Frame</b><br/>
has to be an <type scope="com::sun::star::frame">XFrame</type> interface specifying the frame to plug the
QueryDesign component into.<br/>
This parameter is mandatory.
</li>
<li><a name="data_source"></a><b>DataSourceName</b><br/>
specifies the name of the globally registered <type>DataSource</type> for which a query, view, or SQL
command is to be designed.<br/>
The DataSourceName may be omitted if and only if a valid <a href="#active_connection">ActiveConnection</a>
parameter is present.<br/>
If both <code>DataSourceName</code> and <code>ActiveConnection</code> are present, the former
is ignored.
</li>
<li><a name="active_connection"></a><b>ActiveConnection</b><br/>
specifies the connection to work with.<br/>
May be omitted if and only if a valid <a href="#data_source">DataSourceName</a> parameter is supplied.
</li>
<li><a name="command"></a><b>Command</b><br/>
specifies the name of the query or view to design, or, in case of the <a href="#command_type">CommandType</a>
being <member>CommandType::COMMAND</member>, the initial SQL command.<br/>
If this parameter is not present, a new query/view will be designed, respectively the initial
command will be empty.
</li>
<li><a name="command_type"></a><b>CommandType</b><br/>
specifies the type of object which should be designed. The following options are
supported:
<ul><li><member>CommandType::QUERY</member> specifies the designer should operate in
<a href="#query_mode">query mode</a>, that is, an existing client-side query should be
designed, or a new query should be created, depending on the presence of the
<a href="#command">Command</a> parameter.<br/>
If the <a href="#data_source">DataSourceName</a> parameter is present, the query is
looked up in the specified data source. Otherwise, the designer tries to determine
the data source which the <a href="#active_connection">ActiveConnection</a> belongs
to, and looks up the query there.</li>
<li><member>CommandType::COMMAND</member> specifies the designer should operate in
<a href="#command_mode">command mode</a>, that is, a standalone SQL command
should be designed. When the user attempts to save the designed SQL statement,
the <member>ActiveCommand</member> and <member>EscapeProcessing</member> properties
of the designer are updated.</li>
<li><member>CommandType::TABLE</member> specifies the designer should operate in
<a href="#view_mode">view mode</a>, that is, an existing or a new
server-side view should be designed, depending on the presence of the
<a href="#command">Command</a> parameter.<br/>
If the <a href="#data_source">DataSourceName</a> parameter is present, the view is
looked up in a newly created connection for the specified data source. Otherwise,
it is looked up in the connection given as <a href="#active_connection">ActiveConnection</a>.</li>
</ul>
If not present, this parameter defaults to <member>CommandType::QUERY</member>.
</li>
<li><b>EscapeProcessing</b><br/>
Specifies whether or not escape processing should be initially enabled in the query designer. If set
to <FALSE/>, then the designer can operate in text view only (as opposed to the graphical view). The
<a href="#graphical_design">GraphicalDesign</a> parameter will be ignored then, and assumed to be <FALSE/>.<br/>
If not present, <TRUE/> is assumed for this parameter.</li>
<li><a name="graphical_design"></a><b>GraphicalDesign</b><br/>
This value indicates whether the designer should be opened in the graphical design view
(<TRUE/>) or in the text view (<FALSE/>).<br/>
If not present, <FALSE/> is assumed for this parameter.
</li>
</ul>
</p>
<p>There's a number of legacy settings which are recognized for compatibility reasons, though
you're discouraged from using them:
<ul>
<li><b>CurrentQuery</b><br/>
is the same as Command, and implies a <a href="#command_type">CommandType</a> of
<member>CommandType::QUERY</member></li>
<li><b>QueryDesignView</b><br/>
is the same as <a href="#graphical_design">GraphicalDesign</a>.</li>
<li><b>IndependentSQLCommand</b><br/>
is the same as Command, and implies a <a href="#command_type">CommandType</a> of
<member>CommandType::COMMAND</member></li>
<li><b>CreateView</b><br/>
implies a <a href="#command_type">CommandType</a> of <member>CommandType::TABLE</member></li>
</ul>
@see com::sun::star::sdb::ContentLoader
*/
published service QueryDesign
{
/** allows the component to be plugged into frames.
*/
interface com::sun::star::frame::XController;
/** is used to initialize the QueryDesign.
<p>See chapter <a href="#initialization">Initialization</a> for details.</p>
*/
interface com::sun::star::lang::XInitialization;
/** reflects the designed SQL command at the moment it was last saved by the user.
*/
[readonly, property] string ActiveCommand;
/** specifies whether the user enabled escape processing for the statement being designed.
@see DataAccessDescriptor::EscapeProcessing
@since OOo 2.4
*/
[readonly, property, optional] boolean EscapeProcessing;
};
}; }; }; };
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */