xref: /AOO41X/main/svx/source/sidebar/graphic/GraphicPropertyPanel.cxx (revision d29c2fc2b07d7859f2b13e5bc21978c8c989b6b1)
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 
22*d29c2fc2SAndre Fischer #include <sfx2/sidebar/ResourceDefinitions.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>
3487ab04d0SAndre 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 ) );
10387ab04d0SAndre Fischer     mpMtrBrightness->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Brightness")));
1048dcb2a10SAndre Fischer     mpMtrContrast->SetModifyHdl( LINK( this, GraphicPropertyPanel, ModifyContrastHdl ) );
10587ab04d0SAndre Fischer     mpMtrContrast->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Contrast")));
1068dcb2a10SAndre Fischer     mpMtrTrans->SetModifyHdl( LINK( this, GraphicPropertyPanel, ModifyTransHdl ) );
10787ab04d0SAndre Fischer     mpMtrTrans->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Transparency")));
1088dcb2a10SAndre Fischer 
10987ab04d0SAndre Fischer     mpLBColorMode->InsertEntry(String(SVX_RES(RID_SVXSTR_GRAFMODE_STANDARD)));
11087ab04d0SAndre Fischer     mpLBColorMode->InsertEntry(String(SVX_RES(RID_SVXSTR_GRAFMODE_GREYS)));
11187ab04d0SAndre Fischer     mpLBColorMode->InsertEntry(String(SVX_RES(RID_SVXSTR_GRAFMODE_MONO)));
11287ab04d0SAndre Fischer     mpLBColorMode->InsertEntry(String(SVX_RES(RID_SVXSTR_GRAFMODE_WATERMARK)));
1138dcb2a10SAndre Fischer     mpLBColorMode->SetSelectHdl( LINK( this, GraphicPropertyPanel, ClickColorModeHdl ));
11487ab04d0SAndre 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 ) );
12087ab04d0SAndre Fischer     mpMtrRed->SetAccessibleName(mpMtrRed->GetQuickHelpText());
12187ab04d0SAndre Fischer     mpMtrGreen->SetAccessibleName(mpMtrGreen->GetQuickHelpText());
12287ab04d0SAndre Fischer     mpMtrBlue->SetAccessibleName(mpMtrBlue->GetQuickHelpText());
12387ab04d0SAndre 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());
12987ab04d0SAndre Fischer     mpMtrBrightness->SetAccessibleRelationLabeledBy(mpFtBrightness.get());
13087ab04d0SAndre Fischer     mpMtrContrast->SetAccessibleRelationLabeledBy(mpFtContrast.get());
13187ab04d0SAndre Fischer     mpMtrTrans->SetAccessibleRelationLabeledBy(mpFtTrans.get());
13287ab04d0SAndre Fischer     mpLBColorMode->SetAccessibleRelationLabeledBy(mpFtColorMode.get());
13387ab04d0SAndre Fischer 
13487ab04d0SAndre Fischer     // Fix left position of some controls that may be wrong due to
13587ab04d0SAndre Fischer     // rounding errors.
13687ab04d0SAndre Fischer     const sal_Int32 nRight0 (mpLBColorMode->GetPosPixel().X() + mpLBColorMode->GetSizePixel().Width());
13787ab04d0SAndre Fischer     const sal_Int32 nRight1 (mpMtrTrans->GetPosPixel().X() + mpMtrTrans->GetSizePixel().Width());
13887ab04d0SAndre Fischer     mpMtrRed->SetPosPixel(Point(
13987ab04d0SAndre Fischer             nRight0 - mpMtrRed->GetSizePixel().Width(),
14087ab04d0SAndre Fischer             mpMtrRed->GetPosPixel().Y()));
14187ab04d0SAndre Fischer     mpMtrBlue->SetPosPixel(Point(
14287ab04d0SAndre Fischer             nRight0 - mpMtrBlue->GetSizePixel().Width(),
14387ab04d0SAndre Fischer             mpMtrBlue->GetPosPixel().Y()));
14487ab04d0SAndre Fischer     mpMtrGreen->SetPosPixel(Point(
14587ab04d0SAndre Fischer             nRight1 - mpMtrGreen->GetSizePixel().Width(),
14687ab04d0SAndre Fischer             mpMtrGreen->GetPosPixel().Y()));
14787ab04d0SAndre Fischer     mpMtrGamma->SetPosPixel(Point(
14887ab04d0SAndre Fischer             nRight1 - mpMtrGamma->GetSizePixel().Width(),
14987ab04d0SAndre Fischer             mpMtrGamma->GetPosPixel().Y()));
1508dcb2a10SAndre Fischer }
1518dcb2a10SAndre Fischer 
15287ab04d0SAndre Fischer 
15387ab04d0SAndre Fischer 
15487ab04d0SAndre 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