30 #include <editeng/editeng.hxx>
66 #include <document.hxx>
70 #include <globstr.hrc>
74 #define ShellClass_ScEditShell
75 #include <scslots.hxx>
88 GetStaticInterface()->RegisterPopupMenu(
"celledit");
94 bPastePossible (false),
138 nViewShellId = pViewSh->GetViewShellId();
151 OUString aString( cChar );
161 sal_uInt16 nSlot = rReq.
GetSlot();
165 OSL_ENSURE(pHdl,
"no ScInputHandler");
170 OSL_ENSURE(pTableView,
"no EditView :-(");
183 bool bSetSelIsRef =
false;
184 bool bSetModified =
true;
188 case SID_ATTR_INSERT:
189 case FID_INS_CELL_CONTENTS:
199 OUString aReplaceText;
203 if (!aReplaceText.isEmpty())
210 bSetModified =
false;
225 pTableView->
SetControlWord(nControl | EVControlBits::SINGLELINEPASTE);
239 case SID_CELL_FORMAT_RESET:
245 case SID_CLIPBOARD_FORMAT_ITEMS:
249 if ( pReqArgs && pReqArgs->
GetItemState(nSlot,
true, &pItem) == SfxItemState::SET )
250 if (
auto pIntItem = dynamic_cast<const SfxUInt32Item*>( pItem))
251 nFormat = static_cast<SotClipboardFormatId>(pIntItem->GetValue());
253 if ( nFormat != SotClipboardFormatId::NONE )
255 if (SotClipboardFormatId::STRING == nFormat)
266 case SID_PASTE_SPECIAL:
284 if (!
SC_MOD()->IsInputMode())
287 if (nFormat != SotClipboardFormatId::NONE)
289 if (SotClipboardFormatId::STRING == nFormat)
299 pViewWindow->GrabFocus();
303 case SID_PASTE_UNFORMATTED:
311 pViewWindow->GrabFocus();
326 rBindings.
Invalidate( SID_ATTR_CHAR_FONTHEIGHT );
328 rBindings.
Invalidate( SID_ATTR_CHAR_POSTURE );
329 rBindings.
Invalidate( SID_ATTR_CHAR_UNDERLINE );
330 rBindings.
Invalidate( SID_ATTR_CHAR_STRIKEOUT );
331 rBindings.
Invalidate( SID_ATTR_CHAR_SHADOWED );
332 rBindings.
Invalidate( SID_ATTR_CHAR_KERNING );
339 case SID_UNICODE_NOTATION_TOGGLE:
344 OUString sInput = pEngine->
GetText();
346 if( aSel.HasRange() )
349 if( aSel.nStartPos > aSel.nEndPos )
350 aSel.nEndPos = aSel.nStartPos;
353 sal_Int32 nUtf16Pos=0;
354 while( (nUtf16Pos < sInput.getLength()) && (nUtf16Pos < aSel.nEndPos) )
356 sInput.iterateCodePoints(&nUtf16Pos);
357 if( nUtf16Pos > aSel.nEndPos )
358 aSel.nEndPos = nUtf16Pos;
362 while( nUtf16Pos && aToggle.
AllowMoreInput( sInput[nUtf16Pos-1]) )
365 if( !sReplacement.isEmpty() )
390 std::shared_ptr<SvxFontItem> aNewItem(std::make_shared<SvxFontItem>(
EE_CHAR_FONTINFO));
405 const OUString& aFontName(pFontItem->
GetValue());
408 aNewItem = std::make_shared<SvxFontItem>(
409 aFont.GetFamilyType(), aFont.GetFamilyName(),
410 aFont.GetStyleName(), aFont.GetPitch(),
415 aNewItem.reset(rItem.
Clone());
426 if (!
SC_MOD()->IsInputMode())
430 if ( !aString.isEmpty() )
436 nSetScript = SvtScriptType::LATIN | SvtScriptType::ASIAN | SvtScriptType::COMPLEX;
442 aSetItem.PutItemForScriptType( nSetScript, *aNewItem );
443 aSet.Put( aSetItem.GetItemSet(), false );
452 SfxStringItem aFontItem( SID_ATTR_SPECIALCHAR, aNewItem->GetFamilyName() );
460 pViewWindow->GrabFocus();
464 case FID_INSERT_NAME:
473 if (!
SC_MOD()->IsInputMode())
482 for (
const auto& rName : aNames)
484 aBuffer.append(rName).append(
' ');
488 pTopView->
InsertText(aBuffer.makeStringAndClear());
494 pViewWindow->GrabFocus();
498 case SID_CHAR_DLG_EFFECT:
509 if (nSlot == SID_CHAR_DLG_EFFECT)
513 short nRet = pDlg->Execute();
517 if (!
SC_MOD()->IsInputMode())
532 OUString aText = pEngine->
GetText();
538 if (aFinder.GetFound())
540 const OUString& aNew = aFinder.GetText();
541 ESelection aNewSel( 0,aFinder.GetSelStart(), 0,aFinder.GetSelEnd() );
557 case SID_HYPERLINK_SETLINK:
561 if ( pReqArgs->
GetItemState( SID_HYPERLINK_SETLINK,
true, &pItem ) == SfxItemState::SET )
564 const OUString& rName = pHyper->
GetName();
565 const OUString& rURL = pHyper->
GetURL();
585 SvxURLField aURLField( rURL, rName, SvxURLFormat::Repr );
610 InsertURL( rName, rURL, rTarget, static_cast<sal_uInt16>(eMode) );
620 case SID_OPEN_HYPERLINK:
627 case SID_EDIT_HYPERLINK:
632 SID_HYPERLINK_DIALOG);
635 case SID_COPY_HYPERLINK_LOCATION:
638 if (
const SvxURLField* pURLField = dynamic_cast<const SvxURLField*>(pField))
640 uno::Reference<datatransfer::clipboard::XClipboard> xClipboard =
GetSystemClipboard();
646 case SID_REMOVE_HYPERLINK:
652 case FN_INSERT_SOFT_HYPHEN:
655 case FN_INSERT_HARDHYPHEN:
658 case FN_INSERT_HARD_SPACE:
661 case FN_INSERT_NNBSP:
670 case SID_INSERT_ZWSP:
673 case SID_INSERT_ZWNBSP:
676 case SID_INSERT_FIELD_SHEET:
683 case SID_INSERT_FIELD_TITLE:
690 case SID_INSERT_FIELD_DATE_VAR:
735 case SID_ATTR_INSERT:
754 case SID_HYPERLINK_GETLINK:
764 else if ( pActiveView )
768 sReturn = sReturn.copy(0, std::min(sReturn.getLength(),
static_cast<sal_Int32
>(255)));
771 rSet.
Put(aHLinkItem);
775 case SID_OPEN_HYPERLINK:
776 case SID_EDIT_HYPERLINK:
777 case SID_COPY_HYPERLINK_LOCATION:
778 case SID_REMOVE_HYPERLINK:
785 case SID_TRANSLITERATE_HALFWIDTH:
786 case SID_TRANSLITERATE_FULLWIDTH:
787 case SID_TRANSLITERATE_HIRAGANA:
788 case SID_TRANSLITERATE_KATAKANA:
798 bool bIsLookUpWord = pActiveView &&
804 if (!bIsLookUpWord || !bCanDoThesaurus)
808 case SID_INSERT_FIELD_SHEET:
809 case SID_INSERT_FIELD_TITLE:
810 case SID_INSERT_FIELD_DATE_VAR:
834 if (
auto pURLField = dynamic_cast<const SvxURLField*>(pField))
842 bPastePossible = ( pDataHelper->HasFormat( SotClipboardFormatId::STRING )
843 || pDataHelper->HasFormat( SotClipboardFormatId::RTF )
844 || pDataHelper->HasFormat( SotClipboardFormatId::RICHTEXT ));
849 rBindings.
Invalidate( SID_PASTE_UNFORMATTED );
850 rBindings.
Invalidate( SID_CLIPBOARD_FORMAT_ITEMS );
867 || aDataHelper.
HasFormat( SotClipboardFormatId::RTF )
868 || aDataHelper.
HasFormat( SotClipboardFormatId::RICHTEXT ) );
878 case SID_PASTE_SPECIAL:
879 case SID_PASTE_UNFORMATTED:
883 case SID_CLIPBOARD_FORMAT_ITEMS:
890 if ( aDataHelper.
HasFormat( SotClipboardFormatId::STRING ) )
892 if ( aDataHelper.
HasFormat( SotClipboardFormatId::RTF ) )
895 rSet.
Put( aFormats );
907 rBindings.
Invalidate( SID_ATTR_CHAR_UNDERLINE );
919 sal_uInt16 nSlot = rReq.
GetSlot();
923 case SID_ATTR_CHAR_FONTHEIGHT:
924 case SID_ATTR_CHAR_FONT:
929 SvtScriptType nScript = SvtScriptType::LATIN | SvtScriptType::ASIAN | SvtScriptType::COMPLEX;
930 if (nSlot == SID_ATTR_CHAR_FONT)
938 sal_uInt16 nWhich = rPool.
GetWhich( nSlot );
941 aSet.Put( aSetItem.GetItemSet(), false );
946 case SID_ATTR_CHAR_COLOR:
952 if ( pArgs && SfxItemState::SET == pArgs->
GetItemState( SID_ATTR_COLOR_STR,
false, &pColorStringItem ) )
956 if ( sColor ==
"transparent" )
967 rBindings.Invalidate( nSlot );
974 case SID_ATTR_CHAR_WEIGHT:
977 SvtScriptType nScript = SvtScriptType::LATIN | SvtScriptType::ASIAN | SvtScriptType::COMPLEX;
985 if ( pCore && static_cast<const SvxWeightItem*>(pCore)->GetWeight() >
WEIGHT_NORMAL )
991 aSet.Put( aSetItem.GetItemSet(), false );
993 rBindings.Invalidate( nSlot );
997 case SID_ATTR_CHAR_POSTURE:
1000 SvtScriptType nScript = SvtScriptType::LATIN | SvtScriptType::ASIAN | SvtScriptType::COMPLEX;
1014 aSet.Put( aSetItem.GetItemSet(), false );
1016 rBindings.Invalidate( nSlot );
1020 case SID_ULINE_VAL_NONE:
1025 case SID_ATTR_CHAR_UNDERLINE:
1026 case SID_ULINE_VAL_SINGLE:
1027 case SID_ULINE_VAL_DOUBLE:
1028 case SID_ULINE_VAL_DOTTED:
1034 case SID_ATTR_CHAR_UNDERLINE:
1045 case SID_ULINE_VAL_SINGLE:
1048 case SID_ULINE_VAL_DOUBLE:
1051 case SID_ULINE_VAL_DOTTED:
1060 case SID_ATTR_CHAR_OVERLINE:
1065 rBindings.Invalidate( nSlot );
1069 case SID_ATTR_CHAR_STRIKEOUT:
1073 rBindings.Invalidate( nSlot );
1077 case SID_ATTR_CHAR_SHADOWED:
1081 rBindings.Invalidate( nSlot );
1085 case SID_ATTR_CHAR_CONTOUR:
1089 rBindings.Invalidate( nSlot );
1093 case SID_SET_SUPER_SCRIPT:
1097 SvxEscapement::Off : SvxEscapement::Superscript;
1099 rBindings.Invalidate( nSlot );
1102 case SID_SET_SUB_SCRIPT:
1106 SvxEscapement::Off : SvxEscapement::Subscript;
1108 rBindings.Invalidate( nSlot );
1111 case SID_ATTR_CHAR_KERNING:
1116 rBindings.Invalidate( nSlot );
1121 case SID_GROW_FONT_SIZE:
1122 case SID_SHRINK_FONT_SIZE:
1128 rBindings.Invalidate( SID_ATTR_CHAR_FONTHEIGHT );
1159 rSet.
Put( aAttribs );
1187 if ( eState == SfxItemState::DONTCARE )
1209 rSet.
Put(
SfxBoolItem(SID_SET_SUPER_SCRIPT, eEsc == SvxEscapement::Superscript));
1210 rSet.
Put(
SfxBoolItem(SID_SET_SUB_SCRIPT, eEsc == SvxEscapement::Subscript));
1216 if ( eState == SfxItemState::DONTCARE )
1224 OUString aStrSelection;
1244 return aStrSelection;
1252 OSL_ENSURE(pHdl,
"no ScInputHandler");
1255 OSL_ENSURE(pTableView,
"no EditView");
1260 sal_uInt16 nSlot = rReq.
GetSlot();
1266 bool bIsUndo = ( nSlot == SID_UNDO );
1270 if ( pReqArgs && pReqArgs->
GetItemState( nSlot,
true, &pItem ) == SfxItemState::SET )
1271 nCount = static_cast<const SfxUInt16Item*>(pItem)->GetValue();
1273 for (sal_uInt16
i=0;
i<nCount;
i++)
1315 OSL_ENSURE(pHdl,
"no ScInputHandler");
1330 if ( nType == TransliterationFlags::NONE )
1334 assert(pHdl &&
"no ScInputHandler");
1338 assert(pTableView &&
"no EditView");
OString stripEnd(const OString &rIn, char c)
void SetURL(const OUString &rURL)
SfxViewFrame * GetViewFrame() const
#define LINK(Instance, Class, Member)
ScInputHandler * GetMyInputHdl()
void SetControlWord(EVControlBits nWord)
OUString GetText(LineEnd eEnd=LINEEND_LF) const
static void CopyStringTo(const OUString &rContent, const css::uno::Reference< css::datatransfer::clipboard::XClipboard > &rxClipboard, const vcl::ILibreOfficeKitNotifier *pNotifier=nullptr)
constexpr TypedWhichId< SvxFontItem > EE_CHAR_FONTINFO_CJK(EE_CHAR_START+17)
void SetTargetFrame(const OUString &rFrm)
static void HideDisabledSlot(SfxItemSet &rSet, SfxBindings &rBindings, sal_uInt16 nSlotId)
ScDocShell * GetDocShell() const
OUString GetWord(sal_Int32 nPara, sal_Int32 nIndex)
ScEditShell(EditView *pView, ScViewData &rData)
const SvxURLField * GetURLField()
constexpr TypedWhichId< SvxKerningItem > EE_CHAR_KERNING(EE_CHAR_START+12)
static void lclInsertCharacter(EditView *pTableView, EditView *pTopView, sal_Unicode cChar)
void PutItemForScriptType(SvtScriptType nScriptType, const SfxPoolItem &rItem)
void Execute(SfxRequest &rReq)
#define SFX_IMPL_INTERFACE(Class, SuperClass)
const sal_Unicode CHAR_ZWSP
static void PutItemScript(SfxItemSet &rShellSet, const SfxItemSet &rCoreSet, sal_uInt16 nWhichId, SvtScriptType nScript)
const SfxItemSet & GetEmptyItemSet() const
virtual const SfxItemSet * GetOutputItemSet() const =0
void SetUpdateMode(bool bUpdate, bool bRestoring=false)
const sal_Unicode CHAR_NNBSP
const sal_Unicode CHAR_ZWNBSP
const OUString & GetTargetFrame() const
SfxDispatcher * GetDispatcher()
static SvxAbstractDialogFactory * Create()
constexpr::Color COL_TRANSPARENT(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
virtual VclPtr< AbstractScNamePasteDlg > CreateScNamePasteDlg(weld::Window *pParent, ScDocShell *pShell)=0
OUString ReplacementString()
constexpr TypedWhichId< SvxPostureItem > EE_CHAR_ITALIC(EE_CHAR_START+7)
static void OpenURL(const OUString &rURL, const OUString &rTarget, bool bIgnoreSettings=false)
Open the specified URL.
void InvalidateItem(sal_uInt16 nWhich)
const SfxItemSet & GetEmptyItemSet() const
bool HasEditView(ScSplitPos eWhich) const
css::uno::Reference< css::datatransfer::clipboard::XClipboard > VCL_DLLPUBLIC GetSystemClipboard()
ScSplitPos GetActivePart() const
void Done(bool bRemove=false)
ScDocument & GetDocument() const
void ChangeFontSize(bool bGrow, const FontList *pList)
void ToggleRel(sal_Int32 nStartPos, sal_Int32 nEndPos)
static bool HasThesaurusLanguage(LanguageType nLang)
static SfxObjectShell * Current()
constexpr TypedWhichId< SvxFontItem > ATTR_FONT(100)
virtual SfxUndoManager * GetUndoManager()
const SfxItemSet * GetArgs() const
void Invalidate(sal_uInt16 nId)
void SetWordDelimiters(const OUString &rDelimiters)
virtual short Execute()=0
bool HasStringWeakCharacters(const OUString &rString)
void GetUndoState(SfxItemSet &rSet)
static void lcl_RemoveAttribs(EditView &rEditView)
bool HasFormat(SotClipboardFormatId nFormat) const
const OUString & GetTargetFrame() const
void SetEditView(EditView *pView)
virtual SvxFontItem * Clone(SfxItemPool *pPool=nullptr) const override
SC_DLLPUBLIC formula::FormulaGrammar::AddressConvention GetAddressConvention() const
constexpr TypedWhichId< SvxFontHeightItem > EE_CHAR_FONTHEIGHT(EE_CHAR_START+2)
const OUString & GetWordDelimiters() const
SC_DLLPUBLIC SvtScriptType GetStringScriptType(const OUString &rString)
SvtScriptType GetSelectedScriptType() const
OUString GetSelectionText(bool bWholeWord)
void SetTargetFrame(const OUString &rTarget)
void SetText(const OUString &rStr)
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
constexpr TypedWhichId< SvxFontItem > EE_CHAR_FONTINFO_CTL(EE_CHAR_START+18)
static void lcl_DisableAll(SfxItemSet &rSet)
void TransliterateText(TransliterationFlags nTransliterationMode)
virtual VclPtr< SfxAbstractTabDialog > CreateScCharDlg(weld::Window *pParent, const SfxItemSet *pAttr, const SfxObjectShell *pDocShell, bool bDrawText)=0
static SfxViewShell * Current()
static TransferableDataHelper CreateFromSystemClipboard(vcl::Window *pWindow)
void SetUndoManager(SfxUndoManager *pNewUndoMgr)
static SvtScriptType GetScriptTypeOfLanguage(LanguageType nLang)
virtual size_t GetRedoActionCount(bool const i_currentLevel=CurrentLevel) const
constexpr TypedWhichId< SvxContourItem > EE_CHAR_OUTLINE(EE_CHAR_START+8)
constexpr TypedWhichId< SvxWeightItem > EE_CHAR_WEIGHT(EE_CHAR_START+4)
SfxItemPool & GetPool() const
const sal_Unicode CHAR_SHY
ScTabViewShell * GetViewShell() const
void InsertField(const SvxFieldItem &rFld)
constexpr TypedWhichId< SvxShadowedItem > EE_CHAR_SHADOW(EE_CHAR_START+9)
const SfxPoolItem * GetItem(sal_uInt16 nSlotId) const
void SelectFieldAtCursor()
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
const OUString & GetURL() const
void ExecuteTrans(const SfxRequest &rReq)
const SvxFieldData * GetFieldAtCursor() 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)
OUString StringToReplace()
const sal_Unicode CHAR_RLM
sal_uInt32 GetTextLen() const
SfxBindings & GetBindings()
void SetAttribs(const SfxItemSet &rSet)
EditEngine * GetEditEngine() const
void GetClipState(SfxItemSet &rSet)
void RepeatDefaults()
Re-apply existing defaults if set, same as in SetText, but without EnableUndo/SetUpdateMode.
SfxUndoManager & GetUndoManager()
const OUString & GetValue() const
const T * GetArg(sal_uInt16 nSlotId) const
const sal_Unicode CHAR_NBSP
void SetPool(SfxItemPool *pNewPool)
void ExecuteAttr(SfxRequest &rReq)
OUString ScResId(const char *pId)
virtual void SetCurPageId(const OString &rName)=0
vcl::Window * GetWindow() const
virtual SotClipboardFormatId GetFormat(const TransferableDataHelper &aHelper)=0
ScGridWindow * GetActiveWin()
#define LANGUAGE_DONTKNOW
void RemoveAttribs(bool bRemoveParaAttribs=false, sal_uInt16 nWhich=0)
const OUString & GetRepresentation() const
void InsertText(const OUString &rNew, bool bSelect=false)
void SetName(const OUString &rName)
static void lcl_InvalidateUnder(SfxBindings &rBindings)
void SetName(const OUString &rName)
weld::Window * GetDialogParent()
const sal_Unicode CHAR_NBHY
virtual size_t GetUndoActionCount(bool const i_currentLevel=CurrentLevel) const
SfxItemPool * GetPool() const
static void RemoveURLField(EditView &pEditView)
sal_Int32 GetParagraphCount() const
void SetInsertMode(bool bInsert)
virtual void Insert(SotClipboardFormatId nFormat, const OUString &rFormatName)=0
const OUString & GetURL() const
ScAddress GetCurPos() const
FontLineStyle GetLineStyle() const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const sal_Unicode CHAR_LRM
sal_uInt16 GetSlot() const
static const OUString & GetContextName(const Context eContext)
constexpr TypedWhichId< SvxCrossedOutItem > EE_CHAR_STRIKEOUT(EE_CHAR_START+6)
static SC_DLLPUBLIC SvtScriptType GetDefaultScriptType()
std::unique_ptr< char[]> aBuffer
void GetAttrState(SfxItemSet &rSet)
bool EDITENG_DLLPUBLIC GetStatusValueForThesaurusFromContext(OUString &rStatusVal, LanguageType &rLang, const EditView &rEditView)
static ScTabViewShell * GetActiveViewShell()
void DisableItem(sal_uInt16 nWhich)
bool AllowMoreInput(sal_Unicode uChar)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
sal_uInt16 GetWhich(sal_uInt16 nSlot, bool bDeep=true) const
static TransliterationFlags GetTransliterationType(sal_uInt16 nSlotID)
IMPL_LINK(ScEditShell, ClipboardChanged, TransferableDataHelper *, pDataHelper, void)
constexpr TypedWhichId< SvxEscapementItem > EE_CHAR_ESCAPEMENT(EE_CHAR_START+10)
bool GetUpdateMode() const
static SC_DLLPUBLIC ScAbstractDialogFactory * Create()
constexpr TypedWhichId< SvxColorItem > EE_CHAR_COLOR(EE_CHAR_START+0)
virtual ~ScEditShell() override
constexpr TypedWhichId< SvxOverlineItem > EE_CHAR_OVERLINE(EE_CHAR_START+29)
void QuickSetAttribs(const SfxItemSet &rSet, const ESelection &rSel)
virtual void EnterListAction(const OUString &rComment, const OUString &rRepeatComment, sal_uInt16 nId, ViewShellId nViewShellId)
constexpr TypedWhichId< SvxFontItem > EE_CHAR_FONTINFO(EE_CHAR_START+1)
static void ExecuteCharMap(const SvxFontItem &rOldFont, SfxViewFrame &rFrame)
void SetSelection(const ESelection &rNewSel)
constexpr TypedWhichId< SvxUnderlineItem > EE_CHAR_UNDERLINE(EE_CHAR_START+5)
const OUString & GetName() const
SvxLinkInsertMode GetInsertMode() const
void InvalidateAll(bool bWithMsg)
rtl::Reference< TransferableClipboardListener > mxClipEvtLstnr
void AppendItem(const SfxPoolItem &)
SfxObjectShell * GetSfxDocShell() const
ESelection GetSelection() const
constexpr sal_uInt16 EE_FEATURE_FIELD(EE_FEATURE_NOTCONV+1)
const SfxPoolItem * Execute(sal_uInt16 nSlot, SfxCallMode nCall=SfxCallMode::SLOT, const SfxPoolItem **pArgs=nullptr, sal_uInt16 nModi=0, const SfxPoolItem **pInternalArgs=nullptr)
const FontList * GetFontList() const
OUString GetSelected() const
LanguageType GetInputLanguage() const
const css::uno::Reference< css::datatransfer::XTransferable > & GetTransferable() const
static bool IsCursorAtURLField(const EditView &pEditView)
void ExecuteUndo(const SfxRequest &rReq)
void SetContextName(const OUString &rsContextName)
void GetState(SfxItemSet &rSet)
const SfxPoolItem * GetItemOfScript(SvtScriptType nScript) const
virtual SfxObjectShell * GetObjectShell()
void EDITENG_DLLPUBLIC ReplaceTextWithSynonym(EditView &rEditView, const OUString &rSynonmText)
virtual std::vector< OUString > GetSelectedNames() const =0
EVControlBits GetControlWord() const
bool IsInsertMode() const