Difference between revisions of "Documentation/BASIC Guide/Templates"

From Apache OpenOffice Wiki
Jump to: navigation, search
(FINAL VERSION FOR L10N)
m
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:Templates}}
+
{{DISPLAYTITLE:Styles and Templates}}
 
{{Documentation/BASICGuideTOC/v2
 
{{Documentation/BASICGuideTOC/v2
 
|ShowPrevNext=block
 
|ShowPrevNext=block
Line 7: Line 7:
 
|docs=block
 
|docs=block
 
}}
 
}}
+
__NOTOC__
Templates are named lists containing formatting attributes. They move through all applications of {{OOo}} and help to significantly simplify formatting. If the user changes one of the attributes of a template, then {{OOo}} automatically adjusts all document sections depending on the attribute. The user can therefore, for example, change the font type of all level one headers by means of a central modification in the document. Depending on the relevant document types, {{OOo}} recognizes a whole range of different types of template.  
+
==Styles==
 +
Styles are named lists containing formatting attributes. They work in all applications of {{OOo}} and help to significantly simplify formatting. If the user changes one of the attributes of a style, then {{OOo}} automatically adjusts all document sections depending on the attribute. The user can therefore, for example, change the font type of all level one headers by means of a central modification in the document.  
 +
=== Style Types ===
 +
Depending on the relevant document types, {{OOo}} recognizes a whole range of different types of styles.  
  
{{OOo}} Writer supports the following templates:
+
{{OOo}} Writer supports the following types of styles:
  
* Character templates
+
* Character styles
* Paragraph templates
+
* Paragraph styles
* Frame templates
+
* Frame styles
* Page templates
+
* Page styles
* Numbering templates
+
* Numbering styles
  
{{OOo}} Calc supports the following templates:
+
{{OOo}} Calc supports the following types of styles:
  
* Cell template
+
* Cell styles
* Page templates
+
* Page styles
  
{{OOo}} Impress supports the following templates:
+
{{OOo}} Impress supports the following types of styles:
  
* Character element templates
+
* Character element styles
* Presentation templates
+
* Presentation styles
  
In {{OOo}} terminology, the different types of templates are called <tt>StyleFamilies</tt> in accordance with the <idl>com.sun.star.style.StyleFamily</idl> service on which they are based. The <tt>StyleFamilies</tt> are accessed by means of the document object:
+
In {{OOo}} terminology, the different types of styles are called <tt>StyleFamilies</tt> in accordance with the <idl>com.sun.star.style.StyleFamily</idl> service on which they are based. The <tt>StyleFamilies</tt> are accessed by means of the document object:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 36: Line 39:
 
Dim CellStyles As Object
 
Dim CellStyles As Object
  
Doc = StarDesktop.CurrentComponent
+
Doc = ThisComponent
 
StyleFamilies = Doc.StyleFamilies
 
StyleFamilies = Doc.StyleFamilies
 
CellStyles = StyleFamilies.getByName("CellStyles")
 
CellStyles = StyleFamilies.getByName("CellStyles")
 
</source>
 
</source>
  
The example uses the <tt>StyleFamilies</tt> property of a spreadsheet document to establish a list containing all available cell templates.  
+
The example uses the <tt>StyleFamilies</tt> property of a spreadsheet document to establish a list containing all available cell styles.  
  
The individual templates can be accessed directly by means of an index:  
+
The individual styles can be accessed directly by means of an index:  
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 53: Line 56:
 
Dim I As Integer
 
Dim I As Integer
  
Doc = StarDesktop.CurrentComponent
+
Doc = ThisComponent
 
StyleFamilies = Doc.StyleFamilies
 
StyleFamilies = Doc.StyleFamilies
 
CellStyles = StyleFamilies.getByName("CellStyles")
 
CellStyles = StyleFamilies.getByName("CellStyles")
Line 63: Line 66:
 
</source>
 
