20 #include <config_features.h>
34 #include <com/sun/star/frame/FrameSearchFlag.hpp>
35 #include <com/sun/star/sheet/TableValidationVisibility.hpp>
42 #include <globstr.hrc>
47 #include <document.hxx>
48 #include <uiitems.hxx>
65 #include <officecfg/Office/Common.hxx>
93 rRange =
ScRange( nCol, nRow, nTab, nCol, nRow, nTab );
99 if ( bDoEmptyCheckOnly )
113 bool bShrunk =
false;
115 nEndCol, nEndRow,
false,
false, true );
146 rSortParam.
nCol2, rSortParam.
nRow2, nTab, eFillDir );
148 ::std::min( rSortParam.
nRow1 + sal::static_int_cast<SCROW>( nCount ), rDoc.
MaxRow()), nTab,
165 rDoc.
GetDataArea( aExternalRange.
aStart.
Tab(), nStartCol, nStartRow, nEndCol, nEndRow,
false, false );
185 short bResult = pWarningDlg->
Execute();
190 pTabViewShell->
MarkRange( aExternalRange,
false );
208 class ScValidationRegisteredDlg
210 std::shared_ptr<SfxDialogController> m_xDlg;
212 ScValidationRegisteredDlg(
weld::Window* pParent,
const std::shared_ptr<SfxDialogController>& rDlg)
217 ~ScValidationRegisteredDlg()
228 sal_uInt16 nSlotId = rReq.
GetSlot();
234 if ( GetViewData().HasEditView( GetViewData().GetActivePart() ) )
242 case SID_VIEW_DATA_SOURCE_BROWSER:
247 bool bWasOpen =
false;
250 uno::Reference<frame::XFrame> xBeamerFrame = xFrame->findFrame(
252 frame::FrameSearchFlag::CHILDREN);
253 if ( xBeamerFrame.is() )
282 case SID_REIMPORT_DATA:
298 if (!bOk && ! rReq.
IsAPI() )
306 case SID_REFRESH_DBAREA:
313 bool bContinue =
true;
318 bContinue = pTabViewShell->
ImportData( aImportParam );
339 GetViewData().GetDocShell()->RefreshPivotTables(aRange);
346 case SID_SBA_BRW_INSERT:
348 OSL_FAIL(
"Deprecated Slot" );
366 ExecuteSubtotals(rReq);
369 case SID_SORT_DESCENDING:
370 case SID_SORT_ASCENDING:
382 SCCOL nCol = GetViewData().GetCurX();
383 SCCOL nTab = GetViewData().GetTabNo();
384 ScDocument& rDoc = GetViewData().GetDocument();
389 if( nCol < aSortParam.
nCol1 )
390 nCol = aSortParam.
nCol1;
391 else if( nCol > aSortParam.
nCol2 )
392 nCol = aSortParam.
nCol2;
404 aSortParam.
maKeyState[0].bAscending = ( nSlotId == SID_SORT_ASCENDING );
409 pTabViewShell->
UISort( aSortParam );
433 ScDocument& rDoc = GetViewData().GetDocument();
443 if ( pArgs->
GetItemState( SID_SORT_BYROW,
true, &pItem ) == SfxItemState::SET )
444 aSortParam.
bByRow = static_cast<const SfxBoolItem*>(pItem)->GetValue();
445 if ( pArgs->
GetItemState( SID_SORT_HASHEADER,
true, &pItem ) == SfxItemState::SET )
446 aSortParam.
bHasHeader = static_cast<const SfxBoolItem*>(pItem)->GetValue();
447 if ( pArgs->
GetItemState( SID_SORT_CASESENS,
true, &pItem ) == SfxItemState::SET )
448 aSortParam.
bCaseSens = static_cast<const SfxBoolItem*>(pItem)->GetValue();
449 if ( pArgs->
GetItemState( SID_SORT_NATURALSORT,
true, &pItem ) == SfxItemState::SET )
450 aSortParam.
bNaturalSort = static_cast<const SfxBoolItem*>(pItem)->GetValue();
451 if ( pArgs->
GetItemState( SID_SORT_INCCOMMENTS,
true, &pItem ) == SfxItemState::SET )
452 aSortParam.
bIncludeComments = static_cast<const SfxBoolItem*>(pItem)->GetValue();
453 if ( pArgs->
GetItemState( SID_SORT_INCIMAGES,
true, &pItem ) == SfxItemState::SET )
455 if ( pArgs->
GetItemState( SID_SORT_ATTRIBS,
true, &pItem ) == SfxItemState::SET )
456 aSortParam.
bIncludePattern = static_cast<const SfxBoolItem*>(pItem)->GetValue();
457 if ( pArgs->
GetItemState( SID_SORT_USERDEF,
true, &pItem ) == SfxItemState::SET )
460 aSortParam.
bUserDef = ( nUserIndex != 0 );
466 if ( pArgs->
GetItemState( FN_PARAM_1,
true, &pItem ) == SfxItemState::SET )
467 nField0 = static_cast<const SfxInt32Item*>(pItem)->GetValue();
468 aSortParam.
maKeyState[0].bDoSort = ( nField0 != 0 );
469 aSortParam.
maKeyState[0].nField = nField0 > 0 ? (nField0-1) : 0;
470 if ( pArgs->
GetItemState( FN_PARAM_2,
true, &pItem ) == SfxItemState::SET )
471 aSortParam.
maKeyState[0].bAscending = static_cast<const SfxBoolItem*>(pItem)->GetValue();
473 if ( pArgs->
GetItemState( FN_PARAM_3,
true, &pItem ) == SfxItemState::SET )
474 nField1 = static_cast<const SfxInt32Item*>(pItem)->GetValue();
475 aSortParam.
maKeyState[1].bDoSort = ( nField1 != 0 );
476 aSortParam.
maKeyState[1].nField = nField1 > 0 ? (nField1-1) : 0;
477 if ( pArgs->
GetItemState( FN_PARAM_4,
true, &pItem ) == SfxItemState::SET )
478 aSortParam.
maKeyState[1].bAscending = static_cast<const SfxBoolItem*>(pItem)->GetValue();
480 if ( pArgs->
GetItemState( FN_PARAM_5,
true, &pItem ) == SfxItemState::SET )
481 nField2 = static_cast<const SfxInt32Item*>(pItem)->GetValue();
482 aSortParam.
maKeyState[2].bDoSort = ( nField2 != 0 );
483 aSortParam.
maKeyState[2].nField = nField2 > 0 ? (nField2-1) : 0;
484 if ( pArgs->
GetItemState( FN_PARAM_6,
true, &pItem ) == SfxItemState::SET )
485 aSortParam.
maKeyState[2].bAscending = static_cast<const SfxBoolItem*>(pItem)->GetValue();
488 pTabViewShell->
UISort( aSortParam );
502 ScDocument& rDoc = GetViewData().GetDocument();
514 pDlg->SetCurPageId(
"criteria");
517 aContext.
maEndDialogFn = [pDlg, &rData, pTabViewShell](sal_Int32 nResult)
521 const SfxItemSet* pOutSet = pDlg->GetOutputItemSet();
527 pTabViewShell->
UISort( rOutParam );
531 rData.GetDocShell()->CancelAutoDBRange();
535 pDlg->StartExecuteAsync(aContext);
546 OSL_FAIL(
"SID_FILTER with arguments?");
547 pTabViewShell->
Query( static_cast<const ScQueryItem&>(
553 sal_uInt16
nId = ScFilterDlgWrapper::GetChildWindowId();
562 case SID_SPECIAL_FILTER:
567 OSL_FAIL(
"SID_SPECIAL_FILTER with arguments?");
568 pTabViewShell->
Query( static_cast<const ScQueryItem&>(
574 sal_uInt16
nId = ScSpecialFilterDlgWrapper::GetChildWindowId();
586 if ( pReqArgs && SfxItemState::SET ==
591 SCTAB nCurTab = GetViewData().GetTabNo();
592 SCTAB nRefTab = GetViewData().GetRefTabNo();
597 if ( nCurTab != nRefTab )
608 rReq.
Done( *pReqArgs );
623 pTabViewShell->
Query( aParam,
nullptr,
true );
628 case SID_AUTO_FILTER:
633 case SID_AUTOFILTER_HIDE:
638 case SID_PIVOT_TABLE:
641 if ( pReqArgs && SfxItemState::SET ==
644 SCTAB nCurTab = GetViewData().GetTabNo();
645 SCTAB nRefTab = GetViewData().GetRefTabNo();
650 if ( nCurTab != nRefTab )
667 #if HAVE_FEATURE_SCRIPTING
668 else if (rReq.
IsAPI())
674 case SID_OPENDLG_PIVOTTABLE:
675 ExecuteDataPilotDialog();
677 case SID_DEFINE_DBNAME:
680 sal_uInt16
nId = ScDbNameDlgWrapper::GetChildWindowId();
700 ScDocument& rDoc = GetViewData().GetDocument();
705 std::vector<OUString> aList;
707 for (
const auto& rxDB : rDBs)
708 aList.push_back(rxDB->GetName());
724 case SID_DATA_STREAMS:
727 ScDocument& rDoc = GetViewData().GetDocument();
731 aDialog.Init(*pStrm);
733 if (aDialog.run() ==
RET_OK)
734 aDialog.StartStream();
737 case SID_DATA_STREAMS_PLAY:
739 ScDocument& rDoc = GetViewData().GetDocument();
746 case SID_DATA_STREAMS_STOP:
748 ScDocument& rDoc = GetViewData().GetDocument();
755 case SID_DATA_PROVIDER:
757 auto xDoc = o3tl::make_shared<ScDocument>();
758 xDoc->InsertTab(0,
"test");
759 ScDocument& rDoc = GetViewData().GetDocument();
761 if (aDialog.run() ==
RET_OK)
767 case SID_DATA_PROVIDER_REFRESH:
769 ScDocument& rDoc = GetViewData().GetDocument();
771 for (
auto& rDataSource : rDataMapper.getDataSources())
773 rDataSource.refresh(&rDoc,
false);
777 case SID_MANAGE_XML_SOURCE:
778 ExecuteXMLSourceDialog();
781 case FID_CURRENTVALIDATION:
787 OSL_FAIL(
"later...");
794 OUString aExpr1, aExpr2;
796 sal_Int16 nListType = css::sheet::TableValidationVisibility::UNSORTED;
797 bool bShowHelp =
false;
798 OUString aHelpTitle, aHelpText;
799 bool bShowError =
false;
801 OUString aErrTitle, aErrText;
803 ScDocument& rDoc = GetViewData().GetDocument();
804 SCCOL nCurX = GetViewData().GetCurX();
805 SCROW nCurY = GetViewData().GetCurY();
806 SCTAB nTab = GetViewData().GetTabNo();
807 ScAddress aCursorPos( nCurX, nCurY, nTab );
817 sal_uInt32 nNumFmt = 0;
821 : SvNumFormatType::TIME;
830 bShowHelp = pOldData->
GetInput( aHelpTitle, aHelpText );
831 bShowError = pOldData->
GetErrMsg( aErrTitle, aErrText, eErrStyle );
833 aArgSet.
Put(
SfxUInt16Item( FID_VALID_MODE, sal::static_int_cast<sal_uInt16>(eMode) ) );
834 aArgSet.
Put(
SfxUInt16Item( FID_VALID_CONDMODE, sal::static_int_cast<sal_uInt16>(eOper) ) );
843 aArgSet.
Put(
SfxUInt16Item( FID_VALID_ERRSTYLE, sal::static_int_cast<sal_uInt16>(eErrStyle) ) );
852 auto xDlg = std::make_shared<ScValidationDlg>(pParentWin, &aArgSet, pTabViewShell);
853 ScValidationRegisteredDlg aRegisterThatDlgExists(pParentWin, xDlg);
855 short nResult = xDlg->run();
858 const SfxItemSet* pOutSet = xDlg->GetOutputItemSet();
860 if ( pOutSet->
GetItemState( FID_VALID_MODE,
true, &pItem ) == SfxItemState::SET )
861 eMode = static_cast<ScValidationMode>(static_cast<const SfxUInt16Item*>(pItem)->GetValue());
862 if ( pOutSet->
GetItemState( FID_VALID_CONDMODE,
true, &pItem ) == SfxItemState::SET )
863 eOper = static_cast<ScConditionMode>(static_cast<const SfxUInt16Item*>(pItem)->GetValue());
864 if ( pOutSet->
GetItemState( FID_VALID_VALUE1,
true, &pItem ) == SfxItemState::SET )
869 sal_uInt32 nNumIndex = 0;
872 aExpr1 = ::rtl::math::doubleToUString( nVal,
873 rtl_math_StringFormat_Automatic, rtl_math_DecimalPlaces_Max,
881 if ( pOutSet->
GetItemState( FID_VALID_VALUE2,
true, &pItem ) == SfxItemState::SET )
886 sal_uInt32 nNumIndex = 0;
889 aExpr2 = ::rtl::math::doubleToUString( nVal,
890 rtl_math_StringFormat_Automatic, rtl_math_DecimalPlaces_Max,
895 sal_Int32 wraparound = aExpr1.compareTo(aExpr2);
896 if (wraparound > 0) {
899 OUString tmp = aExpr1;
905 OUString tmp = aExpr1;
915 if ( pOutSet->
GetItemState( FID_VALID_BLANK,
true, &pItem ) == SfxItemState::SET )
916 bBlank = static_cast<const SfxBoolItem*>(pItem)->GetValue();
917 if ( pOutSet->
GetItemState( FID_VALID_LISTTYPE,
true, &pItem ) == SfxItemState::SET )
918 nListType = static_cast<const SfxInt16Item*>(pItem)->GetValue();
920 if ( pOutSet->
GetItemState( FID_VALID_SHOWHELP,
true, &pItem ) == SfxItemState::SET )
921 bShowHelp = static_cast<const SfxBoolItem*>(pItem)->GetValue();
922 if ( pOutSet->
GetItemState( FID_VALID_HELPTITLE,
true, &pItem ) == SfxItemState::SET )
923 aHelpTitle = static_cast<const SfxStringItem*>(pItem)->GetValue();
924 if ( pOutSet->
GetItemState( FID_VALID_HELPTEXT,
true, &pItem ) == SfxItemState::SET )
925 aHelpText = static_cast<const SfxStringItem*>(pItem)->GetValue();
927 if ( pOutSet->
GetItemState( FID_VALID_SHOWERR,
true, &pItem ) == SfxItemState::SET )
928 bShowError = static_cast<const SfxBoolItem*>(pItem)->GetValue();
929 if ( pOutSet->
GetItemState( FID_VALID_ERRSTYLE,
true, &pItem ) == SfxItemState::SET )
930 eErrStyle = static_cast<ScValidErrorStyle>(static_cast<const SfxUInt16Item*>(pItem)->GetValue());
931 if ( pOutSet->
GetItemState( FID_VALID_ERRTITLE,
true, &pItem ) == SfxItemState::SET )
932 aErrTitle = static_cast<const SfxStringItem*>(pItem)->GetValue();
933 if ( pOutSet->
GetItemState( FID_VALID_ERRTEXT,
true, &pItem ) == SfxItemState::SET )
934 aErrText = static_cast<const SfxStringItem*>(pItem)->GetValue();
940 aData.
SetInput(aHelpTitle, aHelpText);
944 aData.
SetError(aErrTitle, aErrText, eErrStyle);
950 rReq.
Done( *pOutSet );
956 case SID_TEXT_TO_COLUMNS:
974 aExport.
ExportStream( aStream, OUString(), SotClipboardFormatId::STRING );
983 OSL_ENSURE( pDocSh,
"ScCellShell::ExecuteDB: SID_TEXT_TO_COLUMNS - pDocSh is null!" );
985 OUString aUndo =
ScResId( STR_UNDO_TEXTTOCOLUMNS );
997 aImport.
ImportStream( aStream, OUString(), SotClipboardFormatId::STRING );
1017 bool bAutoFilter =
false;
1018 bool bAutoFilterTested =
false;
1026 case SID_REFRESH_DBAREA:
1049 case SID_SPECIAL_FILTER:
1052 ScMarkType eMarkType = GetViewData().GetSimpleArea( aDummy);
1061 case SID_SORT_ASCENDING:
1062 case SID_SORT_DESCENDING:
1065 case SID_OPENDLG_PIVOTTABLE:
1070 GetViewData().IsMultiMarked() )
1077 case SID_REIMPORT_DATA:
1089 case SID_VIEW_DATA_SOURCE_BROWSER:
1098 case SID_SBA_BRW_INSERT:
1106 case SID_AUTO_FILTER:
1107 case SID_AUTOFILTER_HIDE:
1109 if (!bAutoFilterTested)
1112 bAutoFilterTested =
true;
1114 if ( nWhich == SID_AUTO_FILTER )
1117 ScMarkType eMarkType = GetViewData().GetSimpleArea( aDummy);
1137 SCCOL nStartCol, nEndCol;
1138 SCROW nStartRow, nEndRow;
1139 SCTAB nStartTab, nEndTab;
1140 bool bAnyQuery =
false;
1142 bool bSelected = (GetViewData().GetSimpleArea(
1143 nStartCol, nStartRow, nStartTab, nEndCol, nEndRow, nEndTab )
1148 if (nStartCol==nEndCol && nStartRow==nEndRow)
1153 nStartCol = GetViewData().GetCurX();
1154 nStartRow = GetViewData().GetCurY();
1155 nStartTab = GetViewData().GetTabNo();
1159 ? rDoc.
GetDBAtArea( nStartTab, nStartCol, nStartRow, nEndCol, nEndRow )
1175 case SID_DEFINE_DBNAME:
1183 case SID_DATA_PROVIDER:
1185 case SID_DATA_PROVIDER_REFRESH:
1187 ScDocument& rViewDoc = GetViewData().GetDocument();
1189 if (rDataMapper.getDataSources().empty())
1193 case SID_DATA_STREAMS:
1194 case SID_DATA_STREAMS_PLAY:
1195 case SID_DATA_STREAMS_STOP:
1197 if ( !officecfg::Office::Common::Misc::ExperimentalMode::get() )
1201 case SID_TEXT_TO_COLUMNS:
1210 case SID_MANAGE_XML_SOURCE:
ScMarkData & GetMarkData()
const SfxPoolItem * ExecuteSlot(SfxRequest &rReq, const SfxInterface *pIF=nullptr)
::std::vector< ScSortKeyState > maKeyState
SfxViewFrame * GetViewFrame() const
virtual VclPtr< AbstractScSelEntryDlg > CreateScSelEntryDlg(weld::Window *pParent, const std::vector< OUString > &rEntryList)=0
SC_DLLPUBLIC bool HasColHeader(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
SC_DLLPUBLIC bool HasQueryParam() const
SC_DLLPUBLIC ScDBCollection * GetDBCollection() const
ScDBData * GetDBData(bool bMarkArea=true, ScGetDBMode eMode=SC_DB_MAKE, ScGetDBSelection eSel=ScGetDBSelection::Keep)
ScDocShell * GetDocShell() const
const ScDPObject * GetDialogDPObject() const
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
void SetExtOptions(const ScAsciiOptions &rOpt)
SfxChildWindow * GetChildWindow(sal_uInt16)
bool MakePivotTable(const ScDPSaveData &rData, const ScRange &rDest, bool bNewTable, const ScDPObject &rSource)
SC_DLLPUBLIC void GetSortParam(ScSortParam &rSortParam) const
void MarkRange(const ScRange &rRange, bool bSetCursor=true, bool bContinue=false)
These options control how multi-line cells are converted during export in certain lossy formats (such...
Reference< XFrame > xFrame
virtual void GetOptions(ScAsciiOptions &rOpt)=0
void SetValidation(const ScValidationData &rNew)
void GotoDBArea(const OUString &rDBName)
const ContentProperties & rData
SC_DLLPUBLIC const ScDBData * GetDBAtArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2) const
sal_uInt64 Seek(sal_uInt64 nPos)
static void ShowInBeamer(const ScImportParam &rParam, const SfxViewFrame *pFrame)
bool ImportData(const ScImportParam &rParam)
void Done(bool bRemove=false)
ScDocument & GetDocument() const
void ExecuteDB(SfxRequest &rReq)
void AddHighlightRange(const ScRange &rRange, const Color &rColor)
static const sal_uInt16 * GetRanges()
bool HasSubTotalParam() const
const SfxItemSet * GetArgs() const
sc::DocumentLinkManager & GetDocLinkManager()
virtual short Execute()=0
ScConditionMode GetOperation() const
bool ImportStream(SvStream &, const OUString &rBaseURL, SotClipboardFormatId)
bool HasAutoFilter(SCCOL nCol, SCROW nRow, SCTAB nTab)
SC_DLLPUBLIC void InputEnterHandler(ScEnterMode nBlockMode=ScEnterMode::NORMAL)
void GetMarkArea(ScRange &rRange) const
SC_DLLPUBLIC const ScValidationData * GetValidationEntry(sal_uLong nIndex) const
virtual SfxUndoManager * GetUndoManager() override
void SetListType(sal_Int16 nListType)
weld::Window * GetFrameWeld() const
#define BTN_CURRENT_SELECTION
void SetImportParam(const ScImportParam &rImportParam)
const ScRange & GetDestRange() const
SC_DLLPUBLIC SCROW MaxRow() const
size_t SCSIZE
size_t typedef to be able to find places where code was changed from USHORT to size_t and is used to ...
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
bool IsMultiMarked() const
SfxFrame & GetFrame() const
SC_DLLPUBLIC SCSIZE GetEntryCount() const
SC_DLLPUBLIC sc::ExternalDataMapper & GetExternalDataMapper()
SC_DLLPUBLIC void SetRefDialog(sal_uInt16 nId, bool bVis, SfxViewFrame *pViewFrm=nullptr)
Reference dialogs.
void SetInput(const OUString &rTitle, const OUString &rMsg)
SC_DLLPUBLIC const ScQueryEntry & GetEntry(SCSIZE n) const
void UpdateInputHandler(bool bForce=false, bool bStopEditing=true)
void ClearHighlightRanges()
bool bIncludeGraphicObjects
ScChangeTrack * GetChangeTrack() const
SC_DLLPUBLIC const SfxPoolItem * GetAttr(SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt16 nWhich) const
static void SetError(ErrCode)
ScValidationMode GetDataMode() const
static bool lcl_GetSortParam(const ScViewData &rData, const ScSortParam &rSortParam)
constexpr OUStringLiteral aData
ScTabViewShell * GetViewShell() const
void SetArea(SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
constexpr TypedWhichId< SfxUInt32Item > ATTR_VALIDDATA(153)
void GetDBState(SfxItemSet &rSet)
SC_DLLPUBLIC void GetDataArea(SCTAB nTab, SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bIncludeOld, bool bOnlyDown) const
Return the smallest area containing at least all contiguous cells having data.
const OUString & getNumDecimalSep() const
void RepeatDB(bool bRecord=true)
SC_DLLPUBLIC SvNumberFormatter * GetFormatTable() const
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * GetSlotState(sal_uInt16 nSlotId, const SfxInterface *pIF=nullptr, SfxItemSet *pStateSet=nullptr)
void import(ScDocument &rDoc, bool bInternal=false)
ScMarkType
States GetSimpleArea() returns for the underlying selection marks, so the caller can react if the res...
OUString GetExpression(const ScAddress &rCursor, sal_uInt16 nPos, sal_uInt32 nNumFmt=0, const formula::FormulaGrammar::Grammar eGrammar=formula::FormulaGrammar::GRAM_DEFAULT) const
virtual OUString GetSelectedEntry() const =0
bool HasSortParam() const
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 & GetValue() const
SC_DLLPUBLIC void SetTabNo(SCTAB nTab, bool bNew=false, bool bExtendSelection=false, bool bSameTabButMoved=false)
virtual VclPtr< AbstractScDataFormDlg > CreateScDataFormDlg(weld::Window *pParent, ScTabViewShell *pTabViewShell)=0
OUString ScResId(const char *pId)
ScDPObject * GetDPAtBlock(const ScRange &rBlock) const
void GetImportParam(ScImportParam &rImportParam) const
void SetOverwriting(const bool bOverwriting)
void SetIgnoreBlank(bool bSet)
const ScQueryParam & GetQueryData() const
bool IsBlockEmpty(SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, bool bIgnoreNotes=false) const
static SC_DLLPUBLIC LanguageType eLnge
bool GetAdvancedQuerySource(ScRange &rSource) const
bool ExportStream(SvStream &, const OUString &rBaseURL, SotClipboardFormatId)
void GetArea(SCTAB &rTab, SCCOL &rCol1, SCROW &rRow1, SCCOL &rCol2, SCROW &rRow2) const
SfxViewShell * GetViewShell() const
const css::uno::Reference< css::frame::XFrame > & GetFrameInterface() const
std::function< void(sal_Int32)> maEndDialogFn
void SetReturnValue(const SfxPoolItem &)
#define ERRCODE_BASIC_BAD_PARAMETER
bool GetErrMsg(OUString &rTitle, OUString &rMsg, ScValidErrorStyle &rStyle) const
static SC_DLLPUBLIC const LocaleDataWrapper * getLocaleDataPtr()
Stores global named database ranges.
SC_DLLPUBLIC SCSIZE GetEmptyLinesInBlock(SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab, SCCOL nEndCol, SCROW nEndRow, SCTAB nEndTab, ScDirection eDir)
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
sal_uInt16 GetSlot() const
SC_DLLPUBLIC void PutInOrder()
void SetImportBroadcast(bool b)
void DisableItem(sal_uInt16 nWhich)
weld::Window * GetFrameWeld() const
virtual VclPtr< AbstractScImportAsciiDlg > CreateScImportAsciiDlg(weld::Window *pParent, const OUString &aDatName, SvStream *pInStream, ScImportAsciiCall eCall)=0
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
void ErrorMessage(const char *pGlobStrId)
sal_uInt16 GetSortKeyCount() const
static SC_DLLPUBLIC ScAbstractDialogFactory * Create()
bool GetInput(OUString &rTitle, OUString &rMsg) const
void SetExportTextOptions(const ScExportTextOptions &options)
void SetError(const OUString &rTitle, const OUString &rMsg, ScValidErrorStyle eStyle)
void SetStreamCharSet(rtl_TextEncoding eCharSet)
virtual void EnterListAction(const OUString &rComment, const OUString &rRepeatComment, sal_uInt16 nId, ViewShellId nViewShellId)
const ScDocument & GetDocument() const
sal_Int16 GetListType() const
SC_DLLPUBLIC void GetQueryParam(ScQueryParam &rQueryParam) const
bool HasImportSelection() const
DataStream * getDataStream()
void UISort(const ScSortParam &rSortParam)
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_LIGHTBLUE
void SetDelimiter(sal_Unicode c)
void AppendItem(const SfxPoolItem &)
virtual std::shared_ptr< ScAsyncTabController > CreateScSortDlg(weld::Window *pParent, const SfxItemSet *pArgSet)=0
bool ShrinkToUsedDataArea(bool &o_bShrunk, SCTAB nTab, SCCOL &rStartCol, SCROW &rStartRow, SCCOL &rEndCol, SCROW &rEndRow, bool bColumnsOnly, bool bStickyTopRow=false, bool bStickyLeftCol=false, bool bConsiderCellNotes=false, bool bConsiderCellDrawObjects=false, bool bConsiderCellFormats=false) const
Shrink a range to only include used data area.
SC_DLLPUBLIC void Query(const ScQueryParam &rQueryParam, const ScRange *pAdvSource, bool bRecord)
bool IsIgnoreBlank() const
const ScDBData * GetDBAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab, ScDBDataPortion ePortion) const
virtual void SaveParameters()=0
static void SetNoEndianSwap(SvStream &rStrm)
only if stream is only used in own (!) memory
const ScDPSaveData & GetData() const
weld::Window * GetDialogParent()
parent window for dialogs Problem: OLE Server!
bool HasImportParam() const
static bool lcl_GetTextToColumnsRange(const ScViewData &rData, ScRange &rRange, bool bDoEmptyCheckOnly)
ViewShellId GetViewShellId() const override