office-gobmx/svx/inc/gallery.hxx
Rüdiger Timm e3188d8571 INTEGRATION: CWS changefileheader (1.10.354); FILE MERGED
2008/04/01 15:49:15 thb 1.10.354.3: #i85898# Stripping all external header guards
2008/04/01 12:46:20 thb 1.10.354.2: #i85898# Stripping all external header guards
2008/03/31 14:17:55 rt 1.10.354.1: #i87441# Change license header to LPGL v3.
2008-04-10 17:36:37 +00:00

177 lines
6.9 KiB
C++

/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2008 by Sun Microsystems, Inc.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: gallery.hxx,v $
* $Revision: 1.11 $
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef _GALLERY_HXX_
#define _GALLERY_HXX_
#include <tools/solar.h>
#include <tools/string.hxx>
#include <tools/urlobj.hxx>
#include <vector>
#include "svx/svxdllapi.h"
// -----------
// - Defines -
// -----------
#define SGA_FORMAT_NONE 0x00000000L
#define SGA_FORMAT_STRING 0x00000001L
#define SGA_FORMAT_GRAPHIC 0x00000010L
#define SGA_FORMAT_SOUND 0x00000100L
#define SGA_FORMAT_OLE 0x00001000L
#define SGA_FORMAT_SVDRAW 0x00010000L
#define SGA_FORMAT_ALL 0xFFFFFFFFL
#define SVX_GALLERY() (GalleryExplorer::GetGallery())
// Defines for preinstalled themes
#define GALLERY_THEME_3D 1
#define GALLERY_THEME_ANIMATIONS 2
#define GALLERY_THEME_BULLETS 3
#define GALLERY_THEME_OFFICE 4
#define GALLERY_THEME_FLAGS 5
#define GALLERY_THEME_FLOWCHARTS 6
#define GALLERY_THEME_EMOTICONS 7
#define GALLERY_THEME_PHOTOS 8
#define GALLERY_THEME_BACKGROUNDS 9
#define GALLERY_THEME_HOMEPAGE 10
#define GALLERY_THEME_INTERACTION 11
#define GALLERY_THEME_MAPS 12
#define GALLERY_THEME_PEOPLE 13
#define GALLERY_THEME_SURFACES 14
#define GALLERY_THEME_HTMLBUTTONS 15
#define GALLERY_THEME_POWERPOINT 16
#define GALLERY_THEME_RULERS 17
#define GALLERY_THEME_SOUNDS 18
#define GALLERY_THEME_SYMBOLS 19
#define GALLERY_THEME_MYTHEME 20
#define GALLERY_THEME_USERSOUNDS 21
#define GALLERY_THEME_ARROWS 22
#define GALLERY_THEME_BALLOONS 23
#define GALLERY_THEME_KEYBOARD 24
#define GALLERY_THEME_TIME 25
#define GALLERY_THEME_PRESENTATION 26
#define GALLERY_THEME_CALENDAR 27
#define GALLERY_THEME_NAVIGATION 28
#define GALLERY_THEME_COMMUNICATION 29
#define GALLERY_THEME_FINANCES 30
#define GALLERY_THEME_COMPUTER 31
#define GALLERY_THEME_CLIMA 32
#define GALLERY_THEME_EDUCATION 33
#define GALLERY_THEME_TROUBLE 34
#define GALLERY_THEME_SCREENBEANS 35
#define GALLERY_THEME_FONTWORK 36
#define GALLERY_THEME_FONTWORK_VERTICAL 37
#define GALLERY_THEME_DUMMY5 38
// -------------------
// - GalleryExplorer -
// -------------------
class List;
class Gallery;
class VCDrawModel;
class FmFormModel;
class SdrModel;
class Graphic;
class FmFormModel;
class Bitmap;
class OutputDevice;
class SVX_DLLPUBLIC GalleryExplorer
{
private:
SVX_DLLPRIVATE static Gallery* ImplGetGallery();
public:
static GalleryExplorer* GetGallery();
public:
INetURLObject GetURL() const;
String GetFilterName() const;
Graphic GetGraphic() const;
BOOL GetVCDrawModel( FmFormModel& rModel ) const;
BOOL IsLinkage() const;
static BOOL FillThemeList( List& rThemeList );
// FillObjList is filling rObjList with Strings of the internal Gallery Object URL
static BOOL FillObjList( const String& rThemeName, List& rObjList );
static BOOL FillObjList( ULONG nThemeId, List& rObjList );
// FillObjTitleList is filling the rList with the title for each gallery object
static sal_Bool FillObjListTitle( const sal_uInt32 nThemeId, std::vector< rtl::OUString >& rList );
static BOOL InsertURL( const String& rThemeName, const String& rURL );
static BOOL InsertURL( ULONG nThemeId, const String& rURL );
static BOOL InsertURL( const String& rThemeName, const String& rURL,
const ULONG nSgaFormat /* = SGA_FORMAT_ALL */ );
static BOOL InsertURL( ULONG nThemeId, const String& rURL,
const ULONG nSgaFormat /* = SGA_FORMAT_ALL */ );
static ULONG GetObjCount( const String& rThemeName );
static ULONG GetObjCount( ULONG nThemeId );
static BOOL GetGraphicObj( const String& rThemeName, ULONG nPos,
Graphic* pGraphic = NULL, Bitmap* pThumb = NULL,
BOOL bProgess = FALSE );
static BOOL GetGraphicObj( ULONG nThemeId, ULONG nPos,
Graphic* pGraphic = NULL, Bitmap* pThumb = NULL,
BOOL bProgess = FALSE );
static BOOL InsertGraphicObj( const String& rThemeName, const Graphic& rGraphic );
static BOOL InsertGraphicObj( ULONG nThemeId, const Graphic& rGraphic );
static ULONG GetSdrObjCount( const String& rThemeName );
static ULONG GetSdrObjCount( ULONG nThemeId );
static BOOL GetSdrObj( const String& rThemeName, ULONG nSdrModelPos,
SdrModel* pModel = NULL, Bitmap* pThumb = NULL );
static BOOL GetSdrObj( ULONG nThemeId, ULONG nSdrModelPos,
SdrModel* pModel = NULL, Bitmap* pThumb = NULL );
static BOOL InsertSdrObj( const String& rThemeName, FmFormModel& rModel );
static BOOL InsertSdrObj( ULONG nThemeId, FmFormModel& rModel );
static BOOL BeginLocking( const String& rThemeName );
static BOOL BeginLocking( ULONG nThemeId );
static BOOL EndLocking( const String& rThemeName );
static BOOL EndLocking( ULONG nThemeId );
static BOOL DrawCentered( OutputDevice* pOut, const FmFormModel& rModel );
};
#endif // _GALLERY_HXX_