1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski 
24*b1cdbd2cSJim Jagielski #include "PrintOptTest.hxx"
25*b1cdbd2cSJim Jagielski 
26*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XPropertySet.hpp>
27*b1cdbd2cSJim Jagielski 
28*b1cdbd2cSJim Jagielski #include <unotools/processfactory.hxx>
29*b1cdbd2cSJim Jagielski #include <comphelper/configurationhelper.hxx>
30*b1cdbd2cSJim Jagielski 
31*b1cdbd2cSJim Jagielski namespace css = ::com::sun::star;
32*b1cdbd2cSJim Jagielski 
33*b1cdbd2cSJim Jagielski // using test  only
34*b1cdbd2cSJim Jagielski #define ROOTNODE_PRINTOPTION                            rtl::OUString::createFromAscii("org.openoffice.Office.Common/Print/Option")
35*b1cdbd2cSJim Jagielski #define	PROPERTYNAME_REDUCETRANSPARENCY	                rtl::OUString::createFromAscii("ReduceTransparency")
36*b1cdbd2cSJim Jagielski #define	PROPERTYNAME_REDUCEDTRANSPARENCYMODE	        rtl::OUString::createFromAscii("ReducedTransparencyMode")
37*b1cdbd2cSJim Jagielski #define	PROPERTYNAME_REDUCEGRADIENTS		            rtl::OUString::createFromAscii("ReduceGradients")
38*b1cdbd2cSJim Jagielski #define	PROPERTYNAME_REDUCEDGRADIENTMODE		        rtl::OUString::createFromAscii("ReducedGradientMode")
39*b1cdbd2cSJim Jagielski #define PROPERTYNAME_REDUCEDGRADIENTSTEPCOUNT           rtl::OUString::createFromAscii("ReducedGradientStepCount")
40*b1cdbd2cSJim Jagielski #define PROPERTYNAME_REDUCEBITMAPS                      rtl::OUString::createFromAscii("ReduceBitmaps")
41*b1cdbd2cSJim Jagielski #define PROPERTYNAME_REDUCEDBITMAPMODE                  rtl::OUString::createFromAscii("ReducedBitmapMode")
42*b1cdbd2cSJim Jagielski #define PROPERTYNAME_REDUCEDBITMAPRESOLUTION            rtl::OUString::createFromAscii("ReducedBitmapResolution")
43*b1cdbd2cSJim Jagielski #define PROPERTYNAME_REDUCEDBITMAPINCLUDESTRANSPARENCY  rtl::OUString::createFromAscii("ReducedBitmapIncludesTransparency")
44*b1cdbd2cSJim Jagielski #define PROPERTYNAME_CONVERTTOGREYSCALES                rtl::OUString::createFromAscii("ConvertToGreyscales")
45*b1cdbd2cSJim Jagielski 
PrintOptTest()46*b1cdbd2cSJim Jagielski PrintOptTest::PrintOptTest()
47*b1cdbd2cSJim Jagielski {
48*b1cdbd2cSJim Jagielski 	m_xCfg = css::uno::Reference< css::container::XNameAccess >(
49*b1cdbd2cSJim Jagielski 			::comphelper::ConfigurationHelper::openConfig(
50*b1cdbd2cSJim Jagielski 			::utl::getProcessServiceFactory(),
51*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii("org.openoffice.Office.Common/Print/Option"),
52*b1cdbd2cSJim Jagielski 			::comphelper::ConfigurationHelper::E_STANDARD),
53*b1cdbd2cSJim Jagielski 			css::uno::UNO_QUERY);
54*b1cdbd2cSJim Jagielski 
55*b1cdbd2cSJim Jagielski 		if (m_xCfg.is())
56*b1cdbd2cSJim Jagielski 		{
57*b1cdbd2cSJim Jagielski 			//UniString  sTmp = UniString("printer");
58*b1cdbd2cSJim Jagielski 			//xub_StrLen nTokenCount = sTmp.GetTokenCount('/');
59*b1cdbd2cSJim Jagielski 			//sTmp = sTmp.GetToken(nTokenCount - 1, '/');
60*b1cdbd2cSJim Jagielski 			m_xCfg->getByName(rtl::OUString::createFromAscii("Printer")) >>= m_xNode;
61*b1cdbd2cSJim Jagielski 		}
62*b1cdbd2cSJim Jagielski }
63*b1cdbd2cSJim Jagielski 
impl_GetReducedTransparencyMode() const64*b1cdbd2cSJim Jagielski sal_Int16 PrintOptTest::impl_GetReducedTransparencyMode() const
65*b1cdbd2cSJim Jagielski {
66*b1cdbd2cSJim Jagielski 	sal_Int16 nRet = 0;
67*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
68*b1cdbd2cSJim Jagielski 	{
69*b1cdbd2cSJim Jagielski 		css::uno::Reference< css::beans::XPropertySet > xSet(m_xNode, css::uno::UNO_QUERY);
70*b1cdbd2cSJim Jagielski 		if (xSet.is())
71*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEDTRANSPARENCYMODE) >>= nRet;
72*b1cdbd2cSJim Jagielski 	}
73*b1cdbd2cSJim Jagielski 	return  nRet;
74*b1cdbd2cSJim Jagielski }
impl_SetReducedTransparencyMode(sal_Int16 nMode)75*b1cdbd2cSJim Jagielski void PrintOptTest::impl_SetReducedTransparencyMode(sal_Int16 nMode )
76*b1cdbd2cSJim Jagielski {
77*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
78*b1cdbd2cSJim Jagielski 	{
79*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
80*b1cdbd2cSJim Jagielski 		if (xSet.is())
81*b1cdbd2cSJim Jagielski 		{
82*b1cdbd2cSJim Jagielski 			sal_Int16 nUpdate;
83*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEDTRANSPARENCYMODE) >>= nUpdate;
84*b1cdbd2cSJim Jagielski 			if (nUpdate != nMode)
85*b1cdbd2cSJim Jagielski 			{
86*b1cdbd2cSJim Jagielski 				xSet->setPropertyValue( PROPERTYNAME_REDUCEDTRANSPARENCYMODE, css::uno::makeAny(nMode));
87*b1cdbd2cSJim Jagielski 				::comphelper::ConfigurationHelper::flush(m_xCfg);
88*b1cdbd2cSJim Jagielski 			}
89*b1cdbd2cSJim Jagielski 		}
90*b1cdbd2cSJim Jagielski 	}
91*b1cdbd2cSJim Jagielski }
92*b1cdbd2cSJim Jagielski 
impl_IsReduceTransparency() const93*b1cdbd2cSJim Jagielski sal_Bool PrintOptTest::impl_IsReduceTransparency() const
94*b1cdbd2cSJim Jagielski {
95*b1cdbd2cSJim Jagielski 	sal_Bool bRet = sal_False;
96*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
97*b1cdbd2cSJim Jagielski 	{
98*b1cdbd2cSJim Jagielski 		css::uno::Reference< css::beans::XPropertySet > xSet(m_xNode, css::uno::UNO_QUERY);
99*b1cdbd2cSJim Jagielski 		if (xSet.is())
100*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCETRANSPARENCY) >>= bRet;
101*b1cdbd2cSJim Jagielski 	}
102*b1cdbd2cSJim Jagielski 	return bRet;
103*b1cdbd2cSJim Jagielski }
impl_SetReduceTransparency(sal_Bool bState)104*b1cdbd2cSJim Jagielski void PrintOptTest::impl_SetReduceTransparency(sal_Bool bState )
105*b1cdbd2cSJim Jagielski {
106*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
107*b1cdbd2cSJim Jagielski 	{
108*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
109*b1cdbd2cSJim Jagielski 		if (xSet.is())
110*b1cdbd2cSJim Jagielski 		{
111*b1cdbd2cSJim Jagielski 			sal_Bool bUpdate;
112*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCETRANSPARENCY) >>= bUpdate;
113*b1cdbd2cSJim Jagielski 			if (bUpdate != bState)
114*b1cdbd2cSJim Jagielski 			{
115*b1cdbd2cSJim Jagielski 				xSet->setPropertyValue( PROPERTYNAME_REDUCETRANSPARENCY, css::uno::makeAny(bState));
116*b1cdbd2cSJim Jagielski 				::comphelper::ConfigurationHelper::flush(m_xCfg);
117*b1cdbd2cSJim Jagielski 			}
118*b1cdbd2cSJim Jagielski 		}
119*b1cdbd2cSJim Jagielski 	}
120*b1cdbd2cSJim Jagielski }
121*b1cdbd2cSJim Jagielski 
impl_IsReduceGradients() const122*b1cdbd2cSJim Jagielski sal_Bool PrintOptTest::impl_IsReduceGradients() const
123*b1cdbd2cSJim Jagielski {
124*b1cdbd2cSJim Jagielski 	sal_Bool bRet = sal_False;
125*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
126*b1cdbd2cSJim Jagielski 	{
127*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
128*b1cdbd2cSJim Jagielski 		if (xSet.is())
129*b1cdbd2cSJim Jagielski 		{
130*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEGRADIENTS) >>= bRet;
131*b1cdbd2cSJim Jagielski 		}
132*b1cdbd2cSJim Jagielski 	}
133*b1cdbd2cSJim Jagielski 	return bRet;
134*b1cdbd2cSJim Jagielski }
135*b1cdbd2cSJim Jagielski 
impl_SetReduceGradients(sal_Bool bState)136*b1cdbd2cSJim Jagielski void PrintOptTest::impl_SetReduceGradients(sal_Bool bState )
137*b1cdbd2cSJim Jagielski {
138*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
139*b1cdbd2cSJim Jagielski 	{
140*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
141*b1cdbd2cSJim Jagielski 		if (xSet.is())
142*b1cdbd2cSJim Jagielski 		{
143*b1cdbd2cSJim Jagielski 			sal_Bool bUpdate;
144*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEGRADIENTS) >>= bUpdate;
145*b1cdbd2cSJim Jagielski 			if (bUpdate != bState)
146*b1cdbd2cSJim Jagielski 			{
147*b1cdbd2cSJim Jagielski 				xSet->setPropertyValue( PROPERTYNAME_REDUCEGRADIENTS, css::uno::makeAny(bState));
148*b1cdbd2cSJim Jagielski 				::comphelper::ConfigurationHelper::flush(m_xCfg);
149*b1cdbd2cSJim Jagielski 			}
150*b1cdbd2cSJim Jagielski 		}
151*b1cdbd2cSJim Jagielski 	}
152*b1cdbd2cSJim Jagielski }
153*b1cdbd2cSJim Jagielski 
impl_GetReducedGradientMode() const154*b1cdbd2cSJim Jagielski sal_Int16 PrintOptTest::impl_GetReducedGradientMode() const
155*b1cdbd2cSJim Jagielski {
156*b1cdbd2cSJim Jagielski 	sal_Int16 nRet = 0;
157*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
158*b1cdbd2cSJim Jagielski 	{
159*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
160*b1cdbd2cSJim Jagielski 		if (xSet.is())
161*b1cdbd2cSJim Jagielski 		{
162*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEDGRADIENTMODE) >>= nRet;
163*b1cdbd2cSJim Jagielski 		}
164*b1cdbd2cSJim Jagielski 	}
165*b1cdbd2cSJim Jagielski 	return nRet;
166*b1cdbd2cSJim Jagielski }
167*b1cdbd2cSJim Jagielski 
impl_SetReducedGradientMode(sal_Int16 nMode)168*b1cdbd2cSJim Jagielski void PrintOptTest::impl_SetReducedGradientMode(sal_Int16 nMode )
169*b1cdbd2cSJim Jagielski {
170*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
171*b1cdbd2cSJim Jagielski 	{
172*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
173*b1cdbd2cSJim Jagielski 		if (xSet.is())
174*b1cdbd2cSJim Jagielski 		{
175*b1cdbd2cSJim Jagielski 			sal_Int16 nUpdate;
176*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEDGRADIENTMODE) >>= nUpdate;
177*b1cdbd2cSJim Jagielski 			if (nUpdate != nMode)
178*b1cdbd2cSJim Jagielski 			{
179*b1cdbd2cSJim Jagielski 				xSet->setPropertyValue( PROPERTYNAME_REDUCEDGRADIENTMODE, css::uno::makeAny(nMode));
180*b1cdbd2cSJim Jagielski 				::comphelper::ConfigurationHelper::flush(m_xCfg);
181*b1cdbd2cSJim Jagielski 			}
182*b1cdbd2cSJim Jagielski 		}
183*b1cdbd2cSJim Jagielski 	}
184*b1cdbd2cSJim Jagielski }
185*b1cdbd2cSJim Jagielski 
impl_GetReducedGradientStepCount() const186*b1cdbd2cSJim Jagielski sal_Int16 PrintOptTest::impl_GetReducedGradientStepCount() const
187*b1cdbd2cSJim Jagielski {
188*b1cdbd2cSJim Jagielski 	sal_Int16 nRet = 64;
189*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
190*b1cdbd2cSJim Jagielski 	{
191*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
192*b1cdbd2cSJim Jagielski 		if (xSet.is())
193*b1cdbd2cSJim Jagielski 		{
194*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEDGRADIENTSTEPCOUNT) >>= nRet;
195*b1cdbd2cSJim Jagielski 		}
196*b1cdbd2cSJim Jagielski 	}
197*b1cdbd2cSJim Jagielski 	return nRet;
198*b1cdbd2cSJim Jagielski }
impl_SetReducedGradientStepCount(sal_Int16 nStepCount)199*b1cdbd2cSJim Jagielski void PrintOptTest::impl_SetReducedGradientStepCount(sal_Int16 nStepCount )
200*b1cdbd2cSJim Jagielski {
201*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
202*b1cdbd2cSJim Jagielski 	{
203*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
204*b1cdbd2cSJim Jagielski 		if (xSet.is())
205*b1cdbd2cSJim Jagielski 		{
206*b1cdbd2cSJim Jagielski 			sal_Int16 nUpdate;
207*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEDGRADIENTSTEPCOUNT) >>= nUpdate;
208*b1cdbd2cSJim Jagielski 			if (nUpdate != nStepCount)
209*b1cdbd2cSJim Jagielski 			{
210*b1cdbd2cSJim Jagielski 				xSet->setPropertyValue( PROPERTYNAME_REDUCEDGRADIENTSTEPCOUNT, css::uno::makeAny(nStepCount));
211*b1cdbd2cSJim Jagielski 				::comphelper::ConfigurationHelper::flush(m_xCfg);
212*b1cdbd2cSJim Jagielski 			}
213*b1cdbd2cSJim Jagielski 		}
214*b1cdbd2cSJim Jagielski 	}
215*b1cdbd2cSJim Jagielski }
216*b1cdbd2cSJim Jagielski 
impl_IsReduceBitmaps() const217*b1cdbd2cSJim Jagielski sal_Bool PrintOptTest::impl_IsReduceBitmaps() const
218*b1cdbd2cSJim Jagielski {
219*b1cdbd2cSJim Jagielski 	sal_Bool bRet = sal_False;
220*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
221*b1cdbd2cSJim Jagielski 	{
222*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
223*b1cdbd2cSJim Jagielski 		if (xSet.is())
224*b1cdbd2cSJim Jagielski 		{
225*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEBITMAPS) >>= bRet;
226*b1cdbd2cSJim Jagielski 		}
227*b1cdbd2cSJim Jagielski 	}
228*b1cdbd2cSJim Jagielski 	return bRet;
229*b1cdbd2cSJim Jagielski }
230*b1cdbd2cSJim Jagielski 
impl_SetReduceBitmaps(sal_Bool bState)231*b1cdbd2cSJim Jagielski void PrintOptTest::impl_SetReduceBitmaps(sal_Bool bState )
232*b1cdbd2cSJim Jagielski {
233*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
234*b1cdbd2cSJim Jagielski 	{
235*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
236*b1cdbd2cSJim Jagielski 		if (xSet.is())
237*b1cdbd2cSJim Jagielski 		{
238*b1cdbd2cSJim Jagielski 			sal_Bool bUpdate;
239*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEBITMAPS) >>= bUpdate;
240*b1cdbd2cSJim Jagielski 			if (bUpdate != bState)
241*b1cdbd2cSJim Jagielski 			{
242*b1cdbd2cSJim Jagielski 				xSet->setPropertyValue( PROPERTYNAME_REDUCEBITMAPS, css::uno::makeAny(bState));
243*b1cdbd2cSJim Jagielski 				::comphelper::ConfigurationHelper::flush(m_xCfg);
244*b1cdbd2cSJim Jagielski 			}
245*b1cdbd2cSJim Jagielski 		}
246*b1cdbd2cSJim Jagielski 	}
247*b1cdbd2cSJim Jagielski }
248*b1cdbd2cSJim Jagielski 
impl_GetReducedBitmapMode() const249*b1cdbd2cSJim Jagielski sal_Int16 PrintOptTest::impl_GetReducedBitmapMode() const
250*b1cdbd2cSJim Jagielski {
251*b1cdbd2cSJim Jagielski 	sal_Int16 nRet = 1;
252*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
253*b1cdbd2cSJim Jagielski 	{
254*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
255*b1cdbd2cSJim Jagielski 		if (xSet.is())
256*b1cdbd2cSJim Jagielski 		{
257*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEDBITMAPMODE) >>= nRet;
258*b1cdbd2cSJim Jagielski 		}
259*b1cdbd2cSJim Jagielski 	}
260*b1cdbd2cSJim Jagielski 	return nRet;
261*b1cdbd2cSJim Jagielski }
262*b1cdbd2cSJim Jagielski 
impl_SetReducedBitmapMode(sal_Int16 nMode)263*b1cdbd2cSJim Jagielski void PrintOptTest::impl_SetReducedBitmapMode(sal_Int16 nMode )
264*b1cdbd2cSJim Jagielski {
265*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
266*b1cdbd2cSJim Jagielski 	{
267*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
268*b1cdbd2cSJim Jagielski 		if (xSet.is())
269*b1cdbd2cSJim Jagielski 		{
270*b1cdbd2cSJim Jagielski 			sal_Int16 nUpdate;
271*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEDBITMAPMODE) >>= nUpdate;
272*b1cdbd2cSJim Jagielski 			if (nUpdate != nMode)
273*b1cdbd2cSJim Jagielski 			{
274*b1cdbd2cSJim Jagielski 				xSet->setPropertyValue( PROPERTYNAME_REDUCEDBITMAPMODE, css::uno::makeAny(nMode));
275*b1cdbd2cSJim Jagielski 				::comphelper::ConfigurationHelper::flush(m_xCfg);
276*b1cdbd2cSJim Jagielski 			}
277*b1cdbd2cSJim Jagielski 		}
278*b1cdbd2cSJim Jagielski 	}
279*b1cdbd2cSJim Jagielski }
280*b1cdbd2cSJim Jagielski 
impl_GetReducedBitmapResolution() const281*b1cdbd2cSJim Jagielski sal_Int16  PrintOptTest::impl_GetReducedBitmapResolution() const
282*b1cdbd2cSJim Jagielski {
283*b1cdbd2cSJim Jagielski 	sal_Int16 nRet = 3;
284*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
285*b1cdbd2cSJim Jagielski 	{
286*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
287*b1cdbd2cSJim Jagielski 		if (xSet.is())
288*b1cdbd2cSJim Jagielski 		{
289*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEDBITMAPRESOLUTION) >>= nRet;
290*b1cdbd2cSJim Jagielski 		}
291*b1cdbd2cSJim Jagielski 	}
292*b1cdbd2cSJim Jagielski 	return  nRet;
293*b1cdbd2cSJim Jagielski }
294*b1cdbd2cSJim Jagielski 
impl_SetReducedBitmapResolution(sal_Int16 nResolution)295*b1cdbd2cSJim Jagielski void PrintOptTest::impl_SetReducedBitmapResolution(sal_Int16 nResolution )
296*b1cdbd2cSJim Jagielski {
297*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
298*b1cdbd2cSJim Jagielski 	{
299*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
300*b1cdbd2cSJim Jagielski 		if (xSet.is())
301*b1cdbd2cSJim Jagielski 		{
302*b1cdbd2cSJim Jagielski 			sal_Int16 nUpdate;
303*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEDBITMAPRESOLUTION) >>= nUpdate;
304*b1cdbd2cSJim Jagielski 			if (nUpdate != nResolution)
305*b1cdbd2cSJim Jagielski 			{
306*b1cdbd2cSJim Jagielski 				xSet->setPropertyValue( PROPERTYNAME_REDUCEDBITMAPRESOLUTION, css::uno::makeAny(nResolution));
307*b1cdbd2cSJim Jagielski 				::comphelper::ConfigurationHelper::flush(m_xCfg);
308*b1cdbd2cSJim Jagielski 			}
309*b1cdbd2cSJim Jagielski 		}
310*b1cdbd2cSJim Jagielski 	}
311*b1cdbd2cSJim Jagielski }
312*b1cdbd2cSJim Jagielski 
impl_IsReducedBitmapIncludesTransparency() const313*b1cdbd2cSJim Jagielski sal_Bool PrintOptTest::impl_IsReducedBitmapIncludesTransparency() const
314*b1cdbd2cSJim Jagielski {
315*b1cdbd2cSJim Jagielski 	sal_Bool bRet = sal_True;
316*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
317*b1cdbd2cSJim Jagielski 	{
318*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
319*b1cdbd2cSJim Jagielski 		if (xSet.is())
320*b1cdbd2cSJim Jagielski 		{
321*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEDBITMAPINCLUDESTRANSPARENCY) >>= bRet;
322*b1cdbd2cSJim Jagielski 		}
323*b1cdbd2cSJim Jagielski 	}
324*b1cdbd2cSJim Jagielski 	return  bRet;
325*b1cdbd2cSJim Jagielski }
326*b1cdbd2cSJim Jagielski 
impl_SetReducedBitmapIncludesTransparency(sal_Bool bState)327*b1cdbd2cSJim Jagielski void PrintOptTest::impl_SetReducedBitmapIncludesTransparency(sal_Bool bState )
328*b1cdbd2cSJim Jagielski {
329*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
330*b1cdbd2cSJim Jagielski 	{
331*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
332*b1cdbd2cSJim Jagielski 		if (xSet.is())
333*b1cdbd2cSJim Jagielski 		{
334*b1cdbd2cSJim Jagielski 			sal_Bool bUpdate;
335*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_REDUCEDBITMAPINCLUDESTRANSPARENCY) >>= bUpdate;
336*b1cdbd2cSJim Jagielski 			if (bUpdate != bState)
337*b1cdbd2cSJim Jagielski 			{
338*b1cdbd2cSJim Jagielski 				xSet->setPropertyValue( PROPERTYNAME_REDUCEDBITMAPINCLUDESTRANSPARENCY, css::uno::makeAny(bState));
339*b1cdbd2cSJim Jagielski 				::comphelper::ConfigurationHelper::flush(m_xCfg);
340*b1cdbd2cSJim Jagielski 			}
341*b1cdbd2cSJim Jagielski 		}
342*b1cdbd2cSJim Jagielski 	}
343*b1cdbd2cSJim Jagielski }
344*b1cdbd2cSJim Jagielski 
impl_IsConvertToGreyscales() const345*b1cdbd2cSJim Jagielski sal_Bool PrintOptTest::impl_IsConvertToGreyscales() const
346*b1cdbd2cSJim Jagielski {
347*b1cdbd2cSJim Jagielski 	sal_Bool bRet = sal_False;
348*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
349*b1cdbd2cSJim Jagielski 	{
350*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
351*b1cdbd2cSJim Jagielski 		if (xSet.is())
352*b1cdbd2cSJim Jagielski 		{
353*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_CONVERTTOGREYSCALES) >>= bRet;
354*b1cdbd2cSJim Jagielski 		}
355*b1cdbd2cSJim Jagielski 	}
356*b1cdbd2cSJim Jagielski 	return  bRet;
357*b1cdbd2cSJim Jagielski }
358*b1cdbd2cSJim Jagielski 
impl_SetConvertToGreyscales(sal_Bool bState)359*b1cdbd2cSJim Jagielski void PrintOptTest::impl_SetConvertToGreyscales(sal_Bool bState )
360*b1cdbd2cSJim Jagielski {
361*b1cdbd2cSJim Jagielski 	if (m_xNode.is())
362*b1cdbd2cSJim Jagielski 	{
363*b1cdbd2cSJim Jagielski 		css::uno::Reference<css::beans::XPropertySet> xSet(m_xNode, css::uno::UNO_QUERY);
364*b1cdbd2cSJim Jagielski 		if (xSet.is())
365*b1cdbd2cSJim Jagielski 		{
366*b1cdbd2cSJim Jagielski 			sal_Bool bUpdate;
367*b1cdbd2cSJim Jagielski 			xSet->getPropertyValue(PROPERTYNAME_CONVERTTOGREYSCALES) >>= bUpdate;
368*b1cdbd2cSJim Jagielski 			if (bUpdate != bState)
369*b1cdbd2cSJim Jagielski 			{
370*b1cdbd2cSJim Jagielski 				xSet->setPropertyValue( PROPERTYNAME_CONVERTTOGREYSCALES, css::uno::makeAny(bState));
371*b1cdbd2cSJim Jagielski 				::comphelper::ConfigurationHelper::flush(m_xCfg);
372*b1cdbd2cSJim Jagielski 			}
373*b1cdbd2cSJim Jagielski 		}
374*b1cdbd2cSJim Jagielski 	}
375*b1cdbd2cSJim Jagielski }
376*b1cdbd2cSJim Jagielski 
377*b1cdbd2cSJim Jagielski 
~PrintOptTest()378*b1cdbd2cSJim Jagielski PrintOptTest::~PrintOptTest()
379*b1cdbd2cSJim Jagielski {
380*b1cdbd2cSJim Jagielski }
381*b1cdbd2cSJim Jagielski 
impl_checkPrint()382*b1cdbd2cSJim Jagielski void PrintOptTest::impl_checkPrint()
383*b1cdbd2cSJim Jagielski {
384*b1cdbd2cSJim Jagielski 	//test SetReduceTransparency()
385*b1cdbd2cSJim Jagielski 	sal_Bool bNewValue = sal_False;
386*b1cdbd2cSJim Jagielski 	sal_Bool bOldValue = sal_False;
387*b1cdbd2cSJim Jagielski 	bOldValue = PrintOptTest::impl_IsReduceTransparency();
388*b1cdbd2cSJim Jagielski 	bNewValue = !bOldValue;
389*b1cdbd2cSJim Jagielski 	aPrintOpt.SetReduceTransparency(bNewValue) ;
390*b1cdbd2cSJim Jagielski 	bNewValue = impl_IsReduceTransparency();
391*b1cdbd2cSJim Jagielski    // if(bNewValue != bOldValue) // test the old source
392*b1cdbd2cSJim Jagielski 	if ( bNewValue == bOldValue ) // test the new source
393*b1cdbd2cSJim Jagielski 	{
394*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
395*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
396*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
397*b1cdbd2cSJim Jagielski 			"the SetReduceTransparency() error!"),
398*b1cdbd2cSJim Jagielski 			0);
399*b1cdbd2cSJim Jagielski 	}
400*b1cdbd2cSJim Jagielski 
401*b1cdbd2cSJim Jagielski 	//test IsReduceTransparemcy()
402*b1cdbd2cSJim Jagielski 	bNewValue = bOldValue = sal_False;
403*b1cdbd2cSJim Jagielski 	bOldValue = impl_IsReduceTransparency();
404*b1cdbd2cSJim Jagielski 	bNewValue = !bOldValue;
405*b1cdbd2cSJim Jagielski     impl_SetReduceTransparency(bNewValue);
406*b1cdbd2cSJim Jagielski 	bNewValue = aPrintOpt.IsReduceTransparency();
407*b1cdbd2cSJim Jagielski 	//if(bNewValue != bOldValue) // test the old source
408*b1cdbd2cSJim Jagielski 	if(bNewValue == bOldValue) // test the new source
409*b1cdbd2cSJim Jagielski 	{
410*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
411*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
412*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
413*b1cdbd2cSJim Jagielski 			"the IsReduceTransparency() error!"),
414*b1cdbd2cSJim Jagielski 			0);
415*b1cdbd2cSJim Jagielski 	}
416*b1cdbd2cSJim Jagielski 
417*b1cdbd2cSJim Jagielski 	// test SetReducedTransparencyMode()
418*b1cdbd2cSJim Jagielski 	sal_Int16 nOldMode, nNewMode;
419*b1cdbd2cSJim Jagielski 	nOldMode = nNewMode = 0;
420*b1cdbd2cSJim Jagielski     nOldMode = impl_GetReducedTransparencyMode();
421*b1cdbd2cSJim Jagielski 	nNewMode = nOldMode + 1;
422*b1cdbd2cSJim Jagielski 	aPrintOpt.SetReducedTransparencyMode( nNewMode );
423*b1cdbd2cSJim Jagielski 	nNewMode = impl_GetReducedTransparencyMode();
424*b1cdbd2cSJim Jagielski 	//if(nNewMode != nOldMode)      // test the old source
425*b1cdbd2cSJim Jagielski 	if ( nNewMode == nOldMode ) // test the new source
426*b1cdbd2cSJim Jagielski 	{
427*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
428*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
429*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
430*b1cdbd2cSJim Jagielski 			"the SetReducedTransparencyMode() error!"),
431*b1cdbd2cSJim Jagielski 			0);
432*b1cdbd2cSJim Jagielski 	}
433*b1cdbd2cSJim Jagielski 
434*b1cdbd2cSJim Jagielski 	//test IsReducedTransparencyMode()
435*b1cdbd2cSJim Jagielski 	nOldMode = nNewMode = 0;
436*b1cdbd2cSJim Jagielski 	nOldMode = impl_GetReducedTransparencyMode();
437*b1cdbd2cSJim Jagielski 	nNewMode = nOldMode + 1;
438*b1cdbd2cSJim Jagielski 	impl_SetReducedTransparencyMode(nNewMode);
439*b1cdbd2cSJim Jagielski 	nNewMode = aPrintOpt.GetReducedTransparencyMode();
440*b1cdbd2cSJim Jagielski 	//if(nNewMode != nOldMode)    // test the old source
441*b1cdbd2cSJim Jagielski 	if(nNewMode == nOldMode)  // test the new source
442*b1cdbd2cSJim Jagielski 	{
443*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
444*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
445*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
446*b1cdbd2cSJim Jagielski 			"the IsReducedTransparencyMode() error!"
447*b1cdbd2cSJim Jagielski 			"nOldMode's value is :"),
448*b1cdbd2cSJim Jagielski 			0);
449*b1cdbd2cSJim Jagielski 	}
450*b1cdbd2cSJim Jagielski 
451*b1cdbd2cSJim Jagielski 	// test the SetReduceGradients()
452*b1cdbd2cSJim Jagielski 	bNewValue = bOldValue = sal_False;
453*b1cdbd2cSJim Jagielski 	bOldValue = impl_IsReduceGradients();
454*b1cdbd2cSJim Jagielski 	bNewValue = !bOldValue;
455*b1cdbd2cSJim Jagielski 	aPrintOpt.SetReduceGradients(bNewValue);
456*b1cdbd2cSJim Jagielski 	bNewValue = impl_IsReduceGradients();
457*b1cdbd2cSJim Jagielski 	//if (bNewValue != bOldValue)   //test the old source
458*b1cdbd2cSJim Jagielski 	if (bNewValue == bOldValue)   //test the new source
459*b1cdbd2cSJim Jagielski 	{
460*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
461*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
462*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
463*b1cdbd2cSJim Jagielski 			"the SetReduceGradients() error!"),
464*b1cdbd2cSJim Jagielski 			0);
465*b1cdbd2cSJim Jagielski 
466*b1cdbd2cSJim Jagielski 	}
467*b1cdbd2cSJim Jagielski 
468*b1cdbd2cSJim Jagielski 	// test the IsReduceGradients()
469*b1cdbd2cSJim Jagielski 	bNewValue = bOldValue = sal_False;
470*b1cdbd2cSJim Jagielski 	bOldValue = impl_IsReduceGradients();
471*b1cdbd2cSJim Jagielski 	bNewValue = !bOldValue;
472*b1cdbd2cSJim Jagielski 	this->impl_SetReduceGradients(bNewValue);
473*b1cdbd2cSJim Jagielski 	bNewValue = aPrintOpt.IsReduceGradients();
474*b1cdbd2cSJim Jagielski    // if (bNewValue != bOldValue)   // test the old source
475*b1cdbd2cSJim Jagielski 	if (bNewValue == bOldValue) // test the new source
476*b1cdbd2cSJim Jagielski     {
477*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
478*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
479*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
480*b1cdbd2cSJim Jagielski 			"the IsReduceGradients() error!"),
481*b1cdbd2cSJim Jagielski 			0);
482*b1cdbd2cSJim Jagielski 
483*b1cdbd2cSJim Jagielski     }
484*b1cdbd2cSJim Jagielski 
485*b1cdbd2cSJim Jagielski 	//test SetRedecedGradientMode()
486*b1cdbd2cSJim Jagielski 	nOldMode = nNewMode = 0;
487*b1cdbd2cSJim Jagielski     nOldMode = this->impl_GetReducedGradientMode();
488*b1cdbd2cSJim Jagielski 	nNewMode = nOldMode + 1;
489*b1cdbd2cSJim Jagielski     aPrintOpt.SetReducedGradientMode(nNewMode);
490*b1cdbd2cSJim Jagielski     nNewMode = this->impl_GetReducedGradientMode();
491*b1cdbd2cSJim Jagielski 	//if (nNewMode != nOldMode)  // test the old source
492*b1cdbd2cSJim Jagielski 	if (nNewMode == nOldMode)// test the new source
493*b1cdbd2cSJim Jagielski 	{
494*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
495*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
496*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
497*b1cdbd2cSJim Jagielski 			"the SetRedecedGradientMode() error!"),
498*b1cdbd2cSJim Jagielski 			0);
499*b1cdbd2cSJim Jagielski 	}
500*b1cdbd2cSJim Jagielski 
501*b1cdbd2cSJim Jagielski 	// test GetReducedGradientMode()
502*b1cdbd2cSJim Jagielski 	nOldMode = nNewMode = 0;
503*b1cdbd2cSJim Jagielski     nOldMode = this->impl_GetReducedGradientMode();
504*b1cdbd2cSJim Jagielski 	nNewMode = nOldMode + 1;
505*b1cdbd2cSJim Jagielski 	this->impl_SetReducedGradientMode(nNewMode);
506*b1cdbd2cSJim Jagielski 	nNewMode = aPrintOpt.GetReducedGradientMode();
507*b1cdbd2cSJim Jagielski 	//if (nNewMode != nOldMode) // test the old source
508*b1cdbd2cSJim Jagielski 	if (nNewMode == nOldMode) // test the new source
509*b1cdbd2cSJim Jagielski 	{
510*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
511*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
512*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
513*b1cdbd2cSJim Jagielski 			"the GetReducedGradientMode() error!"),
514*b1cdbd2cSJim Jagielski 			0);
515*b1cdbd2cSJim Jagielski 
516*b1cdbd2cSJim Jagielski 	}
517*b1cdbd2cSJim Jagielski 
518*b1cdbd2cSJim Jagielski 	//test the SetReducedGradientStepCount()
519*b1cdbd2cSJim Jagielski     sal_Int16 nNewStepCount;
520*b1cdbd2cSJim Jagielski 	sal_Int16 nOldStepCount;
521*b1cdbd2cSJim Jagielski 	nNewStepCount = nOldStepCount = 0;
522*b1cdbd2cSJim Jagielski 	nOldStepCount = this->impl_GetReducedGradientStepCount();
523*b1cdbd2cSJim Jagielski 	nNewStepCount = nOldStepCount + 1;
524*b1cdbd2cSJim Jagielski 	aPrintOpt.SetReducedGradientStepCount(nNewStepCount);
525*b1cdbd2cSJim Jagielski 	nNewStepCount = this->impl_GetReducedGradientStepCount();
526*b1cdbd2cSJim Jagielski    // if (nNewStepCount != nOldStepCount) // test the old source
527*b1cdbd2cSJim Jagielski 	if (nNewStepCount == nOldStepCount) // test the new source
528*b1cdbd2cSJim Jagielski     {
529*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
530*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
531*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
532*b1cdbd2cSJim Jagielski 			"the SetReducedGradientStepCount() error!"),
533*b1cdbd2cSJim Jagielski 			0);
534*b1cdbd2cSJim Jagielski 
535*b1cdbd2cSJim Jagielski     }
536*b1cdbd2cSJim Jagielski 
537*b1cdbd2cSJim Jagielski 	// test the GetReduceGradientStepCount()
538*b1cdbd2cSJim Jagielski     nNewStepCount = nOldStepCount = 0;
539*b1cdbd2cSJim Jagielski 	nOldStepCount = this->impl_GetReducedGradientStepCount();
540*b1cdbd2cSJim Jagielski 	nNewStepCount = nOldStepCount + 1;
541*b1cdbd2cSJim Jagielski     this->impl_SetReducedGradientStepCount(nNewStepCount);
542*b1cdbd2cSJim Jagielski 	nNewStepCount = aPrintOpt.GetReducedGradientStepCount();
543*b1cdbd2cSJim Jagielski    // if (nNewStepCount != nOldStepCount)  //test the old source
544*b1cdbd2cSJim Jagielski 	if (nNewStepCount == nOldStepCount)  //test the new source
545*b1cdbd2cSJim Jagielski     {
546*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
547*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
548*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
549*b1cdbd2cSJim Jagielski 			"the GetReduceGradientStepCount() error!"),
550*b1cdbd2cSJim Jagielski 			0);
551*b1cdbd2cSJim Jagielski     }
552*b1cdbd2cSJim Jagielski 
553*b1cdbd2cSJim Jagielski     // test the SetReduceBitmaps()
554*b1cdbd2cSJim Jagielski 	bNewValue = bOldValue = sal_False;
555*b1cdbd2cSJim Jagielski 	bOldValue = this->impl_IsReduceBitmaps();
556*b1cdbd2cSJim Jagielski 	bNewValue = !bOldValue;
557*b1cdbd2cSJim Jagielski 	aPrintOpt.SetReduceBitmaps(bNewValue);
558*b1cdbd2cSJim Jagielski 	bNewValue = this->impl_IsReduceBitmaps();
559*b1cdbd2cSJim Jagielski 	//if (bNewValue != bOldValue) // test the old source
560*b1cdbd2cSJim Jagielski 	if (bNewValue == bOldValue) // test the new source
561*b1cdbd2cSJim Jagielski 	{
562*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
563*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
564*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
565*b1cdbd2cSJim Jagielski 			"the SetReduceBitmaps() error!"),
566*b1cdbd2cSJim Jagielski 			0);
567*b1cdbd2cSJim Jagielski 	}
568*b1cdbd2cSJim Jagielski 
569*b1cdbd2cSJim Jagielski 	// test the IsReduceBitmaps()
570*b1cdbd2cSJim Jagielski 	bNewValue = bOldValue = sal_False;
571*b1cdbd2cSJim Jagielski 	bOldValue = this->impl_IsReduceBitmaps();
572*b1cdbd2cSJim Jagielski 	bNewValue = !bOldValue;
573*b1cdbd2cSJim Jagielski 	this->impl_SetReduceBitmaps(bNewValue);
574*b1cdbd2cSJim Jagielski 	bNewValue = aPrintOpt.IsReduceBitmaps();
575*b1cdbd2cSJim Jagielski 	//if (bNewValue != bOldValue)   // test the old source
576*b1cdbd2cSJim Jagielski 	if (bNewValue == bOldValue) // test the new source
577*b1cdbd2cSJim Jagielski 	{
578*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
579*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
580*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
581*b1cdbd2cSJim Jagielski 			"the IsReduceBitmaps() error!"),
582*b1cdbd2cSJim Jagielski 			0);
583*b1cdbd2cSJim Jagielski 	}
584*b1cdbd2cSJim Jagielski 
585*b1cdbd2cSJim Jagielski 	// test the SetReduceBitmap()
586*b1cdbd2cSJim Jagielski 	nNewMode = nOldMode = 0;
587*b1cdbd2cSJim Jagielski 	nOldMode = impl_GetReducedBitmapMode();
588*b1cdbd2cSJim Jagielski 	nNewMode = nOldMode + 1;
589*b1cdbd2cSJim Jagielski 	aPrintOpt.SetReducedBitmapMode(nNewMode);
590*b1cdbd2cSJim Jagielski 	nNewMode = impl_GetReducedBitmapMode();
591*b1cdbd2cSJim Jagielski 	//if (nNewMode != nOldMode)  // test the old source
592*b1cdbd2cSJim Jagielski 	if (nNewMode == nOldMode)// test the new source
593*b1cdbd2cSJim Jagielski 	{
594*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
595*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
596*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
597*b1cdbd2cSJim Jagielski 			"the SetReduceBitmap() error!"),
598*b1cdbd2cSJim Jagielski 			0);
599*b1cdbd2cSJim Jagielski 	}
600*b1cdbd2cSJim Jagielski 
601*b1cdbd2cSJim Jagielski 	// test the SetReduceBitmapMode()
602*b1cdbd2cSJim Jagielski 	nNewMode = nOldMode = 0;
603*b1cdbd2cSJim Jagielski 	nOldMode = this->impl_GetReducedBitmapMode();
604*b1cdbd2cSJim Jagielski 	nNewMode = nOldMode + 1;
605*b1cdbd2cSJim Jagielski 	aPrintOpt.SetReducedBitmapMode(nNewMode);
606*b1cdbd2cSJim Jagielski 	nNewMode = this->impl_GetReducedBitmapMode();
607*b1cdbd2cSJim Jagielski     //if (nNewMode != nOldMode) // test the old source
608*b1cdbd2cSJim Jagielski 	if (nNewMode == nOldMode)  // test the new source
609*b1cdbd2cSJim Jagielski     {
610*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
611*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
612*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
613*b1cdbd2cSJim Jagielski 			"the SetReduceBitmapMode() error!"),
614*b1cdbd2cSJim Jagielski 			0);
615*b1cdbd2cSJim Jagielski     }
616*b1cdbd2cSJim Jagielski 
617*b1cdbd2cSJim Jagielski     // test the GetReduceBitmapMode()
618*b1cdbd2cSJim Jagielski 	nNewMode = nOldMode = 0;
619*b1cdbd2cSJim Jagielski 	nOldMode = this->impl_GetReducedBitmapMode();
620*b1cdbd2cSJim Jagielski 	nNewMode = nOldMode + 1;
621*b1cdbd2cSJim Jagielski 	this->impl_SetReducedBitmapMode(nNewMode);
622*b1cdbd2cSJim Jagielski 	nNewMode = aPrintOpt.GetReducedBitmapMode();
623*b1cdbd2cSJim Jagielski 	//if (nNewMode != nOldMode)  // test the old source
624*b1cdbd2cSJim Jagielski 	if (nNewMode == nOldMode)// test the new source
625*b1cdbd2cSJim Jagielski 	{
626*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
627*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
628*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
629*b1cdbd2cSJim Jagielski 			"the GetReduceBitmapMode() error!"),
630*b1cdbd2cSJim Jagielski 			0);
631*b1cdbd2cSJim Jagielski 
632*b1cdbd2cSJim Jagielski 	}
633*b1cdbd2cSJim Jagielski 
634*b1cdbd2cSJim Jagielski 	// test the SetReducedBitmapResolution()
635*b1cdbd2cSJim Jagielski 	sal_Int16 nOldResolution ;
636*b1cdbd2cSJim Jagielski     sal_Int16 nNewResolution ;
637*b1cdbd2cSJim Jagielski 	nNewResolution = nOldResolution = 0;
638*b1cdbd2cSJim Jagielski     nOldResolution = impl_GetReducedBitmapResolution();
639*b1cdbd2cSJim Jagielski 	nNewResolution = nOldResolution + 1;
640*b1cdbd2cSJim Jagielski 	aPrintOpt.SetReducedBitmapResolution(nNewResolution);
641*b1cdbd2cSJim Jagielski     nNewResolution = impl_GetReducedBitmapResolution();
642*b1cdbd2cSJim Jagielski 	//if (nNewResolution != nOldResolution)  // test the old source
643*b1cdbd2cSJim Jagielski 	if (nNewResolution == nOldResolution)// test the new source
644*b1cdbd2cSJim Jagielski 	{
645*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
646*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
647*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
648*b1cdbd2cSJim Jagielski 			"the SetReducedBitmapResolution() error!"),
649*b1cdbd2cSJim Jagielski 			0);
650*b1cdbd2cSJim Jagielski 	}
651*b1cdbd2cSJim Jagielski 
652*b1cdbd2cSJim Jagielski 	// test the GetReduceBitmapResolution()
653*b1cdbd2cSJim Jagielski     nNewResolution = nOldResolution = 0;
654*b1cdbd2cSJim Jagielski 	nOldResolution = impl_GetReducedBitmapResolution();
655*b1cdbd2cSJim Jagielski 	nNewResolution = nOldResolution + 1;
656*b1cdbd2cSJim Jagielski 	impl_SetReducedBitmapResolution(nNewResolution);
657*b1cdbd2cSJim Jagielski     nNewResolution = impl_GetReducedBitmapResolution();
658*b1cdbd2cSJim Jagielski 	//if (nNewResolution != nOldResolution)   // test the old source
659*b1cdbd2cSJim Jagielski 	if (nNewResolution == nOldResolution) // test the new source
660*b1cdbd2cSJim Jagielski 	{
661*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
662*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
663*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
664*b1cdbd2cSJim Jagielski 			"the GetReduceBitmapResolution() error!"),
665*b1cdbd2cSJim Jagielski 			0);
666*b1cdbd2cSJim Jagielski 	}
667*b1cdbd2cSJim Jagielski 
668*b1cdbd2cSJim Jagielski 	// test SetReducedBitmapIncludesTransparency()
669*b1cdbd2cSJim Jagielski 	bNewValue = bOldValue = sal_False;
670*b1cdbd2cSJim Jagielski     bOldValue = impl_IsReducedBitmapIncludesTransparency();
671*b1cdbd2cSJim Jagielski 	bNewValue = !bOldValue;
672*b1cdbd2cSJim Jagielski 	aPrintOpt.SetReducedBitmapIncludesTransparency(bNewValue);
673*b1cdbd2cSJim Jagielski 	bNewValue = impl_IsReducedBitmapIncludesTransparency();
674*b1cdbd2cSJim Jagielski 	//if (bNewValue != bOldValue) // test the new source
675*b1cdbd2cSJim Jagielski 	if (bNewValue == bOldValue) // test the old source
676*b1cdbd2cSJim Jagielski 	{
677*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
678*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
679*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
680*b1cdbd2cSJim Jagielski 			"the SetReducedBitmapIncludesTransparency() error!"),
681*b1cdbd2cSJim Jagielski 			0);
682*b1cdbd2cSJim Jagielski 	}
683*b1cdbd2cSJim Jagielski 
684*b1cdbd2cSJim Jagielski 	// test the IsReducedBitmapIncludesTransparency()
685*b1cdbd2cSJim Jagielski 	bNewValue = bOldValue = sal_False;
686*b1cdbd2cSJim Jagielski 	bOldValue = impl_IsReducedBitmapIncludesTransparency();
687*b1cdbd2cSJim Jagielski 	bNewValue = !bOldValue;
688*b1cdbd2cSJim Jagielski 	impl_SetReducedBitmapIncludesTransparency(bNewValue);
689*b1cdbd2cSJim Jagielski 	bNewValue = aPrintOpt.IsReducedBitmapIncludesTransparency();
690*b1cdbd2cSJim Jagielski 	//if (bNewValue != bOldValue)   // test the old source
691*b1cdbd2cSJim Jagielski 	if (bNewValue == bOldValue) // test the new source
692*b1cdbd2cSJim Jagielski 	{
693*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
694*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
695*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
696*b1cdbd2cSJim Jagielski 			"the IsReducedBitmapIncludesTransparency() error!"),
697*b1cdbd2cSJim Jagielski 			0);
698*b1cdbd2cSJim Jagielski 	}
699*b1cdbd2cSJim Jagielski 
700*b1cdbd2cSJim Jagielski 	// test the SetConvertToGreyscales()
701*b1cdbd2cSJim Jagielski 	bNewValue = bOldValue = sal_False;
702*b1cdbd2cSJim Jagielski     bOldValue = this->impl_IsConvertToGreyscales();
703*b1cdbd2cSJim Jagielski 	bNewValue = !bOldValue;
704*b1cdbd2cSJim Jagielski 	aPrintOpt.SetConvertToGreyscales(bNewValue);
705*b1cdbd2cSJim Jagielski 	bNewValue = this->impl_IsConvertToGreyscales();
706*b1cdbd2cSJim Jagielski 	//if (bNewValue != bOldValue) // test the old source
707*b1cdbd2cSJim Jagielski 	if (bNewValue == bOldValue) // test the new source
708*b1cdbd2cSJim Jagielski 	{
709*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
710*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
711*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
712*b1cdbd2cSJim Jagielski 			"the SetConvertToGreyscales() error!"),
713*b1cdbd2cSJim Jagielski 			0);
714*b1cdbd2cSJim Jagielski 	}
715*b1cdbd2cSJim Jagielski 
716*b1cdbd2cSJim Jagielski     // test the IsConvertToGreyscales()
717*b1cdbd2cSJim Jagielski 	bNewValue = bOldValue = sal_False;
718*b1cdbd2cSJim Jagielski 	bOldValue = this->impl_IsConvertToGreyscales();
719*b1cdbd2cSJim Jagielski 	bNewValue = !bOldValue;
720*b1cdbd2cSJim Jagielski     impl_SetConvertToGreyscales(bNewValue);
721*b1cdbd2cSJim Jagielski 	bNewValue = aPrintOpt.IsConvertToGreyscales();
722*b1cdbd2cSJim Jagielski 	//if (bNewValue != bOldValue) // test the old source
723*b1cdbd2cSJim Jagielski 	if (bNewValue == bOldValue) // test the new source
724*b1cdbd2cSJim Jagielski 	{
725*b1cdbd2cSJim Jagielski 		throw css::uno::RuntimeException(
726*b1cdbd2cSJim Jagielski 			rtl::OUString::createFromAscii(
727*b1cdbd2cSJim Jagielski 			"null com.sun.star.configuration."
728*b1cdbd2cSJim Jagielski 			"the IsConvertToGreyscales() error!"),
729*b1cdbd2cSJim Jagielski 			0);
730*b1cdbd2cSJim Jagielski 	}
731*b1cdbd2cSJim Jagielski }
732