18dcb2a10SAndre Fischer /************************************************************** 28dcb2a10SAndre Fischer * 38dcb2a10SAndre Fischer * Licensed to the Apache Software Foundation (ASF) under one 48dcb2a10SAndre Fischer * or more contributor license agreements. See the NOTICE file 58dcb2a10SAndre Fischer * distributed with this work for additional information 68dcb2a10SAndre Fischer * regarding copyright ownership. The ASF licenses this file 78dcb2a10SAndre Fischer * to you under the Apache License, Version 2.0 (the 88dcb2a10SAndre Fischer * "License"); you may not use this file except in compliance 98dcb2a10SAndre Fischer * with the License. You may obtain a copy of the License at 108dcb2a10SAndre Fischer * 118dcb2a10SAndre Fischer * http://www.apache.org/licenses/LICENSE-2.0 128dcb2a10SAndre Fischer * 138dcb2a10SAndre Fischer * Unless required by applicable law or agreed to in writing, 148dcb2a10SAndre Fischer * software distributed under the License is distributed on an 158dcb2a10SAndre Fischer * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 168dcb2a10SAndre Fischer * KIND, either express or implied. See the License for the 178dcb2a10SAndre Fischer * specific language governing permissions and limitations 188dcb2a10SAndre Fischer * under the License. 198dcb2a10SAndre Fischer * 208dcb2a10SAndre Fischer *************************************************************/ 218dcb2a10SAndre Fischer 228dcb2a10SAndre Fischer #include <sfx2/sidebar/propertypanel.hrc> 238dcb2a10SAndre Fischer #include <sfx2/sidebar/Theme.hxx> 248dcb2a10SAndre Fischer #include <sfx2/sidebar/ControlFactory.hxx> 258dcb2a10SAndre Fischer #include <GraphicPropertyPanel.hxx> 268dcb2a10SAndre Fischer #include <GraphicPropertyPanel.hrc> 278dcb2a10SAndre Fischer #include <svx/dialogs.hrc> 288dcb2a10SAndre Fischer #include <svx/dialmgr.hxx> 298dcb2a10SAndre Fischer #include <vcl/field.hxx> 308dcb2a10SAndre Fischer #include <vcl/lstbox.hxx> 318dcb2a10SAndre Fischer #include <svl/intitem.hxx> 328dcb2a10SAndre Fischer #include <sfx2/bindings.hxx> 338dcb2a10SAndre Fischer #include <sfx2/dispatch.hxx> 34*87ab04d0SAndre Fischer #include "svx/dialogs.hrc" 358dcb2a10SAndre Fischer 368dcb2a10SAndre Fischer using namespace css; 378dcb2a10SAndre Fischer using namespace cssu; 388dcb2a10SAndre Fischer using ::sfx2::sidebar::Theme; 398dcb2a10SAndre Fischer 408dcb2a10SAndre Fischer #define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) 418dcb2a10SAndre Fischer 428dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 438dcb2a10SAndre Fischer // namespace open 448dcb2a10SAndre Fischer 458dcb2a10SAndre Fischer namespace svx { namespace sidebar { 468dcb2a10SAndre Fischer 478dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 488dcb2a10SAndre Fischer 498dcb2a10SAndre Fischer GraphicPropertyPanel::GraphicPropertyPanel( 508dcb2a10SAndre Fischer Window* pParent, 518dcb2a10SAndre Fischer const cssu::Reference<css::frame::XFrame>& rxFrame, 528dcb2a10SAndre Fischer SfxBindings* pBindings) 538dcb2a10SAndre Fischer : Control( 548dcb2a10SAndre Fischer pParent, 558dcb2a10SAndre Fischer SVX_RES(RID_SIDEBAR_GRAPHIC_PANEL)), 568dcb2a10SAndre Fischer mpFtBrightness(new FixedText(this, SVX_RES(FT_BRIGHTNESS))), 578dcb2a10SAndre Fischer mpMtrBrightness(new MetricField(this, SVX_RES(MTR_BRIGHTNESS))), 588dcb2a10SAndre Fischer mpFtContrast(new FixedText(this, SVX_RES(FT_CONTRAST))), 598dcb2a10SAndre Fischer mpMtrContrast(new MetricField(this, SVX_RES(MTR_CONTRAST))), 608dcb2a10SAndre Fischer mpFtColorMode(new FixedText(this, SVX_RES(FT_COLOR_MODE))), 618dcb2a10SAndre Fischer mpLBColorMode(new ListBox(this, SVX_RES(LB_COLOR_MODE))), 628dcb2a10SAndre Fischer mpFtTrans(new FixedText(this, SVX_RES(FT_TRANSPARENT))), 638dcb2a10SAndre Fischer mpMtrTrans(new MetricField(this, SVX_RES(MTR_TRANSPARENT))), 648dcb2a10SAndre Fischer mpMtrRed(new MetricField(this, SVX_RES(MF_RED))), 658dcb2a10SAndre Fischer mpMtrGreen(new MetricField(this, SVX_RES(MF_GREEN))), 668dcb2a10SAndre Fischer mpMtrBlue(new MetricField(this, SVX_RES(MF_BLUE))), 678dcb2a10SAndre Fischer mpMtrGamma(new MetricField(this, SVX_RES(MF_GAMMA))), 688dcb2a10SAndre Fischer maBrightControl(SID_ATTR_GRAF_LUMINANCE, *pBindings, *this), 698dcb2a10SAndre Fischer maContrastControl(SID_ATTR_GRAF_CONTRAST, *pBindings, *this), 708dcb2a10SAndre Fischer maTransparenceControl(SID_ATTR_GRAF_TRANSPARENCE, *pBindings, *this), 718dcb2a10SAndre Fischer maRedControl(SID_ATTR_GRAF_RED, *pBindings, *this), 728dcb2a10SAndre Fischer maGreenControl(SID_ATTR_GRAF_GREEN, *pBindings, *this), 738dcb2a10SAndre Fischer maBlueControl(SID_ATTR_GRAF_BLUE, *pBindings, *this), 748dcb2a10SAndre Fischer maGammaControl(SID_ATTR_GRAF_GAMMA, *pBindings, *this), 758dcb2a10SAndre Fischer maModeControl(SID_ATTR_GRAF_MODE, *pBindings, *this), 768dcb2a10SAndre Fischer maImgRed(this, SVX_RES(IMG_RED)), 778dcb2a10SAndre Fischer maImgGreen(this, SVX_RES(IMG_GREEN)), 788dcb2a10SAndre Fischer maImgBlue(this, SVX_RES(IMG_BLUE)), 798dcb2a10SAndre Fischer maImgGamma(this, SVX_RES(IMG_GAMMA)), 808dcb2a10SAndre Fischer mxFrame(rxFrame), 818dcb2a10SAndre Fischer mpBindings(pBindings) 828dcb2a10SAndre Fischer { 838dcb2a10SAndre Fischer Initialize(); 848dcb2a10SAndre Fischer FreeResource(); 858dcb2a10SAndre Fischer } 868dcb2a10SAndre Fischer 878dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 888dcb2a10SAndre Fischer 898dcb2a10SAndre Fischer GraphicPropertyPanel::~GraphicPropertyPanel() 908dcb2a10SAndre Fischer { 918dcb2a10SAndre Fischer } 928dcb2a10SAndre Fischer 938dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 948dcb2a10SAndre Fischer 958dcb2a10SAndre Fischer void GraphicPropertyPanel::Initialize() 968dcb2a10SAndre Fischer { 9737fee4fdSAndre Fischer mpFtBrightness->SetBackground(Wallpaper()); 9837fee4fdSAndre Fischer mpFtContrast->SetBackground(Wallpaper()); 9937fee4fdSAndre Fischer mpFtColorMode->SetBackground(Wallpaper()); 10037fee4fdSAndre Fischer mpFtTrans->SetBackground(Wallpaper()); 10137fee4fdSAndre Fischer 1028dcb2a10SAndre Fischer mpMtrBrightness->SetModifyHdl( LINK( this, GraphicPropertyPanel, ModifyBrightnessHdl ) ); 103*87ab04d0SAndre Fischer mpMtrBrightness->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Brightness"))); 1048dcb2a10SAndre Fischer mpMtrContrast->SetModifyHdl( LINK( this, GraphicPropertyPanel, ModifyContrastHdl ) ); 105*87ab04d0SAndre Fischer mpMtrContrast->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Contrast"))); 1068dcb2a10SAndre Fischer mpMtrTrans->SetModifyHdl( LINK( this, GraphicPropertyPanel, ModifyTransHdl ) ); 107*87ab04d0SAndre Fischer mpMtrTrans->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Transparency"))); 1088dcb2a10SAndre Fischer 109*87ab04d0SAndre Fischer mpLBColorMode->InsertEntry(String(SVX_RES(RID_SVXSTR_GRAFMODE_STANDARD))); 110*87ab04d0SAndre Fischer mpLBColorMode->InsertEntry(String(SVX_RES(RID_SVXSTR_GRAFMODE_GREYS))); 111*87ab04d0SAndre Fischer mpLBColorMode->InsertEntry(String(SVX_RES(RID_SVXSTR_GRAFMODE_MONO))); 112*87ab04d0SAndre Fischer mpLBColorMode->InsertEntry(String(SVX_RES(RID_SVXSTR_GRAFMODE_WATERMARK))); 1138dcb2a10SAndre Fischer mpLBColorMode->SetSelectHdl( LINK( this, GraphicPropertyPanel, ClickColorModeHdl )); 114*87ab04d0SAndre Fischer mpLBColorMode->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Color mode"))); 1158dcb2a10SAndre Fischer 1168dcb2a10SAndre Fischer mpMtrRed->SetModifyHdl( LINK( this, GraphicPropertyPanel, RedHdl ) ); 1178dcb2a10SAndre Fischer mpMtrGreen->SetModifyHdl( LINK( this, GraphicPropertyPanel, GreenHdl ) ); 1188dcb2a10SAndre Fischer mpMtrBlue->SetModifyHdl( LINK( this, GraphicPropertyPanel, BlueHdl ) ); 1198dcb2a10SAndre Fischer mpMtrGamma->SetModifyHdl( LINK( this, GraphicPropertyPanel, GammaHdl ) ); 120*87ab04d0SAndre Fischer mpMtrRed->SetAccessibleName(mpMtrRed->GetQuickHelpText()); 121*87ab04d0SAndre Fischer mpMtrGreen->SetAccessibleName(mpMtrGreen->GetQuickHelpText()); 122*87ab04d0SAndre Fischer mpMtrBlue->SetAccessibleName(mpMtrBlue->GetQuickHelpText()); 123*87ab04d0SAndre Fischer mpMtrGamma->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Gamma value"))); 1248dcb2a10SAndre Fischer 1258dcb2a10SAndre Fischer mpMtrRed->SetAccessibleRelationLabeledBy(mpMtrRed.get()); 1268dcb2a10SAndre Fischer mpMtrGreen->SetAccessibleRelationLabeledBy(mpMtrGreen.get()); 1278dcb2a10SAndre Fischer mpMtrBlue->SetAccessibleRelationLabeledBy(mpMtrBlue.get()); 1288dcb2a10SAndre Fischer mpMtrGamma->SetAccessibleRelationLabeledBy(mpMtrGamma.get()); 129*87ab04d0SAndre Fischer mpMtrBrightness->SetAccessibleRelationLabeledBy(mpFtBrightness.get()); 130*87ab04d0SAndre Fischer mpMtrContrast->SetAccessibleRelationLabeledBy(mpFtContrast.get()); 131*87ab04d0SAndre Fischer mpMtrTrans->SetAccessibleRelationLabeledBy(mpFtTrans.get()); 132*87ab04d0SAndre Fischer mpLBColorMode->SetAccessibleRelationLabeledBy(mpFtColorMode.get()); 133*87ab04d0SAndre Fischer 134*87ab04d0SAndre Fischer // Fix left position of some controls that may be wrong due to 135*87ab04d0SAndre Fischer // rounding errors. 136*87ab04d0SAndre Fischer const sal_Int32 nRight0 (mpLBColorMode->GetPosPixel().X() + mpLBColorMode->GetSizePixel().Width()); 137*87ab04d0SAndre Fischer const sal_Int32 nRight1 (mpMtrTrans->GetPosPixel().X() + mpMtrTrans->GetSizePixel().Width()); 138*87ab04d0SAndre Fischer mpMtrRed->SetPosPixel(Point( 139*87ab04d0SAndre Fischer nRight0 - mpMtrRed->GetSizePixel().Width(), 140*87ab04d0SAndre Fischer mpMtrRed->GetPosPixel().Y())); 141*87ab04d0SAndre Fischer mpMtrBlue->SetPosPixel(Point( 142*87ab04d0SAndre Fischer nRight0 - mpMtrBlue->GetSizePixel().Width(), 143*87ab04d0SAndre Fischer mpMtrBlue->GetPosPixel().Y())); 144*87ab04d0SAndre Fischer mpMtrGreen->SetPosPixel(Point( 145*87ab04d0SAndre Fischer nRight1 - mpMtrGreen->GetSizePixel().Width(), 146*87ab04d0SAndre Fischer mpMtrGreen->GetPosPixel().Y())); 147*87ab04d0SAndre Fischer mpMtrGamma->SetPosPixel(Point( 148*87ab04d0SAndre Fischer nRight1 - mpMtrGamma->GetSizePixel().Width(), 149*87ab04d0SAndre Fischer mpMtrGamma->GetPosPixel().Y())); 1508dcb2a10SAndre Fischer } 1518dcb2a10SAndre Fischer 152*87ab04d0SAndre Fischer 153*87ab04d0SAndre Fischer 154*87ab04d0SAndre Fischer 1558dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 1568dcb2a10SAndre Fischer 1578dcb2a10SAndre Fischer IMPL_LINK( GraphicPropertyPanel, ModifyBrightnessHdl, void *, EMPTYARG ) 1588dcb2a10SAndre Fischer { 159d74d90d6SArmin Le Grand const sal_Int16 nBright = mpMtrBrightness->GetValue(); 160d74d90d6SArmin Le Grand const SfxInt16Item aBrightItem( SID_ATTR_GRAF_LUMINANCE, nBright ); 161d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_LUMINANCE, SFX_CALLMODE_RECORD, &aBrightItem, 0L); 1628dcb2a10SAndre Fischer return 0L; 1638dcb2a10SAndre Fischer } 1648dcb2a10SAndre Fischer 1658dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 1668dcb2a10SAndre Fischer 1678dcb2a10SAndre Fischer IMPL_LINK( GraphicPropertyPanel, ModifyContrastHdl, void *, EMPTYARG ) 1688dcb2a10SAndre Fischer { 169d74d90d6SArmin Le Grand const sal_Int16 nContrast = mpMtrContrast->GetValue(); 170d74d90d6SArmin Le Grand const SfxInt16Item aContrastItem( SID_ATTR_GRAF_CONTRAST, nContrast ); 171d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_CONTRAST, SFX_CALLMODE_RECORD, &aContrastItem, 0L); 1728dcb2a10SAndre Fischer return 0L; 1738dcb2a10SAndre Fischer } 1748dcb2a10SAndre Fischer 1758dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 1768dcb2a10SAndre Fischer 1778dcb2a10SAndre Fischer IMPL_LINK( GraphicPropertyPanel, ModifyTransHdl, void *, EMPTYARG ) 1788dcb2a10SAndre Fischer { 179d74d90d6SArmin Le Grand const sal_Int16 nTrans = mpMtrTrans->GetValue(); 180d74d90d6SArmin Le Grand const SfxInt16Item aTransItem( SID_ATTR_GRAF_TRANSPARENCE, nTrans ); 181d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_TRANSPARENCE, SFX_CALLMODE_RECORD, &aTransItem, 0L); 1828dcb2a10SAndre Fischer return 0L; 1838dcb2a10SAndre Fischer } 1848dcb2a10SAndre Fischer 1858dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 1868dcb2a10SAndre Fischer 187e89b8a96SPavel Janík IMPL_LINK( GraphicPropertyPanel, ClickColorModeHdl, ToolBox *, /* pBox */) 1888dcb2a10SAndre Fischer { 189d74d90d6SArmin Le Grand const sal_Int16 nTrans = mpLBColorMode->GetSelectEntryPos(); 190d74d90d6SArmin Le Grand const SfxInt16Item aTransItem( SID_ATTR_GRAF_MODE, nTrans ); 191d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_MODE, SFX_CALLMODE_RECORD, &aTransItem, 0L); 1928dcb2a10SAndre Fischer return 0L; 1938dcb2a10SAndre Fischer } 1948dcb2a10SAndre Fischer 1958dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 1968dcb2a10SAndre Fischer 1978dcb2a10SAndre Fischer IMPL_LINK( GraphicPropertyPanel, RedHdl, void*, EMPTYARG ) 1988dcb2a10SAndre Fischer { 199d74d90d6SArmin Le Grand const sal_Int16 nRed = mpMtrRed->GetValue(); 200d74d90d6SArmin Le Grand const SfxInt16Item aRedItem( SID_ATTR_GRAF_RED, nRed ); 201d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_RED, SFX_CALLMODE_RECORD, &aRedItem, 0L); 2028dcb2a10SAndre Fischer return 0L; 2038dcb2a10SAndre Fischer } 2048dcb2a10SAndre Fischer 2058dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2068dcb2a10SAndre Fischer 2078dcb2a10SAndre Fischer IMPL_LINK( GraphicPropertyPanel, GreenHdl, void*, EMPTYARG ) 2088dcb2a10SAndre Fischer { 209d74d90d6SArmin Le Grand const sal_Int16 nGreen = mpMtrGreen->GetValue(); 210d74d90d6SArmin Le Grand const SfxInt16Item aGreenItem( SID_ATTR_GRAF_GREEN, nGreen ); 211d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_GREEN, SFX_CALLMODE_RECORD, &aGreenItem, 0L); 2128dcb2a10SAndre Fischer return 0L; 2138dcb2a10SAndre Fischer } 2148dcb2a10SAndre Fischer 2158dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2168dcb2a10SAndre Fischer 2178dcb2a10SAndre Fischer IMPL_LINK(GraphicPropertyPanel, BlueHdl, void *, EMPTYARG) 2188dcb2a10SAndre Fischer { 219d74d90d6SArmin Le Grand const sal_Int16 nBlue = mpMtrBlue->GetValue(); 220d74d90d6SArmin Le Grand const SfxInt16Item aBlueItem( SID_ATTR_GRAF_BLUE, nBlue ); 221d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_BLUE, SFX_CALLMODE_RECORD, &aBlueItem, 0L); 2228dcb2a10SAndre Fischer return 0L; 2238dcb2a10SAndre Fischer } 2248dcb2a10SAndre Fischer 2258dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2268dcb2a10SAndre Fischer 2278dcb2a10SAndre Fischer IMPL_LINK(GraphicPropertyPanel, GammaHdl, void *, EMPTYARG) 2288dcb2a10SAndre Fischer { 229d74d90d6SArmin Le Grand const sal_Int32 nGamma = mpMtrGamma->GetValue(); 230d74d90d6SArmin Le Grand const SfxInt32Item nGammaItem( SID_ATTR_GRAF_GAMMA, nGamma ); 231d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_GAMMA, SFX_CALLMODE_RECORD, &nGammaItem, 0L); 2328dcb2a10SAndre Fischer return 0L; 2338dcb2a10SAndre Fischer } 2348dcb2a10SAndre Fischer 2358dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2368dcb2a10SAndre Fischer 2378dcb2a10SAndre Fischer void GraphicPropertyPanel::SetupIcons(void) 2388dcb2a10SAndre Fischer { 2398dcb2a10SAndre Fischer if(Theme::GetBoolean(Theme::Bool_UseSymphonyIcons)) 2408dcb2a10SAndre Fischer { 2418dcb2a10SAndre Fischer // todo 2428dcb2a10SAndre Fischer } 2438dcb2a10SAndre Fischer else 2448dcb2a10SAndre Fischer { 2458dcb2a10SAndre Fischer // todo 2468dcb2a10SAndre Fischer } 2478dcb2a10SAndre Fischer } 2488dcb2a10SAndre Fischer 2498dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2508dcb2a10SAndre Fischer 2518dcb2a10SAndre Fischer GraphicPropertyPanel* GraphicPropertyPanel::Create ( 2528dcb2a10SAndre Fischer Window* pParent, 2538dcb2a10SAndre Fischer const cssu::Reference<css::frame::XFrame>& rxFrame, 2548dcb2a10SAndre Fischer SfxBindings* pBindings) 2558dcb2a10SAndre Fischer { 2568dcb2a10SAndre Fischer if (pParent == NULL) 2578dcb2a10SAndre Fischer throw lang::IllegalArgumentException(A2S("no parent Window given to GraphicPropertyPanel::Create"), NULL, 0); 2588dcb2a10SAndre Fischer if ( ! rxFrame.is()) 2598dcb2a10SAndre Fischer throw lang::IllegalArgumentException(A2S("no XFrame given to GraphicPropertyPanel::Create"), NULL, 1); 2608dcb2a10SAndre Fischer if (pBindings == NULL) 2618dcb2a10SAndre Fischer throw lang::IllegalArgumentException(A2S("no SfxBindings given to GraphicPropertyPanel::Create"), NULL, 2); 2628dcb2a10SAndre Fischer 2638dcb2a10SAndre Fischer return new GraphicPropertyPanel( 2648dcb2a10SAndre Fischer pParent, 2658dcb2a10SAndre Fischer rxFrame, 2668dcb2a10SAndre Fischer pBindings); 2678dcb2a10SAndre Fischer } 2688dcb2a10SAndre Fischer 2698dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2708dcb2a10SAndre Fischer 2718dcb2a10SAndre Fischer void GraphicPropertyPanel::DataChanged( 2728dcb2a10SAndre Fischer const DataChangedEvent& rEvent) 2738dcb2a10SAndre Fischer { 2748dcb2a10SAndre Fischer (void)rEvent; 2758dcb2a10SAndre Fischer 2768dcb2a10SAndre Fischer SetupIcons(); 2778dcb2a10SAndre Fischer } 2788dcb2a10SAndre Fischer 2798dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2808dcb2a10SAndre Fischer 2818dcb2a10SAndre Fischer void GraphicPropertyPanel::NotifyItemUpdate( 2828dcb2a10SAndre Fischer sal_uInt16 nSID, 2838dcb2a10SAndre Fischer SfxItemState eState, 28445da7d5eSAndre Fischer const SfxPoolItem* pState, 28545da7d5eSAndre Fischer const bool bIsEnabled) 2868dcb2a10SAndre Fischer { 28745da7d5eSAndre Fischer (void)bIsEnabled; 28845da7d5eSAndre Fischer 2898dcb2a10SAndre Fischer switch( nSID ) 2908dcb2a10SAndre Fischer { 2918dcb2a10SAndre Fischer case SID_ATTR_GRAF_LUMINANCE: 292d74d90d6SArmin Le Grand { 2938dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 2948dcb2a10SAndre Fischer { 2958dcb2a10SAndre Fischer mpMtrBrightness->Enable(); 2968dcb2a10SAndre Fischer const SfxInt16Item* pItem = dynamic_cast< const SfxInt16Item* >(pState); 2978dcb2a10SAndre Fischer 2988dcb2a10SAndre Fischer if(pItem) 2998dcb2a10SAndre Fischer { 300d74d90d6SArmin Le Grand const sal_Int64 nBright = pItem->GetValue(); 3018dcb2a10SAndre Fischer mpMtrBrightness->SetValue(nBright); 3028dcb2a10SAndre Fischer } 3038dcb2a10SAndre Fischer } 304d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 305d74d90d6SArmin Le Grand { 3068dcb2a10SAndre Fischer mpMtrBrightness->Disable(); 307d74d90d6SArmin Le Grand } 3088dcb2a10SAndre Fischer else 3098dcb2a10SAndre Fischer { 3108dcb2a10SAndre Fischer mpMtrBrightness->Enable(); 3118dcb2a10SAndre Fischer mpMtrBrightness->SetText(String()); 3128dcb2a10SAndre Fischer } 3138dcb2a10SAndre Fischer break; 314d74d90d6SArmin Le Grand } 3158dcb2a10SAndre Fischer case SID_ATTR_GRAF_CONTRAST: 316d74d90d6SArmin Le Grand { 3178dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 3188dcb2a10SAndre Fischer { 3198dcb2a10SAndre Fischer mpMtrContrast->Enable(); 3208dcb2a10SAndre Fischer const SfxInt16Item* pItem = dynamic_cast< const SfxInt16Item* >(pState); 3218dcb2a10SAndre Fischer 3228dcb2a10SAndre Fischer if(pItem) 3238dcb2a10SAndre Fischer { 324d74d90d6SArmin Le Grand const sal_Int64 nContrast = pItem->GetValue(); 3258dcb2a10SAndre Fischer mpMtrContrast->SetValue(nContrast); 3268dcb2a10SAndre Fischer } 3278dcb2a10SAndre Fischer } 328d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 329d74d90d6SArmin Le Grand { 3308dcb2a10SAndre Fischer mpMtrContrast->Disable(); 331d74d90d6SArmin Le Grand } 3328dcb2a10SAndre Fischer else 3338dcb2a10SAndre Fischer { 3348dcb2a10SAndre Fischer mpMtrContrast->Enable(); 3358dcb2a10SAndre Fischer mpMtrContrast->SetText(String()); 3368dcb2a10SAndre Fischer } 3378dcb2a10SAndre Fischer break; 338d74d90d6SArmin Le Grand } 3398dcb2a10SAndre Fischer case SID_ATTR_GRAF_TRANSPARENCE: 340d74d90d6SArmin Le Grand { 3418dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 3428dcb2a10SAndre Fischer { 3438dcb2a10SAndre Fischer mpMtrTrans->Enable(); 3448dcb2a10SAndre Fischer const SfxUInt16Item* pItem = dynamic_cast< const SfxUInt16Item* >(pState); 3458dcb2a10SAndre Fischer 3468dcb2a10SAndre Fischer if(pItem) 3478dcb2a10SAndre Fischer { 348d74d90d6SArmin Le Grand const sal_Int64 nTrans = pItem->GetValue(); 3498dcb2a10SAndre Fischer mpMtrTrans->SetValue(nTrans); 3508dcb2a10SAndre Fischer } 3518dcb2a10SAndre Fischer } 352d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 353d74d90d6SArmin Le Grand { 3548dcb2a10SAndre Fischer mpMtrTrans->Disable(); 355d74d90d6SArmin Le Grand } 3568dcb2a10SAndre Fischer else 3578dcb2a10SAndre Fischer { 3588dcb2a10SAndre Fischer mpMtrTrans->Enable(); 3598dcb2a10SAndre Fischer mpMtrTrans->SetText(String()); 3608dcb2a10SAndre Fischer } 3618dcb2a10SAndre Fischer break; 362d74d90d6SArmin Le Grand } 3638dcb2a10SAndre Fischer case SID_ATTR_GRAF_MODE: 364d74d90d6SArmin Le Grand { 3658dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 3668dcb2a10SAndre Fischer { 3678dcb2a10SAndre Fischer mpLBColorMode->Enable(); 3688dcb2a10SAndre Fischer const SfxUInt16Item* pItem = dynamic_cast< const SfxUInt16Item* >(pState); 3698dcb2a10SAndre Fischer 3708dcb2a10SAndre Fischer if(pItem) 3718dcb2a10SAndre Fischer { 372d74d90d6SArmin Le Grand const sal_Int64 nTrans = pItem->GetValue(); 3738dcb2a10SAndre Fischer mpLBColorMode->SelectEntryPos(nTrans); 3748dcb2a10SAndre Fischer } 3758dcb2a10SAndre Fischer } 376d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 377d74d90d6SArmin Le Grand { 3788dcb2a10SAndre Fischer mpLBColorMode->Disable(); 379d74d90d6SArmin Le Grand } 3808dcb2a10SAndre Fischer else 3818dcb2a10SAndre Fischer { 3828dcb2a10SAndre Fischer mpLBColorMode->Enable(); 3838dcb2a10SAndre Fischer mpLBColorMode->SetNoSelection(); 3848dcb2a10SAndre Fischer } 3858dcb2a10SAndre Fischer break; 386d74d90d6SArmin Le Grand } 3878dcb2a10SAndre Fischer case SID_ATTR_GRAF_RED: 388d74d90d6SArmin Le Grand { 3898dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 3908dcb2a10SAndre Fischer { 3918dcb2a10SAndre Fischer mpMtrRed->Enable(); 3928dcb2a10SAndre Fischer const SfxInt16Item* pItem = dynamic_cast< const SfxInt16Item* >(pState); 3938dcb2a10SAndre Fischer 3948dcb2a10SAndre Fischer if(pItem) 3958dcb2a10SAndre Fischer { 396d74d90d6SArmin Le Grand const sal_Int64 nRed = pItem->GetValue(); 3978dcb2a10SAndre Fischer mpMtrRed->SetValue( nRed ); 3988dcb2a10SAndre Fischer } 3998dcb2a10SAndre Fischer } 400d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 401d74d90d6SArmin Le Grand { 4028dcb2a10SAndre Fischer mpMtrRed->Disable(); 403d74d90d6SArmin Le Grand } 4048dcb2a10SAndre Fischer else 4058dcb2a10SAndre Fischer { 4068dcb2a10SAndre Fischer mpMtrRed->Enable(); 4078dcb2a10SAndre Fischer mpMtrRed->SetText(String()); 4088dcb2a10SAndre Fischer } 4098dcb2a10SAndre Fischer break; 410d74d90d6SArmin Le Grand } 4118dcb2a10SAndre Fischer case SID_ATTR_GRAF_GREEN: 412d74d90d6SArmin Le Grand { 4138dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 4148dcb2a10SAndre Fischer { 4158dcb2a10SAndre Fischer mpMtrGreen->Enable(); 4168dcb2a10SAndre Fischer const SfxInt16Item* pItem = dynamic_cast< const SfxInt16Item* >(pState); 4178dcb2a10SAndre Fischer 4188dcb2a10SAndre Fischer if(pItem) 4198dcb2a10SAndre Fischer { 420d74d90d6SArmin Le Grand const sal_Int64 nGreen = pItem->GetValue(); 4218dcb2a10SAndre Fischer mpMtrGreen->SetValue( nGreen ); 4228dcb2a10SAndre Fischer } 4238dcb2a10SAndre Fischer } 424d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 425d74d90d6SArmin Le Grand { 4268dcb2a10SAndre Fischer mpMtrGreen->Disable(); 427d74d90d6SArmin Le Grand } 4288dcb2a10SAndre Fischer else 4298dcb2a10SAndre Fischer { 4308dcb2a10SAndre Fischer mpMtrGreen->Enable(); 4318dcb2a10SAndre Fischer mpMtrGreen->SetText(String()); 4328dcb2a10SAndre Fischer } 4338dcb2a10SAndre Fischer break; 434d74d90d6SArmin Le Grand } 4358dcb2a10SAndre Fischer case SID_ATTR_GRAF_BLUE: 436d74d90d6SArmin Le Grand { 4378dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 4388dcb2a10SAndre Fischer { 4398dcb2a10SAndre Fischer mpMtrBlue->Enable(); 4408dcb2a10SAndre Fischer const SfxInt16Item* pItem = dynamic_cast< const SfxInt16Item* >(pState); 4418dcb2a10SAndre Fischer 4428dcb2a10SAndre Fischer if(pItem) 4438dcb2a10SAndre Fischer { 444d74d90d6SArmin Le Grand const sal_Int64 nBlue = pItem->GetValue(); 4458dcb2a10SAndre Fischer mpMtrBlue->SetValue( nBlue ); 4468dcb2a10SAndre Fischer } 4478dcb2a10SAndre Fischer } 448d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 449d74d90d6SArmin Le Grand { 4508dcb2a10SAndre Fischer mpMtrBlue->Disable(); 451d74d90d6SArmin Le Grand } 4528dcb2a10SAndre Fischer else 4538dcb2a10SAndre Fischer { 4548dcb2a10SAndre Fischer mpMtrBlue->Enable(); 4558dcb2a10SAndre Fischer mpMtrBlue->SetText(String()); 4568dcb2a10SAndre Fischer } 4578dcb2a10SAndre Fischer break; 458d74d90d6SArmin Le Grand } 4598dcb2a10SAndre Fischer case SID_ATTR_GRAF_GAMMA: 460d74d90d6SArmin Le Grand { 4618dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 4628dcb2a10SAndre Fischer { 4638dcb2a10SAndre Fischer mpMtrGamma->Enable(); 4648dcb2a10SAndre Fischer const SfxUInt32Item* pItem = dynamic_cast< const SfxUInt32Item* >(pState); 4658dcb2a10SAndre Fischer 4668dcb2a10SAndre Fischer if(pItem) 4678dcb2a10SAndre Fischer { 468d74d90d6SArmin Le Grand const sal_Int64 nGamma = pItem->GetValue(); 4698dcb2a10SAndre Fischer mpMtrGamma->SetValue( nGamma ); 4708dcb2a10SAndre Fischer } 4718dcb2a10SAndre Fischer } 472d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 473d74d90d6SArmin Le Grand { 4748dcb2a10SAndre Fischer mpMtrGamma->Disable(); 475d74d90d6SArmin Le Grand } 4768dcb2a10SAndre Fischer else 4778dcb2a10SAndre Fischer { 4788dcb2a10SAndre Fischer mpMtrGamma->Enable(); 4798dcb2a10SAndre Fischer mpMtrGamma->SetText(String()); 4808dcb2a10SAndre Fischer } 4818dcb2a10SAndre Fischer break; 4828dcb2a10SAndre Fischer } 4838dcb2a10SAndre Fischer } 484d74d90d6SArmin Le Grand } 4858dcb2a10SAndre Fischer 48645da7d5eSAndre Fischer 48745da7d5eSAndre Fischer 48845da7d5eSAndre Fischer 4898dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 4908dcb2a10SAndre Fischer 4918dcb2a10SAndre Fischer SfxBindings* GraphicPropertyPanel::GetBindings() 4928dcb2a10SAndre Fischer { 4938dcb2a10SAndre Fischer return mpBindings; 4948dcb2a10SAndre Fischer } 4958dcb2a10SAndre Fischer 4968dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 4978dcb2a10SAndre Fischer // namespace close 4988dcb2a10SAndre Fischer 4998dcb2a10SAndre Fischer }} // end of namespace ::svx::sidebar 5008dcb2a10SAndre Fischer 5018dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 5028dcb2a10SAndre Fischer // eof 503