INTEGRATION: CWS reportdesign01 (1.3.20); FILE MERGED
2007/09/06 09:07:42 oj 1.3.20.1: #i77507# check for width, height of a fixed line
This commit is contained in:
parent
d1e4041a54
commit
0193db62d3
1 changed files with 29 additions and 6 deletions
|
@ -4,9 +4,9 @@
|
||||||
*
|
*
|
||||||
* $RCSfile: FixedLine.cxx,v $
|
* $RCSfile: FixedLine.cxx,v $
|
||||||
*
|
*
|
||||||
* $Revision: 1.3 $
|
* $Revision: 1.4 $
|
||||||
*
|
*
|
||||||
* last change: $Author: hr $ $Date: 2007-08-02 14:29:24 $
|
* last change: $Author: ihi $ $Date: 2007-11-20 18:57:35 $
|
||||||
*
|
*
|
||||||
* The Contents of this file are made available subject to
|
* The Contents of this file are made available subject to
|
||||||
* the terms of GNU Lesser General Public License Version 2.1.
|
* the terms of GNU Lesser General Public License Version 2.1.
|
||||||
|
@ -66,6 +66,9 @@
|
||||||
#include <com/sun/star/text/ParagraphVertAlign.hpp>
|
#include <com/sun/star/text/ParagraphVertAlign.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind.hpp>
|
||||||
#include "ReportHelperImpl.hxx"
|
#include "ReportHelperImpl.hxx"
|
||||||
|
|
||||||
|
#define MIN_WIDTH 80
|
||||||
|
#define MIN_HEIGHT 20
|
||||||
// =============================================================================
|
// =============================================================================
|
||||||
namespace reportdesign
|
namespace reportdesign
|
||||||
{
|
{
|
||||||
|
@ -137,16 +140,17 @@ OFixedLine::OFixedLine(uno::Reference< uno::XComponentContext > const & _xContex
|
||||||
{
|
{
|
||||||
DBG_CTOR(rpt_OFixedLine,NULL);
|
DBG_CTOR(rpt_OFixedLine,NULL);
|
||||||
m_aProps.aComponent.m_sName = RPT_RESSTRING(RID_STR_FIXEDLINE,m_aProps.aComponent.m_xContext->getServiceManager());
|
m_aProps.aComponent.m_sName = RPT_RESSTRING(RID_STR_FIXEDLINE,m_aProps.aComponent.m_xContext->getServiceManager());
|
||||||
m_aProps.aComponent.m_nWidth = 8;
|
m_aProps.aComponent.m_nWidth = MIN_WIDTH;
|
||||||
}
|
}
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
OFixedLine::OFixedLine(uno::Reference< uno::XComponentContext > const & _xContext
|
OFixedLine::OFixedLine(uno::Reference< uno::XComponentContext > const & _xContext
|
||||||
,const uno::Reference< lang::XMultiServiceFactory>& _xFactory
|
,const uno::Reference< lang::XMultiServiceFactory>& _xFactory
|
||||||
,uno::Reference< drawing::XShape >& _xShape)
|
,uno::Reference< drawing::XShape >& _xShape
|
||||||
|
,sal_Int32 _nOrientation)
|
||||||
:FixedLineBase(m_aMutex)
|
:FixedLineBase(m_aMutex)
|
||||||
,FixedLinePropertySet(_xContext,static_cast< Implements >(IMPLEMENTS_PROPERTY_SET),lcl_getLineOptionals())
|
,FixedLinePropertySet(_xContext,static_cast< Implements >(IMPLEMENTS_PROPERTY_SET),lcl_getLineOptionals())
|
||||||
,m_aProps(m_aMutex,static_cast< container::XContainer*>( this ),_xContext)
|
,m_aProps(m_aMutex,static_cast< container::XContainer*>( this ),_xContext)
|
||||||
,m_nOrientation(1)
|
,m_nOrientation(_nOrientation)
|
||||||
,m_LineColor(0)
|
,m_LineColor(0)
|
||||||
,m_LineTransparence(0)
|
,m_LineTransparence(0)
|
||||||
,m_LineWidth(0)
|
,m_LineWidth(0)
|
||||||
|
@ -155,9 +159,28 @@ OFixedLine::OFixedLine(uno::Reference< uno::XComponentContext > const & _xContex
|
||||||
m_aProps.aComponent.m_sName = RPT_RESSTRING(RID_STR_FIXEDLINE,m_aProps.aComponent.m_xContext->getServiceManager());
|
m_aProps.aComponent.m_sName = RPT_RESSTRING(RID_STR_FIXEDLINE,m_aProps.aComponent.m_xContext->getServiceManager());
|
||||||
m_aProps.aComponent.m_xFactory = _xFactory;
|
m_aProps.aComponent.m_xFactory = _xFactory;
|
||||||
osl_incrementInterlockedCount( &m_refCount );
|
osl_incrementInterlockedCount( &m_refCount );
|
||||||
|
try
|
||||||
{
|
{
|
||||||
|
awt::Size aSize = _xShape->getSize();
|
||||||
|
if ( m_nOrientation == 1 )
|
||||||
|
{
|
||||||
|
if ( aSize.Width < MIN_WIDTH )
|
||||||
|
{
|
||||||
|
aSize.Width = MIN_WIDTH;
|
||||||
|
_xShape->setSize(aSize);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ( MIN_HEIGHT > aSize.Height )
|
||||||
|
{
|
||||||
|
aSize.Height = MIN_HEIGHT;
|
||||||
|
_xShape->setSize(aSize);
|
||||||
|
}
|
||||||
m_aProps.aComponent.setShape(_xShape,this,m_refCount);
|
m_aProps.aComponent.setShape(_xShape,this,m_refCount);
|
||||||
}
|
}
|
||||||
|
catch(uno::Exception&)
|
||||||
|
{
|
||||||
|
OSL_ENSURE(0,"OFixedLine::OFixedLine: Exception caught!");
|
||||||
|
}
|
||||||
osl_decrementInterlockedCount( &m_refCount );
|
osl_decrementInterlockedCount( &m_refCount );
|
||||||
}
|
}
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
@ -503,7 +526,7 @@ awt::Size SAL_CALL OFixedLine::getSize( ) throw (uno::RuntimeException)
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
void SAL_CALL OFixedLine::setSize( const awt::Size& aSize ) throw (beans::PropertyVetoException, uno::RuntimeException)
|
void SAL_CALL OFixedLine::setSize( const awt::Size& aSize ) throw (beans::PropertyVetoException, uno::RuntimeException)
|
||||||
{
|
{
|
||||||
if ( aSize.Width < 8 && m_nOrientation == 1 )
|
if ( (aSize.Width < MIN_WIDTH && m_nOrientation == 1) || (aSize.Height < MIN_HEIGHT && m_nOrientation == 0) )
|
||||||
throw beans::PropertyVetoException();
|
throw beans::PropertyVetoException();
|
||||||
OShapeHelper::setSize(aSize,this);
|
OShapeHelper::setSize(aSize,this);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue