diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-06-14 21:56:44 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-06-22 19:28:38 +0200 |
commit | 243b5b392906042ab03800e0b5765e6f3513372c (patch) | |
tree | d82300c65829578bddbb34e37e0fb08ac544d9aa /include/vcl | |
parent | 01cd1d68d96057624db38b9baaa6c6795353758d (diff) |
weld SpellDialog
a) use EditEngine instead of TextEngine as the former can be hosted in a
foreign widget
b) use a SfxGrabBagItem to hold the custom spellchecking info inside the
EditEngine
c) in longer paragraphs the current word is now auto-scrolled into view
d) rename Invalidate to InvalidateDialog
Change-Id: Ic6db019c32cdfd5f354c58ee7394fdaa040b86e1
Reviewed-on: https://gerrit.libreoffice.org/74535
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'include/vcl')
-rw-r--r-- | include/vcl/edit.hxx | 2 | ||||
-rw-r--r-- | include/vcl/weld.hxx | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/include/vcl/edit.hxx b/include/vcl/edit.hxx index caf759789bef..bc18f3a412e6 100644 --- a/include/vcl/edit.hxx +++ b/include/vcl/edit.hxx @@ -50,7 +50,7 @@ struct Impl_IMEInfos; #define EDIT_NOLIMIT SAL_MAX_INT32 #define EDIT_UPDATEDATA_TIMEOUT 350 -typedef OUString (*FncGetSpecialChars)( vcl::Window* pWin, const vcl::Font& rFont ); +typedef OUString (*FncGetSpecialChars)( weld::Widget* pWin, const vcl::Font& rFont ); class VCL_DLLPUBLIC TextFilter { diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx index 7393131fea14..35e645af2467 100644 --- a/include/vcl/weld.hxx +++ b/include/vcl/weld.hxx @@ -337,6 +337,9 @@ class VCL_DLLPUBLIC Window : virtual public Container { protected: Link<Widget&, bool> m_aHelpRequestHdl; + Link<Widget&, void> m_aTopLevelFocusChangedHdl; + + void signal_toplevel_focus_changed() { m_aTopLevelFocusChangedHdl.Call(*this); } public: virtual void set_title(const OUString& rTitle) = 0; @@ -367,6 +370,10 @@ public: virtual css::uno::Reference<css::awt::XWindow> GetXWindow() = 0; void connect_help(const Link<Widget&, bool>& rLink) { m_aHelpRequestHdl = rLink; } + virtual void connect_toplevel_focus_changed(const Link<Widget&, void>& rLink) + { + m_aTopLevelFocusChangedHdl = rLink; + } virtual SystemEnvData get_system_data() const = 0; @@ -1007,9 +1014,11 @@ public: virtual void insert_separator(int pos, const OUString& rId) = 0; void append_separator(const OUString& rId) { insert_separator(-1, rId); } virtual void remove_item(const OString& rId) = 0; + virtual void clear() = 0; virtual void set_item_sensitive(const OString& rIdent, bool bSensitive) = 0; virtual void set_item_active(const OString& rIdent, bool bActive) = 0; virtual void set_item_label(const OString& rIdent, const OUString& rLabel) = 0; + virtual OUString get_item_label(const OString& rIdent) const = 0; virtual void set_item_help_id(const OString& rIdent, const OString& rHelpId) = 0; virtual void set_item_visible(const OString& rIdent, bool bVisible) = 0; virtual OString get_item_help_id(const OString& rIdent) const = 0; @@ -1096,6 +1105,7 @@ public: virtual void set_max_length(int nChars) = 0; // nEndPos can be -1 in order to select all text virtual void select_region(int nStartPos, int nEndPos) = 0; + // returns true if the selection has nonzero length virtual bool get_selection_bounds(int& rStartPos, int& rEndPos) = 0; virtual void replace_selection(const OUString& rText) = 0; // nCursorPos can be -1 to set to the end |