22 #if !defined(VCL_DLLIMPLEMENTATION) && !defined(TOOLKIT_DLLIMPLEMENTATION) && !defined(VCL_INTERNALS)
23 #error "don't use this in new code"
31 #include <rtl/ustrbuf.hxx>
37 #include <com/sun/star/uno/Reference.h>
41 class XExtendedInputSequenceChecker;
51 #define EDIT_NOLIMIT SAL_MAX_INT32
60 std::unique_ptr<DDInfo, o3tl::default_delete<DDInfo>>
mpDDInfo;
73 bool mbInternModified:1,
76 mbClickedInSelection:1,
79 mbForceControlBackground:1,
87 css::uno::Reference<css::i18n::XExtendedInputSequenceChecker>
mxISC;
89 SAL_DLLPRIVATE
bool ImplTruncateToMaxLen( OUString&, sal_Int32 nSelectionLen )
const;
90 SAL_DLLPRIVATE
void ImplInitEditData();
91 SAL_DLLPRIVATE OUString ImplGetText()
const;
93 SAL_DLLPRIVATE
void ImplInvalidateOrRepaint();
95 SAL_DLLPRIVATE
void ImplSetText(
const OUString& rStr,
const Selection* pNewSelection );
96 SAL_DLLPRIVATE
void ImplInsertText(
const OUString& rStr,
const Selection* pNewSelection =
nullptr,
bool bIsUserInput =
false );
97 SAL_DLLPRIVATE
static OUString ImplGetValidString(
const OUString& rString );
100 SAL_DLLPRIVATE
void ImplShowCursor(
bool bOnlyIfVisible =
true );
101 SAL_DLLPRIVATE
void ImplAlign();
102 SAL_DLLPRIVATE
void ImplAlignAndPaint();
103 SAL_DLLPRIVATE sal_Int32 ImplGetCharPos(
const Point& rWindowPos )
const;
104 SAL_DLLPRIVATE
void ImplSetCursorPos( sal_Int32 nChar,
bool bSelect );
105 SAL_DLLPRIVATE
void ImplShowDDCursor();
106 SAL_DLLPRIVATE
void ImplHideDDCursor();
107 SAL_DLLPRIVATE
bool ImplHandleKeyEvent(
const KeyEvent& rKEvt );
108 SAL_DLLPRIVATE
void ImplCopyToSelectionClipboard();
109 SAL_DLLPRIVATE
void ImplCopy(css::uno::Reference<css::datatransfer::clipboard::XClipboard>
const & rxClipboard);
110 SAL_DLLPRIVATE
void ImplPaste(css::uno::Reference<css::datatransfer::clipboard::XClipboard>
const & rxClipboard);
111 SAL_DLLPRIVATE
tools::Long ImplGetTextYPosition()
const;
112 SAL_DLLPRIVATE css::uno::Reference<css::i18n::XExtendedInputSequenceChecker>
const& ImplGetInputSequenceChecker();
113 SAL_DLLPRIVATE css::uno::Reference<css::i18n::XBreakIterator>
const& ImplGetBreakIterator();
114 SAL_DLLPRIVATE
void filterText();
121 SAL_DLLPRIVATE
void ImplSetSelection(
const Selection& rSelection,
bool bPaint =
true );
122 SAL_DLLPRIVATE
ControlType ImplGetNativeControlType()
const;
123 SAL_DLLPRIVATE
tools::Long ImplGetExtraXOffset()
const;
124 SAL_DLLPRIVATE
tools::Long ImplGetExtraYOffset()
const;
125 static SAL_DLLPRIVATE
void ImplInvalidateOutermostBorder(
vcl::Window* pWin );
127 css::uno::Reference<css::datatransfer::dnd::XDragSourceListener >
mxDnDListener;
134 virtual void dragDropEnd(
const css::datatransfer::dnd::DragSourceDropEvent& dsde)
override;
135 virtual void drop(
const css::datatransfer::dnd::DropTargetDropEvent& dtde)
override;
136 virtual void dragEnter(
const css::datatransfer::dnd::DropTargetDragEnterEvent& dtdee)
override;
137 virtual void dragExit(
const css::datatransfer::dnd::DropTargetEvent& dte)
override;
138 virtual void dragOver(
const css::datatransfer::dnd::DropTargetDragEvent& dtde)
override;
149 virtual ~
Edit()
override;
150 virtual void dispose()
override;
156 virtual void Resize()
override;
167 static bool IsCharInput(
const KeyEvent& rKEvt );
169 virtual void SetModifyFlag();
174 virtual void SetReadOnly(
bool bReadOnly =
true );
177 void SetInsertMode(
bool bInsert );
178 bool IsInsertMode()
const;
180 virtual void SetMaxTextLen( sal_Int32 nMaxLen );
183 void SetWidthInChars(sal_Int32 nWidthInChars);
186 void setMaxWidthChars(sal_Int32 nWidth);
188 virtual void SetSelection(
const Selection& rSelection );
191 virtual void ReplaceSelected(
const OUString& rStr );
192 virtual void DeleteSelected();
193 virtual OUString GetSelected()
const;
197 virtual void Paste();
200 virtual void SetText(
const OUString& rStr )
override;
201 virtual void SetText(
const OUString& rStr,
const Selection& rNewSelection );
202 virtual OUString
GetText()
const override;
204 void SetCursorAtLast();
206 void SetPlaceholderText(
const OUString& rStr );
216 void SetSubEdit(
Edit* pEdit );
222 virtual Size CalcMinimumSize()
const;
223 virtual Size CalcMinimumSizeForText(
const OUString &rString)
const;
225 virtual Size CalcSize(sal_Int32 nChars)
const;
226 sal_Int32 GetMaxVisChars()
const;
229 static void ShowTruncationWarning(
weld::Widget* pParent);
236 virtual bool set_property(
const OString &rKey,
const OUString &rValue)
override;
void SetActivateHdl(const Link< Edit &, bool > &rLink)
sal_Int32 mnMaxWidthChars
virtual FactoryFunction GetUITestFactory() const
sal_Int32 GetWidthInChars() const
void GetSelection(struct ESelection &rSel, SvxTextForwarder const *pForwarder)
Link< Edit &, void > maModifyHdl
virtual void MouseButtonDown(const MouseEvent &rMEvt)
sal_Unicode GetEchoChar() const
Edit * GetSubEdit() const
virtual void dragExit(const css::datatransfer::dnd::DropTargetEvent &dte)
virtual void StateChanged(StateChangedType nStateChange) override
OUString maPlaceholderText
virtual void FillLayoutData() const
std::function< std::unique_ptr< UIObject >vcl::Window *)> FactoryFunction
void SetForceControlBackground(bool b)
css::uno::Reference< css::datatransfer::dnd::XDragSourceListener > mxDnDListener
virtual const Link< Edit &, void > & GetModifyHdl() const
virtual void ApplySettings(vcl::RenderContext &rRenderContext) override
virtual void MouseButtonUp(const MouseEvent &rMEvt)
virtual void dragOver(const css::datatransfer::dnd::DropTargetDragEvent &dtde)
virtual void SetModifyHdl(const Link< Edit &, void > &rLink)
virtual void DumpAsPropertyTree(tools::JsonWriter &)
Dumps itself and potentially its children to a property tree, to be written easily to JSON...
Creates a hierarchy of vcl::Windows (widgets) from a .ui file for dialogs, sidebar, etc.
virtual void Tracking(const TrackingEvent &rTEvt)
virtual sal_Int32 GetMaxTextLen() const
css::uno::Reference< css::i18n::XBreakIterator > mxBreakIterator
const Link< Edit &, void > & GetAutocompleteHdl() const
virtual OUString GetText() const
virtual Selection GetSurroundingTextSelection() const
std::unique_ptr< Impl_IMEInfos > mpIMEInfos
virtual bool DeleteSurroundingText(const Selection &rSelection)
virtual OUString GetSurroundingText() const
virtual void dragDropEnd(const css::datatransfer::dnd::DragSourceDropEvent &dsde)
virtual void SetText(const OUString &rStr) override
std::unique_ptr< VclBuilder > mpUIBuilder
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
virtual void Draw(::OutputDevice *pDev, const Point &rPos, DrawFlags nFlags)
void SetTextFilter(TextFilter *pFilter)
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects...
virtual bool set_property(const OString &rKey, const OUString &rValue)
virtual void KeyInput(const KeyEvent &rKEvt)
SAL_DLLPRIVATE void ImplInit(vcl::Window *pParent, WinBits nStyle, SystemParentData *pSystemParentData)
virtual Size GetOptimalSize() const override
std::unique_ptr< DDInfo, o3tl::default_delete< DDInfo > > mpDDInfo
css::uno::Reference< css::i18n::XExtendedInputSequenceChecker > mxISC
Link< Edit &, void > maAutocompleteHdl
virtual void Resize() override
Link< Edit &, bool > maActivateHdl
const OUString & GetSavedValue() const
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect)
virtual void dragGestureRecognized(const css::datatransfer::dnd::DragGestureEvent &dge)
void SetAutocompleteHdl(const Link< Edit &, void > &rLink)
virtual void dragEnter(const css::datatransfer::dnd::DropTargetDragEnterEvent &dtdee)
virtual bool IsReadOnly() const
virtual void drop(const css::datatransfer::dnd::DropTargetDropEvent &dtde)
virtual void Command(const CommandEvent &rCEvt)
TextFilter * mpFilterText
virtual void DataChanged(const DataChangedEvent &rDCEvt)