20 #include <osl/diagnose.h>
25 #include <document.hxx>
48 const OUString& refStrUndefined )
50 : pViewData ( ptrViewData ),
51 pDoc ( ptrViewData ? &ptrViewData->GetDocument() : nullptr ),
52 pBtnCase ( refBtnCase ),
53 pBtnRegExp ( refBtnRegExp ),
54 pBtnHeader ( refBtnHeader ),
55 pBtnUnique ( refBtnUnique ),
56 pBtnCopyResult ( refBtnCopyResult ),
57 pBtnDestPers ( refBtnDestPers ),
58 pLbCopyArea ( refLbCopyArea ),
59 pEdCopyArea ( refEdCopyArea ),
60 pRbCopyArea ( refRbCopyArea ),
61 pFtDbAreaLabel ( refFtDbAreaLabel ),
62 pFtDbArea ( refFtDbArea ),
63 rStrUndefined ( refStrUndefined ),
64 rQueryData ( refQueryData )
111 while ( aIter.
Next( aName, aRange ) )
125 theDbArea = theAreaStr;
137 theDbName = pDBData->
GetName();
145 theDbArea +=
" (" + theDbName +
")";
189 OUString aPosStr( rPosStr );
190 sal_Int32 nColonPos = aPosStr.indexOf(
':' );
192 if ( -1 != nColonPos )
193 aPosStr = aPosStr.copy( 0, nColonPos );
204 if ( &rLb == pLbCopyArea )
207 const sal_Int32 nSelPos = pLbCopyArea->get_active();
210 aString = pLbCopyArea->get_id(nSelPos);
212 pEdCopyArea->SetText( aString );
218 if ( &rEd != pEdCopyArea )
221 OUString theCurPosStr = rEd.GetText();
226 const sal_Int32
nCount = pLbCopyArea->get_count();
228 for ( sal_Int32
i=2;
i<nCount; ++
i )
230 OUString
aStr = pLbCopyArea->get_id(
i);
231 if (theCurPosStr == aStr)
233 pLbCopyArea->set_active(
i );
239 pLbCopyArea->set_active( 0 );
244 if ( &rBox != pBtnCopyResult )
247 if ( rBox.get_active() )
249 pBtnDestPers->set_sensitive(
true);
250 pLbCopyArea->set_sensitive(
true);
251 pEdCopyArea->GetWidget()->set_sensitive(
true);
252 pRbCopyArea->GetWidget()->set_sensitive(
true);
253 pEdCopyArea->GrabFocus();
257 pBtnDestPers->set_sensitive(
false);
258 pLbCopyArea->set_sensitive(
false);
259 pEdCopyArea->GetWidget()->set_sensitive(
false);
260 pRbCopyArea->GetWidget()->set_sensitive(
false);
bool Next(OUString &rName, ScRange &rRange)
#define LINK(Instance, Class, Member)
SC_DLLPUBLIC void Format(OStringBuffer &r, ScRefFlags nFlags, const ScDocument *pDocument=nullptr, const Details &rDetails=detailsOOOa1) const
SC_DLLPUBLIC ScDBCollection * GetDBCollection() const
weld::CheckButton * pBtnDestPers
weld::CheckButton * pBtnRegExp
formula::RefButton * pRbCopyArea
#define STR_DB_LOCAL_NONAME
formula::RefEdit * pEdCopyArea
weld::CheckButton * pBtnCopyResult
void append(const OUString &rId, const OUString &rStr)
SC_DLLPUBLIC formula::FormulaGrammar::AddressConvention GetAddressConvention() const
weld::CheckButton * pBtnHeader
const ScDBData * GetDBAtArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
weld::Label * pFtDbAreaLabel
const ScQueryParam & rQueryData
void connect_changed(const Link< ComboBox &, void > &rLink)
weld::ComboBox * pLbCopyArea
SC_DLLPUBLIC OUString Format(const ScDocument &rDocument, ScRefFlags nFlags=ScRefFlags::ZERO, const ScAddress::Details &rDetails=ScAddress::detailsOOOa1, bool bFullAddressNotation=false) const
Returns string with formatted cell range from aStart to aEnd, according to provided address conventio...
const OUString & GetName() const
virtual void set_active(int pos)=0
bool VerifyPosStr(const OUString &rPosStr) const
const OUString & rStrUndefined
IMPL_LINK(ScFilterOptionsMgr, LbAreaSelHdl, weld::ComboBox &, rLb, void)
virtual void set_label(const OUString &rText)=0
ScFilterOptionsMgr(ScViewData *ptrViewData, const ScQueryParam &refQueryData, weld::CheckButton *refBtnCase, weld::CheckButton *refBtnRegExp, weld::CheckButton *refBtnHeader, weld::CheckButton *refBtnUnique, weld::CheckButton *refBtnCopyResult, weld::CheckButton *refBtnDestPers, weld::ComboBox *refLbCopyArea, formula::RefEdit *refEdCopyArea, formula::RefButton *refRbCopyArea, weld::Label *refFtDbAreaLabel, weld::Label *refFtDbArea, const OUString &refStrUndefined)
weld::CheckButton * pBtnUnique
void append_text(const OUString &rStr)
SC_DLLPUBLIC ScRefFlags Parse(const OUString &, const ScDocument &, const Details &rDetails=detailsOOOa1, ExternalInfo *pExtInfo=nullptr, const css::uno::Sequence< css::sheet::ExternalLinkInfo > *pExternalLinks=nullptr, sal_Int32 *pSheetEndPos=nullptr, const OUString *pErrRef=nullptr)
utl::SearchParam::SearchType eSearchType
weld::CheckButton * pBtnCase