</source>
  
The loop added since the previous example displays the names of all cell templates one after another in a message box.
+
The loop added since the previous example displays the names of all cell styles one after another in a message box.
 +
{{Note|The reference <tt>CellStyles(I)</tt> corresponds to the method <tt>getByIndex()</tt>, which is optional for these style container objects. It may not be available in all types of documents.
 +
The method <tt>getByName()</tt> is mandatory, and should always be available.}}
 +
=== Details about various formatting options ===
  
== Details about various formatting options ==
+
Each type of style provides a whole range of individual formatting properties. Here is an overview of the most important formatting properties and the points at which they are explained:
 
+
Each type of template provides a whole range of individual formatting properties. Here is an overview of the most important formatting properties and the points at which they are explained:
+
  
 
* [[Documentation/BASIC Guide/Structure of Text Documents#Character Properties|Character properties]], <idl>com.sun.star.style.CharacterProperties</idl> service
 
* [[Documentation/BASIC Guide/Structure of Text Documents#Character Properties|Character properties]], <idl>com.sun.star.style.CharacterProperties</idl> service
Line 77: Line 81:
 
The format properties are by no means restricted to the applications in which these are explained, but instead can be used universally. For example, most of the page properties described in [[Documentation/BASIC Guide/Spreadsheets|Spreadsheets]] can therefore be used not only in {{OOo}} Calc, but also in {{OOo}} Writer.
 
The format properties are by no means restricted to the applications in which these are explained, but instead can be used universally. For example, most of the page properties described in [[Documentation/BASIC Guide/Spreadsheets|Spreadsheets]] can therefore be used not only in {{OOo}} Calc, but also in {{OOo}} Writer.
  
More information about working with templates can be found in the '''Default values for character and paragraph properties''' section in [[Documentation/BASIC Guide/Text Documents|Text Documents]].
+
More information about working with styles can be found in the [[Documentation/BASIC_Guide/Structure_of_Text_Documents#Default values for character and paragraph properties|'''Default values for character and paragraph properties''']] section in [[Documentation/BASIC Guide/Text Documents|Text Documents]].
 +
 
 +
==Templates==
 +
Templates are auxiliary documents. They provide a very convenient way to store, maintain, and distribute styles, macros, boiler-plate text, and other useful things.
 +
===Document and Template Types===
 +
Each major type of {{OOo}} document has its own associated template type. In general, and for styles in particular, you can access information within a template in the same way you would access the same information in the associated document type. In other words, code (like the above examples) that works in a particular document type should also work for the associated template type.
 +
===Automatic Update===
 +
Most template types – Draw templates are the exception – have an automatic-update feature. If a style in the template has been changed, and you open a document created with that template, you will see a message asking whether to update the styles in the document. If you click on '''Yes''', the new or changed styles will be copied into the document. Styles deleted from the template are not removed from documents.
 +
 
 +
A problem may arise if you click on '''No''': the styles will not be updated, and the automatic-update feature will be turned off. As of {{OOo}} Version 3.1, this status does not show in the GUI, nor is there any GUI way to re-enable the feature. (For Writer documents only, you can use the [http://extensions.services.openoffice.org/project/templatechanger Template Changer extension] to set this feature again.)
 +
 
 +
The following subroutine, adapted from the Template Changer extension, will re-enable the update feature for all document types.
 +
<source lang="oobas">
 +
Sub FixUpdate
 +
  Dim oDocSettings as Object
 +
  oDocSettings = ThisComponent.createInstance( "com.sun.star.document.Settings" )
 +
  oDocSettings.UpdateFromTemplate = True
 +
End Sub 'FixUpdate
 +
</source>
  
 +
{{InterWiki Languages BasicGuide|articletitle=Documentation/BASIC Guide/Templates}}
 
{{PDL1}}
 
{{PDL1}}
 +
[[nl:NL/Documentation/BASIC_Guide/Templates]]

Revision as of 17:45, 25 December 2019


Styles

Styles are named lists containing formatting attributes. They work in all applications of Apache OpenOffice and help to significantly simplify formatting. If the user changes one of the attributes of a style, then Apache OpenOffice automatically adjusts all document sections depending on the attribute. The user can therefore, for example, change the font type of all level one headers by means of a central modification in the document.

Style Types

Depending on the relevant document types, Apache OpenOffice recognizes a whole range of different types of styles.

Apache OpenOffice Writer supports the following types of styles:

  • Character styles
  • Paragraph styles
  • Frame styles
  • Page styles
  • Numbering styles

Apache OpenOffice Calc supports the following types of styles:

  • Cell styles
  • Page styles

Apache OpenOffice Impress supports the following types of styles:

  • Character element styles
  • Presentation styles

In Apache OpenOffice terminology, the different types of styles are called StyleFamilies in accordance with the com.sun.star.style.StyleFamily service on which they are based. The StyleFamilies are accessed by means of the document object:

Dim Doc As Object
Dim Sheet As Object 
Dim StyleFamilies As Object 
Dim CellStyles As Object
 
Doc = ThisComponent
StyleFamilies = Doc.StyleFamilies
CellStyles = StyleFamilies.getByName("CellStyles")

The example uses the StyleFamilies property of a spreadsheet document to establish a list containing all available cell styles.

The individual styles can be accessed directly by means of an index:

Dim Doc As Object
Dim Sheet As Object
Dim StyleFamilies As Object 
Dim CellStyles As Object
Dim CellStyle As Object
Dim I As Integer
 
Doc = ThisComponent
StyleFamilies = Doc.StyleFamilies
CellStyles = StyleFamilies.getByName("CellStyles")
 
For I = 0 To CellStyles.Count - 1
  CellStyle = CellStyles(I)
  MsgBox CellStyle.Name
Next I

The loop added since the previous example displays the names of all cell styles one after another in a message box.

Documentation note.png The reference CellStyles(I) corresponds to the method getByIndex(), which is optional for these style container objects. It may not be available in all types of documents.

The method getByName() is mandatory, and should always be available.

Details about various formatting options

Each type of style provides a whole range of individual formatting properties. Here is an overview of the most important formatting properties and the points at which they are explained:

The format properties are by no means restricted to the applications in which these are explained, but instead can be used universally. For example, most of the page properties described in Spreadsheets can therefore be used not only in Apache OpenOffice Calc, but also in Apache OpenOffice Writer.

More information about working with styles can be found in the Default values for character and paragraph properties section in Text Documents.

Templates

Templates are auxiliary documents. They provide a very convenient way to store, maintain, and distribute styles, macros, boiler-plate text, and other useful things.

Document and Template Types

Each major type of Apache OpenOffice document has its own associated template type. In general, and for styles in particular, you can access information within a template in the same way you would access the same information in the associated document type. In other words, code (like the above examples) that works in a particular document type should also work for the associated template type.

Automatic Update

Most template types – Draw templates are the exception – have an automatic-update feature. If a style in the template has been changed, and you open a document created with that template, you will see a message asking whether to update the styles in the document. If you click on Yes, the new or changed styles will be copied into the document. Styles deleted from the template are not removed from documents.

A problem may arise if you click on No: the styles will not be updated, and the automatic-update feature will be turned off. As of Apache OpenOffice Version 3.1, this status does not show in the GUI, nor is there any GUI way to re-enable the feature. (For Writer documents only, you can use the Template Changer extension to set this feature again.)

The following subroutine, adapted from the Template Changer extension, will re-enable the update feature for all document types.

Sub FixUpdate
  Dim oDocSettings as Object
  oDocSettings = ThisComponent.createInstance( "com.sun.star.document.Settings" )
  oDocSettings.UpdateFromTemplate = True
End Sub 'FixUpdate


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools