summaryrefslogtreecommitdiffstats
path: root/include/vcl/edit.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'include/vcl/edit.hxx')
-rw-r--r--include/vcl/edit.hxx13
1 files changed, 8 insertions, 5 deletions
diff --git a/include/vcl/edit.hxx b/include/vcl/edit.hxx
index ec05923011b8..5a28ecb58360 100644
--- a/include/vcl/edit.hxx
+++ b/include/vcl/edit.hxx
@@ -28,6 +28,7 @@
#include <vcl/ctrl.hxx>
#include <vcl/menu.hxx>
#include <vcl/dndhelp.hxx>
+#include <vcl/vclref.hxx>
#include <com/sun/star/uno/Reference.h>
namespace com {
@@ -68,7 +69,7 @@ enum AutocompleteAction{ AUTOCOMPLETE_KEYINPUT, AUTOCOMPLETE_TABFORWARD, AUTOCOM
class VCL_DLLPUBLIC Edit : public Control, public vcl::unohelper::DragAndDropClient
{
private:
- Edit* mpSubEdit;
+ VclReference<Edit> mpSubEdit;
Timer* mpUpdateDataTimer;
TextFilter* mpFilterText;
DDInfo* mpDDInfo;
@@ -85,7 +86,7 @@ private:
sal_Int32 mnMaxWidthChars;
AutocompleteAction meAutocompleteAction;
sal_Unicode mcEchoChar;
- bool mbModified:1,
+ bool mbModified:1,
mbInternModified:1,
mbReadOnly:1,
mbInsertMode:1,
@@ -164,6 +165,7 @@ public:
Edit( vcl::Window* pParent, WinBits nStyle = WB_BORDER );
Edit( vcl::Window* pParent, const ResId& rResId );
virtual ~Edit();
+ virtual void dispose() SAL_OVERRIDE;
virtual void MouseButtonDown( const MouseEvent& rMEvt ) SAL_OVERRIDE;
virtual void MouseButtonUp( const MouseEvent& rMEvt ) SAL_OVERRIDE;
@@ -186,7 +188,7 @@ public:
virtual void SetModifyFlag();
virtual void ClearModifyFlag();
- virtual bool IsModified() const { return mpSubEdit ? mpSubEdit->mbModified : mbModified; }
+ virtual bool IsModified() const { return mpSubEdit.get() ? mpSubEdit->mbModified : mbModified; }
virtual void EnableUpdateData( sal_uLong nTimeout = EDIT_UPDATEDATA_TIMEOUT );
virtual void DisableUpdateData() { delete mpUpdateDataTimer; mpUpdateDataTimer = NULL; }
@@ -235,8 +237,8 @@ public:
virtual const Link& GetModifyHdl() const { return maModifyHdl; }
virtual void SetUpdateDataHdl( const Link& rLink ) { maUpdateDataHdl = rLink; }
- void SetSubEdit( Edit* pEdit );
- Edit* GetSubEdit() const { return mpSubEdit; }
+ void SetSubEdit( VclReference<Edit> pEdit );
+ Edit* GetSubEdit() const { return mpSubEdit.get(); }
boost::signals2::signal< void ( Edit* ) > autocompleteSignal;
AutocompleteAction GetAutocompleteAction() const { return meAutocompleteAction; }
@@ -268,6 +270,7 @@ public:
// global style settings (needed by sc's inputwin.cxx)
static Size GetMinimumEditSize();
};
+typedef VclReference<Edit> EditRef;
#endif // INCLUDED_VCL_EDIT_HXX