Apache OpenOffice (AOO) Bugzilla – Issue 110641
Add new API: Range.AdvanceFilter
Last modified: 2017-05-20 11:29:45 UTC
Created attachment 68769 [details] Test cases for this issue
Created attachment 68770 [details] Patch for this issue
couple of comments, I think IsR1C1ReferFormat, we already have the r1c1 parser and it is possible to use an instance of ScCompiler to try and parse a r1c1 range, if it works/parses then the range is r1c1, if not then it isn't. the check + if ( m_Areas->getCount() > 1 || mxRanges.is() || !mxRange.is() ) + { + throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Invalid range" ) ), uno::Reference< uno::XInterface >() ); + } should be at the start of the method I think, wouldn't "if ( m_Areas->getCount() > 1 )" be a sufficient test or at least the mxRanges.is() part tests the same thing? other than that, this looks good, please commit that and take it over
Created attachment 69011 [details] Change the patch according to Noel's comments
Noel, I use ScRangeList.Parse(...) to check if the range is r1c1 or not. please review the new patch. As you said: The check for m_Areas->getCount() > 1 should be at start of the method; Because the check for parameter "Action" has higher priority than the check for m_Areas in Excel, so I put the check for m_Areas->getCount() > 1 after these lines: if ( Action != excel::XlFilterAction::xlFilterInPlace && Action != excel::XlFilterAction::xlFilterCopy ) { ...... }
looks good to me :-) thanks for the update
Perhaps also a [From Symphony] issue?
Reset assigne to the default "issues@openoffice.apache.org".