24 #include <unonames.hxx>
31 #include <com/sun/star/util/SortField.hpp>
40 pDatabaseRangeContext(pTempDatabaseRangeContext),
42 bCopyOutputData(
false),
43 bBindFormatsToContent(true),
44 bIsCaseSensitive(
false),
45 bEnabledUserList(
false)
47 if ( !rAttrList.is() )
50 for (
auto &aIter : *rAttrList)
52 switch (aIter.getToken())
111 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
131 sal_Int32 nAlgoLength(
sAlgorithm.getLength());
137 uno::Sequence <beans::PropertyValue> aSortDescriptor(7 + i);
138 auto pSortDescriptor = aSortDescriptor.getArray();
168 util::SortField aSortField;
171 aSortField.SortAscending =
true;
173 aSortField.SortAscending =
false;
174 if (sDataType.getLength() > 8)
176 std::u16string_view sTemp = sDataType.subView(0, 8);
177 if (sTemp ==
u"UserList")
180 sTemp = sDataType.subView(8);
186 aSortField.FieldType = util::SortFieldType_AUTOMATIC;
192 aSortField.FieldType = util::SortFieldType_ALPHANUMERIC;
194 aSortField.FieldType = util::SortFieldType_NUMERIC;
205 pSortContext(pTempSortContext),
209 if ( !rAttrList.is() )
212 for (
auto &aIter : *rAttrList)
214 switch (aIter.getToken())
228 sOrder = aIter.toString();
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
#define SC_UNONAME_COPYOUT
css::uno::Sequence< css::util::SortField > aSortFields
bool bBindFormatsToContent
ScDocument * GetDocument()
css::table::CellAddress aOutputPosition
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
FastAttributeList & castToFastAttributeList(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
LanguageTag getLanguageTag() const
ScXMLSortContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDatabaseRangeContext *pTempDatabaseRangeContext)
const css::lang::Locale & getLocale(bool bResolveSystem=true) const
static void FillApiAddress(css::table::CellAddress &rApiAddress, const ScAddress &rScAddress)
#define SC_UNONAME_OUTPOS
#define SC_UNONAME_BINDFMT
#define SC_UNONAME_UINDEX
static bool GetRangeFromString(ScRange &rRange, const OUString &rRangeStr, const ScDocument &rDocument, formula::FormulaGrammar::AddressConvention eConv, sal_Int32 &nOffset, sal_Unicode cSeparator= ' ', sal_Unicode cQuote= '\'')
ScXMLDatabaseRangeContext * pDatabaseRangeContext
ScXMLSortByContext(ScXMLImport &rImport, sal_Int32 nElement, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLSortContext *pTempSortContext)
This class exists only to provide GetScImport() to its derived classes.
OUString maRfcLanguageTag
LanguageTagODF maLanguageTagODF
ScXMLImport & GetScImport()
sal_Int32 toInt32(std::u16string_view str, sal_Int16 radix=10)
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
virtual ~ScXMLSortByContext() override
#define SC_UNONAME_ISCASE
#define SC_UNONAME_ISULIST
ScXMLSortContext * pSortContext
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
if(aStr!=aBuf) UpdateName_Impl(m_xFollowLb.get()
#define XML_ELEMENT(prefix, name)
virtual ~ScXMLSortContext() override
XML_BIND_STYLES_TO_CONTENT
#define SC_UNONAME_SORTFLD
void AddSortField(std::u16string_view sFieldNumber, const OUString &sDataType, std::u16string_view sOrder)
void SetSortSequence(const css::uno::Sequence< css::beans::PropertyValue > &aTempSortSequence)
#define SC_UNONAME_COLLALG
#define SC_UNONAME_COLLLOC
bool m_bDetectedRangeSegmentation false