/* -*- 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_report_XGroup_idl__ #define __com_sun_star_report_XGroup_idl__ #include #include #include #include module com { module sun { module star { module report { /** identifies a XGroup. A group is always a child of the groups collection in the report. @see XReportDefinition @see XGroups */ interface XGroup { /** allows access to the groups collection of the report. */ interface com::sun::star::container::XChild; /** allows access to the properties of the instance. */ interface com::sun::star::beans::XPropertySet; /** allows life-time control of group instances. */ interface com::sun::star::lang::XComponent; /** gives access to functions defined in the group definition. */ interface XFunctionsSupplier; /** Defines if the group is sorted ascending or descending. The default is `TRUE`. */ [attribute,bound] boolean SortAscending; /** Defines if a group has a header. */ [attribute,bound] boolean HeaderOn; /** Defines if a group has a footer. */ [attribute,bound] boolean FooterOn; /** returns the group header. @throws com::sun::star::container::NoSuchElementException If the group has the header disabled. @see XSection */ [attribute,readonly] XSection Header { get raises (com::sun::star::container::NoSuchElementException); }; /** returns the group footer. @throws com::sun::star::container::NoSuchElementException If the group has the footer disabled. @see XSection */ [attribute,readonly,bound] XSection Footer { get raises (com::sun::star::container::NoSuchElementException); }; /** Specifies how to group data. @see GroupOn */ [attribute,bound] short GroupOn { set raises (com::sun::star::lang::IllegalArgumentException); }; /** Defines an interval value that rows are grouped by. */ [attribute,bound] long GroupInterval; /** Specifies if a group header, detail, and footer section is printed on the same page. @see KeepTogether */ [attribute,bound] short KeepTogether { set raises (com::sun::star::lang::IllegalArgumentException); }; /** Specifies the parent of the group. @see XChild */ [attribute,readonly] com::sun::star::report::XGroups Groups; /** Defines either a column name or an expression. */ [attribute,bound] string Expression; /** Specifies that the group header should always be printed on a new column. */ [attribute,bound] boolean StartNewColumn; /** Specifies that the group header should always be printed on a new page and the reset of the page number to zero. */ [attribute,bound] boolean ResetPageNumber; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */