summaryrefslogtreecommitdiff
path: root/forms/source/component/Grid.cxx
diff options
context:
space:
mode:
authorFrank Schönheit <fs@openoffice.org>2001-06-11 10:47:11 +0000
committerFrank Schönheit <fs@openoffice.org>2001-06-11 10:47:11 +0000
commit97d96a53c47d620a87e3a04f0247c096ac08e6c0 (patch)
tree5acd5a760360e6fbd8cda62ad09ac9bad79cd40c /forms/source/component/Grid.cxx
parentaeb6f15a7064aaf5f1ef14f5d198a4e36915936f (diff)
#86096# +TEXTLINECOLOR, +FONTEMPHASISMARK, +FONTRELIEF
Diffstat (limited to 'forms/source/component/Grid.cxx')
-rw-r--r--forms/source/component/Grid.cxx125
1 files changed, 98 insertions, 27 deletions
diff --git a/forms/source/component/Grid.cxx b/forms/source/component/Grid.cxx
index 6fc1db540340..715ab21d004f 100644
--- a/forms/source/component/Grid.cxx
+++ b/forms/source/component/Grid.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: Grid.cxx,v $
*
- * $Revision: 1.14 $
+ * $Revision: 1.15 $
*
- * last change: $Author: fs $ $Date: 2001-05-18 07:22:41 $
+ * last change: $Author: fs $ $Date: 2001-06-11 11:47:11 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -73,6 +73,12 @@
#ifndef _COM_SUN_STAR_FORM_XLOADABLE_HPP_
#include <com/sun/star/form/XLoadable.hpp>
#endif
+#ifndef _COM_SUN_STAR_AWT_FONTRELIEF_HPP_
+#include <com/sun/star/awt/FontRelief.hpp>
+#endif
+#ifndef _COM_SUN_STAR_AWT_FONTEMPHASISMARK_HPP_
+#include <com/sun/star/awt/FontEmphasisMark.hpp>
+#endif
#ifndef _FRM_SERVICES_HXX_
#include "services.hxx"
@@ -140,6 +146,7 @@ sal_Int32 findPos(const ::rtl::OUString& aStr, const StringSequence& rList)
namespace frm
{
//.........................................................................
+using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::sdb;
using namespace ::com::sun::star::sdbc;
@@ -185,6 +192,8 @@ OGridControlModel::OGridControlModel(const Reference<XMultiServiceFactory>& _rxF
,m_bPrintable(sal_True)
,m_bAlwaysShowCursor(sal_False)
,m_bDisplaySynchron(sal_True)
+ ,m_nFontRelief(awt::FontRelief::NONE)
+ ,m_nFontEmphasis(FontEmphasisMark::NONE)
{
DBG_CTOR(OGridControlModel,NULL);
@@ -421,7 +430,7 @@ void OGridControlModel::fillProperties(
Sequence< Property >& _rProps,
Sequence< Property >& _rAggregateProps ) const
{
- BEGIN_AGGREGATION_PROPERTY_HELPER(30, m_xAggregateSet)
+ BEGIN_AGGREGATION_PROPERTY_HELPER(33, m_xAggregateSet)
DECL_PROP1(NAME, ::rtl::OUString, BOUND);
DECL_PROP2(CLASSID, sal_Int16, READONLY, TRANSIENT);
DECL_PROP1(TAG, ::rtl::OUString, BOUND);
@@ -445,6 +454,9 @@ void OGridControlModel::fillProperties(
DECL_PROP1(FONT_SLANT, sal_Int16, MAYBEDEFAULT);
DECL_PROP1(FONT_UNDERLINE, sal_Int16, MAYBEDEFAULT);
DECL_BOOL_PROP1(FONT_WORDLINEMODE, MAYBEDEFAULT);
+ DECL_PROP3(TEXTLINECOLOR, sal_Int32, BOUND, MAYBEDEFAULT, MAYBEVOID);
+ DECL_PROP2(FONTEMPHASISMARK, sal_Int16, BOUND, MAYBEDEFAULT);
+ DECL_PROP2(FONTRELIEF, sal_Int16, BOUND, MAYBEDEFAULT);
DECL_PROP1(FONT_STRIKEOUT, sal_Int16, MAYBEDEFAULT);
DECL_PROP2(RECORDMARKER, sal_Bool, BOUND, MAYBEDEFAULT );
DECL_PROP2(PRINTABLE, sal_Bool, BOUND, MAYBEDEFAULT );
@@ -460,6 +472,15 @@ void OGridControlModel::getFastPropertyValue(Any& rValue, sal_Int32 nHandle ) co
{
switch (nHandle)
{
+ case PROPERTY_ID_TEXTLINECOLOR:
+ rValue = m_aTextLineColor;
+ break;
+ case PROPERTY_ID_FONTEMPHASISMARK:
+ rValue <<= m_nFontEmphasis;
+ break;
+ case PROPERTY_ID_FONTRELIEF:
+ rValue <<= m_nFontRelief;
+ break;
case PROPERTY_ID_HELPTEXT:
rValue <<= m_sHelpText;
break;
@@ -550,6 +571,15 @@ sal_Bool OGridControlModel::convertFastPropertyValue( Any& rConvertedValue, Any&
sal_Bool bModified(sal_False);
switch (nHandle)
{
+ case PROPERTY_ID_TEXTLINECOLOR:
+ bModified = tryPropertyValue(rConvertedValue, rOldValue, rValue, m_aTextLineColor, ::getCppuType((const sal_Int32*)NULL));
+ break;
+ case PROPERTY_ID_FONTEMPHASISMARK:
+ bModified = tryPropertyValue(rConvertedValue, rOldValue, rValue, m_nFontEmphasis);
+ break;
+ case PROPERTY_ID_FONTRELIEF:
+ bModified = tryPropertyValue(rConvertedValue, rOldValue, rValue, m_nFontRelief);
+ break;
case PROPERTY_ID_HELPTEXT:
bModified = tryPropertyValue(rConvertedValue, rOldValue, rValue, m_sHelpText);
break;
@@ -628,7 +658,7 @@ sal_Bool OGridControlModel::convertFastPropertyValue( Any& rConvertedValue, Any&
bModified = tryPropertyValue(rConvertedValue, rOldValue, rValue, m_aFont.Weight);
break;
case PROPERTY_ID_FONT_SLANT:
- bModified = tryPropertyValue(rConvertedValue, rOldValue, rValue, m_aFont.Slant);
+ bModified = tryPropertyValueEnum(rConvertedValue, rOldValue, rValue, m_aFont.Slant);
break;
case PROPERTY_ID_FONT_UNDERLINE:
bModified = tryPropertyValue(rConvertedValue, rOldValue, rValue, (sal_Int16)m_aFont.Underline);
@@ -650,6 +680,15 @@ void OGridControlModel::setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, con
{
switch (nHandle)
{
+ case PROPERTY_ID_TEXTLINECOLOR:
+ m_aTextLineColor = rValue;
+ break;
+ case PROPERTY_ID_FONTEMPHASISMARK:
+ rValue >>= m_nFontEmphasis;
+ break;
+ case PROPERTY_ID_FONTRELIEF:
+ rValue >>= m_nFontRelief;
+ break;
case PROPERTY_ID_HELPTEXT:
rValue >>= m_sHelpText;
break;
@@ -761,10 +800,8 @@ void OGridControlModel::setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, con
//------------------------------------------------------------------------------
IMPL_LINK( OGridControlModel, OnFontChanged, void*, EMPTYARG )
{
- Any aOldVal;
- aOldVal >>= m_aOldFont;
- Any aNewVal;
- aNewVal >>= m_aFont;
+ Any aOldVal; aOldVal <<= m_aOldFont;
+ Any aNewVal; aNewVal <<= m_aFont;
{
::osl::MutexGuard aGuard(m_aMutex);
m_nFontEvent = 0;
@@ -781,6 +818,18 @@ PropertyState OGridControlModel::getPropertyStateByHandle(sal_Int32 nHandle)
PropertyState eState(PropertyState_DIRECT_VALUE);
switch (nHandle)
{
+ case PROPERTY_ID_TEXTLINECOLOR:
+ if (!m_aTextLineColor.hasValue())
+ eState = PropertyState_DEFAULT_VALUE;
+ break;
+ case PROPERTY_ID_FONTEMPHASISMARK:
+ if (FontEmphasisMark::NONE == m_nFontEmphasis)
+ eState = PropertyState_DEFAULT_VALUE;
+ break;
+ case PROPERTY_ID_FONTRELIEF:
+ if (awt::FontRelief::NONE == m_nFontRelief)
+ eState = PropertyState_DEFAULT_VALUE;
+ break;
case PROPERTY_ID_HELPURL:
if (m_sHelpURL.getLength() == 0)
eState = PropertyState_DEFAULT_VALUE;
@@ -876,6 +925,12 @@ void OGridControlModel::setPropertyToDefaultByHandle(sal_Int32 nHandle)
{
switch (nHandle)
{
+ case PROPERTY_ID_FONTEMPHASISMARK:
+ setFastPropertyValue(nHandle, makeAny(FontEmphasisMark::NONE));
+ break;
+ case PROPERTY_ID_FONTRELIEF:
+ setFastPropertyValue(nHandle, makeAny(awt::FontRelief::NONE));
+ break;
case PROPERTY_ID_ALWAYSSHOWCURSOR:
setFastPropertyValue(nHandle, makeBoolAny(sal_False));
break;
@@ -891,6 +946,7 @@ void OGridControlModel::setPropertyToDefaultByHandle(sal_Int32 nHandle)
case PROPERTY_ID_BACKGROUNDCOLOR:
case PROPERTY_ID_ROWHEIGHT:
case PROPERTY_ID_CURSORCOLOR:
+ case PROPERTY_ID_TEXTLINECOLOR:
setFastPropertyValue(nHandle, Any());
break;
case PROPERTY_ID_HELPURL:
@@ -925,35 +981,50 @@ void OGridControlModel::setPropertyToDefaultByHandle(sal_Int32 nHandle)
//------------------------------------------------------------------------------
Any OGridControlModel::getPropertyDefaultByHandle( sal_Int32 nHandle )
{
+ Any aReturn;
switch (nHandle)
{
+ case PROPERTY_ID_FONTEMPHASISMARK:
+ aReturn <<= FontEmphasisMark::NONE;
+ break;
+ case PROPERTY_ID_FONTRELIEF:
+ aReturn <<= awt::FontRelief::NONE;
+ break;
case PROPERTY_ID_PRINTABLE:
case PROPERTY_ID_HASNAVIGATION:
case PROPERTY_ID_RECORDMARKER:
- return makeBoolAny(sal_True);
- case PROPERTY_ID_TABSTOP:
- case PROPERTY_ID_TEXTCOLOR:
- case PROPERTY_ID_BACKGROUNDCOLOR:
- case PROPERTY_ID_ROWHEIGHT:
- return Any();
+ aReturn = makeBoolAny(sal_True);
+ break;
+ case PROPERTY_ID_FONT_WORDLINEMODE:
+ aReturn = makeBoolAny(sal_False);
+ break;
case PROPERTY_ID_FONT_NAME:
case PROPERTY_ID_FONT_STYLENAME:
- return makeAny(::rtl::OUString());
+ aReturn <<= ::rtl::OUString();
+ break;
case PROPERTY_ID_FONT_FAMILY:
case PROPERTY_ID_FONT_CHARSET:
case PROPERTY_ID_FONT_SLANT:
case PROPERTY_ID_FONT_UNDERLINE:
case PROPERTY_ID_FONT_STRIKEOUT:
- return makeAny((sal_Int16)0);
+ aReturn <<= (sal_Int16)0;
+ break;
case PROPERTY_ID_FONT_HEIGHT:
- return makeAny((float)0);
case PROPERTY_ID_FONT_WEIGHT:
- return makeAny((float)0);
- case PROPERTY_ID_FONT_WORDLINEMODE:
- return ::cppu::bool2any(sal_False);
+ aReturn <<= (float)0;
+ break;
+ case PROPERTY_ID_TABSTOP:
+ case PROPERTY_ID_TEXTCOLOR:
+ case PROPERTY_ID_BACKGROUNDCOLOR:
+ case PROPERTY_ID_ROWHEIGHT:
+ case PROPERTY_ID_CURSORCOLOR:
+ case PROPERTY_ID_TEXTLINECOLOR:
+ // void
+ break;
default:
- return OControlModel::getPropertyDefaultByHandle(nHandle);
+ aReturn = OControlModel::getPropertyDefaultByHandle(nHandle);
}
+ return aReturn;
}
// XLoadListener
@@ -1169,7 +1240,7 @@ void OGridControlModel::write(const Reference<XObjectOutputStream>& _rxOutStream
_rxOutStream->writeShort( m_aFont.Slant );
_rxOutStream->writeShort( m_aFont.Underline );
_rxOutStream->writeShort( m_aFont.Strikeout );
- _rxOutStream->writeShort( m_aFont.Orientation * 10 );
+ _rxOutStream->writeShort( sal_Int16(m_aFont.Orientation * 10) );
_rxOutStream->writeBoolean( m_aFont.Kerning );
_rxOutStream->writeBoolean( m_aFont.WordLineMode );
@@ -1297,20 +1368,20 @@ void OGridControlModel::read(const Reference<XObjectInputStream>& _rxInStream)
if (nAnyMask & FONTATTRIBS)
{
- m_aFont.Weight = VCLUnoHelper::ConvertFontWeight( _rxInStream->readShort() );
+ m_aFont.Weight = (float)VCLUnoHelper::ConvertFontWeight( _rxInStream->readShort() );
m_aFont.Slant = (FontSlant)_rxInStream->readShort();
m_aFont.Underline = _rxInStream->readShort();
m_aFont.Strikeout = _rxInStream->readShort();
- m_aFont.Orientation = ( (double)_rxInStream->readShort() ) / 10;
+ m_aFont.Orientation = ( (float)_rxInStream->readShort() ) / 10;
m_aFont.Kerning = _rxInStream->readBoolean();
m_aFont.WordLineMode = _rxInStream->readBoolean();
}
if (nAnyMask & FONTSIZE)
{
- m_aFont.Width = _rxInStream->readLong();
- m_aFont.Height = _rxInStream->readLong();
- m_aFont.CharacterWidth = VCLUnoHelper::ConvertFontWidth( _rxInStream->readShort() );
+ m_aFont.Width = (sal_Int16)_rxInStream->readLong();
+ m_aFont.Height = (sal_Int16)_rxInStream->readLong();
+ m_aFont.CharacterWidth = (float)VCLUnoHelper::ConvertFontWidth( _rxInStream->readShort() );
}
if (nAnyMask & FONTTYPE)
{