diff options
Diffstat (limited to 'svx/inc/svx/gallery.hxx')
-rw-r--r-- | svx/inc/svx/gallery.hxx | 283 |
1 files changed, 283 insertions, 0 deletions
diff --git a/svx/inc/svx/gallery.hxx b/svx/inc/svx/gallery.hxx new file mode 100644 index 0000000000..27fd7eeca6 --- /dev/null +++ b/svx/inc/svx/gallery.hxx @@ -0,0 +1,283 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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_DUMMY5 36 + +#define GALLERY_THEME_FONTWORK 37 +#define GALLERY_THEME_FONTWORK_VERTICAL 38 + +#define GALLERY_THEME_SHAPES_POLYGONS 39 +#define GALLERY_THEME_SHAPES_1 40 +#define GALLERY_THEME_SHAPES_2 41 +#define GALLERY_THEME_ANIMALS 42 +#define GALLERY_THEME_CARS 43 +#define GALLERY_THEME_BUGS 44 +#define GALLERY_THEME_CISCO_OTHER 45 +#define GALLERY_THEME_CISCO_MEDIA 46 +#define GALLERY_THEME_CISCO_PRODUCTS 47 +#define GALLERY_THEME_CISCO_WAN_LAN 48 +#define GALLERY_THEME_DOMINO_USUAL 49 +#define GALLERY_THEME_DOMINO_NUMBERED 50 +#define GALLERY_THEME_ELECTRONICS_PARTS_1 51 +#define GALLERY_THEME_ELECTRONICS_PARTS_2 52 +#define GALLERY_THEME_ELECTRONICS_PARTS_3 53 +#define GALLERY_THEME_ELECTRONICS_PARTS_4 54 +#define GALLERY_THEME_ELECTRONICS_CIRCUIT 55 +#define GALLERY_THEME_ELECTRONICS_SIGNS 56 +#define GALLERY_THEME_ELECTRONICS_GAUGES 57 +#define GALLERY_THEME_PEOPLE_1 58 +#define GALLERY_THEME_ARCHITECTURE_OVERLAY 59 +#define GALLERY_THEME_ARCHITECTURE_FURNITURES 60 +#define GALLERY_THEME_ARCHITECTURE_BUILDINGS 61 +#define GALLERY_THEME_ARCHITECTURE_BATHROOM_KITCHEN 62 +#define GALLERY_THEME_ARCHITECTURE_KITCHEN 63 +#define GALLERY_THEME_ARCHITECTURE_WINDOWS_DOORS 64 +#define GALLERY_THEME_FLOWCHARTS_1 65 +#define GALLERY_THEME_FLOWCHARTS_2 66 +#define GALLERY_THEME_FORALSTUDIOA 67 +#define GALLERY_THEME_PHOTOS_FAUNA 68 +#define GALLERY_THEME_PHOTOS_BUILDINGS 69 +#define GALLERY_THEME_PHOTOS_PLANTS 70 +#define GALLERY_THEME_PHOTOS_STATUES 71 +#define GALLERY_THEME_PHOTOS_LANDSCAPES 72 +#define GALLERY_THEME_PHOTOS_CITIES 73 +#define GALLERY_THEME_PHOTOS_FLOWERS 74 +#define GALLERY_THEME_THERAPEUTICS_GENERAL 75 +#define GALLERY_THEME_WEATHER 76 +#define GALLERY_THEME_VECHILES 77 +#define GALLERY_THEME_SIGNS 78 +#define GALLERY_THEME_BLUE_MAN 79 +#define GALLERY_THEME_CHEMISTRY_AMINO_ACIDS 80 +#define GALLERY_THEME_LOGICAL_SIGNS 81 +#define GALLERY_THEME_LOGICAL_GATES 82 +#define GALLERY_THEME_LOGOS 83 +#define GALLERY_THEME_SMILES 84 +#define GALLERY_THEME_ARROWS_1 85 +#define GALLERY_THEME_CLOCK_01_CLOCK 86 +#define GALLERY_THEME_CLOCK_02_CLOCK 87 +#define GALLERY_THEME_CLOCK_03_CLOCK 88 +#define GALLERY_THEME_CLOCK_04_CLOCK 89 +#define GALLERY_THEME_CLOCK_05_CLOCK 90 +#define GALLERY_THEME_CLOCK_06_CLOCK 91 +#define GALLERY_THEME_CLOCK_07_CLOCK 92 +#define GALLERY_THEME_CLOCK_08_CLOCK 93 +#define GALLERY_THEME_CLOCK_09_CLOCK 94 +#define GALLERY_THEME_CLOCK_10_CLOCK 95 +#define GALLERY_THEME_CLOCK_11_CLOCK 96 +#define GALLERY_THEME_CLOCK_12_CLOCK 97 +#define GALLERY_THEME_PNEUMATIC_PARTS 98 +#define GALLERY_THEME_COMPUTER_GENERAL 99 +#define GALLERY_THEME_COMPUTER_NETWORK 100 +#define GALLERY_THEME_COMPUTER_NETWORK_DEVICES 101 +#define GALLERY_THEME_COMPUTER_WIFI 102 +#define GALLERY_THEME_NUMBERS 103 +#define GALLERY_THEME_SIGNS_DANGER 104 +#define GALLERY_THEME_OBJECTS 105 +#define GALLERY_THEME_MAPS_AFRICA 106 +#define GALLERY_THEME_MAPS_UNITED_STATES_OF_AMERICA 107 +#define GALLERY_THEME_MAPS_AUSTRALIA 108 +#define GALLERY_THEME_MAPS_ASIA 109 +#define GALLERY_THEME_MAPS_SOUTH_AMERICA 110 +#define GALLERY_THEME_MAPS_EUROPE 111 +#define GALLERY_THEME_MAPS_EUROPE_1 112 +#define GALLERY_THEME_MAPS_FRANCE 113 +#define GALLERY_THEME_MAPS_FRANCE_COUNTRIES 114 +#define GALLERY_THEME_MAPS_SIGNS 115 +#define GALLERY_THEME_MAPS_CANADA 116 +#define GALLERY_THEME_MAPS_CONTINENTS 117 +#define GALLERY_THEME_MAPS_MIDDLE_EAST 118 +#define GALLERY_THEME_MAPS_MIDDLE_AMERICA 119 +#define GALLERY_THEME_MAPS_MIDDLE_AGES 120 +#define GALLERY_THEME_MAPS_MEXICO 121 +#define GALLERY_THEME_MAPS_ANCIENT_TIMES 122 +#define GALLERY_THEME_MAPS_SYMBOLS 123 +#define GALLERY_THEME_MAPS_HISTORY_1900 124 +#define GALLERY_THEME_MAPS_WORLD 125 +#define GALLERY_THEME_CROPS 126 +#define GALLERY_THEME_FRACTIONS 127 +#define GALLERY_THEME_FLAGS_1 128 +#define GALLERY_THEME_MUSIC_INSTRUMENTS 129 +#define GALLERY_THEME_MUSIC_SHEET_MUSIC 130 +#define GALLERY_THEME_SPECIAL_PICTOGRAMM 131 +#define GALLERY_THEME_PHOTOS_CELEBRATION 132 +#define GALLERY_THEME_PHOTOS_FOODSANDDRINKS 133 +#define GALLERY_THEME_PHOTOS_HUMANS 134 +#define GALLERY_THEME_PHOTOS_OBJECTS 135 +#define GALLERY_THEME_PHOTOS_SPACE 136 +#define GALLERY_THEME_PHOTOS_TRAVEL 137 +#define GALLERY_THEME_OPENOFFICEORG_LOGOS 138 +#define GALLERY_THEME_RELIGION 139 +#define GALLERY_THEME_BUILDINGS 140 +#define GALLERY_THEME_HOMEPAGE2 141 +#define GALLERY_THEME_ELEMENTSBULLETS2 142 + +// ------------------- +// - 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_ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |