1efeef26fSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3efeef26fSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4efeef26fSAndrew Rist * or more contributor license agreements. See the NOTICE file 5efeef26fSAndrew Rist * distributed with this work for additional information 6efeef26fSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7efeef26fSAndrew Rist * to you under the Apache License, Version 2.0 (the 8efeef26fSAndrew Rist * "License"); you may not use this file except in compliance 9efeef26fSAndrew Rist * with the License. You may obtain a copy of the License at 10efeef26fSAndrew Rist * 11efeef26fSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12efeef26fSAndrew Rist * 13efeef26fSAndrew Rist * Unless required by applicable law or agreed to in writing, 14efeef26fSAndrew Rist * software distributed under the License is distributed on an 15efeef26fSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16efeef26fSAndrew Rist * KIND, either express or implied. See the License for the 17efeef26fSAndrew Rist * specific language governing permissions and limitations 18efeef26fSAndrew Rist * under the License. 19efeef26fSAndrew Rist * 20efeef26fSAndrew Rist *************************************************************/ 21efeef26fSAndrew Rist 22efeef26fSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 25cdf0e10cSrcweir #include "precompiled_sw.hxx" 26cdf0e10cSrcweir 27cdf0e10cSrcweir 28cdf0e10cSrcweir #include <swtypes.hxx> 29cdf0e10cSrcweir #include <tools/debug.hxx> 30cdf0e10cSrcweir #include <unomod.hxx> 31cdf0e10cSrcweir #include <unomid.h> 32cdf0e10cSrcweir #include <unoprnms.hxx> 33cdf0e10cSrcweir #include <unomap.hxx> 34cdf0e10cSrcweir #include <prtopt.hxx> 35cdf0e10cSrcweir #include <tools/shl.hxx> 36cdf0e10cSrcweir #include <swmodule.hxx> 37cdf0e10cSrcweir #include <view.hxx> 38cdf0e10cSrcweir #include <docsh.hxx> 39cdf0e10cSrcweir #include <wrtsh.hxx> 40cdf0e10cSrcweir #include <viewopt.hxx> 41cdf0e10cSrcweir #include <vos/mutex.hxx> 42cdf0e10cSrcweir #include <vcl/svapp.hxx> 43cdf0e10cSrcweir #include <com/sun/star/text/NotePrintMode.hpp> 44cdf0e10cSrcweir #include <doc.hxx> 45cdf0e10cSrcweir #include <comphelper/TypeGeneration.hxx> 46cdf0e10cSrcweir #include <com/sun/star/beans/PropertyAttribute.hpp> 47cdf0e10cSrcweir #include <com/sun/star/view/DocumentZoomType.hpp> 48cdf0e10cSrcweir #include <comphelper/ChainablePropertySetInfo.hxx> 49cdf0e10cSrcweir #include <edtwin.hxx> 50cdf0e10cSrcweir #include <rtl/ustrbuf.hxx> 51cdf0e10cSrcweir #include <tools/urlobj.hxx> 52cdf0e10cSrcweir 53cdf0e10cSrcweir using namespace ::com::sun::star; 54cdf0e10cSrcweir using namespace ::com::sun::star::uno; 55cdf0e10cSrcweir using namespace ::com::sun::star::beans; 56cdf0e10cSrcweir using namespace ::com::sun::star::lang; 57cdf0e10cSrcweir using namespace ::comphelper; 58cdf0e10cSrcweir using ::rtl::OUString; 59cdf0e10cSrcweir using ::rtl::OUStringBuffer; 60cdf0e10cSrcweir 61cdf0e10cSrcweir enum SwViewSettingsPropertyHandles 62cdf0e10cSrcweir { 63cdf0e10cSrcweir HANDLE_VIEWSET_ANNOTATIONS, 64cdf0e10cSrcweir HANDLE_VIEWSET_BREAKS, 65cdf0e10cSrcweir HANDLE_VIEWSET_DRAWINGS, 66cdf0e10cSrcweir HANDLE_VIEWSET_FIELD_COMMANDS, 67cdf0e10cSrcweir HANDLE_VIEWSET_FOOTNOTE_BACKGROUND, 68cdf0e10cSrcweir HANDLE_VIEWSET_GRAPHICS, 69cdf0e10cSrcweir HANDLE_VIEWSET_HIDDEN_CHARACTERS, 70cdf0e10cSrcweir HANDLE_VIEWSET_HIDDEN_PARAGRAPHS, 71cdf0e10cSrcweir HANDLE_VIEWSET_HIDDEN_TEXT, 72cdf0e10cSrcweir HANDLE_VIEWSET_HRULER, 73cdf0e10cSrcweir HANDLE_VIEWSET_HSCROLL, 74cdf0e10cSrcweir HANDLE_VIEWSET_INDEX_MARK_BACKGROUND, 75cdf0e10cSrcweir HANDLE_VIEWSET_NONPRINTING_CHARACTERS, 76cdf0e10cSrcweir HANDLE_VIEWSET_ONLINE_LAYOUT, 77cdf0e10cSrcweir HANDLE_VIEWSET_PARA_BREAKS, 78cdf0e10cSrcweir HANDLE_VIEWSET_PROTECTED_SPACES, 79cdf0e10cSrcweir HANDLE_VIEWSET_SOFT_HYPHENS, 80cdf0e10cSrcweir HANDLE_VIEWSET_SPACES, 81cdf0e10cSrcweir HANDLE_VIEWSET_TABLE_BOUNDARIES, 82cdf0e10cSrcweir HANDLE_VIEWSET_TABLES, 83cdf0e10cSrcweir HANDLE_VIEWSET_TABSTOPS, 84cdf0e10cSrcweir HANDLE_VIEWSET_TEXT_BOUNDARIES, 85cdf0e10cSrcweir HANDLE_VIEWSET_TEXT_FIELD_BACKGROUND, 86cdf0e10cSrcweir HANDLE_VIEWSET_VRULER, 87cdf0e10cSrcweir HANDLE_VIEWSET_VSCROLL, 88cdf0e10cSrcweir HANDLE_VIEWSET_SMOOTH_SCROLLING, 89cdf0e10cSrcweir HANDLE_VIEWSET_SOLID_MARK_HANDLES, 90cdf0e10cSrcweir HANDLE_VIEWSET_ZOOM_TYPE, 91cdf0e10cSrcweir HANDLE_VIEWSET_ZOOM, 92*ef785786SAriel Constenla-Haile HANDLE_VIEWSET_SHOW_CONTENT_TIPS, 93cdf0e10cSrcweir HANDLE_VIEWSET_HELP_URL, 94cdf0e10cSrcweir HANDLE_VIEWSET_VRULER_RIGHT, 95cdf0e10cSrcweir HANDLE_VIEWSET_SHOW_RULER, 96cdf0e10cSrcweir HANDLE_VIEWSET_IS_RASTER_VISIBLE, 97cdf0e10cSrcweir HANDLE_VIEWSET_IS_SNAP_TO_RASTER, 98cdf0e10cSrcweir HANDLE_VIEWSET_RASTER_RESOLUTION_X, 99cdf0e10cSrcweir HANDLE_VIEWSET_RASTER_RESOLUTION_Y, 100cdf0e10cSrcweir HANDLE_VIEWSET_RASTER_SUBDIVISION_X, 101cdf0e10cSrcweir HANDLE_VIEWSET_RASTER_SUBDIVISION_Y, 102cdf0e10cSrcweir HANDLE_VIEWSET_HORI_RULER_METRIC, 103cdf0e10cSrcweir HANDLE_VIEWSET_VERT_RULER_METRIC 104cdf0e10cSrcweir }; 105cdf0e10cSrcweir enum SwPrintSettingsPropertyHandles 106cdf0e10cSrcweir { 107cdf0e10cSrcweir HANDLE_PRINTSET_ANNOTATION_MODE, 108cdf0e10cSrcweir HANDLE_PRINTSET_BLACK_FONTS, 109cdf0e10cSrcweir HANDLE_PRINTSET_CONTROLS, 110cdf0e10cSrcweir HANDLE_PRINTSET_DRAWINGS, 111cdf0e10cSrcweir HANDLE_PRINTSET_GRAPHICS, 112cdf0e10cSrcweir HANDLE_PRINTSET_LEFT_PAGES, 113cdf0e10cSrcweir HANDLE_PRINTSET_PAGE_BACKGROUND, 114cdf0e10cSrcweir HANDLE_PRINTSET_PROSPECT, 115cdf0e10cSrcweir HANDLE_PRINTSET_REVERSED, 116cdf0e10cSrcweir HANDLE_PRINTSET_RIGHT_PAGES, 117cdf0e10cSrcweir HANDLE_PRINTSET_FAX_NAME, 118cdf0e10cSrcweir HANDLE_PRINTSET_PAPER_FROM_SETUP, 119cdf0e10cSrcweir HANDLE_PRINTSET_TABLES, 120cdf0e10cSrcweir HANDLE_PRINTSET_SINGLE_JOBS, 121cdf0e10cSrcweir HANDLE_PRINTSET_EMPTY_PAGES, 122cdf0e10cSrcweir HANDLE_PRINTSET_PROSPECT_RTL, 123cdf0e10cSrcweir HANDLE_PRINTSET_PLACEHOLDER, 124cdf0e10cSrcweir HANDLE_PRINTSET_HIDDEN_TEXT 125cdf0e10cSrcweir }; 126cdf0e10cSrcweir 127cdf0e10cSrcweir static ChainablePropertySetInfo * lcl_createViewSettingsInfo() 128cdf0e10cSrcweir { 129cdf0e10cSrcweir static PropertyInfo aViewSettingsMap_Impl[] = 130cdf0e10cSrcweir { 131cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "HelpURL" ), HANDLE_VIEWSET_HELP_URL , CPPUTYPE_OUSTRING, PROPERTY_NONE, 0}, 132cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "HorizontalRulerMetric"),HANDLE_VIEWSET_HORI_RULER_METRIC , CPPUTYPE_INT32, PROPERTY_NONE, 0}, 133cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "IsRasterVisible"), HANDLE_VIEWSET_IS_RASTER_VISIBLE, CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 134cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "IsSnapToRaster"), HANDLE_VIEWSET_IS_SNAP_TO_RASTER, CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 135cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "IsVertRulerRightAligned"),HANDLE_VIEWSET_VRULER_RIGHT , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 136*ef785786SAriel Constenla-Haile { RTL_CONSTASCII_STRINGPARAM ( "ShowContentTips" ), HANDLE_VIEWSET_SHOW_CONTENT_TIPS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 137cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "RasterResolutionX"), HANDLE_VIEWSET_RASTER_RESOLUTION_X, CPPUTYPE_INT32, PROPERTY_NONE, 0}, 138cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "RasterResolutionY"), HANDLE_VIEWSET_RASTER_RESOLUTION_Y, CPPUTYPE_INT32, PROPERTY_NONE, 0}, 139cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "RasterSubdivisionX"), HANDLE_VIEWSET_RASTER_SUBDIVISION_X, CPPUTYPE_INT32, PROPERTY_NONE, 0}, 140cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "RasterSubdivisionY"), HANDLE_VIEWSET_RASTER_SUBDIVISION_Y, CPPUTYPE_INT32, PROPERTY_NONE, 0}, 141cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowAnnotations" ), HANDLE_VIEWSET_ANNOTATIONS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 142cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowBreaks"), HANDLE_VIEWSET_BREAKS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 143cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowDrawings"), HANDLE_VIEWSET_DRAWINGS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 144cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowFieldCommands"), HANDLE_VIEWSET_FIELD_COMMANDS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 145cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowFootnoteBackground"),HANDLE_VIEWSET_FOOTNOTE_BACKGROUND , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 146cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowGraphics"), HANDLE_VIEWSET_GRAPHICS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 147cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowHiddenCharacters"), HANDLE_VIEWSET_HIDDEN_CHARACTERS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 148cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowHiddenParagraphs"), HANDLE_VIEWSET_HIDDEN_PARAGRAPHS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 149cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowHiddenText"), HANDLE_VIEWSET_HIDDEN_TEXT , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 150cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowHoriRuler"), HANDLE_VIEWSET_HRULER , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 151cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowHoriScrollBar"), HANDLE_VIEWSET_HSCROLL , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 152cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowIndexMarkBackground"),HANDLE_VIEWSET_INDEX_MARK_BACKGROUND, CPPUTYPE_BOOLEAN,PROPERTY_NONE, 0}, 153cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowNonprintingCharacters"),HANDLE_VIEWSET_NONPRINTING_CHARACTERS, CPPUTYPE_BOOLEAN,PROPERTY_NONE, 0}, 154cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowOnlineLayout"), HANDLE_VIEWSET_ONLINE_LAYOUT , CPPUTYPE_BOOLEAN, PropertyAttribute::MAYBEVOID, 0}, 155cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowParaBreaks"), HANDLE_VIEWSET_PARA_BREAKS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 156cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowProtectedSpaces"), HANDLE_VIEWSET_PROTECTED_SPACES , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 157cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowRulers"), HANDLE_VIEWSET_SHOW_RULER , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 158cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowSoftHyphens"), HANDLE_VIEWSET_SOFT_HYPHENS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 159cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowSpaces"), HANDLE_VIEWSET_SPACES , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 160cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowTableBoundaries"), HANDLE_VIEWSET_TABLE_BOUNDARIES , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 161cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowTables"), HANDLE_VIEWSET_TABLES , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 162cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowTabstops"), HANDLE_VIEWSET_TABSTOPS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 163cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowTextBoundaries"), HANDLE_VIEWSET_TEXT_BOUNDARIES , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 164cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowTextFieldBackground"),HANDLE_VIEWSET_TEXT_FIELD_BACKGROUND, CPPUTYPE_BOOLEAN,PROPERTY_NONE, 0}, 165cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowVertRuler"), HANDLE_VIEWSET_VRULER , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 166cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ShowVertScrollBar"), HANDLE_VIEWSET_VSCROLL , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 167cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "SmoothScrolling"), HANDLE_VIEWSET_SMOOTH_SCROLLING , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 168cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "SolidMarkHandles"), HANDLE_VIEWSET_SOLID_MARK_HANDLES , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 169cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "VerticalRulerMetric"), HANDLE_VIEWSET_VERT_RULER_METRIC , CPPUTYPE_INT32, PROPERTY_NONE, 0}, 170cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ZoomType"), HANDLE_VIEWSET_ZOOM_TYPE , CPPUTYPE_INT16, PROPERTY_NONE, 0}, 171cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "ZoomValue"), HANDLE_VIEWSET_ZOOM , CPPUTYPE_INT16, PROPERTY_NONE, 0}, 172cdf0e10cSrcweir { 0, 0, 0, CPPUTYPE_UNKNOWN, 0, 0 } 173cdf0e10cSrcweir }; 174cdf0e10cSrcweir return new ChainablePropertySetInfo ( aViewSettingsMap_Impl ); 175cdf0e10cSrcweir } 176cdf0e10cSrcweir static ChainablePropertySetInfo * lcl_createPrintSettingsInfo() 177cdf0e10cSrcweir { 178cdf0e10cSrcweir static PropertyInfo aPrintSettingsMap_Impl[] = 179cdf0e10cSrcweir { 180cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintAnnotationMode" ), HANDLE_PRINTSET_ANNOTATION_MODE , CPPUTYPE_INT16, PROPERTY_NONE, 0}, 181cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintBlackFonts" ), HANDLE_PRINTSET_BLACK_FONTS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 182cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintControls" ), HANDLE_PRINTSET_CONTROLS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 183cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintDrawings" ), HANDLE_PRINTSET_DRAWINGS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 184cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintGraphics" ), HANDLE_PRINTSET_GRAPHICS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 185cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintHiddenText"), HANDLE_PRINTSET_HIDDEN_TEXT , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 186cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintLeftPages" ), HANDLE_PRINTSET_LEFT_PAGES , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 187cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintPageBackground" ), HANDLE_PRINTSET_PAGE_BACKGROUND , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 188cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintProspect" ), HANDLE_PRINTSET_PROSPECT , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 189cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintProspectRTL" ), HANDLE_PRINTSET_PROSPECT_RTL , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 190cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintReversed" ), HANDLE_PRINTSET_REVERSED , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 191cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintRightPages" ), HANDLE_PRINTSET_RIGHT_PAGES , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 192cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintFaxName" ), HANDLE_PRINTSET_FAX_NAME , CPPUTYPE_OUSTRING, PROPERTY_NONE, 0}, 193cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintPaperFromSetup" ), HANDLE_PRINTSET_PAPER_FROM_SETUP , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 194cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintTables" ), HANDLE_PRINTSET_TABLES , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 195cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintTextPlaceholder"), HANDLE_PRINTSET_PLACEHOLDER , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 196cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintSingleJobs" ), HANDLE_PRINTSET_SINGLE_JOBS , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 197cdf0e10cSrcweir { RTL_CONSTASCII_STRINGPARAM ( "PrintEmptyPages" ), HANDLE_PRINTSET_EMPTY_PAGES , CPPUTYPE_BOOLEAN, PROPERTY_NONE, 0}, 198cdf0e10cSrcweir { 0, 0, 0, CPPUTYPE_UNKNOWN, 0, 0 } 199cdf0e10cSrcweir }; 200cdf0e10cSrcweir return new ChainablePropertySetInfo ( aPrintSettingsMap_Impl ); 201cdf0e10cSrcweir } 202cdf0e10cSrcweir 203cdf0e10cSrcweir /****************************************************************** 204cdf0e10cSrcweir * SwXModule 205cdf0e10cSrcweir ******************************************************************/ 206cdf0e10cSrcweir /* -----------------30.03.99 15:10------------------- 207cdf0e10cSrcweir * 208cdf0e10cSrcweir * --------------------------------------------------*/ 209cdf0e10cSrcweir Reference< uno::XInterface > SAL_CALL SwXModule_createInstance( 210cdf0e10cSrcweir const Reference< XMultiServiceFactory > & /*rSMgr*/) throw( Exception ) 211cdf0e10cSrcweir { 212cdf0e10cSrcweir static Reference< uno::XInterface > xModule = (cppu::OWeakObject*)new SwXModule();; 213cdf0e10cSrcweir return xModule; 214cdf0e10cSrcweir } 215cdf0e10cSrcweir /* -----------------------------17.04.01 13:11-------------------------------- 216cdf0e10cSrcweir 217cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 218cdf0e10cSrcweir Sequence< OUString > SAL_CALL SwXModule_getSupportedServiceNames() throw() 219cdf0e10cSrcweir { 220cdf0e10cSrcweir OUString sService( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.GlobalSettings")); 221cdf0e10cSrcweir const Sequence< OUString > aSeq( &sService, 1 ); 222cdf0e10cSrcweir return aSeq; 223cdf0e10cSrcweir } 224cdf0e10cSrcweir /* -----------------------------17.04.01 13:11-------------------------------- 225cdf0e10cSrcweir 226cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 227cdf0e10cSrcweir OUString SAL_CALL SwXModule_getImplementationName() throw() 228cdf0e10cSrcweir { 229cdf0e10cSrcweir return OUString( RTL_CONSTASCII_USTRINGPARAM("SwXModule" ) ); 230cdf0e10cSrcweir } 231cdf0e10cSrcweir /*-- 17.12.98 12:19:01--------------------------------------------------- 232cdf0e10cSrcweir 233cdf0e10cSrcweir -----------------------------------------------------------------------*/ 234cdf0e10cSrcweir SwXModule::SwXModule() : 235cdf0e10cSrcweir pxViewSettings(0), 236cdf0e10cSrcweir pxPrintSettings(0) 237cdf0e10cSrcweir { 238cdf0e10cSrcweir } 239cdf0e10cSrcweir /*-- 17.12.98 12:19:02--------------------------------------------------- 240cdf0e10cSrcweir 241cdf0e10cSrcweir -----------------------------------------------------------------------*/ 242cdf0e10cSrcweir SwXModule::~SwXModule() 243cdf0e10cSrcweir { 244cdf0e10cSrcweir delete pxViewSettings; 245cdf0e10cSrcweir delete pxPrintSettings; 246cdf0e10cSrcweir } 247cdf0e10cSrcweir /*-- 17.12.98 12:19:03--------------------------------------------------- 248cdf0e10cSrcweir 249cdf0e10cSrcweir -----------------------------------------------------------------------*/ 250cdf0e10cSrcweir Reference< XPropertySet > SwXModule::getViewSettings(void) throw( uno::RuntimeException ) 251cdf0e10cSrcweir { 252cdf0e10cSrcweir ::vos::OGuard aGuard(Application::GetSolarMutex()); 253cdf0e10cSrcweir if(!pxViewSettings) 254cdf0e10cSrcweir { 255cdf0e10cSrcweir ((SwXModule*)this)->pxViewSettings = new Reference< XPropertySet > ; 256cdf0e10cSrcweir DBG_ERROR("Web oder Text?"); 257cdf0e10cSrcweir *pxViewSettings = static_cast < HelperBaseNoState * > ( new SwXViewSettings( sal_False, 0 ) ); 258cdf0e10cSrcweir } 259cdf0e10cSrcweir return *pxViewSettings; 260cdf0e10cSrcweir } 261cdf0e10cSrcweir /*-- 17.12.98 12:19:03--------------------------------------------------- 262cdf0e10cSrcweir 263cdf0e10cSrcweir -----------------------------------------------------------------------*/ 264cdf0e10cSrcweir Reference< XPropertySet > SwXModule::getPrintSettings(void) throw( uno::RuntimeException ) 265cdf0e10cSrcweir { 266cdf0e10cSrcweir ::vos::OGuard aGuard(Application::GetSolarMutex()); 267cdf0e10cSrcweir if(!pxPrintSettings) 268cdf0e10cSrcweir { 269cdf0e10cSrcweir ((SwXModule*)this)->pxPrintSettings = new Reference< XPropertySet > ; 270cdf0e10cSrcweir DBG_ERROR("Web oder Text?"); 271cdf0e10cSrcweir *pxPrintSettings = static_cast < HelperBaseNoState * > ( new SwXPrintSettings ( PRINT_SETTINGS_MODULE ) ); 272cdf0e10cSrcweir } 273cdf0e10cSrcweir return *pxPrintSettings; 274cdf0e10cSrcweir } 275cdf0e10cSrcweir /* -----------------------------06.04.00 10:59-------------------------------- 276cdf0e10cSrcweir 277cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 278cdf0e10cSrcweir OUString SwXModule::getImplementationName(void) throw( RuntimeException ) 279cdf0e10cSrcweir { 280cdf0e10cSrcweir return SwXModule_getImplementationName(); 281cdf0e10cSrcweir } 282cdf0e10cSrcweir /* -----------------------------06.04.00 10:59-------------------------------- 283cdf0e10cSrcweir 284cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 285cdf0e10cSrcweir sal_Bool SwXModule::supportsService(const OUString& rServiceName) throw( RuntimeException ) 286cdf0e10cSrcweir { 287cdf0e10cSrcweir const Sequence< OUString > aNames = SwXModule_getSupportedServiceNames(); 288cdf0e10cSrcweir for(sal_Int32 nService = 0; nService < aNames.getLength(); nService++) 289cdf0e10cSrcweir { 290cdf0e10cSrcweir if(aNames.getConstArray()[nService] == rServiceName) 291cdf0e10cSrcweir return sal_True; 292cdf0e10cSrcweir } 293cdf0e10cSrcweir return sal_False; 294cdf0e10cSrcweir } 295cdf0e10cSrcweir /* -----------------------------06.04.00 10:59-------------------------------- 296cdf0e10cSrcweir 297cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 298cdf0e10cSrcweir Sequence< OUString > SwXModule::getSupportedServiceNames(void) throw( RuntimeException ) 299cdf0e10cSrcweir { 300cdf0e10cSrcweir return SwXModule_getSupportedServiceNames(); 301cdf0e10cSrcweir } 302cdf0e10cSrcweir 303cdf0e10cSrcweir /****************************************************************** 304cdf0e10cSrcweir * SwXPrintSettings 305cdf0e10cSrcweir ******************************************************************/ 306cdf0e10cSrcweir /*-- 17.12.98 12:54:04--------------------------------------------------- 307cdf0e10cSrcweir 308cdf0e10cSrcweir -----------------------------------------------------------------------*/ 309cdf0e10cSrcweir SwXPrintSettings::SwXPrintSettings(SwXPrintSettingsType eType, SwDoc* pDoc) 310cdf0e10cSrcweir : ChainableHelperNoState ( lcl_createPrintSettingsInfo (), &Application::GetSolarMutex() ) 311cdf0e10cSrcweir , meType(eType) 312cdf0e10cSrcweir , mpPrtOpt ( NULL ) 313cdf0e10cSrcweir , mpDoc ( pDoc ) 314cdf0e10cSrcweir { 315cdf0e10cSrcweir } 316cdf0e10cSrcweir /*-- 17.12.98 12:54:05--------------------------------------------------- 317cdf0e10cSrcweir 318cdf0e10cSrcweir -----------------------------------------------------------------------*/ 319cdf0e10cSrcweir SwXPrintSettings::~SwXPrintSettings() 320cdf0e10cSrcweir throw() 321cdf0e10cSrcweir { 322cdf0e10cSrcweir } 323cdf0e10cSrcweir 324cdf0e10cSrcweir void SwXPrintSettings::_preSetValues () 325cdf0e10cSrcweir throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException ) 326cdf0e10cSrcweir { 327cdf0e10cSrcweir switch (meType) 328cdf0e10cSrcweir { 329cdf0e10cSrcweir case PRINT_SETTINGS_MODULE: 330cdf0e10cSrcweir mpPrtOpt = SW_MOD()->GetPrtOptions( sal_False ); 331cdf0e10cSrcweir break; 332cdf0e10cSrcweir case PRINT_SETTINGS_WEB: 333cdf0e10cSrcweir mpPrtOpt = SW_MOD()->GetPrtOptions( sal_True ); 334cdf0e10cSrcweir break; 335cdf0e10cSrcweir case PRINT_SETTINGS_DOCUMENT: 336cdf0e10cSrcweir { 337cdf0e10cSrcweir if (!mpDoc) 338cdf0e10cSrcweir throw IllegalArgumentException (); 339cdf0e10cSrcweir mpPrtOpt = const_cast< SwPrintData * >(&mpDoc->getPrintData()); 340cdf0e10cSrcweir } 341cdf0e10cSrcweir break; 342cdf0e10cSrcweir } 343cdf0e10cSrcweir } 344cdf0e10cSrcweir 345cdf0e10cSrcweir void SwXPrintSettings::_setSingleValue( const comphelper::PropertyInfo & rInfo, const uno::Any &rValue ) 346cdf0e10cSrcweir throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException ) 347cdf0e10cSrcweir { 348cdf0e10cSrcweir sal_Bool bVal; 349cdf0e10cSrcweir if ( rInfo.mnHandle != HANDLE_PRINTSET_ANNOTATION_MODE && 350cdf0e10cSrcweir rInfo.mnHandle != HANDLE_PRINTSET_FAX_NAME ) 351cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 352cdf0e10cSrcweir 353cdf0e10cSrcweir switch( rInfo.mnHandle ) 354cdf0e10cSrcweir { 355cdf0e10cSrcweir case HANDLE_PRINTSET_LEFT_PAGES: 356cdf0e10cSrcweir { 357cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 358cdf0e10cSrcweir mpPrtOpt->SetPrintLeftPage(bVal); 359cdf0e10cSrcweir } 360cdf0e10cSrcweir break; 361cdf0e10cSrcweir case HANDLE_PRINTSET_RIGHT_PAGES: 362cdf0e10cSrcweir { 363cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 364cdf0e10cSrcweir mpPrtOpt->SetPrintRightPage(bVal); 365cdf0e10cSrcweir } 366cdf0e10cSrcweir break; 367cdf0e10cSrcweir case HANDLE_PRINTSET_REVERSED: 368cdf0e10cSrcweir { 369cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 370cdf0e10cSrcweir mpPrtOpt->SetPrintReverse(bVal); 371cdf0e10cSrcweir } 372cdf0e10cSrcweir break; 373cdf0e10cSrcweir case HANDLE_PRINTSET_PROSPECT: 374cdf0e10cSrcweir { 375cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 376cdf0e10cSrcweir mpPrtOpt->SetPrintProspect(bVal); 377cdf0e10cSrcweir } 378cdf0e10cSrcweir break; 379cdf0e10cSrcweir case HANDLE_PRINTSET_GRAPHICS: 380cdf0e10cSrcweir { 381cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 382cdf0e10cSrcweir mpPrtOpt->SetPrintGraphic(bVal); 383cdf0e10cSrcweir } 384cdf0e10cSrcweir break; 385cdf0e10cSrcweir case HANDLE_PRINTSET_TABLES: 386cdf0e10cSrcweir { 387cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 388cdf0e10cSrcweir mpPrtOpt->SetPrintTable(bVal); 389cdf0e10cSrcweir } 390cdf0e10cSrcweir break; 391cdf0e10cSrcweir case HANDLE_PRINTSET_DRAWINGS: 392cdf0e10cSrcweir { 393cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 394cdf0e10cSrcweir mpPrtOpt->SetPrintDraw(bVal); 395cdf0e10cSrcweir } 396cdf0e10cSrcweir break; 397cdf0e10cSrcweir case HANDLE_PRINTSET_CONTROLS: 398cdf0e10cSrcweir { 399cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 400cdf0e10cSrcweir mpPrtOpt->SetPrintControl(bVal); 401cdf0e10cSrcweir } 402cdf0e10cSrcweir break; 403cdf0e10cSrcweir case HANDLE_PRINTSET_PAGE_BACKGROUND: 404cdf0e10cSrcweir { 405cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 406cdf0e10cSrcweir mpPrtOpt->SetPrintPageBackground(bVal); 407cdf0e10cSrcweir } 408cdf0e10cSrcweir break; 409cdf0e10cSrcweir case HANDLE_PRINTSET_BLACK_FONTS: 410cdf0e10cSrcweir { 411cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 412cdf0e10cSrcweir mpPrtOpt->SetPrintBlackFont(bVal); 413cdf0e10cSrcweir } 414cdf0e10cSrcweir break; 415cdf0e10cSrcweir case HANDLE_PRINTSET_SINGLE_JOBS: 416cdf0e10cSrcweir { 417cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 418cdf0e10cSrcweir mpPrtOpt->SetPrintSingleJobs(bVal); 419cdf0e10cSrcweir } 420cdf0e10cSrcweir break; 421cdf0e10cSrcweir case HANDLE_PRINTSET_PAPER_FROM_SETUP: 422cdf0e10cSrcweir { 423cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 424cdf0e10cSrcweir mpPrtOpt->SetPaperFromSetup(bVal); 425cdf0e10cSrcweir } 426cdf0e10cSrcweir break; 427cdf0e10cSrcweir case HANDLE_PRINTSET_ANNOTATION_MODE: 428cdf0e10cSrcweir { 429cdf0e10cSrcweir sal_Int16 nVal = 0; 430cdf0e10cSrcweir rValue >>= nVal; 431cdf0e10cSrcweir if(nVal <= text::NotePrintMode_PAGE_END) 432cdf0e10cSrcweir mpPrtOpt->SetPrintPostIts(nVal); 433cdf0e10cSrcweir else 434cdf0e10cSrcweir throw lang::IllegalArgumentException(); 435cdf0e10cSrcweir } 436cdf0e10cSrcweir break; 437cdf0e10cSrcweir case HANDLE_PRINTSET_EMPTY_PAGES: 438cdf0e10cSrcweir { 439cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 440cdf0e10cSrcweir mpPrtOpt->SetPrintEmptyPages(bVal); 441cdf0e10cSrcweir } 442cdf0e10cSrcweir break; 443cdf0e10cSrcweir case HANDLE_PRINTSET_FAX_NAME: 444cdf0e10cSrcweir { 445cdf0e10cSrcweir OUString sString; 446cdf0e10cSrcweir if ( rValue >>= sString) 447cdf0e10cSrcweir mpPrtOpt->SetFaxName(sString); 448cdf0e10cSrcweir else 449cdf0e10cSrcweir throw lang::IllegalArgumentException(); 450cdf0e10cSrcweir } 451cdf0e10cSrcweir break; 452cdf0e10cSrcweir case HANDLE_PRINTSET_PROSPECT_RTL: 453cdf0e10cSrcweir { 454cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 455cdf0e10cSrcweir mpPrtOpt->SetPrintProspect_RTL(bVal); 456cdf0e10cSrcweir } 457cdf0e10cSrcweir break; 458cdf0e10cSrcweir case HANDLE_PRINTSET_PLACEHOLDER: 459cdf0e10cSrcweir { 460cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 461cdf0e10cSrcweir mpPrtOpt->SetPrintTextPlaceholder(bVal); 462cdf0e10cSrcweir } 463cdf0e10cSrcweir break; 464cdf0e10cSrcweir case HANDLE_PRINTSET_HIDDEN_TEXT: 465cdf0e10cSrcweir { 466cdf0e10cSrcweir bVal = *(sal_Bool*)rValue.getValue(); 467cdf0e10cSrcweir mpPrtOpt->SetPrintHiddenText(bVal); 468cdf0e10cSrcweir } 469cdf0e10cSrcweir break; 470cdf0e10cSrcweir default: 471cdf0e10cSrcweir throw UnknownPropertyException(); 472cdf0e10cSrcweir } 473cdf0e10cSrcweir } 474cdf0e10cSrcweir void SwXPrintSettings::_postSetValues () 475cdf0e10cSrcweir throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException ) 476cdf0e10cSrcweir { 477cdf0e10cSrcweir mpPrtOpt = NULL; 478cdf0e10cSrcweir } 479cdf0e10cSrcweir 480cdf0e10cSrcweir void SwXPrintSettings::_preGetValues () 481cdf0e10cSrcweir throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException ) 482cdf0e10cSrcweir { 483cdf0e10cSrcweir switch (meType) 484cdf0e10cSrcweir { 485cdf0e10cSrcweir case PRINT_SETTINGS_MODULE: 486cdf0e10cSrcweir mpPrtOpt = SW_MOD()->GetPrtOptions( sal_False ); 487cdf0e10cSrcweir break; 488cdf0e10cSrcweir case PRINT_SETTINGS_WEB: 489cdf0e10cSrcweir mpPrtOpt = SW_MOD()->GetPrtOptions( sal_True ); 490cdf0e10cSrcweir break; 491cdf0e10cSrcweir case PRINT_SETTINGS_DOCUMENT: 492cdf0e10cSrcweir { 493cdf0e10cSrcweir if (!mpDoc) 494cdf0e10cSrcweir throw IllegalArgumentException (); 495cdf0e10cSrcweir mpPrtOpt = const_cast< SwPrintData * >(&mpDoc->getPrintData()); 496cdf0e10cSrcweir } 497cdf0e10cSrcweir break; 498cdf0e10cSrcweir } 499cdf0e10cSrcweir } 500cdf0e10cSrcweir void SwXPrintSettings::_getSingleValue( const comphelper::PropertyInfo & rInfo, uno::Any & rValue ) 501cdf0e10cSrcweir throw(UnknownPropertyException, WrappedTargetException ) 502cdf0e10cSrcweir { 503cdf0e10cSrcweir switch( rInfo.mnHandle ) 504cdf0e10cSrcweir { 505cdf0e10cSrcweir case HANDLE_PRINTSET_LEFT_PAGES: 506cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintLeftPage(); 507cdf0e10cSrcweir break; 508cdf0e10cSrcweir case HANDLE_PRINTSET_RIGHT_PAGES: 509cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintRightPage(); 510cdf0e10cSrcweir break; 511cdf0e10cSrcweir case HANDLE_PRINTSET_REVERSED: 512cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintReverse(); 513cdf0e10cSrcweir break; 514cdf0e10cSrcweir case HANDLE_PRINTSET_PROSPECT: 515cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintProspect(); 516cdf0e10cSrcweir break; 517cdf0e10cSrcweir case HANDLE_PRINTSET_GRAPHICS: 518cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintGraphic(); 519cdf0e10cSrcweir break; 520cdf0e10cSrcweir case HANDLE_PRINTSET_TABLES: 521cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintTable(); 522cdf0e10cSrcweir break; 523cdf0e10cSrcweir case HANDLE_PRINTSET_DRAWINGS: 524cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintDraw(); 525cdf0e10cSrcweir break; 526cdf0e10cSrcweir case HANDLE_PRINTSET_CONTROLS: 527cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintControl(); 528cdf0e10cSrcweir break; 529cdf0e10cSrcweir case HANDLE_PRINTSET_PAGE_BACKGROUND: 530cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintPageBackground(); 531cdf0e10cSrcweir break; 532cdf0e10cSrcweir case HANDLE_PRINTSET_BLACK_FONTS: 533cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintBlackFont(); 534cdf0e10cSrcweir break; 535cdf0e10cSrcweir case HANDLE_PRINTSET_SINGLE_JOBS: 536cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintSingleJobs(); 537cdf0e10cSrcweir break; 538cdf0e10cSrcweir case HANDLE_PRINTSET_EMPTY_PAGES: 539cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintEmptyPages(); 540cdf0e10cSrcweir break; 541cdf0e10cSrcweir case HANDLE_PRINTSET_PAPER_FROM_SETUP: 542cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPaperFromSetup(); 543cdf0e10cSrcweir break; 544cdf0e10cSrcweir case HANDLE_PRINTSET_ANNOTATION_MODE: 545cdf0e10cSrcweir { 546cdf0e10cSrcweir rValue <<= static_cast < sal_Int16 > ( mpPrtOpt->GetPrintPostIts() ); 547cdf0e10cSrcweir } 548cdf0e10cSrcweir break; 549cdf0e10cSrcweir case HANDLE_PRINTSET_FAX_NAME : 550cdf0e10cSrcweir { 551cdf0e10cSrcweir rValue <<= mpPrtOpt->GetFaxName(); 552cdf0e10cSrcweir } 553cdf0e10cSrcweir break; 554cdf0e10cSrcweir case HANDLE_PRINTSET_PROSPECT_RTL: 555cdf0e10cSrcweir { 556cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintProspectRTL(); 557cdf0e10cSrcweir } 558cdf0e10cSrcweir break; 559cdf0e10cSrcweir case HANDLE_PRINTSET_PLACEHOLDER: 560cdf0e10cSrcweir { 561cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintTextPlaceholder(); 562cdf0e10cSrcweir } 563cdf0e10cSrcweir break; 564cdf0e10cSrcweir case HANDLE_PRINTSET_HIDDEN_TEXT: 565cdf0e10cSrcweir { 566cdf0e10cSrcweir rValue <<= mpPrtOpt->IsPrintHiddenText(); 567cdf0e10cSrcweir } 568cdf0e10cSrcweir break; 569cdf0e10cSrcweir default: 570cdf0e10cSrcweir throw UnknownPropertyException(); 571cdf0e10cSrcweir } 572cdf0e10cSrcweir } 573cdf0e10cSrcweir void SwXPrintSettings::_postGetValues () 574cdf0e10cSrcweir throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException ) 575cdf0e10cSrcweir { 576cdf0e10cSrcweir mpPrtOpt = NULL; 577cdf0e10cSrcweir } 578cdf0e10cSrcweir /* -----------------------------06.04.00 11:02-------------------------------- 579cdf0e10cSrcweir 580cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 581cdf0e10cSrcweir OUString SwXPrintSettings::getImplementationName(void) throw( RuntimeException ) 582cdf0e10cSrcweir { 583cdf0e10cSrcweir return C2U("SwXPrintSettings"); 584cdf0e10cSrcweir } 585cdf0e10cSrcweir /* -----------------------------06.04.00 11:02-------------------------------- 586cdf0e10cSrcweir 587cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 588cdf0e10cSrcweir sal_Bool SwXPrintSettings::supportsService(const OUString& rServiceName) throw( RuntimeException ) 589cdf0e10cSrcweir { 590cdf0e10cSrcweir return C2U("com.sun.star.text.PrintSettings") == rServiceName; 591cdf0e10cSrcweir } 592cdf0e10cSrcweir /* -----------------------------06.04.00 11:02-------------------------------- 593cdf0e10cSrcweir 594cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 595cdf0e10cSrcweir Sequence< OUString > SwXPrintSettings::getSupportedServiceNames(void) throw( RuntimeException ) 596cdf0e10cSrcweir { 597cdf0e10cSrcweir Sequence< OUString > aRet(1); 598cdf0e10cSrcweir OUString* pArray = aRet.getArray(); 599cdf0e10cSrcweir pArray[0] = C2U("com.sun.star.text.PrintSettings"); 600cdf0e10cSrcweir return aRet; 601cdf0e10cSrcweir } 602cdf0e10cSrcweir 603cdf0e10cSrcweir 604cdf0e10cSrcweir /****************************************************************** 605cdf0e10cSrcweir * 606cdf0e10cSrcweir ******************************************************************/ 607cdf0e10cSrcweir /*-- 18.12.98 11:01:10--------------------------------------------------- 608cdf0e10cSrcweir 609cdf0e10cSrcweir -----------------------------------------------------------------------*/ 610cdf0e10cSrcweir SwXViewSettings::SwXViewSettings(sal_Bool bWebView, SwView* pVw) 611cdf0e10cSrcweir : ChainableHelperNoState( lcl_createViewSettingsInfo (), &Application::GetSolarMutex() ) 612cdf0e10cSrcweir , pView(pVw) 613cdf0e10cSrcweir , mpViewOption ( NULL ) 614cdf0e10cSrcweir , mpConstViewOption ( NULL ) 615cdf0e10cSrcweir , bObjectValid(sal_True) 616cdf0e10cSrcweir , bWeb(bWebView) 617cdf0e10cSrcweir , eHRulerUnit( FUNIT_CM ) 618cdf0e10cSrcweir , mbApplyHRulerMetric( sal_False ) 619cdf0e10cSrcweir , eVRulerUnit( FUNIT_CM ) 620cdf0e10cSrcweir , mbApplyVRulerMetric( sal_False ) 621cdf0e10cSrcweir { 622cdf0e10cSrcweir // This property only exists if we have a view (ie, not at the module ) 623cdf0e10cSrcweir if ( !pView ) 624cdf0e10cSrcweir mpInfo->remove ( OUString ( RTL_CONSTASCII_USTRINGPARAM ( "HelpURL" ) ) ); 625cdf0e10cSrcweir 626cdf0e10cSrcweir } 627cdf0e10cSrcweir /*-- 18.12.98 11:01:10--------------------------------------------------- 628cdf0e10cSrcweir 629cdf0e10cSrcweir -----------------------------------------------------------------------*/ 630cdf0e10cSrcweir SwXViewSettings::~SwXViewSettings() 631cdf0e10cSrcweir throw() 632cdf0e10cSrcweir { 633cdf0e10cSrcweir 634cdf0e10cSrcweir } 635cdf0e10cSrcweir void SwXViewSettings::_preSetValues () 636cdf0e10cSrcweir throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException ) 637cdf0e10cSrcweir { 638cdf0e10cSrcweir const SwViewOption* pVOpt = 0; 639cdf0e10cSrcweir if(pView) 640cdf0e10cSrcweir { 641cdf0e10cSrcweir if(!IsValid()) 642cdf0e10cSrcweir return; 643cdf0e10cSrcweir pVOpt = pView->GetWrtShell().GetViewOptions(); 644cdf0e10cSrcweir } 645cdf0e10cSrcweir else 646cdf0e10cSrcweir pVOpt = SW_MOD()->GetViewOption(bWeb); 647cdf0e10cSrcweir 648cdf0e10cSrcweir mpViewOption = new SwViewOption (*pVOpt); 649cdf0e10cSrcweir mbApplyZoom = sal_False; 650cdf0e10cSrcweir if(pView) 651cdf0e10cSrcweir mpViewOption->SetStarOneSetting(sal_True); 652cdf0e10cSrcweir } 653cdf0e10cSrcweir void SwXViewSettings::_setSingleValue( const comphelper::PropertyInfo & rInfo, const uno::Any &rValue ) 654cdf0e10cSrcweir throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException ) 655cdf0e10cSrcweir { 656cdf0e10cSrcweir sal_Bool bVal = HANDLE_VIEWSET_ZOOM != rInfo.mnHandle ? 657cdf0e10cSrcweir *(sal_Bool*)rValue.getValue() : sal_False; 658cdf0e10cSrcweir // the API flag should not be set to the application's view settings 659cdf0e10cSrcweir switch( rInfo.mnHandle ) 660cdf0e10cSrcweir { 661cdf0e10cSrcweir case HANDLE_VIEWSET_SHOW_RULER : mpViewOption->SetViewAnyRuler(bVal); break; 662cdf0e10cSrcweir case HANDLE_VIEWSET_HRULER : mpViewOption->SetViewHRuler(bVal); break; 663cdf0e10cSrcweir case HANDLE_VIEWSET_VRULER : mpViewOption->SetViewVRuler(bVal);break; 664cdf0e10cSrcweir case HANDLE_VIEWSET_VRULER_RIGHT : mpViewOption->SetVRulerRight(bVal);break; 665cdf0e10cSrcweir case HANDLE_VIEWSET_HSCROLL : mpViewOption->SetViewHScrollBar(bVal);break; 666cdf0e10cSrcweir case HANDLE_VIEWSET_VSCROLL : mpViewOption->SetViewVScrollBar(bVal);break; 667cdf0e10cSrcweir case HANDLE_VIEWSET_GRAPHICS : mpViewOption->SetGraphic(bVal);break; 668cdf0e10cSrcweir case HANDLE_VIEWSET_TABLES : mpViewOption->SetTable(bVal); break; 669cdf0e10cSrcweir case HANDLE_VIEWSET_DRAWINGS : mpViewOption->SetDraw(bVal); break; 670cdf0e10cSrcweir case HANDLE_VIEWSET_FIELD_COMMANDS : mpViewOption->SetFldName(bVal); break; 671cdf0e10cSrcweir case HANDLE_VIEWSET_ANNOTATIONS : mpViewOption->SetPostIts(bVal); break; 672cdf0e10cSrcweir case HANDLE_VIEWSET_INDEX_MARK_BACKGROUND : mpViewOption->SetAppearanceFlag(VIEWOPT_FIELD_SHADINGS, bVal, sal_True); break; 673cdf0e10cSrcweir case HANDLE_VIEWSET_NONPRINTING_CHARACTERS: mpViewOption->SetViewMetaChars( bVal ); break; 674cdf0e10cSrcweir case HANDLE_VIEWSET_FOOTNOTE_BACKGROUND : mpViewOption->SetAppearanceFlag(VIEWOPT_FIELD_SHADINGS, bVal, sal_True); break; 675cdf0e10cSrcweir case HANDLE_VIEWSET_TEXT_FIELD_BACKGROUND : mpViewOption->SetAppearanceFlag(VIEWOPT_FIELD_SHADINGS, bVal, sal_True); break; 676cdf0e10cSrcweir case HANDLE_VIEWSET_PARA_BREAKS : mpViewOption->SetParagraph(bVal); break; 677cdf0e10cSrcweir case HANDLE_VIEWSET_SOFT_HYPHENS : mpViewOption->SetSoftHyph(bVal); break; 678cdf0e10cSrcweir case HANDLE_VIEWSET_SPACES : mpViewOption->SetBlank(bVal); break; 679cdf0e10cSrcweir case HANDLE_VIEWSET_PROTECTED_SPACES : mpViewOption->SetHardBlank(bVal); break; 680cdf0e10cSrcweir case HANDLE_VIEWSET_TABSTOPS : mpViewOption->SetTab(bVal); break; 681cdf0e10cSrcweir case HANDLE_VIEWSET_BREAKS : mpViewOption->SetLineBreak(bVal); break; 682cdf0e10cSrcweir case HANDLE_VIEWSET_HIDDEN_TEXT : mpViewOption->SetShowHiddenField(bVal); break; 683cdf0e10cSrcweir case HANDLE_VIEWSET_HIDDEN_CHARACTERS : mpViewOption->SetShowHiddenChar(bVal); break; 684cdf0e10cSrcweir case HANDLE_VIEWSET_HIDDEN_PARAGRAPHS : mpViewOption->SetShowHiddenPara(bVal); break; 685cdf0e10cSrcweir case HANDLE_VIEWSET_TABLE_BOUNDARIES : mpViewOption->SetAppearanceFlag(VIEWOPT_TABLE_BOUNDARIES, bVal, sal_True); break; 686cdf0e10cSrcweir case HANDLE_VIEWSET_TEXT_BOUNDARIES : mpViewOption->SetDocBoundaries(bVal); break; 687cdf0e10cSrcweir case HANDLE_VIEWSET_SMOOTH_SCROLLING : mpViewOption->SetSmoothScroll(bVal); break; 688cdf0e10cSrcweir case HANDLE_VIEWSET_SOLID_MARK_HANDLES : mpViewOption->SetSolidMarkHdl(bVal); break; 689*ef785786SAriel Constenla-Haile case HANDLE_VIEWSET_SHOW_CONTENT_TIPS : mpViewOption->SetShowContentTips(bVal); break; 690cdf0e10cSrcweir case HANDLE_VIEWSET_IS_RASTER_VISIBLE : mpViewOption->SetGridVisible(bVal); break; 691cdf0e10cSrcweir case HANDLE_VIEWSET_IS_SNAP_TO_RASTER : mpViewOption->SetSnap(bVal); break; 692cdf0e10cSrcweir case HANDLE_VIEWSET_RASTER_RESOLUTION_X : 693cdf0e10cSrcweir { 694cdf0e10cSrcweir sal_Int32 nTmp = 0; 695cdf0e10cSrcweir if(!(rValue >>= nTmp) || nTmp < 10) 696cdf0e10cSrcweir throw IllegalArgumentException(); 697cdf0e10cSrcweir Size aSize( mpViewOption->GetSnapSize() ); 698cdf0e10cSrcweir aSize.Width() = MM100_TO_TWIP( nTmp ); 699cdf0e10cSrcweir mpViewOption->SetSnapSize( aSize ); 700cdf0e10cSrcweir } 701cdf0e10cSrcweir break; 702cdf0e10cSrcweir case HANDLE_VIEWSET_RASTER_RESOLUTION_Y : 703cdf0e10cSrcweir { 704cdf0e10cSrcweir sal_Int32 nTmp = 0; 705cdf0e10cSrcweir if(!(rValue >>= nTmp) || nTmp < 10) 706cdf0e10cSrcweir throw IllegalArgumentException(); 707cdf0e10cSrcweir Size aSize( mpViewOption->GetSnapSize() ); 708cdf0e10cSrcweir aSize.Height() = MM100_TO_TWIP( nTmp ); 709cdf0e10cSrcweir mpViewOption->SetSnapSize( aSize ); 710cdf0e10cSrcweir } 711cdf0e10cSrcweir break; 712cdf0e10cSrcweir case HANDLE_VIEWSET_RASTER_SUBDIVISION_X : 713cdf0e10cSrcweir { 714cdf0e10cSrcweir sal_Int32 nTmp = 0; 715cdf0e10cSrcweir if(!(rValue >>= nTmp) || !(0 <= nTmp && nTmp < 100)) 716cdf0e10cSrcweir throw IllegalArgumentException(); 717cdf0e10cSrcweir mpViewOption->SetDivisionX( (short) nTmp ); 718cdf0e10cSrcweir } 719cdf0e10cSrcweir break; 720cdf0e10cSrcweir case HANDLE_VIEWSET_RASTER_SUBDIVISION_Y : 721cdf0e10cSrcweir { 722cdf0e10cSrcweir sal_Int32 nTmp = 0; 723cdf0e10cSrcweir if(!(rValue >>= nTmp) || !(0 <= nTmp && nTmp < 100)) 724cdf0e10cSrcweir throw IllegalArgumentException(); 725cdf0e10cSrcweir mpViewOption->SetDivisionY( (short) nTmp ); 726cdf0e10cSrcweir } 727cdf0e10cSrcweir break; 728cdf0e10cSrcweir case HANDLE_VIEWSET_ZOOM : 729cdf0e10cSrcweir { 730cdf0e10cSrcweir sal_Int16 nZoom = 0; 731cdf0e10cSrcweir if(!(rValue >>= nZoom) || nZoom > 1000 || nZoom < 5) 732cdf0e10cSrcweir throw lang::IllegalArgumentException(); 733cdf0e10cSrcweir mpViewOption->SetZoom((sal_uInt16)nZoom); 734cdf0e10cSrcweir mbApplyZoom = sal_True; 735cdf0e10cSrcweir } 736cdf0e10cSrcweir break; 737cdf0e10cSrcweir case HANDLE_VIEWSET_ZOOM_TYPE: 738cdf0e10cSrcweir { 739cdf0e10cSrcweir sal_Int16 nZoom = 0; 740cdf0e10cSrcweir if(!(rValue >>= nZoom)) 741cdf0e10cSrcweir throw IllegalArgumentException(); 742cdf0e10cSrcweir SvxZoomType eZoom = (SvxZoomType)USHRT_MAX; 743cdf0e10cSrcweir switch (nZoom) 744cdf0e10cSrcweir { 745cdf0e10cSrcweir case view::DocumentZoomType::OPTIMAL: 746cdf0e10cSrcweir eZoom = SVX_ZOOM_OPTIMAL; 747cdf0e10cSrcweir break; 748cdf0e10cSrcweir case view::DocumentZoomType::PAGE_WIDTH: 749cdf0e10cSrcweir eZoom = SVX_ZOOM_PAGEWIDTH; 750cdf0e10cSrcweir break; 751cdf0e10cSrcweir case view::DocumentZoomType::ENTIRE_PAGE: 752cdf0e10cSrcweir eZoom = SVX_ZOOM_WHOLEPAGE; 753cdf0e10cSrcweir break; 754cdf0e10cSrcweir case view::DocumentZoomType::BY_VALUE: 755cdf0e10cSrcweir eZoom = SVX_ZOOM_PERCENT; 756cdf0e10cSrcweir break; 757cdf0e10cSrcweir case view::DocumentZoomType::PAGE_WIDTH_EXACT: 758cdf0e10cSrcweir eZoom = SVX_ZOOM_PAGEWIDTH_NOBORDER; 759cdf0e10cSrcweir break; 760cdf0e10cSrcweir default: 761cdf0e10cSrcweir throw IllegalArgumentException( 762cdf0e10cSrcweir ::rtl::OUString::createFromAscii( 763cdf0e10cSrcweir "SwXViewSettings: invalid zoom type"), 0, 0); 764cdf0e10cSrcweir break; 765cdf0e10cSrcweir } 766cdf0e10cSrcweir if(eZoom < USHRT_MAX) 767cdf0e10cSrcweir { 768cdf0e10cSrcweir mpViewOption->SetZoomType( eZoom ); 769cdf0e10cSrcweir mbApplyZoom = sal_True; 770cdf0e10cSrcweir } 771cdf0e10cSrcweir } 772cdf0e10cSrcweir break; 773cdf0e10cSrcweir case HANDLE_VIEWSET_ONLINE_LAYOUT : 774cdf0e10cSrcweir { 775cdf0e10cSrcweir if( pView && !bVal != !pView->GetWrtShell().GetViewOptions()->getBrowseMode() ) 776cdf0e10cSrcweir { 777cdf0e10cSrcweir SwViewOption aOpt( *pView->GetWrtShell().GetViewOptions() ); 778cdf0e10cSrcweir aOpt.setBrowseMode( bVal ); 779cdf0e10cSrcweir pView->GetWrtShell().ApplyViewOptions( aOpt ); 780cdf0e10cSrcweir pView->RecheckBrowseMode(); 781cdf0e10cSrcweir 782cdf0e10cSrcweir // must be set in mpViewOption as this will overwrite settings in _post! 783cdf0e10cSrcweir mpViewOption->setBrowseMode( bVal ); 784cdf0e10cSrcweir 785cdf0e10cSrcweir // disable multiple layout 786cdf0e10cSrcweir pView->GetDocShell()->ToggleBrowserMode(bVal, pView ); 787cdf0e10cSrcweir } 788cdf0e10cSrcweir } 789cdf0e10cSrcweir break; 790cdf0e10cSrcweir case HANDLE_VIEWSET_HELP_URL : 791cdf0e10cSrcweir { 792cdf0e10cSrcweir if ( pView ) 793cdf0e10cSrcweir { 794cdf0e10cSrcweir OUString sHelpURL; 795cdf0e10cSrcweir if ( ! ( rValue >>= sHelpURL ) ) 796cdf0e10cSrcweir throw IllegalArgumentException(); 797cdf0e10cSrcweir 798cdf0e10cSrcweir INetURLObject aHID( sHelpURL ); 799cdf0e10cSrcweir if ( aHID.GetProtocol() == INET_PROT_HID ) 800cdf0e10cSrcweir pView->GetEditWin().SetHelpId( rtl::OUStringToOString( aHID.GetURLPath(), RTL_TEXTENCODING_UTF8 ) ); 801cdf0e10cSrcweir else 802cdf0e10cSrcweir throw IllegalArgumentException (); 803cdf0e10cSrcweir } 804cdf0e10cSrcweir else 805cdf0e10cSrcweir throw UnknownPropertyException(); 806cdf0e10cSrcweir } 807cdf0e10cSrcweir break; 808cdf0e10cSrcweir case HANDLE_VIEWSET_HORI_RULER_METRIC: 809cdf0e10cSrcweir case HANDLE_VIEWSET_VERT_RULER_METRIC: 810cdf0e10cSrcweir { 811cdf0e10cSrcweir sal_Int32 nUnit = -1; 812cdf0e10cSrcweir if( rValue >>= nUnit ) 813cdf0e10cSrcweir switch( nUnit ) 814cdf0e10cSrcweir { 815cdf0e10cSrcweir case FUNIT_MM: 816cdf0e10cSrcweir case FUNIT_CM: 817cdf0e10cSrcweir case FUNIT_POINT: 818cdf0e10cSrcweir case FUNIT_PICA: 819cdf0e10cSrcweir case FUNIT_INCH: 820cdf0e10cSrcweir if( rInfo.mnHandle == HANDLE_VIEWSET_HORI_RULER_METRIC ) 821cdf0e10cSrcweir { 822cdf0e10cSrcweir eHRulerUnit = nUnit; 823cdf0e10cSrcweir mbApplyHRulerMetric = sal_True; 824cdf0e10cSrcweir } 825cdf0e10cSrcweir else 826cdf0e10cSrcweir { 827cdf0e10cSrcweir eVRulerUnit = nUnit; 828cdf0e10cSrcweir mbApplyVRulerMetric = sal_True; 829cdf0e10cSrcweir } 830cdf0e10cSrcweir break; 831cdf0e10cSrcweir default: 832cdf0e10cSrcweir throw IllegalArgumentException(); 833cdf0e10cSrcweir } 834cdf0e10cSrcweir } 835cdf0e10cSrcweir break; 836cdf0e10cSrcweir default: 837cdf0e10cSrcweir throw UnknownPropertyException(); 838cdf0e10cSrcweir } 839cdf0e10cSrcweir } 840cdf0e10cSrcweir 841cdf0e10cSrcweir void SwXViewSettings::_postSetValues () 842cdf0e10cSrcweir throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException ) 843cdf0e10cSrcweir { 844cdf0e10cSrcweir if( pView ) 845cdf0e10cSrcweir { 846cdf0e10cSrcweir if(mbApplyZoom ) 847cdf0e10cSrcweir pView->SetZoom( (SvxZoomType)mpViewOption->GetZoomType(), 848cdf0e10cSrcweir mpViewOption->GetZoom(), sal_True ); 849cdf0e10cSrcweir if(mbApplyHRulerMetric) 850cdf0e10cSrcweir pView->ChangeTabMetric((FieldUnit)eHRulerUnit); 851cdf0e10cSrcweir if(mbApplyVRulerMetric) 852cdf0e10cSrcweir pView->ChangeVLinealMetric((FieldUnit)eVRulerUnit); 853cdf0e10cSrcweir 854cdf0e10cSrcweir } 855cdf0e10cSrcweir else 856cdf0e10cSrcweir { 857cdf0e10cSrcweir if(mbApplyHRulerMetric) 858cdf0e10cSrcweir SW_MOD()->ApplyRulerMetric( (FieldUnit)eHRulerUnit, sal_True, bWeb ); 859cdf0e10cSrcweir if(mbApplyVRulerMetric) 860cdf0e10cSrcweir SW_MOD()->ApplyRulerMetric( (FieldUnit)eVRulerUnit, sal_False, bWeb ); 861cdf0e10cSrcweir } 862cdf0e10cSrcweir 863cdf0e10cSrcweir 864cdf0e10cSrcweir SW_MOD()->ApplyUsrPref( *mpViewOption, pView, pView ? VIEWOPT_DEST_VIEW_ONLY 865cdf0e10cSrcweir : bWeb ? VIEWOPT_DEST_WEB 866cdf0e10cSrcweir : VIEWOPT_DEST_TEXT ); 867cdf0e10cSrcweir 868cdf0e10cSrcweir 869cdf0e10cSrcweir delete mpViewOption; 870cdf0e10cSrcweir mpViewOption = NULL; 871cdf0e10cSrcweir } 872cdf0e10cSrcweir 873cdf0e10cSrcweir void SwXViewSettings::_preGetValues () 874cdf0e10cSrcweir throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException ) 875cdf0e10cSrcweir { 876cdf0e10cSrcweir if(pView) 877cdf0e10cSrcweir { 878cdf0e10cSrcweir if(!IsValid()) 879cdf0e10cSrcweir return; 880cdf0e10cSrcweir mpConstViewOption = pView->GetWrtShell().GetViewOptions(); 881cdf0e10cSrcweir } 882cdf0e10cSrcweir else 883cdf0e10cSrcweir mpConstViewOption = SW_MOD()->GetViewOption(bWeb); 884cdf0e10cSrcweir } 885cdf0e10cSrcweir void SwXViewSettings::_getSingleValue( const comphelper::PropertyInfo & rInfo, uno::Any & rValue ) 886cdf0e10cSrcweir throw(UnknownPropertyException, WrappedTargetException ) 887cdf0e10cSrcweir { 888cdf0e10cSrcweir sal_Bool bBool = sal_True; 889cdf0e10cSrcweir sal_Bool bBoolVal; 890cdf0e10cSrcweir switch( rInfo.mnHandle ) 891cdf0e10cSrcweir { 892cdf0e10cSrcweir case HANDLE_VIEWSET_SHOW_RULER: bBoolVal = mpConstViewOption->IsViewAnyRuler(); break; 893cdf0e10cSrcweir case HANDLE_VIEWSET_HRULER : bBoolVal = mpConstViewOption->IsViewHRuler(sal_True); break; 894cdf0e10cSrcweir case HANDLE_VIEWSET_VRULER : bBoolVal = mpConstViewOption->IsViewVRuler(sal_True);break; 895cdf0e10cSrcweir case HANDLE_VIEWSET_VRULER_RIGHT : bBoolVal = mpConstViewOption->IsVRulerRight();break; 896cdf0e10cSrcweir case HANDLE_VIEWSET_HSCROLL: bBoolVal = mpConstViewOption->IsViewHScrollBar();break; 897cdf0e10cSrcweir case HANDLE_VIEWSET_VSCROLL: bBoolVal = mpConstViewOption->IsViewVScrollBar();break; 898cdf0e10cSrcweir case HANDLE_VIEWSET_GRAPHICS : bBoolVal = mpConstViewOption->IsGraphic();break; 899cdf0e10cSrcweir case HANDLE_VIEWSET_TABLES : bBoolVal = mpConstViewOption->IsTable(); break; 900cdf0e10cSrcweir case HANDLE_VIEWSET_DRAWINGS : bBoolVal = mpConstViewOption->IsDraw(); break; 901cdf0e10cSrcweir case HANDLE_VIEWSET_FIELD_COMMANDS : bBoolVal = mpConstViewOption->IsFldName(); break; 902cdf0e10cSrcweir case HANDLE_VIEWSET_ANNOTATIONS : bBoolVal = mpConstViewOption->IsPostIts(); break; 903cdf0e10cSrcweir case HANDLE_VIEWSET_INDEX_MARK_BACKGROUND : bBoolVal = SwViewOption::IsFieldShadings(); break; 904cdf0e10cSrcweir case HANDLE_VIEWSET_NONPRINTING_CHARACTERS: bBoolVal = mpConstViewOption->IsViewMetaChars(); break; 905cdf0e10cSrcweir case HANDLE_VIEWSET_FOOTNOTE_BACKGROUND : bBoolVal = SwViewOption::IsFieldShadings(); break; 906cdf0e10cSrcweir case HANDLE_VIEWSET_TEXT_FIELD_BACKGROUND : bBoolVal = SwViewOption::IsFieldShadings(); break; 907cdf0e10cSrcweir case HANDLE_VIEWSET_PARA_BREAKS : bBoolVal = mpConstViewOption->IsParagraph(sal_True); break; 908cdf0e10cSrcweir case HANDLE_VIEWSET_SOFT_HYPHENS : bBoolVal = mpConstViewOption->IsSoftHyph(); break; 909cdf0e10cSrcweir case HANDLE_VIEWSET_SPACES : bBoolVal = mpConstViewOption->IsBlank(sal_True); break; 910cdf0e10cSrcweir case HANDLE_VIEWSET_PROTECTED_SPACES : bBoolVal = mpConstViewOption->IsHardBlank(); break; 911cdf0e10cSrcweir case HANDLE_VIEWSET_TABSTOPS : bBoolVal = mpConstViewOption->IsTab(sal_True); break; 912cdf0e10cSrcweir case HANDLE_VIEWSET_BREAKS : bBoolVal = mpConstViewOption->IsLineBreak(sal_True); break; 913cdf0e10cSrcweir case HANDLE_VIEWSET_HIDDEN_TEXT : bBoolVal = mpConstViewOption->IsShowHiddenField(); break; 914cdf0e10cSrcweir case HANDLE_VIEWSET_HIDDEN_CHARACTERS : bBoolVal = mpConstViewOption->IsShowHiddenChar(sal_True); break; 915cdf0e10cSrcweir case HANDLE_VIEWSET_HIDDEN_PARAGRAPHS : bBoolVal = mpConstViewOption->IsShowHiddenPara(); break; 916cdf0e10cSrcweir case HANDLE_VIEWSET_TABLE_BOUNDARIES : bBoolVal = SwViewOption::IsTableBoundaries(); break; 917cdf0e10cSrcweir case HANDLE_VIEWSET_TEXT_BOUNDARIES : bBoolVal = SwViewOption::IsDocBoundaries(); break; 918cdf0e10cSrcweir case HANDLE_VIEWSET_SMOOTH_SCROLLING : bBoolVal = mpConstViewOption->IsSmoothScroll(); break; 919cdf0e10cSrcweir case HANDLE_VIEWSET_SOLID_MARK_HANDLES : bBoolVal = mpConstViewOption->IsSolidMarkHdl(); break; 920*ef785786SAriel Constenla-Haile case HANDLE_VIEWSET_SHOW_CONTENT_TIPS : bBoolVal = mpConstViewOption->IsShowContentTips(); break; 921cdf0e10cSrcweir case HANDLE_VIEWSET_IS_RASTER_VISIBLE : bBoolVal = mpConstViewOption->IsGridVisible(); break; 922cdf0e10cSrcweir case HANDLE_VIEWSET_IS_SNAP_TO_RASTER : bBoolVal = mpConstViewOption->IsSnap(); break; 923cdf0e10cSrcweir case HANDLE_VIEWSET_RASTER_RESOLUTION_X : 924cdf0e10cSrcweir bBool = sal_False; 925cdf0e10cSrcweir rValue <<= (sal_Int32) TWIP_TO_MM100(mpConstViewOption->GetSnapSize().Width()); 926cdf0e10cSrcweir break; 927cdf0e10cSrcweir case HANDLE_VIEWSET_RASTER_RESOLUTION_Y : 928cdf0e10cSrcweir bBool = sal_False; 929cdf0e10cSrcweir rValue <<= (sal_Int32) TWIP_TO_MM100(mpConstViewOption->GetSnapSize().Height()); 930cdf0e10cSrcweir break; 931cdf0e10cSrcweir case HANDLE_VIEWSET_RASTER_SUBDIVISION_X : 932cdf0e10cSrcweir bBool = sal_False; 933cdf0e10cSrcweir rValue <<= (sal_Int32) mpConstViewOption->GetDivisionX(); 934cdf0e10cSrcweir break; 935cdf0e10cSrcweir case HANDLE_VIEWSET_RASTER_SUBDIVISION_Y : 936cdf0e10cSrcweir bBool = sal_False; 937cdf0e10cSrcweir rValue <<= (sal_Int32) mpConstViewOption->GetDivisionY(); 938cdf0e10cSrcweir break; 939cdf0e10cSrcweir case HANDLE_VIEWSET_ZOOM : 940cdf0e10cSrcweir bBool = sal_False; 941cdf0e10cSrcweir rValue <<= (sal_Int16)mpConstViewOption->GetZoom(); 942cdf0e10cSrcweir break; 943cdf0e10cSrcweir case HANDLE_VIEWSET_ZOOM_TYPE: 944cdf0e10cSrcweir { 945cdf0e10cSrcweir bBool = sal_False; 946cdf0e10cSrcweir sal_Int16 nRet(0); 947cdf0e10cSrcweir switch (mpConstViewOption->GetZoomType()) 948cdf0e10cSrcweir { 949cdf0e10cSrcweir case SVX_ZOOM_OPTIMAL: 950cdf0e10cSrcweir nRet = view::DocumentZoomType::OPTIMAL; 951cdf0e10cSrcweir break; 952cdf0e10cSrcweir case SVX_ZOOM_PAGEWIDTH: 953cdf0e10cSrcweir nRet = view::DocumentZoomType::PAGE_WIDTH; 954cdf0e10cSrcweir break; 955cdf0e10cSrcweir case SVX_ZOOM_WHOLEPAGE: 956cdf0e10cSrcweir nRet = view::DocumentZoomType::ENTIRE_PAGE; 957cdf0e10cSrcweir break; 958cdf0e10cSrcweir case SVX_ZOOM_PERCENT: 959cdf0e10cSrcweir nRet = view::DocumentZoomType::BY_VALUE; 960cdf0e10cSrcweir break; 961cdf0e10cSrcweir case SVX_ZOOM_PAGEWIDTH_NOBORDER: 962cdf0e10cSrcweir nRet = view::DocumentZoomType::PAGE_WIDTH_EXACT; 963cdf0e10cSrcweir break; 964cdf0e10cSrcweir default: 965cdf0e10cSrcweir OSL_ENSURE(false, "SwXViewSettings: invalid zoom type"); 966cdf0e10cSrcweir break; 967cdf0e10cSrcweir } 968cdf0e10cSrcweir rValue <<= nRet; 969cdf0e10cSrcweir } 970cdf0e10cSrcweir break; 971cdf0e10cSrcweir case HANDLE_VIEWSET_ONLINE_LAYOUT: 972cdf0e10cSrcweir if(pView) 973cdf0e10cSrcweir bBoolVal = pView->GetWrtShell().GetViewOptions()->getBrowseMode(); 974cdf0e10cSrcweir break; 975cdf0e10cSrcweir case HANDLE_VIEWSET_HELP_URL : 976cdf0e10cSrcweir { 977cdf0e10cSrcweir if ( pView ) 978cdf0e10cSrcweir { 979cdf0e10cSrcweir bBool = sal_False; 980cdf0e10cSrcweir OUStringBuffer sHelpURL; 981cdf0e10cSrcweir sHelpURL.appendAscii ( INET_HID_SCHEME ); 982cdf0e10cSrcweir SwEditWin &rEditWin = pView->GetEditWin(); 983cdf0e10cSrcweir sHelpURL.append( rtl::OStringToOUString( rEditWin.GetHelpId(), RTL_TEXTENCODING_UTF8 ) ); 984cdf0e10cSrcweir rValue <<= sHelpURL.makeStringAndClear(); 985cdf0e10cSrcweir } 986cdf0e10cSrcweir else 987cdf0e10cSrcweir throw UnknownPropertyException(); 988cdf0e10cSrcweir } 989cdf0e10cSrcweir break; 990cdf0e10cSrcweir case HANDLE_VIEWSET_HORI_RULER_METRIC: 991cdf0e10cSrcweir { 992cdf0e10cSrcweir if ( pView ) 993cdf0e10cSrcweir { 994cdf0e10cSrcweir FieldUnit eUnit; 995cdf0e10cSrcweir pView->GetHLinealMetric( eUnit ); 996cdf0e10cSrcweir rValue <<= (sal_Int32)eUnit; 997cdf0e10cSrcweir } 998cdf0e10cSrcweir else 999cdf0e10cSrcweir { 1000cdf0e10cSrcweir const SwMasterUsrPref* pUsrPref = SW_MOD()->GetUsrPref( bWeb ); 1001cdf0e10cSrcweir rValue <<= (sal_Int32)pUsrPref->GetHScrollMetric(); 1002cdf0e10cSrcweir } 1003cdf0e10cSrcweir bBool = sal_False; 1004cdf0e10cSrcweir } 1005cdf0e10cSrcweir break; 1006cdf0e10cSrcweir case HANDLE_VIEWSET_VERT_RULER_METRIC: 1007cdf0e10cSrcweir { 1008cdf0e10cSrcweir if ( pView ) 1009cdf0e10cSrcweir { 1010cdf0e10cSrcweir FieldUnit eUnit; 1011cdf0e10cSrcweir pView->GetVLinealMetric( eUnit ); 1012cdf0e10cSrcweir rValue <<= (sal_Int32)eUnit; 1013cdf0e10cSrcweir } 1014cdf0e10cSrcweir else 1015cdf0e10cSrcweir { 1016cdf0e10cSrcweir const SwMasterUsrPref* pUsrPref = SW_MOD()->GetUsrPref( bWeb ); 1017cdf0e10cSrcweir rValue <<= (sal_Int32)pUsrPref->GetVScrollMetric(); 1018cdf0e10cSrcweir } 1019cdf0e10cSrcweir bBool = sal_False; 1020cdf0e10cSrcweir } 1021cdf0e10cSrcweir break; 1022cdf0e10cSrcweir default: DBG_ERROR("Diese Id gibt's nicht!"); 1023cdf0e10cSrcweir } 1024cdf0e10cSrcweir if( bBool ) 1025cdf0e10cSrcweir rValue.setValue(&bBoolVal, ::getBooleanCppuType()); 1026cdf0e10cSrcweir } 1027cdf0e10cSrcweir void SwXViewSettings::_postGetValues () 1028cdf0e10cSrcweir throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException ) 1029cdf0e10cSrcweir { 1030cdf0e10cSrcweir mpConstViewOption = NULL; 1031cdf0e10cSrcweir } 1032cdf0e10cSrcweir 1033cdf0e10cSrcweir OUString SwXViewSettings::getImplementationName(void) throw( RuntimeException ) 1034cdf0e10cSrcweir { 1035cdf0e10cSrcweir return C2U("SwXViewSettings"); 1036cdf0e10cSrcweir } 1037cdf0e10cSrcweir 1038cdf0e10cSrcweir sal_Bool SwXViewSettings::supportsService(const OUString& rServiceName) throw( RuntimeException ) 1039cdf0e10cSrcweir { 1040cdf0e10cSrcweir return C2U("com.sun.star.text.ViewSettings") == rServiceName; 1041cdf0e10cSrcweir } 1042cdf0e10cSrcweir 1043cdf0e10cSrcweir Sequence< OUString > SwXViewSettings::getSupportedServiceNames(void) throw( RuntimeException ) 1044cdf0e10cSrcweir { 1045cdf0e10cSrcweir Sequence< OUString > aRet(1); 1046cdf0e10cSrcweir OUString* pArray = aRet.getArray(); 1047cdf0e10cSrcweir pArray[0] = C2U("com.sun.star.text.ViewSettings"); 1048cdf0e10cSrcweir return aRet; 1049cdf0e10cSrcweir } 1050cdf0e10cSrcweir 1051