xref: /AOO41X/main/svx/source/sidebar/graphic/GraphicPropertyPanel.hxx (revision 8dcb2a100eb78f12871a9e67d867e1bc0c7bdb07)
1*8dcb2a10SAndre Fischer /**************************************************************
2*8dcb2a10SAndre Fischer  *
3*8dcb2a10SAndre Fischer  * Licensed to the Apache Software Foundation (ASF) under one
4*8dcb2a10SAndre Fischer  * or more contributor license agreements.  See the NOTICE file
5*8dcb2a10SAndre Fischer  * distributed with this work for additional information
6*8dcb2a10SAndre Fischer  * regarding copyright ownership.  The ASF licenses this file
7*8dcb2a10SAndre Fischer  * to you under the Apache License, Version 2.0 (the
8*8dcb2a10SAndre Fischer  * "License"); you may not use this file except in compliance
9*8dcb2a10SAndre Fischer  * with the License.  You may obtain a copy of the License at
10*8dcb2a10SAndre Fischer  *
11*8dcb2a10SAndre Fischer  *   http://www.apache.org/licenses/LICENSE-2.0
12*8dcb2a10SAndre Fischer  *
13*8dcb2a10SAndre Fischer  * Unless required by applicable law or agreed to in writing,
14*8dcb2a10SAndre Fischer  * software distributed under the License is distributed on an
15*8dcb2a10SAndre Fischer  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*8dcb2a10SAndre Fischer  * KIND, either express or implied.  See the License for the
17*8dcb2a10SAndre Fischer  * specific language governing permissions and limitations
18*8dcb2a10SAndre Fischer  * under the License.
19*8dcb2a10SAndre Fischer  *
20*8dcb2a10SAndre Fischer  *************************************************************/
21*8dcb2a10SAndre Fischer 
22*8dcb2a10SAndre Fischer #ifndef SVX_PROPERTYPANEL_GRAPHICPAGE_HXX
23*8dcb2a10SAndre Fischer #define SVX_PROPERTYPANEL_GRAPHICPAGE_HXX
24*8dcb2a10SAndre Fischer 
25*8dcb2a10SAndre Fischer #include <vcl/ctrl.hxx>
26*8dcb2a10SAndre Fischer #include <sfx2/sidebar/SidebarPanelBase.hxx>
27*8dcb2a10SAndre Fischer #include <sfx2/sidebar/ControllerItem.hxx>
28*8dcb2a10SAndre Fischer #include <vcl/fixed.hxx>
29*8dcb2a10SAndre Fischer #include <boost/scoped_ptr.hpp>
30*8dcb2a10SAndre Fischer 
31*8dcb2a10SAndre Fischer //////////////////////////////////////////////////////////////////////////////
32*8dcb2a10SAndre Fischer // pedefines
33*8dcb2a10SAndre Fischer class FixedText;
34*8dcb2a10SAndre Fischer class MetricField;
35*8dcb2a10SAndre Fischer class ListBox;
36*8dcb2a10SAndre Fischer class FloatingWindow;
37*8dcb2a10SAndre Fischer 
38*8dcb2a10SAndre Fischer //////////////////////////////////////////////////////////////////////////////
39*8dcb2a10SAndre Fischer // namespace open
40*8dcb2a10SAndre Fischer 
41*8dcb2a10SAndre Fischer namespace svx { namespace sidebar {
42*8dcb2a10SAndre Fischer 
43*8dcb2a10SAndre Fischer class GraphicPropertyPanel
44*8dcb2a10SAndre Fischer :   public Control,
45*8dcb2a10SAndre Fischer     public ::sfx2::sidebar::SidebarPanelBase::ContextChangeReceiverInterface,
46*8dcb2a10SAndre Fischer     public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
47*8dcb2a10SAndre Fischer {
48*8dcb2a10SAndre Fischer public:
49*8dcb2a10SAndre Fischer     static GraphicPropertyPanel* Create(
50*8dcb2a10SAndre Fischer         Window* pParent,
51*8dcb2a10SAndre Fischer         const cssu::Reference<css::frame::XFrame>& rxFrame,
52*8dcb2a10SAndre Fischer         SfxBindings* pBindings);
53*8dcb2a10SAndre Fischer 
54*8dcb2a10SAndre Fischer     virtual void DataChanged(
55*8dcb2a10SAndre Fischer         const DataChangedEvent& rEvent);
56*8dcb2a10SAndre Fischer 
57*8dcb2a10SAndre Fischer     virtual void HandleContextChange(
58*8dcb2a10SAndre Fischer         const ::sfx2::sidebar::EnumContext aContext);
59*8dcb2a10SAndre Fischer 
60*8dcb2a10SAndre Fischer     virtual void NotifyItemUpdate(
61*8dcb2a10SAndre Fischer         const sal_uInt16 nSId,
62*8dcb2a10SAndre Fischer         const SfxItemState eState,
63*8dcb2a10SAndre Fischer         const SfxPoolItem* pState);
64*8dcb2a10SAndre Fischer 
65*8dcb2a10SAndre Fischer     SfxBindings* GetBindings();
66*8dcb2a10SAndre Fischer 
67*8dcb2a10SAndre Fischer private:
68*8dcb2a10SAndre Fischer     //ui controls
69*8dcb2a10SAndre Fischer     ::boost::scoped_ptr< FixedText >                    mpFtBrightness;
70*8dcb2a10SAndre Fischer     ::boost::scoped_ptr< MetricField >                  mpMtrBrightness;
71*8dcb2a10SAndre Fischer     ::boost::scoped_ptr< FixedText >                    mpFtContrast;
72*8dcb2a10SAndre Fischer     ::boost::scoped_ptr< MetricField >                  mpMtrContrast;
73*8dcb2a10SAndre Fischer     ::boost::scoped_ptr< FixedText >                    mpFtColorMode;
74*8dcb2a10SAndre Fischer     ::boost::scoped_ptr< ListBox >                      mpLBColorMode;
75*8dcb2a10SAndre Fischer     ::boost::scoped_ptr< FixedText >                    mpFtTrans;
76*8dcb2a10SAndre Fischer     ::boost::scoped_ptr< MetricField >                  mpMtrTrans;
77*8dcb2a10SAndre Fischer     ::boost::scoped_ptr< MetricField >                  mpMtrRed;
78*8dcb2a10SAndre Fischer     ::boost::scoped_ptr< MetricField >                  mpMtrGreen;
79*8dcb2a10SAndre Fischer     ::boost::scoped_ptr< MetricField >                  mpMtrBlue;
80*8dcb2a10SAndre Fischer     ::boost::scoped_ptr< MetricField >                  mpMtrGamma;
81*8dcb2a10SAndre Fischer 
82*8dcb2a10SAndre Fischer     ::sfx2::sidebar::ControllerItem                     maBrightControl;
83*8dcb2a10SAndre Fischer     ::sfx2::sidebar::ControllerItem                     maContrastControl;
84*8dcb2a10SAndre Fischer     ::sfx2::sidebar::ControllerItem                     maTransparenceControl;
85*8dcb2a10SAndre Fischer     ::sfx2::sidebar::ControllerItem                     maRedControl;
86*8dcb2a10SAndre Fischer     ::sfx2::sidebar::ControllerItem                     maGreenControl;
87*8dcb2a10SAndre Fischer     ::sfx2::sidebar::ControllerItem                     maBlueControl;
88*8dcb2a10SAndre Fischer     ::sfx2::sidebar::ControllerItem                     maGammaControl;
89*8dcb2a10SAndre Fischer     ::sfx2::sidebar::ControllerItem                     maModeControl;
90*8dcb2a10SAndre Fischer 
91*8dcb2a10SAndre Fischer     Image                                               maImgNormal;
92*8dcb2a10SAndre Fischer     Image                                               maImgBW;
93*8dcb2a10SAndre Fischer     Image                                               maImgGray;
94*8dcb2a10SAndre Fischer     Image                                               maImgWater;
95*8dcb2a10SAndre Fischer 
96*8dcb2a10SAndre Fischer     FixedImage                                          maImgRed;
97*8dcb2a10SAndre Fischer     FixedImage                                          maImgGreen;
98*8dcb2a10SAndre Fischer     FixedImage                                          maImgBlue;
99*8dcb2a10SAndre Fischer     FixedImage                                          maImgGamma;
100*8dcb2a10SAndre Fischer 
101*8dcb2a10SAndre Fischer     String                                              msNormal;
102*8dcb2a10SAndre Fischer     String                                              msBW;
103*8dcb2a10SAndre Fischer     String                                              msGray;
104*8dcb2a10SAndre Fischer     String                                              msWater;
105*8dcb2a10SAndre Fischer 
106*8dcb2a10SAndre Fischer     cssu::Reference<css::frame::XFrame>                 mxFrame;
107*8dcb2a10SAndre Fischer     ::sfx2::sidebar::EnumContext                        maContext;
108*8dcb2a10SAndre Fischer     SfxBindings*                                        mpBindings;
109*8dcb2a10SAndre Fischer 
110*8dcb2a10SAndre Fischer     DECL_LINK( ModifyBrightnessHdl, void * );
111*8dcb2a10SAndre Fischer     DECL_LINK( ModifyContrastHdl, void * );
112*8dcb2a10SAndre Fischer     DECL_LINK( ModifyTransHdl, void * );
113*8dcb2a10SAndre Fischer     DECL_LINK( ClickColorModeHdl, ToolBox * );
114*8dcb2a10SAndre Fischer     DECL_LINK( ImplPopupModeEndHdl, FloatingWindow* );
115*8dcb2a10SAndre Fischer     DECL_LINK( RedHdl, void*);
116*8dcb2a10SAndre Fischer     DECL_LINK( GreenHdl, void*);
117*8dcb2a10SAndre Fischer     DECL_LINK( BlueHdl, void*);
118*8dcb2a10SAndre Fischer     DECL_LINK( GammaHdl, void*);
119*8dcb2a10SAndre Fischer 
120*8dcb2a10SAndre Fischer     // constructor/destuctor
121*8dcb2a10SAndre Fischer     GraphicPropertyPanel(
122*8dcb2a10SAndre Fischer         Window* pParent,
123*8dcb2a10SAndre Fischer         const cssu::Reference<css::frame::XFrame>& rxFrame,
124*8dcb2a10SAndre Fischer         SfxBindings* pBindings);
125*8dcb2a10SAndre Fischer     virtual ~GraphicPropertyPanel();
126*8dcb2a10SAndre Fischer 
127*8dcb2a10SAndre Fischer     void SetupIcons(void);
128*8dcb2a10SAndre Fischer     void Initialize();
129*8dcb2a10SAndre Fischer };
130*8dcb2a10SAndre Fischer 
131*8dcb2a10SAndre Fischer //////////////////////////////////////////////////////////////////////////////
132*8dcb2a10SAndre Fischer // namespace close
133*8dcb2a10SAndre Fischer 
134*8dcb2a10SAndre Fischer }} // end of namespace ::svx::sidebar
135*8dcb2a10SAndre Fischer 
136*8dcb2a10SAndre Fischer //////////////////////////////////////////////////////////////////////////////
137*8dcb2a10SAndre Fischer 
138*8dcb2a10SAndre Fischer #endif // SVX_PROPERTYPANEL_GRAPHICPAGE_HXX
139*8dcb2a10SAndre Fischer 
140*8dcb2a10SAndre Fischer //////////////////////////////////////////////////////////////////////////////
141*8dcb2a10SAndre Fischer // eof
142