Kaydet (Commit) a87412a5 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

Remove indirection...

Change-Id: Ia01ed40391a4d5725a9f9e22817406216020c0d2
üst 709784cf
...@@ -51,8 +51,6 @@ class SVX_DLLPUBLIC SdrPageWindow ...@@ -51,8 +51,6 @@ class SVX_DLLPUBLIC SdrPageWindow
Impl* mpImpl; Impl* mpImpl;
sdr::contact::ObjectContact* CreateViewSpecificObjectContact();
SdrPageWindow( const SdrPageWindow& ); // disabled SdrPageWindow( const SdrPageWindow& ); // disabled
SdrPageWindow& operator= ( const SdrPageWindow& ); // disabled SdrPageWindow& operator= ( const SdrPageWindow& ); // disabled
......
...@@ -44,18 +44,18 @@ using namespace ::com::sun::star; ...@@ -44,18 +44,18 @@ using namespace ::com::sun::star;
struct SdrPageWindow::Impl struct SdrPageWindow::Impl
{ {
// #110094# ObjectContact section // #110094# ObjectContact section
sdr::contact::ObjectContact* mpObjectContact; mutable sdr::contact::ObjectContactOfPageView* mpObjectContact;
// the SdrPageView this window belongs to // the SdrPageView this window belongs to
SdrPageView& mrPageView; SdrPageView& mrPageView;
// the PaintWindow to paint on. Here is access to OutDev etc. // the PaintWindow to paint on. Here is access to OutDev etc.
// #i72752# change to pointer to allow patcing it in DrawLayer() if necessary // #i72752# change to pointer to allow patcing it in DrawLayer() if necessary
SdrPaintWindow* mpPaintWindow; SdrPaintWindow* mpPaintWindow;
SdrPaintWindow* mpOriginalPaintWindow; SdrPaintWindow* mpOriginalPaintWindow;
// UNO stuff for xControls // UNO stuff for xControls
::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer > mxControlContainer; uno::Reference<awt::XControlContainer> mxControlContainer;
Impl( SdrPageView& rPageView, SdrPaintWindow& rPaintWindow ) : Impl( SdrPageView& rPageView, SdrPaintWindow& rPaintWindow ) :
mpObjectContact(NULL), mpObjectContact(NULL),
...@@ -155,12 +155,6 @@ SdrPageWindow::~SdrPageWindow() ...@@ -155,12 +155,6 @@ SdrPageWindow::~SdrPageWindow()
delete mpImpl; delete mpImpl;
} }
// ObjectContact section
sdr::contact::ObjectContact* SdrPageWindow::CreateViewSpecificObjectContact()
{
return new sdr::contact::ObjectContactOfPageView(*this);
}
SdrPageView& SdrPageWindow::GetPageView() const SdrPageView& SdrPageWindow::GetPageView() const
{ {
return mpImpl->mrPageView; return mpImpl->mrPageView;
...@@ -448,9 +442,7 @@ void SdrPageWindow::InvalidatePageWindow(const basegfx::B2DRange& rRange) ...@@ -448,9 +442,7 @@ void SdrPageWindow::InvalidatePageWindow(const basegfx::B2DRange& rRange)
const sdr::contact::ObjectContact& SdrPageWindow::GetObjectContact() const const sdr::contact::ObjectContact& SdrPageWindow::GetObjectContact() const
{ {
if (!mpImpl->mpObjectContact) if (!mpImpl->mpObjectContact)
{ mpImpl->mpObjectContact = new sdr::contact::ObjectContactOfPageView(const_cast<SdrPageWindow&>(*this));
((SdrPageWindow*)this)->mpImpl->mpObjectContact = ((SdrPageWindow*)this)->CreateViewSpecificObjectContact();
}
return *mpImpl->mpObjectContact; return *mpImpl->mpObjectContact;
} }
...@@ -458,7 +450,7 @@ const sdr::contact::ObjectContact& SdrPageWindow::GetObjectContact() const ...@@ -458,7 +450,7 @@ const sdr::contact::ObjectContact& SdrPageWindow::GetObjectContact() const
sdr::contact::ObjectContact& SdrPageWindow::GetObjectContact() sdr::contact::ObjectContact& SdrPageWindow::GetObjectContact()
{ {
if (!mpImpl->mpObjectContact) if (!mpImpl->mpObjectContact)
mpImpl->mpObjectContact = CreateViewSpecificObjectContact(); mpImpl->mpObjectContact = new sdr::contact::ObjectContactOfPageView(*this);
return *mpImpl->mpObjectContact; return *mpImpl->mpObjectContact;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment