summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/tabledesign/TableDesignView.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-01-16 15:29:28 +0200
committerMichael Meeks <michael.meeks@collabora.com>2015-04-09 21:34:32 +0100
commit97eacd1d5581395de8801e5ba962044132575218 (patch)
tree05d4996a45cfd479e16f8bfacf33d7b40b5d368b /dbaccess/source/ui/tabledesign/TableDesignView.cxx
parent7f7617765cf1f4a16022f47fedb018bf49802a08 (diff)
vcl: VclPtr conversion in dbaccess
Change-Id: I85fce0403121ffe55204d78445e4809960ec404a
Diffstat (limited to 'dbaccess/source/ui/tabledesign/TableDesignView.cxx')
-rw-r--r--dbaccess/source/ui/tabledesign/TableDesignView.cxx32
1 files changed, 22 insertions, 10 deletions
diff --git a/dbaccess/source/ui/tabledesign/TableDesignView.cxx b/dbaccess/source/ui/tabledesign/TableDesignView.cxx
index 996a84c0e162..9cf37d80df9e 100644
--- a/dbaccess/source/ui/tabledesign/TableDesignView.cxx
+++ b/dbaccess/source/ui/tabledesign/TableDesignView.cxx
@@ -42,7 +42,7 @@ using namespace ::com::sun::star::beans;
// class OTableBorderWindow
OTableBorderWindow::OTableBorderWindow(vcl::Window* pParent) : Window(pParent,WB_BORDER)
- ,m_aHorzSplitter( this )
+ ,m_aHorzSplitter( new Splitter(this) )
{
ImplInitSettings( true, true, true );
@@ -56,12 +56,17 @@ OTableBorderWindow::OTableBorderWindow(vcl::Window* pParent) : Window(pParent,WB
m_pEditorCtrl->SetDescrWin(m_pFieldDescWin);
// Splitter einrichten
- m_aHorzSplitter.SetSplitHdl( LINK(this, OTableBorderWindow, SplitHdl) );
- m_aHorzSplitter.Show();
+ m_aHorzSplitter->SetSplitHdl( LINK(this, OTableBorderWindow, SplitHdl) );
+ m_aHorzSplitter->Show();
}
OTableBorderWindow::~OTableBorderWindow()
{
+ dispose();
+}
+
+void OTableBorderWindow::dispose()
+{
// Children zerstoeren
// ::dbaui::notifySystemWindow(this,m_pFieldDescWin,::comphelper::mem_fun(&TaskPaneList::RemoveWindow));
m_pEditorCtrl->Hide();
@@ -75,7 +80,8 @@ OTableBorderWindow::~OTableBorderWindow()
boost::scoped_ptr<vcl::Window> aTemp(m_pFieldDescWin);
m_pFieldDescWin = NULL;
}
-
+ m_aHorzSplitter.disposeAndClear();
+ vcl::Window::dispose();
}
void OTableBorderWindow::Resize()
@@ -86,18 +92,18 @@ void OTableBorderWindow::Resize()
Size aOutputSize( GetOutputSize() );
long nOutputWidth = aOutputSize.Width();
long nOutputHeight = aOutputSize.Height();
- long nSplitPos = m_aHorzSplitter.GetSplitPosPixel();
+ long nSplitPos = m_aHorzSplitter->GetSplitPosPixel();
// Verschiebebereich Splitter mittleres Drittel des Outputs
long nDragPosY = nOutputHeight/3;
long nDragSizeHeight = nOutputHeight/3;
- m_aHorzSplitter.SetDragRectPixel( Rectangle(Point(0,nDragPosY), Size(nOutputWidth,nDragSizeHeight) ), this );
+ m_aHorzSplitter->SetDragRectPixel( Rectangle(Point(0,nDragPosY), Size(nOutputWidth,nDragSizeHeight) ), this );
if( (nSplitPos < nDragPosY) || (nSplitPos > (nDragPosY+nDragSizeHeight)) )
nSplitPos = nDragPosY+nDragSizeHeight-5;
// Splitter setzen
- m_aHorzSplitter.SetPosSizePixel( Point( 0, nSplitPos ), Size(nOutputWidth, nSplitterHeight));
- m_aHorzSplitter.SetSplitPosPixel( nSplitPos );
+ m_aHorzSplitter->SetPosSizePixel( Point( 0, nSplitPos ), Size(nOutputWidth, nSplitterHeight));
+ m_aHorzSplitter->SetSplitPosPixel( nSplitPos );
// Fenster setzen
m_pEditorCtrl->SetPosSizePixel( Point(0, 0), Size(nOutputWidth , nSplitPos) );
@@ -108,9 +114,9 @@ void OTableBorderWindow::Resize()
IMPL_LINK( OTableBorderWindow, SplitHdl, Splitter*, pSplit )
{
- if(pSplit == &m_aHorzSplitter)
+ if(pSplit == m_aHorzSplitter.get())
{
- m_aHorzSplitter.SetPosPixel( Point( m_aHorzSplitter.GetPosPixel().X(),m_aHorzSplitter.GetSplitPosPixel() ) );
+ m_aHorzSplitter->SetPosPixel( Point( m_aHorzSplitter->GetPosPixel().X(),m_aHorzSplitter->GetSplitPosPixel() ) );
Resize();
}
return 0;
@@ -190,12 +196,18 @@ OTableDesignView::OTableDesignView( vcl::Window* pParent,
OTableDesignView::~OTableDesignView()
{
+ dispose();
+}
+
+void OTableDesignView::dispose()
+{
m_pWin->Hide();
{
boost::scoped_ptr<vcl::Window> aTemp(m_pWin);
m_pWin = NULL;
}
+ ODataView::dispose();
}
void OTableDesignView::initialize()