/* -*- 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 . */ 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.
A QueryDesign
component has 3 operation modes, which control what kind of object is edited:
In Query Mode
, the designer is used to modify an existing or create a new client-side
query.
In View Mode
, the designer is used to modify an existing or create a new server-side
view.
The view which is being designed must support the com::sun::star::sdbcx::XAlterView
interface, except when a new view is being designed. In the latter case, the designer closes itself
automatically when XAlterView
is not supported, and the view has been saved.
In Command Mode
, the designer is used to design an standalone SQL command.
The client of the designer is then responsible to listen at changes in the #ActiveCommand and #EscapeProcessing members, which are updated every time the user saves the command.
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:
DataSourceName
and ActiveConnection
are present, the former
is ignored.
There's a number of legacy settings which are recognized for compatibility reasons, though you're discouraged from using them:
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; }; }; }; }; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */