21 #include <com/sun/star/text/HoriOrientation.hpp>
22 #include <com/sun/star/table/XCellRange.hpp>
23 #include <ooo/vba/word/WdConstants.hpp>
24 #include <ooo/vba/word/WdRulerStyle.hpp>
35 uno::WeakReference< XHelperInterface >
mxParent;
36 uno::Reference< uno::XComponentContext >
mxContext;
37 uno::Reference< text::XTextTable > mxTextTable;
38 uno::Reference< container::XIndexAccess > mxIndexAccess;
42 ColumnsEnumWrapper(
const uno::Reference< XHelperInterface >& xParent,
const uno::Reference< uno::XComponentContext >& xContext,
const uno::Reference< text::XTextTable >& xTextTable ) : mxParent( xParent ), mxContext( xContext ), mxTextTable( xTextTable ), nIndex( 0 )
44 mxIndexAccess = mxTextTable->getColumns();
46 virtual sal_Bool SAL_CALL hasMoreElements( )
override
48 return ( nIndex < mxIndexAccess->getCount() );
51 virtual uno::Any SAL_CALL nextElement( )
override
53 if( nIndex < mxIndexAccess->getCount() )
55 return uno::makeAny( uno::Reference< word::XColumn > (
new SwVbaColumn( mxParent, mxContext, mxTextTable, nIndex++ ) ) );
57 throw container::NoSuchElementException();
63 SwVbaColumns::SwVbaColumns(
const uno::Reference< XHelperInterface >& xParent,
const uno::Reference< uno::XComponentContext > & xContext,
const uno::Reference< text::XTextTable >& xTextTable,
const uno::Reference< table::XTableColumns >& xTableColumns ) :
SwVbaColumns_BASE( xParent, xContext,
uno::
Reference< container::XIndexAccess >( xTableColumns,
uno::UNO_QUERY_THROW ) ), mxTextTable( xTextTable )
65 mnStartColumnIndex = 0;
67 mnEndColumnIndex = aTableHelper.getTabColumnsMaxCount( ) - 1;
70 SwVbaColumns::SwVbaColumns(
const uno::Reference< XHelperInterface >& xParent,
const uno::Reference< uno::XComponentContext > & xContext,
const uno::Reference< text::XTextTable >& xTextTable,
const uno::Reference< table::XTableColumns >& xTableColumns, sal_Int32 nStartCol, sal_Int32 nEndCol ) :
SwVbaColumns_BASE( xParent, xContext,
uno::
Reference< container::XIndexAccess >( xTableColumns,
uno::UNO_QUERY_THROW ) ), mxTextTable( xTextTable ), mnStartColumnIndex( nStartCol ), mnEndColumnIndex( nEndCol )
72 if( mnEndColumnIndex < mnStartColumnIndex )
73 throw uno::RuntimeException();
78 return uno::Reference< word::XColumn >(
new SwVbaColumn(
this, mxContext, mxTextTable, index ) );
106 sal_Int32 nIndex = 0;
107 if( Index1 >>= nIndex )
109 if( nIndex <= 0 || nIndex >
getCount() )
111 throw lang::IndexOutOfBoundsException(
"Index out of bounds" );
113 return uno::makeAny( uno::Reference< word::XColumn >(
new SwVbaColumn(
this, mxContext, mxTextTable, nIndex - 1 ) ) );
115 throw uno::RuntimeException(
"Index out of bounds" );
124 uno::Reference< container::XEnumeration >
127 return new ColumnsEnumWrapper(
this, mxContext, mxTextTable );
139 return "SwVbaColumns";
142 uno::Sequence<OUString>
145 static uno::Sequence< OUString >
const sNames
147 "ooo.vba.word.Columns"
WeakReference< XInterface > mxParent
virtual css::uno::Any createCollectionObject(const css::uno::Any &aSource) override
virtual css::uno::Type SAL_CALL getElementType() override
virtual ::sal_Int32 SAL_CALL getCount() override
::cppu::WeakImplHelper< css::container::XEnumeration > EnumerationHelper_BASE
SwVbaColumns(const css::uno::Reference< ov::XHelperInterface > &xParent, const css::uno::Reference< css::uno::XComponentContext > &xContext, const css::uno::Reference< css::text::XTextTable > &xTextTable, const css::uno::Reference< css::table::XTableColumns > &xTableColumns)
virtual css::uno::Any SAL_CALL Item(const css::uno::Any &Index1, const css::uno::Any &) override
sal_Int32 mnStartColumnIndex
virtual void SAL_CALL setWidth(sal_Int32 _width) override
virtual sal_Int32 SAL_CALL getWidth() override
uno::Reference< frame::XModel > getCurrentWordDoc(const uno::Reference< uno::XComponentContext > &xContext)
css::uno::Type const & get()
css::uno::Reference< ooo::vba::word::XColumn > getColumnAtIndex(sal_Int32 index)
virtual css::uno::Sequence< OUString > getServiceNames() override
sal_Int32 mnEndColumnIndex
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
static void SelectColumn(const css::uno::Reference< css::frame::XModel > &xModel, const css::uno::Reference< css::text::XTextTable > &xTextTable, sal_Int32 nStartColumn, sal_Int32 nEndColumn)
virtual OUString getServiceImplName() override
Reference< XComponentContext > mxContext
virtual void SAL_CALL Select() override