summaryrefslogtreecommitdiffstats
path: root/sc/inc/mtvelements.hxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-05-24 11:52:18 -0400
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-06-24 16:51:25 -0400
commitc008dc483f8c6840803983e7e351cec6fdd32070 (patch)
tree7c88eeabde57ea4a3c1a760d1c02ea2fd37bd721 /sc/inc/mtvelements.hxx
parentAdd new cell container to ScColumn. (diff)
downloadcore-c008dc483f8c6840803983e7e351cec6fdd32070.tar.gz
core-c008dc483f8c6840803983e7e351cec6fdd32070.zip
Switch to using multi_type_vector for cell storage.
The old style cell storage is no more. Currently the code is buildable, but crashes during unit test. Change-Id: Ie688e22e95c7fb02b9e97b23df0fc1883a97945f
Diffstat (limited to 'sc/inc/mtvelements.hxx')
-rw-r--r--sc/inc/mtvelements.hxx27
1 files changed, 21 insertions, 6 deletions
diff --git a/sc/inc/mtvelements.hxx b/sc/inc/mtvelements.hxx
index 941c1a24a618..0ebf8be9635f 100644
--- a/sc/inc/mtvelements.hxx
+++ b/sc/inc/mtvelements.hxx
@@ -54,7 +54,9 @@ const mdds::mtv::element_t element_type_string = mdds::mtv::element_type_user_st
const mdds::mtv::element_t element_type_edittext = mdds::mtv::element_type_user_start + 3;
const mdds::mtv::element_t element_type_formula = mdds::mtv::element_type_user_start + 4;
+// Mapped standard element types (for convenience).
const mdds::mtv::element_t element_type_numeric = mdds::mtv::element_type_numeric;
+const mdds::mtv::element_t element_type_empty = mdds::mtv::element_type_empty;
// Custom element blocks.
@@ -64,6 +66,9 @@ typedef mdds::mtv::default_element_block<element_type_string, rtl::OUString> str
typedef mdds::mtv::noncopyable_managed_element_block<element_type_edittext, EditTextObject> edittext_block;
typedef mdds::mtv::noncopyable_managed_element_block<element_type_formula, ScFormulaCell> formula_block;
+// Mapped standard element blocks (for convenience).
+typedef mdds::mtv::numeric_element_block numeric_block;
+
// This needs to be in the same namespace as CellTextAttr.
MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(CellTextAttr, element_type_celltextattr, CellTextAttr(), celltextattr_block)
@@ -83,18 +88,15 @@ MDDS_MTV_DEFINE_ELEMENT_CALLBACKS(OUString, sc::element_type_string, OUString(),
namespace sc {
// Broadcaster storage container
-typedef mdds::mtv::custom_block_func1<sc::element_type_broadcaster, sc::broadcaster_block> BCBlkFunc;
+typedef mdds::mtv::custom_block_func1<sc::broadcaster_block> BCBlkFunc;
typedef mdds::multi_type_vector<BCBlkFunc> BroadcasterStoreType;
// Cell text attribute container.
-typedef mdds::mtv::custom_block_func1<sc::element_type_celltextattr, sc::celltextattr_block> CTAttrFunc;
+typedef mdds::mtv::custom_block_func1<sc::celltextattr_block> CTAttrFunc;
typedef mdds::multi_type_vector<CTAttrFunc> CellTextAttrStoreType;
// Cell container
-typedef mdds::mtv::custom_block_func3<
- sc::element_type_string, sc::string_block,
- sc::element_type_edittext, sc::edittext_block,
- sc::element_type_formula, sc::formula_block> CellFunc;
+typedef mdds::mtv::custom_block_func3<sc::string_block, sc::edittext_block, sc::formula_block> CellFunc;
typedef mdds::multi_type_vector<CellFunc> CellStoreType;
/**
@@ -104,6 +106,18 @@ struct ColumnBlockPosition
{
BroadcasterStoreType::iterator miBroadcasterPos;
CellTextAttrStoreType::iterator miCellTextAttrPos;
+ CellStoreType::iterator miCellPos;
+
+ ColumnBlockPosition& operator= (const ColumnBlockPosition& r);
+};
+
+struct ColumnBlockConstPosition
+{
+ BroadcasterStoreType::const_iterator miBroadcasterPos;
+ CellTextAttrStoreType::const_iterator miCellTextAttrPos;
+ CellStoreType::const_iterator miCellPos;
+
+ ColumnBlockConstPosition& operator= (const ColumnBlockConstPosition& r);
};
class ColumnBlockPositionSet
@@ -125,3 +139,4 @@ public:
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+