From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- offapi/com/sun/star/sdb/QueryDesign.idl | 185 ++++++++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 offapi/com/sun/star/sdb/QueryDesign.idl (limited to 'offapi/com/sun/star/sdb/QueryDesign.idl') diff --git a/offapi/com/sun/star/sdb/QueryDesign.idl b/offapi/com/sun/star/sdb/QueryDesign.idl new file mode 100644 index 000000000..2dd2fd6eb --- /dev/null +++ b/offapi/com/sun/star/sdb/QueryDesign.idl @@ -0,0 +1,185 @@ +/* -*- 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 +#include +#include +#include + +module com { module sun { module star { module sdb { + +/** implements a component which allows the creation of SQL statements. + +

This service implements a user interface for creating SQL statements either through a graphical design + interface or simply to enter the SQL statement directly.

+ +

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.

+ +

Operation Modes

+ +

A QueryDesign component has 3 operation modes, which control what kind of object is edited: +

+ +

Initialization

+ +

Initialization is done using the com::sun::star::lang::XInitialization interface, + which expects a sequence of objects being either com::sun::star::beans::NamedValues or + com::sun::star::beans::PropertyValues. The following parameters are supported at + initialization time: +

    +
  • Frame
    + has to be a com::sun::star::frame::XFrame interface specifying the frame to plug the + QueryDesign component into.
    + This parameter is mandatory. +
  • + +
  • DataSourceName
    + specifies the name of the globally registered DataSource for which a query, view, or SQL + command is to be designed.
    + The DataSourceName may be omitted if and only if a valid ActiveConnection + parameter is present.
    + If both DataSourceName and ActiveConnection are present, the former + is ignored. +
  • + +
  • ActiveConnection
    + specifies the connection to work with.
    + May be omitted if and only if a valid DataSourceName parameter is supplied. +
  • + +
  • Command
    + specifies the name of the query or view to design, or, in case of the CommandType + being CommandType::COMMAND, the initial SQL command.
    + If this parameter is not present, a new query/view will be designed, respectively the initial + command will be empty. +
  • + +
  • CommandType
    + specifies the type of object which should be designed. The following options are + supported: +
    • CommandType::QUERY specifies the designer should operate in + query mode, that is, an existing client-side query should be + designed, or a new query should be created, depending on the presence of the + Command parameter.
      + If the DataSourceName parameter is present, the query is + looked up in the specified data source. Otherwise, the designer tries to determine + the data source which the ActiveConnection belongs + to, and looks up the query there.
    • + +
    • CommandType::COMMAND specifies the designer should operate in + command mode, that is, a standalone SQL command + should be designed. When the user attempts to save the designed SQL statement, + the #ActiveCommand and #EscapeProcessing properties + of the designer are updated.
    • + +
    • CommandType::TABLE specifies the designer should operate in + view mode, that is, an existing or a new + server-side view should be designed, depending on the presence of the + Command parameter.
      + If the DataSourceName 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 ActiveConnection.
    • +
    + If not present, this parameter defaults to CommandType::QUERY. +
  • + +
  • EscapeProcessing
    + 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 + GraphicalDesign parameter will be ignored then, and assumed to be `FALSE`.
    + If not present, `TRUE` is assumed for this parameter.
  • + +
  • GraphicalDesign
    + This value indicates whether the designer should be opened in the graphical design view + (`TRUE`) or in the text view (`FALSE`).
    + If not present, `FALSE` is assumed for this parameter. +
  • +
+

+ +

There's a number of legacy settings which are recognized for compatibility reasons, though + you're discouraged from using them: +

    +
  • CurrentQuery
    + is the same as Command, and implies a CommandType of + CommandType::QUERY
  • + +
  • QueryDesignView
    + is the same as GraphicalDesign.
  • + +
  • IndependentSQLCommand
    + is the same as Command, and implies a CommandType of + CommandType::COMMAND
  • + +
  • CreateView
    + implies a CommandType of CommandType::TABLE
  • +
+ + @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. + +

See chapter Initialization for details.

+ */ + 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: */ -- cgit v1.2.3