summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/svx/rulritem.hxx86
-rw-r--r--svx/source/dialog/rulritem.cxx251
2 files changed, 225 insertions, 112 deletions
diff --git a/include/svx/rulritem.hxx b/include/svx/rulritem.hxx
index ea901a79e57a..b2c6195a0699 100644
--- a/include/svx/rulritem.hxx
+++ b/include/svx/rulritem.hxx
@@ -168,64 +168,64 @@ struct SvxColumnDescription
class SVX_DLLPUBLIC SvxColumnItem : public SfxPoolItem
{
- std::vector<SvxColumnDescription> aColumns;// Column array
- long nLeft, // Left edge for the table
- nRight; // Right edge for the table; for columns always
- // equal to the surrounding frame
+ typedef std::vector<SvxColumnDescription> SvxColumnDescriptionVector;
+ SvxColumnDescriptionVector aColumns; // Column array
+
+ long nLeft; // Left edge for the table
+ long nRight; // Right edge for the table; for columns always
+ // equal to the surrounding frame
sal_uInt16 nActColumn; // the current column
sal_uInt8 bTable; // table?
- sal_uInt8 bOrtho; // evenly spread columns
+ sal_uInt8 bOrtho; // evenly spread columns
protected:
- virtual int operator==( const SfxPoolItem& ) const;
+ virtual int operator==( const SfxPoolItem& ) const;
+
+ virtual OUString GetValueText() const;
- virtual OUString GetValueText() const;
virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
- SfxMapUnit eCoreMetric,
- SfxMapUnit ePresMetric,
- OUString &rText, const IntlWrapper * = 0 ) const;
+ SfxMapUnit eCoreMetric,
+ SfxMapUnit ePresMetric,
+ OUString &rText,
+ const IntlWrapper * = 0 ) const;
+
+ virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
+ virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const;
+ virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 );
- virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
- virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const;
- virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 );
public:
TYPEINFO();
// right edge of the surrounding frame
// nLeft, nRight each the distance to the surrounding frame
- SvxColumnItem(sal_uInt16 nAct = 0); // columns
- SvxColumnItem(sal_uInt16 nActCol,
- sal_uInt16 nLeft, sal_uInt16 nRight = 0); // Table with borders
- SvxColumnItem(const SvxColumnItem &);
+ SvxColumnItem(sal_uInt16 nAct = 0);
+ SvxColumnItem(sal_uInt16 nActCol, sal_uInt16 nLeft, sal_uInt16 nRight = 0); // Table with borders
+ SvxColumnItem(const SvxColumnItem& aItem);
~SvxColumnItem();
const SvxColumnItem &operator=(const SvxColumnItem &);
- sal_uInt16 Count() const { return aColumns.size(); }
- SvxColumnDescription &operator[](sal_uInt16 i)
- { return aColumns[i]; }
- const SvxColumnDescription &operator[](sal_uInt16 i) const
- { return aColumns[i]; }
- void Insert(const SvxColumnDescription &rDesc, sal_uInt16 nPos) {
- aColumns.insert(aColumns.begin() + nPos, rDesc);
- }
- void Append(const SvxColumnDescription &rDesc) { Insert(rDesc, Count()); }
- void SetLeft(long left) { nLeft = left; }
- void SetRight(long right) { nRight = right; }
- void SetActColumn(sal_uInt16 nCol) { nActColumn = nCol; }
-
- sal_uInt16 GetActColumn() const { return nActColumn; }
- sal_Bool IsFirstAct() const { return nActColumn == 0; }
- sal_Bool IsLastAct() const { return nActColumn == Count()-1; }
- long GetLeft() { return nLeft; }
- long GetRight() { return nRight; }
-
- sal_Bool IsTable() const { return bTable; }
-
- sal_Bool CalcOrtho() const;
- void SetOrtho(sal_Bool bVal) { bOrtho = bVal; }
- sal_Bool IsOrtho () const { return sal_False ; }
-
- sal_Bool IsConsistent() const { return nActColumn < aColumns.size(); }
+ SvxColumnDescription& operator[](sal_uInt16 index);
+ const SvxColumnDescription& operator[](sal_uInt16 index) const;
+ SvxColumnDescription& At(sal_uInt16 index);
+ SvxColumnDescription& GetActiveColumnDescription();
+
+ sal_uInt16 Count() const;
+ void Insert(const SvxColumnDescription& rDesc, sal_uInt16 nPos);
+ void Append(const SvxColumnDescription& rDesc);
+ void SetLeft(long aLeft);
+ void SetRight(long aRight);
+ void SetActColumn(sal_uInt16 nCol);
+ sal_uInt16 GetActColumn() const;
+ sal_uInt16 GetColumnDescription() const;
+ sal_Bool IsFirstAct() const;
+ sal_Bool IsLastAct() const;
+ long GetLeft();
+ long GetRight();
+ sal_Bool IsTable() const;
+ sal_Bool CalcOrtho() const;
+ void SetOrtho(sal_Bool bVal);
+ sal_Bool IsOrtho () const;
+ sal_Bool IsConsistent() const;
};
// class SvxObjectItem ---------------------------------------------------
diff --git a/svx/source/dialog/rulritem.cxx b/svx/source/dialog/rulritem.cxx
index 0f01432d9e6e..a49044cceddb 100644
--- a/svx/source/dialog/rulritem.cxx
+++ b/svx/source/dialog/rulritem.cxx
@@ -438,85 +438,73 @@ int SvxColumnItem::operator==(const SfxPoolItem& rCmp) const
//------------------------------------------------------------------------
-OUString SvxColumnItem::GetValueText() const
+SvxColumnItem::SvxColumnItem( sal_uInt16 nAct ) :
+ SfxPoolItem (SID_RULER_BORDERS),
+ nLeft (0),
+ nRight (0),
+ nActColumn (nAct),
+ bTable (sal_False),
+ bOrtho (sal_True)
+
{
- return OUString();
}
-//------------------------------------------------------------------------
-
-SfxItemPresentation SvxColumnItem::GetPresentation
-(
- SfxItemPresentation /*ePres*/,
- SfxMapUnit /*eCoreUnit*/,
- SfxMapUnit /*ePresUnit*/,
- OUString& /*rText*/, const IntlWrapper *
-) const
+SvxColumnItem::SvxColumnItem( sal_uInt16 nActCol, sal_uInt16 left, sal_uInt16 right ) :
+ SfxPoolItem (SID_RULER_BORDERS),
+ nLeft (left),
+ nRight (right),
+ nActColumn (nActCol),
+ bTable (sal_True),
+ bOrtho (sal_True)
{
- return SFX_ITEM_PRESENTATION_NONE;
}
-//------------------------------------------------------------------------
-
-SfxPoolItem* SvxColumnItem::Clone( SfxItemPool * ) const
+SvxColumnItem::SvxColumnItem( const SvxColumnItem& rCopy ) :
+ SfxPoolItem (rCopy),
+ nLeft (rCopy.nLeft),
+ nRight (rCopy.nRight),
+ nActColumn (rCopy.nActColumn),
+ bTable (rCopy.bTable),
+ bOrtho (rCopy.bOrtho)
{
- return new SvxColumnItem(*this);
+ aColumns.resize(rCopy.aColumns.size());
+ std::copy(rCopy.aColumns.begin(), rCopy.aColumns.end(), aColumns.begin());
}
-//------------------------------------------------------------------------
-
-SvxColumnItem::SvxColumnItem( sal_uInt16 nAct ) :
-
- SfxPoolItem( SID_RULER_BORDERS ),
-
- nLeft ( 0 ),
- nRight ( 0 ),
- nActColumn ( nAct ),
- bTable ( sal_False ),
- bOrtho (sal_True )
-
+SvxColumnItem::~SvxColumnItem()
{
}
-//------------------------------------------------------------------------
-
-SvxColumnItem::SvxColumnItem( sal_uInt16 nActCol, sal_uInt16 left, sal_uInt16 right ) :
-
- SfxPoolItem( SID_RULER_BORDERS ),
-
- nLeft ( left ),
- nRight ( right ),
- nActColumn ( nActCol ),
- bTable ( sal_True ),
- bOrtho ( sal_True )
+OUString SvxColumnItem::GetValueText() const
{
+ return OUString();
}
-SvxColumnItem::SvxColumnItem( const SvxColumnItem& rCopy ) :
- SfxPoolItem( rCopy ),
- nLeft ( rCopy.nLeft ),
- nRight ( rCopy.nRight ),
- nActColumn( rCopy.nActColumn ),
- bTable ( rCopy.bTable ),
- bOrtho ( rCopy.bOrtho )
+SfxItemPresentation SvxColumnItem::GetPresentation(
+ SfxItemPresentation /*ePres*/,
+ SfxMapUnit /*eCoreUnit*/,
+ SfxMapUnit /*ePresUnit*/,
+ OUString& /*rText*/,
+ const IntlWrapper*) const
{
- for(size_t i = 0; i < rCopy.Count(); ++i)
- aColumns.push_back(rCopy[i]);
+ return SFX_ITEM_PRESENTATION_NONE;
}
-SvxColumnItem::~SvxColumnItem()
+SfxPoolItem* SvxColumnItem::Clone(SfxItemPool* /*pPool*/) const
{
+ return new SvxColumnItem(*this);
}
-const SvxColumnItem &SvxColumnItem::operator=(const SvxColumnItem &rCopy)
+const SvxColumnItem& SvxColumnItem::operator=(const SvxColumnItem& rCopy)
{
nLeft = rCopy.nLeft;
nRight = rCopy.nRight;
bTable = rCopy.bTable;
nActColumn = rCopy.nActColumn;
- aColumns.clear();
- for(size_t i = 0; i < rCopy.Count(); ++i)
- aColumns.push_back(rCopy[i]);
+ aColumns.resize(rCopy.aColumns.size());
+
+ std::copy(rCopy.aColumns.begin(), rCopy.aColumns.end(), aColumns.begin());
+
return *this;
}
@@ -536,23 +524,31 @@ sal_Bool SvxColumnItem::CalcOrtho() const
return sal_True;
}
-//------------------------------------------------------------------------
-
bool SvxColumnItem::QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
{
nMemberId &= ~CONVERT_TWIPS;
switch ( nMemberId )
{
case MID_COLUMNARRAY:
- {
return false;
- }
- case MID_RIGHT: rVal <<= nRight; break;
- case MID_LEFT: rVal <<= nLeft; break;
- case MID_ORTHO: rVal <<= (sal_Bool) bOrtho; break;
- case MID_ACTUAL: rVal <<= (sal_Int32) nActColumn; break;
- case MID_TABLE: rVal <<= (sal_Bool) bTable; break;
- default: OSL_FAIL("Wrong MemberId!"); return sal_False;
+ case MID_RIGHT:
+ rVal <<= nRight;
+ break;
+ case MID_LEFT:
+ rVal <<= nLeft;
+ break;
+ case MID_ORTHO:
+ rVal <<= (sal_Bool) bOrtho;
+ break;
+ case MID_ACTUAL:
+ rVal <<= (sal_Int32) nActColumn;
+ break;
+ case MID_TABLE:
+ rVal <<= (sal_Bool) bTable;
+ break;
+ default:
+ OSL_FAIL("Wrong MemberId!");
+ return sal_False;
}
return true;
@@ -568,17 +564,134 @@ bool SvxColumnItem::PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nM
{
return false;
}
- case MID_RIGHT: rVal >>= nRight; break;
- case MID_LEFT: rVal >>= nLeft; break;
- case MID_ORTHO: rVal >>= nVal; bOrtho = (sal_Bool) nVal; break;
- case MID_ACTUAL: rVal >>= nVal; nActColumn = (sal_uInt16) nVal; break;
- case MID_TABLE: rVal >>= nVal; bTable = (sal_Bool) nVal; break;
- default: OSL_FAIL("Wrong MemberId!"); return sal_False;
+ case MID_RIGHT:
+ rVal >>= nRight;
+ break;
+ case MID_LEFT:
+ rVal >>= nLeft;
+ break;
+ case MID_ORTHO:
+ rVal >>= nVal;
+ bOrtho = (sal_Bool) nVal;
+ break;
+ case MID_ACTUAL:
+ rVal >>= nVal;
+ nActColumn = (sal_uInt16) nVal;
+ break;
+ case MID_TABLE:
+ rVal >>= nVal;
+ bTable = (sal_Bool) nVal;
+ break;
+ default:
+ OSL_FAIL("Wrong MemberId!");
+ return sal_False;
}
return true;
}
+sal_uInt16 SvxColumnItem::Count() const
+{
+ return aColumns.size();
+}
+
+SvxColumnDescription& SvxColumnItem::At(sal_uInt16 index)
+{
+ return aColumns[index];
+}
+
+SvxColumnDescription& SvxColumnItem::GetActiveColumnDescription()
+{
+ return aColumns[GetActColumn()];
+}
+
+SvxColumnDescription& SvxColumnItem::operator[](sal_uInt16 index)
+{
+ return aColumns[index];
+}
+
+const SvxColumnDescription& SvxColumnItem::operator[](sal_uInt16 index) const
+{
+ return aColumns[index];
+}
+
+void SvxColumnItem::Insert(const SvxColumnDescription &rDesc, sal_uInt16 nPos)
+{
+ aColumns.insert(aColumns.begin() + nPos, rDesc);
+}
+
+void SvxColumnItem::Append(const SvxColumnDescription &rDesc)
+{
+ Insert(rDesc, Count());
+}
+
+void SvxColumnItem::SetLeft(long left)
+{
+ nLeft = left;
+}
+
+void SvxColumnItem::SetRight(long right)
+{
+ nRight = right;
+}
+
+void SvxColumnItem::SetActColumn(sal_uInt16 nCol)
+{
+ nActColumn = nCol;
+}
+
+sal_uInt16 SvxColumnItem::GetActColumn() const
+{
+ return nActColumn;
+}
+
+sal_uInt16 SvxColumnItem::GetColumnDescription() const
+{
+ return nActColumn;
+}
+
+sal_Bool SvxColumnItem::IsFirstAct() const
+{
+ return nActColumn == 0;
+}
+
+sal_Bool SvxColumnItem::IsLastAct() const
+{
+ return nActColumn == Count() - 1;
+}
+
+long SvxColumnItem::GetLeft()
+{
+ return nLeft;
+}
+
+long SvxColumnItem::GetRight()
+{
+ return nRight;
+}
+
+sal_Bool SvxColumnItem::IsTable() const
+{
+ return bTable;
+}
+
+sal_Bool SvxColumnItem::CalcOrtho() const;
+
+void SvxColumnItem::SetOrtho(sal_Bool bVal)
+{
+ bOrtho = bVal;
+}
+
+sal_Bool SvxColumnItem::IsOrtho () const
+{
+ return sal_False;
+}
+
+sal_Bool SvxColumnItem::IsConsistent() const
+{
+ return nActColumn < aColumns.size();
+}
+
//------------------------------------------------------------------------
int SvxObjectItem::operator==( const SfxPoolItem& rCmp ) const