office-gobmx/svx/inc/gallery.hxx
Rüdiger Timm e33b9eec3b INTEGRATION: CWS oj14 (1.9.20); FILE MERGED
2006/11/07 18:53:00 oj 1.9.20.1: change FmFrameModel to SdrModel
2007-07-06 06:28:12 +00:00

191 lines
7.2 KiB
C++

/*************************************************************************
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: gallery.hxx,v $
*
* $Revision: 1.10 $
*
* last change: $Author: rt $ $Date: 2007-07-06 07:28:12 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
*
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2005 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library 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 for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
************************************************************************/
#ifndef _GALLERY_HXX_
#define _GALLERY_HXX_
#ifndef _SOLAR_H
#include <tools/solar.h>
#endif
#ifndef _STRING_HXX
#include <tools/string.hxx>
#endif
#ifndef _URLOBJ_HXX
#include <tools/urlobj.hxx>
#endif
#include <vector>
#ifndef INCLUDED_SVXDLLAPI_H
#include "svx/svxdllapi.h"
#endif
// -----------
// - 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_