/* -*- 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_style_Style_idl__ #define __com_sun_star_style_Style_idl__ #include #include #include #include #include #include module com { module sun { module star { module style { /** This service specifies a single style sheet. */ published service Style { /** contains user defined attributes. @see com::sun::star::xml::UserDefinedAttributesSupplier */ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier; interface com::sun::star::style::XStyle; interface com::sun::star::beans::XPropertySet; [optional] interface com::sun::star::beans::XMultiPropertySet; /* This optional interface is available as an optimization, allowing users to use "setAllPropertiesToDefault", for example. */ [optional] interface com::sun::star::beans::XMultiPropertyStates; /** determines if a style is physically created.

Built in styles may not be created until they are needed. To prevent standard style properties from being exported, it may be useful to check if the style is created first.

*/ [optional, readonly, property] boolean IsPhysical; /** contains the name of the style that is applied to the next paragraph.

This property is usually available at paragraph styles only.

*/ [optional, property] string FollowStyle; /** contains the name of the style as it is displayed in the user interface.

The names of the styles at the API are language independent. The user interface names are localized.

*/ [optional, readonly, property] string DisplayName; /** determines if a style is automatically updated, if the properties of an object that the style is applied to are changed.

For example, if the style is applied to a paragraph and the properties of the paragraph are changed then the style will be updated accordingly.

*/ [optional, property] string IsAutoUpdate; /** defines the context and styles for conditional paragraphs.

This property is only available if the style is a conditional paragraph style.

The sequence consists of pairs where the name part of the pair defines the context where it should be applied and the value part is a string naming the style to be used in that context.

Assigning an empty string to the style name will disable the conditional style for that context.

The allowed strings (contexts) for the name part of an entry of the sequence are:

  • TableHeader
  • Table
  • Frame
  • Section
  • Footnote
  • Endnote
  • Header
  • Footer
  • OutlineLevel1
  • OutlineLevel2
  • OutlineLevel3
  • OutlineLevel4
  • OutlineLevel5
  • OutlineLevel6
  • OutlineLevel7
  • OutlineLevel8
  • OutlineLevel9
  • OutlineLevel10
  • NumberingLevel1
  • NumberingLevel2
  • NumberingLevel3
  • NumberingLevel4
  • NumberingLevel5
  • NumberingLevel6
  • NumberingLevel7
  • NumberingLevel8
  • NumberingLevel9
  • NumberingLevel10
@since OOo 2.0.1 */ [optional, property] sequence< com::sun::star::beans::NamedValue > ParaStyleConditions; /** Flag indicating whether to hide the style in the UI. @since LibreOffice 4.0 */ [optional, property] boolean Hidden; /** Grab bag of style properties, used as a string-any map for interim interop purposes. @since LibreOffice 4.2

This property is intentionally not handled by the ODF filter. Any member that should be handled there should be first moved out from this grab bag to a separate property.

*/ [optional, property] sequence StyleInteropGrabBag; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */