1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
/* -*- 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 _SFXDOCTEMPL_HXX
#define _SFXDOCTEMPL_HXX
#include <bf_svtools/bf_solar.h>
#include <tools/ref.hxx>
#include <bf_tools/string.hxx>
namespace binfilter {
// CLASS -----------------------------------------------------------------
class SfxObjectShell;
#ifndef SFX_DECL_OBJECTSHELL_DEFINED
#define SFX_DECL_OBJECTSHELL_DEFINED
SV_DECL_REF(SfxObjectShell)
SV_DECL_LOCK(SfxObjectShell)
#endif
class SfxDocTemplate_Impl;
#ifndef SFX_DECL_DOCTEMPLATES_DEFINED
#define SFX_DECL_DOCTEMPLATES_DEFINED
SV_DECL_REF(SfxDocTemplate_Impl)
#endif
// class SfxDocumentTemplates --------------------------------------------
class SfxDocumentTemplates
{
private:
SfxDocTemplate_ImplRef pImp;
public:
SfxDocumentTemplates();
SfxDocumentTemplates(const SfxDocumentTemplates &);
~SfxDocumentTemplates();
BOOL IsConstructed() { return pImp != NULL; }
void Construct();
static BOOL SaveDir( /*SfxTemplateDir &rEntry */ ) ;
const SfxDocumentTemplates &operator=(const SfxDocumentTemplates &);
BOOL IsRegionLoaded( USHORT nIdx ) const;
USHORT GetRegionCount() const;
const String& GetRegionName(USHORT nIdx) const; //dv!
String GetFullRegionName(USHORT nIdx) const;
USHORT GetRegionNo( const String &rRegionName ) const;
USHORT GetCount(USHORT nRegion) const;
USHORT GetCount( const String &rName) const;
const String& GetName(USHORT nRegion, USHORT nIdx) const; //dv!
String GetFileName(USHORT nRegion, USHORT nIdx) const;
String GetPath(USHORT nRegion, USHORT nIdx) const;
String GetDefaultTemplatePath(const String &rLongName);
// Pfad zur Vorlage geben lassen; logischer Name muss angegeben
// werden, damit beim Ueberschreiben einer Vorlage der
// richtige Dateiname gefunden werden kann
String GetTemplatePath(USHORT nRegion, const String &rLongName) const;
// Speichern als Vorlage hat geklappt -> Aktualisieren
void NewTemplate(USHORT nRegion,
const String &rLongName,
const String &rFileName);
BOOL GetLogicNames( const String& rPath, String& rRegion, String& rName ) const;
/** updates the configuration where the document templates structure is stored.
<p>The info about the document templates (which files, which groups etc.) is stored in the
configuration. This means that just by copying files into OOo's template directories, this
change is not reflected in the SfxDocumentTemplates - 'cause the configuration is not synchronous with
the file system. This can be enforced with this method.</p>
@param _bSmart
The update of the configuration is rather expensive - nothing you want to do regulary if you don't really
need it. So you have the possibility to do a smart update - it first checks if the update if necessary.
In case the update is needed, the additional check made it somewhat more expensive. In case it's not
necessary (which should be the usual case), the check alone is (much) less expensive than the real update.
<br/>
So set <arg>_bSmart</arg> to <TRUE/> to do a check for necessity first.
*/
};
}//end of namespace binfilter
#endif // #ifndef _SFXDOCTEMPL_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|