summaryrefslogtreecommitdiff
path: root/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx')
-rw-r--r--xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx59
1 files changed, 59 insertions, 0 deletions
diff --git a/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx b/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx
index d73182609010..0a2a2f45b992 100644
--- a/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx
+++ b/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx
@@ -1701,6 +1701,11 @@ Reference< xml::input::XElement > BulletinBoardElement::startChildElement(
{
return new ProgressBarElement( rLocalName, xAttributes, this, m_xImport.get() );
}
+ // table
+ else if (rLocalName == "table")
+ {
+ return new GridControlElement( rLocalName, xAttributes, this, m_xImport.get() );
+ }
else if ( rLocalName == "multipage" )
{
return new MultiPage( rLocalName, xAttributes, this, m_xImport.get() );
@@ -1841,6 +1846,60 @@ void WindowElement::endElement()
_events.clear();
}
+// table
+Reference< xml::input::XElement > GridControlElement::startChildElement(
+ sal_Int32 nUid, OUString const & rLocalName,
+ Reference< xml::input::XAttributes > const & xAttributes )
+{
+ // event
+ if (m_xImport->isEventElement( nUid, rLocalName ))
+ {
+ return new EventElement( nUid, rLocalName, xAttributes, this, m_xImport.get() );
+ }
+ else
+ {
+ throw xml::sax::SAXException( "expected event element!", Reference< XInterface >(), Any() );
+ }
+}
+
+void GridControlElement::endElement()
+{
+ ControlImportContext ctx( m_xImport.get(), getControlId( _xAttributes ), "com.sun.star.awt.grid.UnoControlGridModel");
+ Reference< beans::XPropertySet > xControlModel( ctx.getControlModel() );
+ Reference< xml::input::XElement > xStyle( getStyle( _xAttributes ) );
+ if (xStyle.is())
+ {
+ StyleElement * pStyle = static_cast< StyleElement * >( xStyle.get () );
+ pStyle->importBackgroundColorStyle( xControlModel );
+ pStyle->importBorderStyle( xControlModel );
+ pStyle->importTextColorStyle( xControlModel );
+ pStyle->importTextLineColorStyle( xControlModel );
+ pStyle->importFontStyle( xControlModel );
+ }
+ ctx.importDefaults( _nBasePosX, _nBasePosY, _xAttributes );
+ ctx.importBooleanProperty( "Tabstop", "tabstop", _xAttributes );
+ ctx.importVerticalAlignProperty( "VerticalAlign", "valign", _xAttributes );
+ ctx.importSelectionTypeProperty( "SelectionModel", "selectiontype", _xAttributes );
+ ctx.importBooleanProperty( "ShowColumnHeader", "showcolumnheader", _xAttributes );
+ ctx.importBooleanProperty( "ShowRowHeader", "showrowheader", _xAttributes );
+ ctx.importHexLongProperty( "GridLineColor", "gridline-color", _xAttributes );
+ ctx.importBooleanProperty( "UseGridLines", "usegridlines", _xAttributes );
+ ctx.importHexLongProperty( "HeaderBackgroundColor", "headerbackground-color", _xAttributes );
+ ctx.importHexLongProperty( "HeaderTextColor", "headertext-color", _xAttributes );
+ ctx.importHexLongProperty( "ActiveSelectionBackgroundColor", "activeselectionbackground-color", _xAttributes );
+ ctx.importHexLongProperty( "ActiveSelectionTextColor", "activeselectiontext-color", _xAttributes );
+ ctx.importHexLongProperty( "InactiveSelectionBackgroundColor", "inactiveselectionbackground-color", _xAttributes );
+ ctx.importHexLongProperty( "InactiveSelectionTextColor", "inactiveselectiontext-color", _xAttributes );
+ ctx.importEvents( _events );
+ // avoid ring-reference:
+ // vector< event elements > holding event elements holding this (via _pParent)
+ _events.clear();
+
+ ctx.finish();
+}
+
+//##################################################################################################
+
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */