diff options
author | Noel Grandin <noel@peralex.com> | 2015-01-26 13:11:07 +0200 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2015-04-09 21:35:30 +0100 |
commit | 1139e549240e2a02962360aadca227753d73a78c (patch) | |
tree | 8ae4b59ca081f893400abc2960f0556517db2c21 /extensions/source/propctrlr/standardcontrol.cxx | |
parent | b53f7ee341765a7b052b98a58678df25c299c58a (diff) |
vcl: VclPtr conversion in extensions
Change-Id: Ie10e8fcb2bf413606063d4f1caab17bea1bb4d95
Diffstat (limited to 'extensions/source/propctrlr/standardcontrol.cxx')
-rw-r--r-- | extensions/source/propctrlr/standardcontrol.cxx | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/extensions/source/propctrlr/standardcontrol.cxx b/extensions/source/propctrlr/standardcontrol.cxx index bd923405eadd..c4b452c46cd0 100644 --- a/extensions/source/propctrlr/standardcontrol.cxx +++ b/extensions/source/propctrlr/standardcontrol.cxx @@ -959,14 +959,16 @@ namespace pcr class OMultilineFloatingEdit : public FloatingWindow { private: - MultiLineEdit m_aImplEdit; + VclPtr<MultiLineEdit> m_aImplEdit; protected: virtual void Resize() SAL_OVERRIDE; public: OMultilineFloatingEdit(vcl::Window* _pParen); - MultiLineEdit& getEdit() { return m_aImplEdit; } + virtual ~OMultilineFloatingEdit(); + virtual void dispose() SAL_OVERRIDE; + MultiLineEdit& getEdit() { return *m_aImplEdit.get(); } protected: virtual bool PreNotify(NotifyEvent& _rNEvt) SAL_OVERRIDE; @@ -975,15 +977,25 @@ namespace pcr OMultilineFloatingEdit::OMultilineFloatingEdit(vcl::Window* _pParent) :FloatingWindow(_pParent, WB_BORDER) - ,m_aImplEdit(this, WB_VSCROLL|WB_IGNORETAB|WB_NOBORDER) + ,m_aImplEdit(new MultiLineEdit(this, WB_VSCROLL|WB_IGNORETAB|WB_NOBORDER)) { - m_aImplEdit.Show(); + m_aImplEdit->Show(); } + OMultilineFloatingEdit::~OMultilineFloatingEdit() + { + dispose(); + } + + void OMultilineFloatingEdit::dispose() + { + m_aImplEdit.disposeAndClear(); + FloatingWindow::dispose(); + } void OMultilineFloatingEdit::Resize() { - m_aImplEdit.SetSizePixel(GetOutputSizePixel()); + m_aImplEdit->SetSizePixel(GetOutputSizePixel()); } @@ -1060,6 +1072,11 @@ namespace pcr DropDownEditControl::~DropDownEditControl() { + dispose(); + } + + void DropDownEditControl::dispose() + { { boost::scoped_ptr<vcl::Window> aTemp(m_pFloatingEdit); m_pFloatingEdit = NULL; @@ -1069,6 +1086,8 @@ namespace pcr boost::scoped_ptr<vcl::Window> aTemp(m_pDropdownButton); m_pDropdownButton = NULL; } + m_pImplEdit.disposeAndClear(); + DropDownEditControl_Base::dispose(); } |