diff options
Diffstat (limited to 'include/sfx2/templatelocalview.hxx')
-rw-r--r-- | include/sfx2/templatelocalview.hxx | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/include/sfx2/templatelocalview.hxx b/include/sfx2/templatelocalview.hxx new file mode 100644 index 000000000000..6cefaf1782c0 --- /dev/null +++ b/include/sfx2/templatelocalview.hxx @@ -0,0 +1,104 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * Copyright 2012 LibreOffice contributors. + * + * 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/. + */ + +#ifndef TEMPLATEFOLDERVIEW_HXX +#define TEMPLATEFOLDERVIEW_HXX + +#include <set> + +#include <sfx2/templateabstractview.hxx> + +class SfxDocumentTemplates; +class TemplateContainerItem; + +namespace com { + namespace sun { namespace star { namespace frame { + class XModel; + } } } +} + +class SFX2_DLLPUBLIC TemplateLocalView : public TemplateAbstractView +{ + typedef bool (*selection_cmp_fn)(const ThumbnailViewItem*,const ThumbnailViewItem*); + +public: + + TemplateLocalView ( Window* pParent, const ResId& rResId, bool bDisableTransientChildren = false ); + + virtual ~TemplateLocalView (); + + // Fill view with template folders thumbnails + virtual void Populate (); + + virtual void reload (); + + virtual void showRootRegion (); + + virtual void showRegion (ThumbnailViewItem *pItem); + + void showRegion (const OUString &rName); + + sal_uInt16 getCurRegionItemId () const; + + sal_uInt16 getRegionId (size_t pos) const; + + OUString getRegionName(const sal_uInt16 nRegionId) const; + + OUString getRegionItemName(const sal_uInt16 nItemId) const; + + std::vector<OUString> getFolderNames (); + + std::vector<TemplateItemProperties> + getFilteredItems (const boost::function<bool (const TemplateItemProperties&) > &rFunc) const; + + virtual sal_uInt16 createRegion (const OUString &rName); + + virtual bool isNestedRegionAllowed () const; + + virtual bool isImportAllowed () const; + + bool removeRegion (const sal_uInt16 nItemId); + + bool removeTemplate (const sal_uInt16 nItemId, const sal_uInt16 nSrcItemId); + + bool moveTemplate (const ThumbnailViewItem* pItem, const sal_uInt16 nSrcItem, + const sal_uInt16 nTargetItem); + + bool moveTemplates (const std::set<const ThumbnailViewItem*,selection_cmp_fn> &rItems, const sal_uInt16 nTargetItem); + + bool copyFrom (const sal_uInt16 nRegionItemId, const BitmapEx &rThumbnail, const OUString &rPath); + + // Import a template to the current region + bool copyFrom (const OUString &rPath); + + bool copyFrom(TemplateContainerItem *pItem, const OUString &rPath); + + bool exportTo (const sal_uInt16 nItemId, const sal_uInt16 nRegionItemId, const OUString &rName); + + bool saveTemplateAs (sal_uInt16 nItemId, + com::sun::star::uno::Reference<com::sun::star::frame::XModel> &rModel, + const OUString &rName); + + bool saveTemplateAs (TemplateContainerItem *pDstItem, + com::sun::star::uno::Reference<com::sun::star::frame::XModel> &rModel, + const OUString &rName); + + bool isTemplateNameUnique (const sal_uInt16 nRegionItemId, const OUString &rName) const; + + virtual bool renameItem(ThumbnailViewItem* pItem, OUString sNewTitle); + +private: + + SfxDocumentTemplates *mpDocTemplates; + std::vector<TemplateContainerItem* > maRegions; +}; + +#endif // TEMPLATEFOLDERVIEW_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |