37#include <osl/diagnose.h>
43#include <document.hxx>
47#include <svx/svxids.hrc>
60 aSetItem.GetItemSet().PutExtended( rCoreSet, SfxItemState::DONTCARE, SfxItemState::SET );
82 eLnge = pLangIt->GetValue();
87 eLnge = ( nScript == SvtScriptType::ASIAN ) ? eCjk :
88 ( ( nScript == SvtScriptType::COMPLEX ) ? eCtl : eLatin );
104 case SID_TRANSLITERATE_SENTENCE_CASE:
105 nType = TransliterationFlags::SENTENCE_CASE;
107 case SID_TRANSLITERATE_TITLE_CASE:
108 nType = TransliterationFlags::TITLE_CASE;
110 case SID_TRANSLITERATE_TOGGLE_CASE:
111 nType = TransliterationFlags::TOGGLE_CASE;
113 case SID_TRANSLITERATE_UPPER:
114 nType = TransliterationFlags::LOWERCASE_UPPERCASE;
116 case SID_TRANSLITERATE_LOWER:
117 nType = TransliterationFlags::UPPERCASE_LOWERCASE;
119 case SID_TRANSLITERATE_HALFWIDTH:
120 nType = TransliterationFlags::FULLWIDTH_HALFWIDTH;
122 case SID_TRANSLITERATE_FULLWIDTH:
123 nType = TransliterationFlags::HALFWIDTH_FULLWIDTH;
125 case SID_TRANSLITERATE_HIRAGANA:
126 nType = TransliterationFlags::KATAKANA_HIRAGANA;
128 case SID_TRANSLITERATE_KATAKANA:
129 nType = TransliterationFlags::HIRAGANA_KATAKANA;
154 OUString aComStr = rAction.
GetComment() +
" (" + aTmp +
")";
171 case SvxRedlinDateMode::BEFORE:
172 if ( aDateTime > rFirst )
176 case SvxRedlinDateMode::SINCE:
177 if ( aDateTime < rFirst )
181 case SvxRedlinDateMode::EQUAL:
182 case SvxRedlinDateMode::BETWEEN:
183 if ( aDateTime < rFirst || aDateTime > rLast )
187 case SvxRedlinDateMode::NOTEQUAL:
188 if ( aDateTime >= rFirst && aDateTime <= rLast )
192 case SvxRedlinDateMode::SAVE:
214 if ( nAction < nFirstAction || nAction > nLastAction )
233 bool bChanged =
false;
234 for (
const SCTAB& nTab : rMark)
236 for (
SCROW nRow = nStartRow; nRow <= nEndRow; ++nRow)
238 SCROW nLastRow = nRow;
239 if (rDoc.
RowFiltered(nRow, nTab,
nullptr, &nLastRow))
244 ScRange(nStartCol, nRow, nTab, nEndCol, nLastRow, nTab),
false);
260 bool bOneTabOnly = (nTab == rRange.
aEnd.
Tab());
262 OSL_ENSURE( bOneTabOnly,
"ScViewUtil::ExtendToUnfilteredRows: works only on one sheet");
268 return static_cast<size_t>(
nCount) == nRows && bOneTabOnly;
287 bool bEnabled =
true;
291 case SID_CHINESE_CONVERSION:
292 case SID_HANGUL_HANJA_CONVERSION:
296 case SID_TRANSLITERATE_HALFWIDTH:
297 case SID_TRANSLITERATE_FULLWIDTH:
298 case SID_TRANSLITERATE_HIRAGANA:
299 case SID_TRANSLITERATE_KATAKANA:
309 OSL_FAIL(
"ScViewUtil::HideDisabledSlot - unknown slot ID" );
334 std::unique_ptr<SfxBoolItem> pItem;
335 bool bIsFullScreen =
false;
337 if (rBindings.
QueryState( SID_WIN_FULLSCREEN, pItem ) >= SfxItemState::DEFAULT)
338 bIsFullScreen = pItem->GetValue();
340 return bIsFullScreen;
349 SfxCallMode::RECORD, { &aItem });
void PutInOrder(T &nStart, T &nEnd)
const LanguageTag & GetLanguageTag() const
static const AllSettings & GetSettings()
LanguageType getLanguageType(bool bResolveSystem=true) const
ScRange MakeRange(const ScDocument &rDoc) const
const OUString & GetComment() const
ScBigRange & GetBigRange()
sal_uLong GetActionNumber() const
virtual OUString GetDescription(ScDocument &rDoc, bool bSplitRange=false, bool bWarning=true) const
SC_DLLPUBLIC DateTime GetDateTime() const
const OUString & GetUser() const
SC_DLLPUBLIC bool IsAccepted() const
sal_uLong GetLastSavedActionNumber() const
const ScRangeList & GetTheRangeList() const
bool IsValidComment(const OUString *pCommentStr) const
const DateTime & GetTheFirstDateTime() const
SvxRedlinDateMode GetTheDateMode() const
bool IsShowRejected() const
bool HasActionRange() const
const DateTime & GetTheLastDateTime() const
bool IsShowAccepted() const
const OUString & GetTheAuthorToShow() const
void GetTheActionRange(sal_uLong &nFirst, sal_uLong &nLast) const
SCROW CountNonFilteredRows(SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
bool ValidRow(SCROW nRow) const
bool HasFilteredRows(SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
SC_DLLPUBLIC bool RowFiltered(SCROW nRow, SCTAB nTab, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
SC_DLLPUBLIC SCROW MaxRow() const
SCROW LastNonFilteredRow(SCROW nStartRow, SCROW nEndRow, SCTAB nTab) const
SC_DLLPUBLIC void GetLanguage(LanguageType &rLatin, LanguageType &rCjk, LanguageType &rCtl) const
SC_DLLPUBLIC SvtScriptType GetScriptType(SCCOL nCol, SCROW nRow, SCTAB nTab, const ScRefCellValue *pCell=nullptr)
ScChangeTrack * GetChangeTrack() const
SC_DLLPUBLIC const SfxPoolItem * GetAttr(SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt16 nWhich) const
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
const ScRange & GetMultiMarkArea() const
bool HasAnyMultiMarks() const
void SetMultiMarkArea(const ScRange &rRange, bool bMark=true, bool bSetupMulti=false)
bool Intersects(const ScRange &) const
bool GetDiff(SCCOL &rX1, SCROW &rY1, SCCOL &rX2, SCROW &rY2)
void SetNew(SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2)
ScUpdateRect(SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2)
static void SetFullScreen(const SfxViewShell &rViewShell, bool bSet)
Enters or leaves full screen mode at the passed view shell.
static TransliterationFlags GetTransliterationType(sal_uInt16 nSlotID)
static LanguageType GetEffLanguage(ScDocument &rDoc, const ScAddress &rPos)
static void UnmarkFiltered(ScMarkData &rMark, const ScDocument &rDoc)
static void ExecuteCharMap(const SvxFontItem &rOldFont, const ScTabViewShell &rShell)
static bool FitToUnfilteredRows(ScRange &rRange, const ScDocument &rDoc, size_t nRows)
Fit a range to cover nRows number of unfiltered rows.
static bool HasFiltered(const ScRange &rRange, const ScDocument &rDoc)
static bool IsActionShown(const ScChangeAction &rAction, const ScChangeViewSettings &rSettings, ScDocument &rDocument)
static bool IsFullScreen(const SfxViewShell &rViewShell)
Returns true, if the passed view shell is in full screen mode.
static void HideDisabledSlot(SfxItemSet &rSet, SfxBindings &rBindings, sal_uInt16 nSlotId)
static void PutItemScript(SfxItemSet &rShellSet, const SfxItemSet &rCoreSet, sal_uInt16 nWhichId, SvtScriptType nScript)
void SetVisibleState(sal_uInt16 nId, bool bShow)
SfxItemState QueryState(sal_uInt16 nSID, std::unique_ptr< SfxPoolItem > &rpState)
const SfxPoolItem * ExecuteList(sal_uInt16 nSlot, SfxCallMode nCall, std::initializer_list< SfxPoolItem const * > args, std::initializer_list< SfxPoolItem const * > internalargs=std::initializer_list< SfxPoolItem const * >())
const css::uno::Reference< css::frame::XFrame > & GetFrameInterface() const
sal_uInt16 GetWhich(sal_uInt16 nSlot, bool bDeep=true) const
sal_uInt16 GetSlotId(sal_uInt16 nWhich) const
SfxItemPool * GetPool() const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
void DisableItem(sal_uInt16 nWhich)
void InvalidateItem(sal_uInt16 nWhich)
std::unique_ptr< SfxPoolItem > CloneSetWhich(sal_uInt16 nNewWhich) const
SfxItemPool & GetPool() const
SfxDispatcher * GetDispatcher() const
SfxBindings & GetBindings()
SfxFrame & GetFrame() const
virtual SfxObjectShell * GetObjectShell() override
weld::Window * GetFrameWeld() const
SfxViewFrame & GetViewFrame() const
static bool IsCTLFontEnabled()
virtual VclPtr< SfxAbstractDialog > CreateCharMapDialog(weld::Window *pParent, const SfxItemSet &rAttr, const css::uno::Reference< css::frame::XFrame > &rFrame)=0
static SvxAbstractDialogFactory * Create()
FontFamily GetFamily() const
FontPitch GetPitch() const
const OUString & GetStyleName() const
rtl_TextEncoding GetCharSet() const
const OUString & GetFamilyName() const
const SfxPoolItem * GetItemOfScript(SvtScriptType nScript) const
#define LANGUAGE_DONTKNOW
#define LANGUAGE_ENGLISH_US
bool IsChangeCaseMapEnabled()
constexpr TypedWhichId< SvxLanguageItem > ATTR_CTL_FONT_LANGUAGE(120)
constexpr TypedWhichId< SvxLanguageItem > ATTR_FONT_LANGUAGE(110)
constexpr TypedWhichId< SvxLanguageItem > ATTR_CJK_FONT_LANGUAGE(115)
Reference< XFrame > xFrame