59#define ShellClass_ScCellShell
60#define ShellClass_CellMovement
69 SfxVisibilityFlags::Standard | SfxVisibilityFlags::Server,
70 ToolbarId::Objectbar_Format);
72 GetStaticInterface()->RegisterPopupMenu(
"cell");
78 bPastePossible(false),
87 if (
pImpl->m_xClipEvtLstnr.is() )
93 pImpl->m_xClipEvtLstnr->ClearCallbackLink();
95 pImpl->m_xClipEvtLstnr.clear();
98 pImpl->m_pLinkedDlg.disposeAndClear();
99 delete pImpl->m_pRequest;
108 bool bOnlyNotBecauseOfMatrix;
125 bool bDisable =
false;
126 bool bNeedEdit =
true;
129 case FID_FILL_TO_BOTTOM:
131 bDisable = !bSimpleArea || (nRow1 == 0 && nRow2 == 0);
134 if ( !bDisable && bEditable )
137 nCol1, nRow1, nCol2, nRow1, rMark );
141 case FID_FILL_TO_TOP:
143 bDisable = (!bSimpleArea) || (nRow1 == rDoc.
MaxRow() && nRow2 == rDoc.
MaxRow());
146 if ( !bDisable && bEditable )
149 nCol1, nRow2, nCol2, nRow2, rMark );
153 case FID_FILL_TO_RIGHT:
155 bDisable = !bSimpleArea || (nCol1 == 0 && nCol2 == 0);
158 if ( !bDisable && bEditable )
161 nCol1, nRow1, nCol1, nRow2, rMark );
165 case FID_FILL_TO_LEFT:
167 bDisable = (!bSimpleArea) || (nCol1 == rDoc.
MaxCol() && nCol2 == rDoc.
MaxCol());
170 if ( !bDisable && bEditable )
173 nCol2, nRow1, nCol2, nRow2, rMark );
178 case SID_RANDOM_NUMBER_GENERATOR_DIALOG:
181 case SID_SAMPLING_DIALOG:
182 case SID_DESCRIPTIVE_STATISTICS_DIALOG:
183 case SID_ANALYSIS_OF_VARIANCE_DIALOG:
184 case SID_CORRELATION_DIALOG:
185 case SID_COVARIANCE_DIALOG:
186 case SID_INSERT_SPARKLINE:
188 bDisable = !bSimpleArea;
191 case SID_GROUP_SPARKLINES:
192 case SID_UNGROUP_SPARKLINES:
194 bDisable = !bSimpleArea;
198 case SID_EDIT_SPARKLINE:
204 case SID_DELETE_SPARKLINE:
205 case SID_EDIT_SPARKLINE_GROUP:
206 case SID_DELETE_SPARKLINE_GROUP:
212 case FID_FILL_SERIES:
213 case SID_OPENDLG_TABOP:
217 bDisable = (!bSimpleArea) || (nCol1 == nCol2 && nRow1 == nRow2);
222 if ( !bDisable && bEditable && nWhich == FID_FILL_SERIES )
225 nCol1, nRow1, nCol2, nRow1, rMark )
227 nCol1, nRow2, nCol2, nRow2, rMark )
229 nCol1, nRow1, nCol1, nRow2, rMark )
231 nCol2, nRow1, nCol2, nRow2, rMark );
234 case FID_FILL_SINGLE_EDIT:
241 bDisable = (!bSimpleArea);
245 case SID_PASTE_SPECIAL:
246 case SID_PASTE_UNFORMATTED:
247 case SID_PASTE_ONLY_VALUE:
248 case SID_PASTE_ONLY_TEXT:
249 case SID_PASTE_ONLY_FORMULA:
250 case SID_PASTE_TRANSPOSED:
251 case SID_PASTE_AS_LINK:
252 case SID_PASTE_TEXTIMPORT_DIALOG:
257 case FID_INS_ROWS_BEFORE:
258 case FID_INS_ROWS_AFTER:
261 if (nWhich == FID_INS_ROWS_AFTER)
265 if (!bEditable && nCol1 == 0 && nCol2 == rDoc.
MaxCol())
272 case FID_INS_CELLSDOWN:
277 case FID_INS_COLUMNS_BEFORE:
278 case FID_INS_COLUMNS_AFTER:
281 if (nWhich == FID_INS_COLUMNS_AFTER)
286 if (!bEditable && nRow1 == 0 && nRow2 == rDoc.
MaxRow())
293 case FID_INS_CELLSRIGHT:
302 if ( bEditable || !bOnlyNotBecauseOfMatrix )
308 bDisable = (!bSimpleArea)
309 || ((nCol2 - nCol1) < 2) || ((nRow2 - nRow1) < 2);
312 case SID_CELL_FORMAT_RESET :
313 case FID_CELL_FORMAT :
314 case SID_ENABLE_HYPHENATION :
316 if ( !bEditable && bOnlyNotBecauseOfMatrix )
328 case SID_TRANSLITERATE_HALFWIDTH:
329 case SID_TRANSLITERATE_FULLWIDTH:
330 case SID_TRANSLITERATE_HIRAGANA:
331 case SID_TRANSLITERATE_KATAKANA:
334 case SID_CONVERT_FORMULA_TO_VALUE:
341 if (!bDisable && bNeedEdit && !bEditable)
346 else if (nWhich == SID_ENABLE_HYPHENATION)
369 bool bDisable =
false;
370 bool bNeedEdit =
true;
385 case SID_OPENDLG_FUNCTION:
402 case SID_INSERT_POSTIT:
419 case SID_EDIT_POSTIT:
422 bDisable = rDoc.
GetNote(aPos) ==
nullptr;
426 if (!bDisable && bNeedEdit)
428 aCursor.
Col(),aCursor.
Row() ))
439 if ( rDataHelper.
HasFormat( nFormatId ) )
445 if ( nFormatId == SotClipboardFormatId::EMBED_SOURCE )
449 SotClipboardFormatId::OBJECTDESCRIPTOR, aDesc ) )
452 else if ( nFormatId == SotClipboardFormatId::EMBED_SOURCE_OLE
453 || nFormatId == SotClipboardFormatId::EMBEDDED_OBJ_OLE )
459 if ( !aStrVal.isEmpty() )
477 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::DRAWING );
478 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::SVXB );
479 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::GDIMETAFILE );
480 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::PNG );
481 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::BITMAP );
482 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::EMBED_SOURCE );
486 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::LINK );
487 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::STRING );
488 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::STRING_TSVC );
489 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::DIF );
490 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::RTF );
491 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::RICHTEXT );
492 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::HTML );
493 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::HTML_SIMPLE );
494 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::BIFF_8 );
495 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::BIFF_5 );
498 if ( !
lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::EMBED_SOURCE_OLE ) )
499 lcl_TestFormat( rFormats, aDataHelper, SotClipboardFormatId::EMBEDDED_OBJ_OLE );
506 bool bPossible =
false;
507 css::uno::Reference< css::datatransfer::XTransferable2 > xTransferable(rData.
GetXTransferable(), css::uno::UNO_QUERY);
512 if ( rData.
HasFormat( SotClipboardFormatId::PNG ) ||
513 rData.
HasFormat( SotClipboardFormatId::BITMAP ) ||
514 rData.
HasFormat( SotClipboardFormatId::GDIMETAFILE ) ||
515 rData.
HasFormat( SotClipboardFormatId::SVXB ) ||
516 rData.
HasFormat( SotClipboardFormatId::PRIVATE ) ||
517 rData.
HasFormat( SotClipboardFormatId::RTF ) ||
518 rData.
HasFormat( SotClipboardFormatId::RICHTEXT ) ||
519 rData.
HasFormat( SotClipboardFormatId::EMBED_SOURCE ) ||
520 rData.
HasFormat( SotClipboardFormatId::LINK_SOURCE ) ||
521 rData.
HasFormat( SotClipboardFormatId::EMBED_SOURCE_OLE ) ||
522 rData.
HasFormat( SotClipboardFormatId::LINK_SOURCE_OLE ) ||
523 rData.
HasFormat( SotClipboardFormatId::EMBEDDED_OBJ_OLE ) ||
524 rData.
HasFormat( SotClipboardFormatId::STRING ) ||
525 rData.
HasFormat( SotClipboardFormatId::STRING_TSVC ) ||
526 rData.
HasFormat( SotClipboardFormatId::SYLK ) ||
527 rData.
HasFormat( SotClipboardFormatId::LINK ) ||
528 rData.
HasFormat( SotClipboardFormatId::HTML ) ||
529 rData.
HasFormat( SotClipboardFormatId::HTML_SIMPLE ) ||
530 rData.
HasFormat( SotClipboardFormatId::DIF ) )
542 return aDataHelper.
HasFormat( nFormatId );
549 SfxBindings& rBindings = GetViewData().GetBindings();
552 rBindings.
Invalidate( SID_PASTE_UNFORMATTED );
555 rBindings.
Invalidate( SID_PASTE_ONLY_FORMULA );
558 rBindings.
Invalidate( SID_PASTE_TEXTIMPORT_DIALOG );
559 rBindings.
Invalidate( SID_CLIPBOARD_FORMAT_ITEMS );
566 if ( !GetViewData().IsAnyFillMode() )
570 GetViewData().GetView()->UpdateCopySourceOverlay();
629 if ( !
pImpl->m_xClipEvtLstnr.is() )
634 pImpl->m_xClipEvtLstnr->AddListener( pWin );
671 else if (
rSet.
GetItemState( SID_CLIPBOARD_FORMAT_ITEMS ) != SfxItemState::UNKNOWN )
687 if ( !
GetViewData().GetView()->HasBookmarkAtCursor( &aHLinkItem ) )
721 case SID_DETECTIVE_REFRESH:
726 case SID_RANGE_ADDRESS:
737 case SID_RANGE_NOTETEXT:
742 aNoteText = pNote->GetText();
755 case SID_RANGE_TABLE:
759 case SID_RANGE_FORMULA:
761 OUString aString = rDoc.
GetFormula( nPosX, nPosY, nTab );
762 if( aString.isEmpty() )
770 case SID_RANGE_TEXTVALUE:
772 OUString aString = rDoc.
GetString(nPosX, nPosY, nTab);
777 case SID_STATUS_SELMODE:
798 case SID_STATUS_DOCPOS:
802 aStr =
aStr.replaceFirst(
"%1", OUString::number( nTab + 1 ) );
803 aStr =
aStr.replaceFirst(
"%2", OUString::number( nTabCount ) );
808 case SID_ROWCOL_SELCOUNT:
812 const SCCOL nCol1 = aMarkRanges->front().aStart.Col();
813 const SCROW nRow1 = aMarkRanges->front().aStart.Row();
814 const SCCOL nCol2 = aMarkRanges->front().aEnd.Col();
815 const SCROW nRow2 = aMarkRanges->front().aEnd.Row();
816 const size_t nRanges = aMarkRanges->size();
818 if ((nRanges == 1 && (nCol2 != nCol1 || nRow1 != nRow2)) || nRanges > 1)
820 bool bSameRows =
true;
821 bool bSameCols =
true;
824 for (
size_t i = 0;
i < nRanges; ++
i)
826 const ScRange& rRange = (*aMarkRanges)[
i];
831 bSameRows &= (nRow1 == nRangeRow1 && nRow2 == nRangeRow2);
832 bSameCols &= (nCol1 == nRangeCol1 && nCol2 == nRangeCol2);
836 if (bSameRows || bSameCols)
838 const auto nCols = nRangeCol2 - nRangeCol1 + 1;
839 const auto nRows = (bSameCols || nRowsSum == 0) ?
857 if (bSameRows || bSameCols)
862 =
ScResId(STR_SELCOUNT_ROWARG, nRowsSum)
863 .replaceAll(
"$1", rLocaleData.
getNum(nRowsSum, 0));
865 =
ScResId(STR_SELCOUNT_COLARG, nColsSum)
866 .replaceAll(
"$1", rLocaleData.
getNum(nColsSum, 0));
868 aStr =
aStr.replaceAll(
"$1", aRowArg);
869 aStr =
aStr.replaceAll(
"$2", aColArg);
880 aStr =
aStr.replaceAll(
"$1", OUString::number( nSelected ) );
881 aStr =
aStr.replaceAll(
"$2", OUString::number( nTotal ) );
908 if ( pTabViewShell->
GetFunction( aFuncStr, nErrCode ) )
916 case SID_DATA_SELECT:
924 case FID_CURRENTVALIDATION:
932 if ( pTabViewShell->
GetFunction( aFuncStr, FormulaError::NONE ) )
947 case FID_MERGE_TOGGLE:
954 if( !bCanMerge && !bCanSplit )
982 if ( nTabSelCount < 2 )
986 case SID_INSERT_CURRENT_DATE:
987 case SID_INSERT_CURRENT_TIME:
995 case SID_SELECT_SCENARIO:
997 std::vector<OUString> aList;
1004 SCTAB nScTab = nTab + 1;
1010 aList.push_back(
aStr);
1012 aList.push_back(
aStr);
1023 OSL_ENSURE( aList.empty(),
"List not empty!" );
1024 aList.push_back(aComment);
1035 case FID_COL_OPT_WIDTH:
1036 case FID_ROW_OPT_HEIGHT:
1037 case FID_DELETE_CELL:
1042 case SID_OUTLINE_MAKE:
1055 case SID_OUTLINE_SHOW:
1065 case SID_OUTLINE_HIDE:
1075 case SID_OUTLINE_REMOVE:
1086 if ( !bCol && !bRow )
1103 case FID_ROW_HEIGHT:
1113 case SID_DETECTIVE_FILLMODE:
1117 case FID_INPUTLINE_STATUS:
1118 OSL_FAIL(
"Old update method. Use ScTabViewShell::UpdateInputHandler()." );
1126 case FID_NOTE_VISIBLE:
1129 if ( pNote && rDoc.
IsBlockEditable( nTab, nPosX,nPosY, nPosX,nPosY ) )
1139 bool bEnable =
false;
1140 bool bSearchForHidden = nWhich == FID_SHOW_NOTE;
1145 if ( pNote && rDoc.
IsBlockEditable( nTab, nPosX,nPosY, nPosX,nPosY ) )
1155 std::vector<sc::NoteEntry> aNotes;
1157 for(
const auto& rNote : aNotes)
1162 if (rNote.mpNote->IsCaptionShown() != bSearchForHidden)
1176 case FID_SHOW_ALL_NOTES:
1177 case FID_HIDE_ALL_NOTES:
1178 case FID_DELETE_ALL_NOTES:
1180 bool bHasNotes =
false;
1196 case SID_TOGGLE_NOTES:
1198 bool bHasNotes =
false;
1215 bool bAllNotesInShown = (eState !=
ALLHIDDEN && eState !=
MIXED);
1221 case SID_DELETE_NOTE:
1223 bool bEnable =
false;
1237 rDoc.
GetNote(nPosX, nPosY, nTab);
1244 case SID_OPENDLG_CONSOLIDATE:
1252 case SID_CHINESE_CONVERSION:
1253 case SID_HANGUL_HANJA_CONVERSION:
1270 case FID_DEFINE_NAME:
1271 case FID_INSERT_NAME:
1273 case SID_DEFINE_COLROWNAMERANGES:
1282 case FID_DEFINE_CURRENT_NAME:
1284 ScAddress aCurrentAddress( nPosX, nPosY, nTab );
1294 case SID_SPELL_DIALOG:
1317 case SID_OPENDLG_CURRENTCONDFRMT:
1318 case SID_OPENDLG_CURRENTCONDFRMT_MANAGER:
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 ...
static bool lcl_TestFormat(SvxClipboardFormatItem &rFormats, const TransferableDataHelper &rDataHelper, SotClipboardFormatId nFormatId)
IMPL_LINK(ScCellShell, ClipboardChanged, TransferableDataHelper *, pDataHelper, void)
static bool lcl_IsCellPastePossible(const TransferableDataHelper &rData)
const LocaleDataWrapper & GetUILocaleDataWrapper() const
static const AllSettings & GetSettings()
OUString getNum(sal_Int64 nNumber, sal_uInt16 nDecimals, bool bUseThousandSep=true, bool bTrailingZeros=true) const
void GetHLinkState(SfxItemSet &rSet)
void GetPossibleClipboardFormats(SvxClipboardFormatItem &rFormats)
void GetCellState(SfxItemSet &rSet)
virtual ~ScCellShell() override
bool HasClipboardFormat(SotClipboardFormatId nFormatId)
std::unique_ptr< CellShell_Impl > pImpl
void GetBlockState(SfxItemSet &rSet)
void GetState(SfxItemSet &)
ScCellShell(ScViewData &rData, const VclPtr< vcl::Window > &pFrameWin)
void GetClipState(SfxItemSet &rSet)
bool OutlinePossible(bool bHide)
void TestRemoveOutline(bool &rCol, bool &rRow)
const ScDocument & GetDocument() const
SC_DLLPUBLIC bool IsScenario(SCTAB nTab) const
SCROW CountNonFilteredRows(SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
SC_DLLPUBLIC sal_uInt16 GetRowHeight(SCROW nRow, SCTAB nTab, bool bHiddenAsZero=true) const
bool IsAddressInRangeName(RangeNameScope eScope, const ScAddress &rAddress)
SC_DLLPUBLIC sal_uInt16 GetColWidth(SCCOL nCol, SCTAB nTab, bool bHiddenAsZero=true) const
CommentCaptionState GetAllNoteCaptionsState(const ScRangeList &rRanges)
bool HasSelectionData(SCCOL nCol, SCROW nRow, SCTAB nTab) const
Returns true, if there is any data to create a selection list for rPos.
ScClipParam & GetClipParam()
SC_DLLPUBLIC bool IsTabProtected(SCTAB nTab) const
bool IsEditActionAllowed(sc::ColRowEditAction eAction, SCTAB nTab, SCCOLROW nStart, SCCOLROW nEnd) const
bool IsSelectionEditable(const ScMarkData &rMark, bool *pOnlyNotBecauseOfMatrix=nullptr) const
SC_DLLPUBLIC SCCOL MaxCol() const
SC_DLLPUBLIC SCROW MaxRow() const
bool ContainsNotesInRange(const ScRangeList &rRange) const
SC_DLLPUBLIC ScPostIt * GetNote(const ScAddress &rPos)
bool HasDetectiveOperations() const
bool HasFormulaCell(const ScRange &rRange) const
Check if there is at least one formula cell in specified range.
SC_DLLPUBLIC ScBreakType HasRowBreak(SCROW nRow, SCTAB nTab) const
SC_DLLPUBLIC void GetScenarioData(SCTAB nTab, OUString &rComment, Color &rColor, ScScenarioFlags &rFlags) const
SC_DLLPUBLIC bool HasSparkline(ScAddress const &rPosition)
SC_DLLPUBLIC ScBreakType HasColBreak(SCCOL nCol, SCTAB nTab) const
SC_DLLPUBLIC bool HasAttrib(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, HasAttrFlags nMask) const
bool IsBlockEditable(SCTAB nTab, SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, bool *pOnlyNotBecauseOfMatrix=nullptr, bool bNoMatrixAtAll=false) const
SC_DLLPUBLIC OUString GetInputString(SCCOL nCol, SCROW nRow, SCTAB nTab, bool bForceSystemLocale=false) const
SC_DLLPUBLIC bool HasTabNotes(SCTAB nTab) const
SC_DLLPUBLIC bool HasOneSparklineGroup(ScRange const &rRange)
bool IsInInterpreter() const
bool HasValidationData(SCCOL nCol, SCROW nRow, SCTAB nTab) const
SC_DLLPUBLIC OUString GetFormula(SCCOL nCol, SCROW nRow, SCTAB nTab) const
SC_DLLPUBLIC OUString GetString(SCCOL nCol, SCROW nRow, SCTAB nTab, const ScInterpreterContext *pContext=nullptr) const
SC_DLLPUBLIC const ScFormulaCell * GetFormulaCell(const ScAddress &rPos) const
ScChangeTrack * GetChangeTrack() const
SC_DLLPUBLIC CellType GetCellType(SCCOL nCol, SCROW nRow, SCTAB nTab) const
void GetNotesInRange(const ScRangeList &rRange, std::vector< sc::NoteEntry > &rNotes) const
void GetFilterSelCount(SCCOL nCol, SCROW nRow, SCTAB nTab, SCSIZE &nSelected, SCSIZE &nTotal)
SC_DLLPUBLIC bool GetName(SCTAB nTab, OUString &rName) const
bool HasSelectedBlockMatrixFragment(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, const ScMarkData &rMark) const
SC_DLLPUBLIC const SfxPoolItem * GetAttr(SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt16 nWhich) const
SC_DLLPUBLIC SCTAB GetTableCount() const
static ScDrawTransferObj * GetOwnClipboard(const css::uno::Reference< css::datatransfer::XTransferable2 > &)
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
const ScRange & GetMarkArea() const
bool IsMultiMarked() const
void FillRangeListWithMarks(ScRangeList *pList, bool bClear, SCTAB nForTab=-1) const
Create a range list of marks.
SCTAB GetSelectCount() const
const MarkedTabsType & GetSelectedTabs() const
static bool HasThesaurusLanguage(LanguageType nLang)
Additional class containing cell annotation data.
bool IsCaptionShown() const
Returns true, if the caption object is visible.
void push_back(const ScRange &rRange)
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...
static css::uno::Reference< css::datatransfer::XTransferable2 > GetClipData(vcl::Window *pWin)
bool IsAuditShell() const
bool GetFunction(OUString &rFuncStr, FormulaError nErrCode)
sal_uInt16 GetLockedModifiers() const
bool HasPageFieldDataAtCursor() const
ScDocument * GetDocument() const
static SC_DLLPUBLIC ScTransferObj * GetOwnClipboard(const css::uno::Reference< css::datatransfer::XTransferable2 > &)
void GetMultiArea(ScRangeListRef &rRange) const
ScMarkData & GetMarkData()
bool SelectionForbidsPaste(ScDocument *pClipDoc=nullptr)
Disallow Paste on Ctrl+A all selected or another high amount of selected cells that is not the same s...
ScDocument & GetDocument() const
ScDocShell * GetDocShell() const
ScGridWindow * GetActiveWin()
ScTabViewShell * GetViewShell() const
ScMarkType GetSimpleArea(SCCOL &rStartCol, SCROW &rStartRow, SCTAB &rStartTab, SCCOL &rEndCol, SCROW &rEndRow, SCTAB &rEndTab) const
SfxBindings & GetBindings()
bool SelectionForbidsCellFill()
Disallow cell fill (Fill,Enter,...) on Ctrl+A all selected or another high amount of selected cells.
bool SelectionEditable(bool *pOnlyNotBecauseOfMatrix=nullptr)
static LanguageType GetEffLanguage(ScDocument &rDoc, const ScAddress &rPos)
static void HideDisabledSlot(SfxItemSet &rSet, SfxBindings &rBindings, sal_uInt16 nSlotId)
void Invalidate(sal_uInt16 nId)
std::shared_ptr< SfxDialogController > & GetController()
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
void DisableItem(sal_uInt16 nWhich)
bool isContentExtractionLocked() const
void SetContextName(const OUString &rsContextName)
virtual SfxObjectShell * GetObjectShell()
void SetName(const OUString &rName)
bool HasChildWindow(sal_uInt16)
SfxChildWindow * GetChildWindow(sal_uInt16)
SfxViewFrame & GetViewFrame() const
static bool GetEmbeddedName(const TransferableDataHelper &rData, OUString &_rName, OUString &_rSource, SotClipboardFormatId const &_nFormat)
void SetName(const OUString &rName)
static TransferableDataHelper CreateFromSystemClipboard(vcl::Window *pWindow)
bool HasFormat(SotClipboardFormatId nFormat) const
css::uno::Reference< css::datatransfer::XTransferable > GetXTransferable() const
static const OUString & GetContextName(const Context eContext)
virtual SfxBindings & GetBindings() override
constexpr sal_uInt16 KEY_MOD1
constexpr sal_uInt16 KEY_SHIFT
#define LINK(Instance, Class, Member)
bool CheckDestRanges(const ScDocument &rDoc, SCCOL nSrcCols, SCROW nSrcRows, const ScMarkData &rMark, const ScRangeList &rDest)
#define SFX_OBJECTBAR_OBJECT
OUString ScResId(TranslateId aId)
#define SCITEM_CONSOLIDATEDATA
constexpr TypedWhichId< ScCondFormatItem > ATTR_CONDITIONAL(154)
#define SFX_IMPL_INTERFACE(Class, SuperClass)
ScRange getWholeRange() const
Return a single range that encompasses all individual ranges.
Reference< XController > xController
ScMarkType
States GetSimpleArea() returns for the underlying selection marks, so the caller can react if the res...
@ SC_MARK_SIMPLE_FILTERED