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 22d29c2fc2SAndre Fischer #include <sfx2/sidebar/ResourceDefinitions.hrc> 238dcb2a10SAndre Fischer #include <sfx2/sidebar/Theme.hxx> 248dcb2a10SAndre Fischer #include <sfx2/sidebar/ControlFactory.hxx> 25*6a606da0SAndre Fischer #include <sfx2/sidebar/Layouter.hxx> 268dcb2a10SAndre Fischer #include <GraphicPropertyPanel.hxx> 278dcb2a10SAndre Fischer #include <GraphicPropertyPanel.hrc> 288dcb2a10SAndre Fischer #include <svx/dialogs.hrc> 298dcb2a10SAndre Fischer #include <svx/dialmgr.hxx> 308dcb2a10SAndre Fischer #include <vcl/field.hxx> 318dcb2a10SAndre Fischer #include <vcl/lstbox.hxx> 328dcb2a10SAndre Fischer #include <svl/intitem.hxx> 338dcb2a10SAndre Fischer #include <sfx2/bindings.hxx> 348dcb2a10SAndre Fischer #include <sfx2/dispatch.hxx> 3587ab04d0SAndre Fischer #include "svx/dialogs.hrc" 368dcb2a10SAndre Fischer 378dcb2a10SAndre Fischer using namespace css; 388dcb2a10SAndre Fischer using namespace cssu; 39*6a606da0SAndre Fischer using ::sfx2::sidebar::Layouter; 408dcb2a10SAndre Fischer using ::sfx2::sidebar::Theme; 418dcb2a10SAndre Fischer 428dcb2a10SAndre Fischer #define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) 438dcb2a10SAndre Fischer 448dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 45*6a606da0SAndre Fischer 468dcb2a10SAndre Fischer 478dcb2a10SAndre Fischer namespace svx { namespace sidebar { 488dcb2a10SAndre Fischer 498dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 508dcb2a10SAndre Fischer 518dcb2a10SAndre Fischer GraphicPropertyPanel::GraphicPropertyPanel( 528dcb2a10SAndre Fischer Window* pParent, 538dcb2a10SAndre Fischer const cssu::Reference<css::frame::XFrame>& rxFrame, 548dcb2a10SAndre Fischer SfxBindings* pBindings) 558dcb2a10SAndre Fischer : Control( 568dcb2a10SAndre Fischer pParent, 578dcb2a10SAndre Fischer SVX_RES(RID_SIDEBAR_GRAPHIC_PANEL)), 588dcb2a10SAndre Fischer mpFtBrightness(new FixedText(this, SVX_RES(FT_BRIGHTNESS))), 598dcb2a10SAndre Fischer mpMtrBrightness(new MetricField(this, SVX_RES(MTR_BRIGHTNESS))), 608dcb2a10SAndre Fischer mpFtContrast(new FixedText(this, SVX_RES(FT_CONTRAST))), 618dcb2a10SAndre Fischer mpMtrContrast(new MetricField(this, SVX_RES(MTR_CONTRAST))), 628dcb2a10SAndre Fischer mpFtColorMode(new FixedText(this, SVX_RES(FT_COLOR_MODE))), 638dcb2a10SAndre Fischer mpLBColorMode(new ListBox(this, SVX_RES(LB_COLOR_MODE))), 648dcb2a10SAndre Fischer mpFtTrans(new FixedText(this, SVX_RES(FT_TRANSPARENT))), 658dcb2a10SAndre Fischer mpMtrTrans(new MetricField(this, SVX_RES(MTR_TRANSPARENT))), 668dcb2a10SAndre Fischer mpMtrRed(new MetricField(this, SVX_RES(MF_RED))), 678dcb2a10SAndre Fischer mpMtrGreen(new MetricField(this, SVX_RES(MF_GREEN))), 688dcb2a10SAndre Fischer mpMtrBlue(new MetricField(this, SVX_RES(MF_BLUE))), 698dcb2a10SAndre Fischer mpMtrGamma(new MetricField(this, SVX_RES(MF_GAMMA))), 708dcb2a10SAndre Fischer maBrightControl(SID_ATTR_GRAF_LUMINANCE, *pBindings, *this), 718dcb2a10SAndre Fischer maContrastControl(SID_ATTR_GRAF_CONTRAST, *pBindings, *this), 728dcb2a10SAndre Fischer maTransparenceControl(SID_ATTR_GRAF_TRANSPARENCE, *pBindings, *this), 738dcb2a10SAndre Fischer maRedControl(SID_ATTR_GRAF_RED, *pBindings, *this), 748dcb2a10SAndre Fischer maGreenControl(SID_ATTR_GRAF_GREEN, *pBindings, *this), 758dcb2a10SAndre Fischer maBlueControl(SID_ATTR_GRAF_BLUE, *pBindings, *this), 768dcb2a10SAndre Fischer maGammaControl(SID_ATTR_GRAF_GAMMA, *pBindings, *this), 778dcb2a10SAndre Fischer maModeControl(SID_ATTR_GRAF_MODE, *pBindings, *this), 788dcb2a10SAndre Fischer maImgRed(this, SVX_RES(IMG_RED)), 798dcb2a10SAndre Fischer maImgGreen(this, SVX_RES(IMG_GREEN)), 808dcb2a10SAndre Fischer maImgBlue(this, SVX_RES(IMG_BLUE)), 818dcb2a10SAndre Fischer maImgGamma(this, SVX_RES(IMG_GAMMA)), 828dcb2a10SAndre Fischer mxFrame(rxFrame), 83*6a606da0SAndre Fischer mpBindings(pBindings), 84*6a606da0SAndre Fischer maLayouter(*this) 858dcb2a10SAndre Fischer { 868dcb2a10SAndre Fischer Initialize(); 878dcb2a10SAndre Fischer FreeResource(); 88*6a606da0SAndre Fischer 89*6a606da0SAndre Fischer // Setup the grid layouter. 90*6a606da0SAndre Fischer maLayouter.GetCell(0,0).SetControl(*mpFtBrightness).SetGridWidth(2); 91*6a606da0SAndre Fischer maLayouter.GetCell(1,0).SetControl(*mpMtrBrightness).SetGridWidth(2); 92*6a606da0SAndre Fischer 93*6a606da0SAndre Fischer maLayouter.GetCell(0,3).SetControl(*mpFtContrast).SetGridWidth(2); 94*6a606da0SAndre Fischer maLayouter.GetCell(1,3).SetControl(*mpMtrContrast).SetGridWidth(2); 95*6a606da0SAndre Fischer 96*6a606da0SAndre Fischer maLayouter.GetCell(2,0).SetControl(*mpFtColorMode).SetGridWidth(2); 97*6a606da0SAndre Fischer maLayouter.GetCell(3,0).SetControl(*mpLBColorMode).SetGridWidth(2); 98*6a606da0SAndre Fischer 99*6a606da0SAndre Fischer maLayouter.GetCell(2,3).SetControl(*mpFtTrans).SetGridWidth(2); 100*6a606da0SAndre Fischer maLayouter.GetCell(3,3).SetControl(*mpMtrTrans).SetGridWidth(2); 101*6a606da0SAndre Fischer 102*6a606da0SAndre Fischer maLayouter.GetCell(4,0).SetControl(maImgRed).SetFixedWidth(); 103*6a606da0SAndre Fischer maLayouter.GetCell(4,1).SetControl(*mpMtrRed); 104*6a606da0SAndre Fischer 105*6a606da0SAndre Fischer maLayouter.GetCell(5,0).SetControl(maImgBlue).SetFixedWidth(); 106*6a606da0SAndre Fischer maLayouter.GetCell(5,1).SetControl(*mpMtrBlue); 107*6a606da0SAndre Fischer 108*6a606da0SAndre Fischer maLayouter.GetCell(4,3).SetControl(maImgGreen).SetFixedWidth(); 109*6a606da0SAndre Fischer maLayouter.GetCell(4,4).SetControl(*mpMtrGreen); 110*6a606da0SAndre Fischer maLayouter.GetCell(5,3).SetControl(maImgGamma).SetFixedWidth(); 111*6a606da0SAndre Fischer maLayouter.GetCell(5,4).SetControl(*mpMtrGamma); 112*6a606da0SAndre Fischer 113*6a606da0SAndre Fischer maLayouter.GetColumn(0) 114*6a606da0SAndre Fischer .SetWeight(0) 115*6a606da0SAndre Fischer .SetLeftPadding(Layouter::MapWidth(*this,SECTIONPAGE_MARGIN_HORIZONTAL)); 116*6a606da0SAndre Fischer maLayouter.GetColumn(1) 117*6a606da0SAndre Fischer .SetWeight(1) 118*6a606da0SAndre Fischer .SetMinimumWidth(Layouter::MapWidth(*this, MBOX_WIDTH - 10)); 119*6a606da0SAndre Fischer maLayouter.GetColumn(2) 120*6a606da0SAndre Fischer .SetWeight(0) 121*6a606da0SAndre Fischer .SetMinimumWidth(Layouter::MapWidth(*this, CONTROL_SPACING_HORIZONTAL)); 122*6a606da0SAndre Fischer maLayouter.GetColumn(3) 123*6a606da0SAndre Fischer .SetWeight(0); 124*6a606da0SAndre Fischer maLayouter.GetColumn(4) 125*6a606da0SAndre Fischer .SetWeight(1) 126*6a606da0SAndre Fischer .SetMinimumWidth(Layouter::MapWidth(*this, MBOX_WIDTH - 10)) 127*6a606da0SAndre Fischer .SetRightPadding(Layouter::MapWidth(*this,SECTIONPAGE_MARGIN_HORIZONTAL)); 128*6a606da0SAndre Fischer 129*6a606da0SAndre Fischer // Make controls that display text handle short widths more 130*6a606da0SAndre Fischer // graceful. 131*6a606da0SAndre Fischer Layouter::PrepareForLayouting(*mpFtBrightness); 132*6a606da0SAndre Fischer Layouter::PrepareForLayouting(*mpFtContrast); 133*6a606da0SAndre Fischer Layouter::PrepareForLayouting(*mpFtColorMode); 134*6a606da0SAndre Fischer Layouter::PrepareForLayouting(*mpFtTrans); 1358dcb2a10SAndre Fischer } 1368dcb2a10SAndre Fischer 1378dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 1388dcb2a10SAndre Fischer 1398dcb2a10SAndre Fischer GraphicPropertyPanel::~GraphicPropertyPanel() 1408dcb2a10SAndre Fischer { 1418dcb2a10SAndre Fischer } 1428dcb2a10SAndre Fischer 1438dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 1448dcb2a10SAndre Fischer 1458dcb2a10SAndre Fischer void GraphicPropertyPanel::Initialize() 1468dcb2a10SAndre Fischer { 14737fee4fdSAndre Fischer mpFtBrightness->SetBackground(Wallpaper()); 14837fee4fdSAndre Fischer mpFtContrast->SetBackground(Wallpaper()); 14937fee4fdSAndre Fischer mpFtColorMode->SetBackground(Wallpaper()); 15037fee4fdSAndre Fischer mpFtTrans->SetBackground(Wallpaper()); 15137fee4fdSAndre Fischer 1528dcb2a10SAndre Fischer mpMtrBrightness->SetModifyHdl( LINK( this, GraphicPropertyPanel, ModifyBrightnessHdl ) ); 15387ab04d0SAndre Fischer mpMtrBrightness->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Brightness"))); 1548dcb2a10SAndre Fischer mpMtrContrast->SetModifyHdl( LINK( this, GraphicPropertyPanel, ModifyContrastHdl ) ); 15587ab04d0SAndre Fischer mpMtrContrast->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Contrast"))); 1568dcb2a10SAndre Fischer mpMtrTrans->SetModifyHdl( LINK( this, GraphicPropertyPanel, ModifyTransHdl ) ); 15787ab04d0SAndre Fischer mpMtrTrans->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Transparency"))); 1588dcb2a10SAndre Fischer 15987ab04d0SAndre Fischer mpLBColorMode->InsertEntry(String(SVX_RES(RID_SVXSTR_GRAFMODE_STANDARD))); 16087ab04d0SAndre Fischer mpLBColorMode->InsertEntry(String(SVX_RES(RID_SVXSTR_GRAFMODE_GREYS))); 16187ab04d0SAndre Fischer mpLBColorMode->InsertEntry(String(SVX_RES(RID_SVXSTR_GRAFMODE_MONO))); 16287ab04d0SAndre Fischer mpLBColorMode->InsertEntry(String(SVX_RES(RID_SVXSTR_GRAFMODE_WATERMARK))); 1638dcb2a10SAndre Fischer mpLBColorMode->SetSelectHdl( LINK( this, GraphicPropertyPanel, ClickColorModeHdl )); 16487ab04d0SAndre Fischer mpLBColorMode->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Color mode"))); 1658dcb2a10SAndre Fischer 1668dcb2a10SAndre Fischer mpMtrRed->SetModifyHdl( LINK( this, GraphicPropertyPanel, RedHdl ) ); 1678dcb2a10SAndre Fischer mpMtrGreen->SetModifyHdl( LINK( this, GraphicPropertyPanel, GreenHdl ) ); 1688dcb2a10SAndre Fischer mpMtrBlue->SetModifyHdl( LINK( this, GraphicPropertyPanel, BlueHdl ) ); 1698dcb2a10SAndre Fischer mpMtrGamma->SetModifyHdl( LINK( this, GraphicPropertyPanel, GammaHdl ) ); 17087ab04d0SAndre Fischer mpMtrRed->SetAccessibleName(mpMtrRed->GetQuickHelpText()); 17187ab04d0SAndre Fischer mpMtrGreen->SetAccessibleName(mpMtrGreen->GetQuickHelpText()); 17287ab04d0SAndre Fischer mpMtrBlue->SetAccessibleName(mpMtrBlue->GetQuickHelpText()); 17387ab04d0SAndre Fischer mpMtrGamma->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Gamma value"))); 1748dcb2a10SAndre Fischer 1758dcb2a10SAndre Fischer mpMtrRed->SetAccessibleRelationLabeledBy(mpMtrRed.get()); 1768dcb2a10SAndre Fischer mpMtrGreen->SetAccessibleRelationLabeledBy(mpMtrGreen.get()); 1778dcb2a10SAndre Fischer mpMtrBlue->SetAccessibleRelationLabeledBy(mpMtrBlue.get()); 1788dcb2a10SAndre Fischer mpMtrGamma->SetAccessibleRelationLabeledBy(mpMtrGamma.get()); 17987ab04d0SAndre Fischer mpMtrBrightness->SetAccessibleRelationLabeledBy(mpFtBrightness.get()); 18087ab04d0SAndre Fischer mpMtrContrast->SetAccessibleRelationLabeledBy(mpFtContrast.get()); 18187ab04d0SAndre Fischer mpMtrTrans->SetAccessibleRelationLabeledBy(mpFtTrans.get()); 18287ab04d0SAndre Fischer mpLBColorMode->SetAccessibleRelationLabeledBy(mpFtColorMode.get()); 18387ab04d0SAndre Fischer 18487ab04d0SAndre Fischer // Fix left position of some controls that may be wrong due to 18587ab04d0SAndre Fischer // rounding errors. 18687ab04d0SAndre Fischer const sal_Int32 nRight0 (mpLBColorMode->GetPosPixel().X() + mpLBColorMode->GetSizePixel().Width()); 18787ab04d0SAndre Fischer const sal_Int32 nRight1 (mpMtrTrans->GetPosPixel().X() + mpMtrTrans->GetSizePixel().Width()); 18887ab04d0SAndre Fischer mpMtrRed->SetPosPixel(Point( 18987ab04d0SAndre Fischer nRight0 - mpMtrRed->GetSizePixel().Width(), 19087ab04d0SAndre Fischer mpMtrRed->GetPosPixel().Y())); 19187ab04d0SAndre Fischer mpMtrBlue->SetPosPixel(Point( 19287ab04d0SAndre Fischer nRight0 - mpMtrBlue->GetSizePixel().Width(), 19387ab04d0SAndre Fischer mpMtrBlue->GetPosPixel().Y())); 19487ab04d0SAndre Fischer mpMtrGreen->SetPosPixel(Point( 19587ab04d0SAndre Fischer nRight1 - mpMtrGreen->GetSizePixel().Width(), 19687ab04d0SAndre Fischer mpMtrGreen->GetPosPixel().Y())); 19787ab04d0SAndre Fischer mpMtrGamma->SetPosPixel(Point( 19887ab04d0SAndre Fischer nRight1 - mpMtrGamma->GetSizePixel().Width(), 19987ab04d0SAndre Fischer mpMtrGamma->GetPosPixel().Y())); 2008dcb2a10SAndre Fischer } 2018dcb2a10SAndre Fischer 20287ab04d0SAndre Fischer 20387ab04d0SAndre Fischer 20487ab04d0SAndre Fischer 2058dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2068dcb2a10SAndre Fischer 2078dcb2a10SAndre Fischer IMPL_LINK( GraphicPropertyPanel, ModifyBrightnessHdl, void *, EMPTYARG ) 2088dcb2a10SAndre Fischer { 209d74d90d6SArmin Le Grand const sal_Int16 nBright = mpMtrBrightness->GetValue(); 210d74d90d6SArmin Le Grand const SfxInt16Item aBrightItem( SID_ATTR_GRAF_LUMINANCE, nBright ); 211d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_LUMINANCE, SFX_CALLMODE_RECORD, &aBrightItem, 0L); 2128dcb2a10SAndre Fischer return 0L; 2138dcb2a10SAndre Fischer } 2148dcb2a10SAndre Fischer 2158dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2168dcb2a10SAndre Fischer 2178dcb2a10SAndre Fischer IMPL_LINK( GraphicPropertyPanel, ModifyContrastHdl, void *, EMPTYARG ) 2188dcb2a10SAndre Fischer { 219d74d90d6SArmin Le Grand const sal_Int16 nContrast = mpMtrContrast->GetValue(); 220d74d90d6SArmin Le Grand const SfxInt16Item aContrastItem( SID_ATTR_GRAF_CONTRAST, nContrast ); 221d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_CONTRAST, SFX_CALLMODE_RECORD, &aContrastItem, 0L); 2228dcb2a10SAndre Fischer return 0L; 2238dcb2a10SAndre Fischer } 2248dcb2a10SAndre Fischer 2258dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2268dcb2a10SAndre Fischer 2278dcb2a10SAndre Fischer IMPL_LINK( GraphicPropertyPanel, ModifyTransHdl, void *, EMPTYARG ) 2288dcb2a10SAndre Fischer { 229d74d90d6SArmin Le Grand const sal_Int16 nTrans = mpMtrTrans->GetValue(); 230d74d90d6SArmin Le Grand const SfxInt16Item aTransItem( SID_ATTR_GRAF_TRANSPARENCE, nTrans ); 231d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_TRANSPARENCE, SFX_CALLMODE_RECORD, &aTransItem, 0L); 2328dcb2a10SAndre Fischer return 0L; 2338dcb2a10SAndre Fischer } 2348dcb2a10SAndre Fischer 2358dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2368dcb2a10SAndre Fischer 237e89b8a96SPavel Janík IMPL_LINK( GraphicPropertyPanel, ClickColorModeHdl, ToolBox *, /* pBox */) 2388dcb2a10SAndre Fischer { 239d74d90d6SArmin Le Grand const sal_Int16 nTrans = mpLBColorMode->GetSelectEntryPos(); 240d74d90d6SArmin Le Grand const SfxInt16Item aTransItem( SID_ATTR_GRAF_MODE, nTrans ); 241d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_MODE, SFX_CALLMODE_RECORD, &aTransItem, 0L); 2428dcb2a10SAndre Fischer return 0L; 2438dcb2a10SAndre Fischer } 2448dcb2a10SAndre Fischer 2458dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2468dcb2a10SAndre Fischer 2478dcb2a10SAndre Fischer IMPL_LINK( GraphicPropertyPanel, RedHdl, void*, EMPTYARG ) 2488dcb2a10SAndre Fischer { 249d74d90d6SArmin Le Grand const sal_Int16 nRed = mpMtrRed->GetValue(); 250d74d90d6SArmin Le Grand const SfxInt16Item aRedItem( SID_ATTR_GRAF_RED, nRed ); 251d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_RED, SFX_CALLMODE_RECORD, &aRedItem, 0L); 2528dcb2a10SAndre Fischer return 0L; 2538dcb2a10SAndre Fischer } 2548dcb2a10SAndre Fischer 2558dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2568dcb2a10SAndre Fischer 2578dcb2a10SAndre Fischer IMPL_LINK( GraphicPropertyPanel, GreenHdl, void*, EMPTYARG ) 2588dcb2a10SAndre Fischer { 259d74d90d6SArmin Le Grand const sal_Int16 nGreen = mpMtrGreen->GetValue(); 260d74d90d6SArmin Le Grand const SfxInt16Item aGreenItem( SID_ATTR_GRAF_GREEN, nGreen ); 261d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_GREEN, SFX_CALLMODE_RECORD, &aGreenItem, 0L); 2628dcb2a10SAndre Fischer return 0L; 2638dcb2a10SAndre Fischer } 2648dcb2a10SAndre Fischer 2658dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2668dcb2a10SAndre Fischer 2678dcb2a10SAndre Fischer IMPL_LINK(GraphicPropertyPanel, BlueHdl, void *, EMPTYARG) 2688dcb2a10SAndre Fischer { 269d74d90d6SArmin Le Grand const sal_Int16 nBlue = mpMtrBlue->GetValue(); 270d74d90d6SArmin Le Grand const SfxInt16Item aBlueItem( SID_ATTR_GRAF_BLUE, nBlue ); 271d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_BLUE, SFX_CALLMODE_RECORD, &aBlueItem, 0L); 2728dcb2a10SAndre Fischer return 0L; 2738dcb2a10SAndre Fischer } 2748dcb2a10SAndre Fischer 2758dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2768dcb2a10SAndre Fischer 2778dcb2a10SAndre Fischer IMPL_LINK(GraphicPropertyPanel, GammaHdl, void *, EMPTYARG) 2788dcb2a10SAndre Fischer { 279d74d90d6SArmin Le Grand const sal_Int32 nGamma = mpMtrGamma->GetValue(); 280d74d90d6SArmin Le Grand const SfxInt32Item nGammaItem( SID_ATTR_GRAF_GAMMA, nGamma ); 281d74d90d6SArmin Le Grand GetBindings()->GetDispatcher()->Execute(SID_ATTR_GRAF_GAMMA, SFX_CALLMODE_RECORD, &nGammaItem, 0L); 2828dcb2a10SAndre Fischer return 0L; 2838dcb2a10SAndre Fischer } 2848dcb2a10SAndre Fischer 2858dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 2868dcb2a10SAndre Fischer 2878dcb2a10SAndre Fischer void GraphicPropertyPanel::SetupIcons(void) 2888dcb2a10SAndre Fischer { 2898dcb2a10SAndre Fischer if(Theme::GetBoolean(Theme::Bool_UseSymphonyIcons)) 2908dcb2a10SAndre Fischer { 2918dcb2a10SAndre Fischer // todo 2928dcb2a10SAndre Fischer } 2938dcb2a10SAndre Fischer else 2948dcb2a10SAndre Fischer { 2958dcb2a10SAndre Fischer // todo 2968dcb2a10SAndre Fischer } 2978dcb2a10SAndre Fischer } 2988dcb2a10SAndre Fischer 2998dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 3008dcb2a10SAndre Fischer 3018dcb2a10SAndre Fischer GraphicPropertyPanel* GraphicPropertyPanel::Create ( 3028dcb2a10SAndre Fischer Window* pParent, 3038dcb2a10SAndre Fischer const cssu::Reference<css::frame::XFrame>& rxFrame, 3048dcb2a10SAndre Fischer SfxBindings* pBindings) 3058dcb2a10SAndre Fischer { 3068dcb2a10SAndre Fischer if (pParent == NULL) 3078dcb2a10SAndre Fischer throw lang::IllegalArgumentException(A2S("no parent Window given to GraphicPropertyPanel::Create"), NULL, 0); 3088dcb2a10SAndre Fischer if ( ! rxFrame.is()) 3098dcb2a10SAndre Fischer throw lang::IllegalArgumentException(A2S("no XFrame given to GraphicPropertyPanel::Create"), NULL, 1); 3108dcb2a10SAndre Fischer if (pBindings == NULL) 3118dcb2a10SAndre Fischer throw lang::IllegalArgumentException(A2S("no SfxBindings given to GraphicPropertyPanel::Create"), NULL, 2); 3128dcb2a10SAndre Fischer 3138dcb2a10SAndre Fischer return new GraphicPropertyPanel( 3148dcb2a10SAndre Fischer pParent, 3158dcb2a10SAndre Fischer rxFrame, 3168dcb2a10SAndre Fischer pBindings); 3178dcb2a10SAndre Fischer } 3188dcb2a10SAndre Fischer 3198dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 3208dcb2a10SAndre Fischer 3218dcb2a10SAndre Fischer void GraphicPropertyPanel::DataChanged( 3228dcb2a10SAndre Fischer const DataChangedEvent& rEvent) 3238dcb2a10SAndre Fischer { 3248dcb2a10SAndre Fischer (void)rEvent; 3258dcb2a10SAndre Fischer 3268dcb2a10SAndre Fischer SetupIcons(); 3278dcb2a10SAndre Fischer } 3288dcb2a10SAndre Fischer 3298dcb2a10SAndre Fischer ////////////////////////////////////////////////////////////////////////////// 3308dcb2a10SAndre Fischer 3318dcb2a10SAndre Fischer void GraphicPropertyPanel::NotifyItemUpdate( 3328dcb2a10SAndre Fischer sal_uInt16 nSID, 3338dcb2a10SAndre Fischer SfxItemState eState, 33445da7d5eSAndre Fischer const SfxPoolItem* pState, 33545da7d5eSAndre Fischer const bool bIsEnabled) 3368dcb2a10SAndre Fischer { 33745da7d5eSAndre Fischer (void)bIsEnabled; 33845da7d5eSAndre Fischer 3398dcb2a10SAndre Fischer switch( nSID ) 3408dcb2a10SAndre Fischer { 3418dcb2a10SAndre Fischer case SID_ATTR_GRAF_LUMINANCE: 342d74d90d6SArmin Le Grand { 3438dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 3448dcb2a10SAndre Fischer { 3458dcb2a10SAndre Fischer mpMtrBrightness->Enable(); 3468dcb2a10SAndre Fischer const SfxInt16Item* pItem = dynamic_cast< const SfxInt16Item* >(pState); 3478dcb2a10SAndre Fischer 3488dcb2a10SAndre Fischer if(pItem) 3498dcb2a10SAndre Fischer { 350d74d90d6SArmin Le Grand const sal_Int64 nBright = pItem->GetValue(); 3518dcb2a10SAndre Fischer mpMtrBrightness->SetValue(nBright); 3528dcb2a10SAndre Fischer } 3538dcb2a10SAndre Fischer } 354d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 355d74d90d6SArmin Le Grand { 3568dcb2a10SAndre Fischer mpMtrBrightness->Disable(); 357d74d90d6SArmin Le Grand } 3588dcb2a10SAndre Fischer else 3598dcb2a10SAndre Fischer { 3608dcb2a10SAndre Fischer mpMtrBrightness->Enable(); 3618dcb2a10SAndre Fischer mpMtrBrightness->SetText(String()); 3628dcb2a10SAndre Fischer } 3638dcb2a10SAndre Fischer break; 364d74d90d6SArmin Le Grand } 3658dcb2a10SAndre Fischer case SID_ATTR_GRAF_CONTRAST: 366d74d90d6SArmin Le Grand { 3678dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 3688dcb2a10SAndre Fischer { 3698dcb2a10SAndre Fischer mpMtrContrast->Enable(); 3708dcb2a10SAndre Fischer const SfxInt16Item* pItem = dynamic_cast< const SfxInt16Item* >(pState); 3718dcb2a10SAndre Fischer 3728dcb2a10SAndre Fischer if(pItem) 3738dcb2a10SAndre Fischer { 374d74d90d6SArmin Le Grand const sal_Int64 nContrast = pItem->GetValue(); 3758dcb2a10SAndre Fischer mpMtrContrast->SetValue(nContrast); 3768dcb2a10SAndre Fischer } 3778dcb2a10SAndre Fischer } 378d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 379d74d90d6SArmin Le Grand { 3808dcb2a10SAndre Fischer mpMtrContrast->Disable(); 381d74d90d6SArmin Le Grand } 3828dcb2a10SAndre Fischer else 3838dcb2a10SAndre Fischer { 3848dcb2a10SAndre Fischer mpMtrContrast->Enable(); 3858dcb2a10SAndre Fischer mpMtrContrast->SetText(String()); 3868dcb2a10SAndre Fischer } 3878dcb2a10SAndre Fischer break; 388d74d90d6SArmin Le Grand } 3898dcb2a10SAndre Fischer case SID_ATTR_GRAF_TRANSPARENCE: 390d74d90d6SArmin Le Grand { 3918dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 3928dcb2a10SAndre Fischer { 3938dcb2a10SAndre Fischer mpMtrTrans->Enable(); 3948dcb2a10SAndre Fischer const SfxUInt16Item* pItem = dynamic_cast< const SfxUInt16Item* >(pState); 3958dcb2a10SAndre Fischer 3968dcb2a10SAndre Fischer if(pItem) 3978dcb2a10SAndre Fischer { 398d74d90d6SArmin Le Grand const sal_Int64 nTrans = pItem->GetValue(); 3998dcb2a10SAndre Fischer mpMtrTrans->SetValue(nTrans); 4008dcb2a10SAndre Fischer } 4018dcb2a10SAndre Fischer } 402d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 403d74d90d6SArmin Le Grand { 4048dcb2a10SAndre Fischer mpMtrTrans->Disable(); 405d74d90d6SArmin Le Grand } 4068dcb2a10SAndre Fischer else 4078dcb2a10SAndre Fischer { 4088dcb2a10SAndre Fischer mpMtrTrans->Enable(); 4098dcb2a10SAndre Fischer mpMtrTrans->SetText(String()); 4108dcb2a10SAndre Fischer } 4118dcb2a10SAndre Fischer break; 412d74d90d6SArmin Le Grand } 4138dcb2a10SAndre Fischer case SID_ATTR_GRAF_MODE: 414d74d90d6SArmin Le Grand { 4158dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 4168dcb2a10SAndre Fischer { 4178dcb2a10SAndre Fischer mpLBColorMode->Enable(); 4188dcb2a10SAndre Fischer const SfxUInt16Item* pItem = dynamic_cast< const SfxUInt16Item* >(pState); 4198dcb2a10SAndre Fischer 4208dcb2a10SAndre Fischer if(pItem) 4218dcb2a10SAndre Fischer { 422d74d90d6SArmin Le Grand const sal_Int64 nTrans = pItem->GetValue(); 4238dcb2a10SAndre Fischer mpLBColorMode->SelectEntryPos(nTrans); 4248dcb2a10SAndre Fischer } 4258dcb2a10SAndre Fischer } 426d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 427d74d90d6SArmin Le Grand { 4288dcb2a10SAndre Fischer mpLBColorMode->Disable(); 429d74d90d6SArmin Le Grand } 4308dcb2a10SAndre Fischer else 4318dcb2a10SAndre Fischer { 4328dcb2a10SAndre Fischer mpLBColorMode->Enable(); 4338dcb2a10SAndre Fischer mpLBColorMode->SetNoSelection(); 4348dcb2a10SAndre Fischer } 4358dcb2a10SAndre Fischer break; 436d74d90d6SArmin Le Grand } 4378dcb2a10SAndre Fischer case SID_ATTR_GRAF_RED: 438d74d90d6SArmin Le Grand { 4398dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 4408dcb2a10SAndre Fischer { 4418dcb2a10SAndre Fischer mpMtrRed->Enable(); 4428dcb2a10SAndre Fischer const SfxInt16Item* pItem = dynamic_cast< const SfxInt16Item* >(pState); 4438dcb2a10SAndre Fischer 4448dcb2a10SAndre Fischer if(pItem) 4458dcb2a10SAndre Fischer { 446d74d90d6SArmin Le Grand const sal_Int64 nRed = pItem->GetValue(); 4478dcb2a10SAndre Fischer mpMtrRed->SetValue( nRed ); 4488dcb2a10SAndre Fischer } 4498dcb2a10SAndre Fischer } 450d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 451d74d90d6SArmin Le Grand { 4528dcb2a10SAndre Fischer mpMtrRed->Disable(); 453d74d90d6SArmin Le Grand } 4548dcb2a10SAndre Fischer else 4558dcb2a10SAndre Fischer { 4568dcb2a10SAndre Fischer mpMtrRed->Enable(); 4578dcb2a10SAndre Fischer mpMtrRed->SetText(String()); 4588dcb2a10SAndre Fischer } 4598dcb2a10SAndre Fischer break; 460d74d90d6SArmin Le Grand } 4618dcb2a10SAndre Fischer case SID_ATTR_GRAF_GREEN: 462d74d90d6SArmin Le Grand { 4638dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 4648dcb2a10SAndre Fischer { 4658dcb2a10SAndre Fischer mpMtrGreen->Enable(); 4668dcb2a10SAndre Fischer const SfxInt16Item* pItem = dynamic_cast< const SfxInt16Item* >(pState); 4678dcb2a10SAndre Fischer 4688dcb2a10SAndre Fischer if(pItem) 4698dcb2a10SAndre Fischer { 470d74d90d6SArmin Le Grand const sal_Int64 nGreen = pItem->GetValue(); 4718dcb2a10SAndre Fischer mpMtrGreen->SetValue( nGreen ); 4728dcb2a10SAndre Fischer } 4738dcb2a10SAndre Fischer } 474d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 475d74d90d6SArmin Le Grand { 4768dcb2a10SAndre Fischer mpMtrGreen->Disable(); 477d74d90d6SArmin Le Grand } 4788dcb2a10SAndre Fischer else 4798dcb2a10SAndre Fischer { 4808dcb2a10SAndre Fischer mpMtrGreen->Enable(); 4818dcb2a10SAndre Fischer mpMtrGreen->SetText(String()); 4828dcb2a10SAndre Fischer } 4838dcb2a10SAndre Fischer break; 484d74d90d6SArmin Le Grand } 4858dcb2a10SAndre Fischer case SID_ATTR_GRAF_BLUE: 486d74d90d6SArmin Le Grand { 4878dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 4888dcb2a10SAndre Fischer { 4898dcb2a10SAndre Fischer mpMtrBlue->Enable(); 4908dcb2a10SAndre Fischer const SfxInt16Item* pItem = dynamic_cast< const SfxInt16Item* >(pState); 4918dcb2a10SAndre Fischer 4928dcb2a10SAndre Fischer if(pItem) 4938dcb2a10SAndre Fischer { 494d74d90d6SArmin Le Grand const sal_Int64 nBlue = pItem->GetValue(); 4958dcb2a10SAndre Fischer mpMtrBlue->SetValue( nBlue ); 4968dcb2a10SAndre Fischer } 4978dcb2a10SAndre Fischer } 498d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 499d74d90d6SArmin Le Grand { 5008dcb2a10SAndre Fischer mpMtrBlue->Disable(); 501d74d90d6SArmin Le Grand } 5028dcb2a10SAndre Fischer else 5038dcb2a10SAndre Fischer { 5048dcb2a10SAndre Fischer mpMtrBlue->Enable(); 5058dcb2a10SAndre Fischer mpMtrBlue->SetText(String()); 5068dcb2a10SAndre Fischer } 5078dcb2a10SAndre Fischer break; 508d74d90d6SArmin Le Grand } 5098dcb2a10SAndre Fischer case SID_ATTR_GRAF_GAMMA: 510d74d90d6SArmin Le Grand { 5118dcb2a10SAndre Fischer if(eState >= SFX_ITEM_AVAILABLE) 5128dcb2a10SAndre Fischer { 5138dcb2a10SAndre Fischer mpMtrGamma->Enable(); 5148dcb2a10SAndre Fischer const SfxUInt32Item* pItem = dynamic_cast< const SfxUInt32Item* >(pState); 5158dcb2a10SAndre Fischer 5168dcb2a10SAndre Fischer if(pItem) 5178dcb2a10SAndre Fischer { 518d74d90d6SArmin Le Grand const sal_Int64 nGamma = pItem->GetValue(); 5198dcb2a10SAndre Fischer mpMtrGamma->SetValue( nGamma ); 5208dcb2a10SAndre Fischer } 5218dcb2a10SAndre Fischer } 522d74d90d6SArmin Le Grand else if(SFX_ITEM_DISABLED == eState) 523d74d90d6SArmin Le Grand { 5248dcb2a10SAndre Fischer mpMtrGamma->Disable(); 525d74d90d6SArmin Le Grand } 5268dcb2a10SAndre Fischer else 5278dcb2a10SAndre Fischer { 5288dcb2a10SAndre Fischer mpMtrGamma->Enable(); 5298dcb2a10SAndre Fischer mpMtrGamma->SetText(String()); 5308dcb2a10SAndre Fischer } 5318dcb2a10SAndre Fischer break; 5328dcb2a10SAndre Fischer } 5338dcb2a10SAndre Fischer } 534d74d90d6SArmin Le Grand } 5358dcb2a10SAndre Fischer 53645da7d5eSAndre Fischer 53745da7d5eSAndre Fischer 53845da7d5eSAndre Fischer 5398dcb2a10SAndre Fischer SfxBindings* GraphicPropertyPanel::GetBindings() 5408dcb2a10SAndre Fischer { 5418dcb2a10SAndre Fischer return mpBindings; 5428dcb2a10SAndre Fischer } 5438dcb2a10SAndre Fischer 544*6a606da0SAndre Fischer 545*6a606da0SAndre Fischer 546*6a606da0SAndre Fischer 547*6a606da0SAndre Fischer void GraphicPropertyPanel::Resize (void) 548*6a606da0SAndre Fischer { 549*6a606da0SAndre Fischer maLayouter.Layout(); 550*6a606da0SAndre Fischer } 551*6a606da0SAndre Fischer 552*6a606da0SAndre Fischer 5538dcb2a10SAndre Fischer 5548dcb2a10SAndre Fischer }} // end of namespace ::svx::sidebar 555