#pragma once // WTable wrapper class #include "office/VariantableDispatch.hpp" namespace MSO::Word { class WRange; class WApplication; class WTables; class WRows; class WColumns; class WCell; class WTable : public VariantableDispatch { public: WTable() = default; WTable(LPDISPATCH pDispatch) : VariantableDispatch(pDispatch) {} WTable(const WTable& dispatchSrc) : VariantableDispatch(dispatchSrc) {} public: WRange get_Range(); WApplication get_Application(); long get_Creator(); LPDISPATCH get_Parent(); WColumns get_Columns(); WRows get_Rows(); LPDISPATCH get_Borders(); void put_Borders(LPDISPATCH newValue); LPDISPATCH get_Shading(); BOOL get_Uniform(); long get_AutoFormatType(); void Select(); void Delete(); WCell Cell(long Row, long Column); void SortOld(VARIANT * ExcludeHeader, VARIANT * FieldNumber, VARIANT * SortFieldType, VARIANT * SortOrder, VARIANT * FieldNumber2, VARIANT * SortFieldType2, VARIANT * SortOrder2, VARIANT * FieldNumber3, VARIANT * SortFieldType3, VARIANT * SortOrder3, VARIANT * CaseSensitive, VARIANT * LanguageID); void SortAscending(); void SortDescending(); void AutoFormat(VARIANT * Format, VARIANT * ApplyBorders, VARIANT * ApplyShading, VARIANT * ApplyFont, VARIANT * ApplyColor, VARIANT * ApplyHeadingRows, VARIANT * ApplyLastRow, VARIANT * ApplyFirstColumn, VARIANT * ApplyLastColumn, VARIANT * AutoFit); void UpdateAutoFormat(); LPDISPATCH ConvertToTextOld(VARIANT * Separator); LPDISPATCH Split(VARIANT * BeforeRow); LPDISPATCH ConvertToText(VARIANT * Separator, VARIANT * NestedTables); void AutoFitBehavior(long Behavior); void Sort(VARIANT * ExcludeHeader, VARIANT * FieldNumber, VARIANT * SortFieldType, VARIANT * SortOrder, VARIANT * FieldNumber2, VARIANT * SortFieldType2, VARIANT * SortOrder2, VARIANT * FieldNumber3, VARIANT * SortFieldType3, VARIANT * SortOrder3, VARIANT * CaseSensitive, VARIANT * BidiSort, VARIANT * IgnoreThe, VARIANT * IgnoreKashida, VARIANT * IgnoreDiacritics, VARIANT * IgnoreHe, VARIANT * LanguageID); WTables get_Tables(); long get_NestingLevel(); BOOL get_AllowPageBreaks(); void put_AllowPageBreaks(BOOL newValue); BOOL get_AllowAutoFit(); void put_AllowAutoFit(BOOL newValue); float get_PreferredWidth(); void put_PreferredWidth(float newValue); long get_PreferredWidthType(); void put_PreferredWidthType(long newValue); float get_TopPadding(); void put_TopPadding(float newValue); float get_BottomPadding(); void put_BottomPadding(float newValue); float get_LeftPadding(); void put_LeftPadding(float newValue); float get_RightPadding(); void put_RightPadding(float newValue); float get_Spacing(); void put_Spacing(float newValue); long get_TableDirection(); void put_TableDirection(long newValue); CString get_ID(); void put_ID(LPCTSTR newValue); VARIANT get_Style(); void put_Style(VARIANT * newValue); BOOL get_ApplyStyleHeadingRows(); void put_ApplyStyleHeadingRows(BOOL newValue); BOOL get_ApplyStyleLastRow(); void put_ApplyStyleLastRow(BOOL newValue); BOOL get_ApplyStyleFirstColumn(); void put_ApplyStyleFirstColumn(BOOL newValue); BOOL get_ApplyStyleLastColumn(); void put_ApplyStyleLastColumn(BOOL newValue); BOOL get_ApplyStyleRowBands(); void put_ApplyStyleRowBands(BOOL newValue); BOOL get_ApplyStyleColumnBands(); void put_ApplyStyleColumnBands(BOOL newValue); void ApplyStyleDirectFormatting(LPCTSTR StyleName); CString get_Title(); void put_Title(LPCTSTR newValue); CString get_Descr(); void put_Descr(LPCTSTR newValue); }; } // namespace MSO::Word