vcl: VclPtr conversion in starmath
Change-Id: I5d43afd893802db44d9d08d8acb64307c63b7eac
diff --git a/starmath/inc/ElementsDockingWindow.hxx b/starmath/inc/ElementsDockingWindow.hxx
index 96dcfd6..bdb57ac 100644
--- a/starmath/inc/ElementsDockingWindow.hxx
+++ b/starmath/inc/ElementsDockingWindow.hxx
@@ -141,6 +141,7 @@ public:
SfxChildWindow* pChildWindow,
vcl::Window* pParent );
virtual ~SmElementsDockingWindow();
virtual void dispose() SAL_OVERRIDE;
virtual void EndDocking( const Rectangle& rReactangle, bool bFloatMode) SAL_OVERRIDE;
virtual void ToggleFloatingMode() SAL_OVERRIDE;
diff --git a/starmath/inc/dialog.hxx b/starmath/inc/dialog.hxx
index 9c3987b..970eddd 100644
--- a/starmath/inc/dialog.hxx
+++ b/starmath/inc/dialog.hxx
@@ -224,6 +224,7 @@ class SmDistanceDialog : public ModalDialog
public:
SmDistanceDialog(vcl::Window *pParent);
virtual ~SmDistanceDialog();
virtual void dispose() SAL_OVERRIDE;
void ReadFrom(const SmFormat &rFormat);
void WriteTo (SmFormat &rFormat) /*const*/;
@@ -288,19 +289,21 @@ public:
class SmShowSymbolSet : public VclHBox
{
SmShowSymbolSetWindow aSymbolWindow;
ScrollBar aVScrollBar;
VclPtr<SmShowSymbolSetWindow> aSymbolWindow;
VclPtr<ScrollBar> aVScrollBar;
public:
SmShowSymbolSet(vcl::Window *pParent);
virtual ~SmShowSymbolSet();
virtual void dispose() SAL_OVERRIDE;
void SetSymbolSet(const SymbolPtrVec_t& rSymbolSet) { aSymbolWindow.SetSymbolSet(rSymbolSet); }
void SetSymbolSet(const SymbolPtrVec_t& rSymbolSet) { aSymbolWindow->SetSymbolSet(rSymbolSet); }
void SelectSymbol(sal_uInt16 nSymbol) { aSymbolWindow.SelectSymbol(nSymbol); }
sal_uInt16 GetSelectSymbol() const { return aSymbolWindow.GetSelectSymbol(); }
void SelectSymbol(sal_uInt16 nSymbol) { aSymbolWindow->SelectSymbol(nSymbol); }
sal_uInt16 GetSelectSymbol() const { return aSymbolWindow->GetSelectSymbol(); }
void SetSelectHdl(const Link& rLink) { aSymbolWindow.SetSelectHdl(rLink); }
void SetDblClickHdl(const Link& rLink) { aSymbolWindow.SetDblClickHdl(rLink); }
void SetSelectHdl(const Link& rLink) { aSymbolWindow->SetSelectHdl(rLink); }
void SetDblClickHdl(const Link& rLink) { aSymbolWindow->SetDblClickHdl(rLink); }
};
@@ -455,6 +458,7 @@ class SmSymDefineDialog : public ModalDialog
public:
SmSymDefineDialog(vcl::Window *pParent, OutputDevice *pFntListDevice, SmSymbolManager &rMgr);
virtual ~SmSymDefineDialog();
virtual void dispose() SAL_OVERRIDE;
using OutputDevice::SetFont;
diff --git a/starmath/inc/edit.hxx b/starmath/inc/edit.hxx
index 601b3b9..2bd99c6 100644
--- a/starmath/inc/edit.hxx
+++ b/starmath/inc/edit.hxx
@@ -91,6 +91,7 @@ class SmEditWindow : public vcl::Window, public DropTargetHelper
public:
SmEditWindow( SmCmdBoxWindow &rMyCmdBoxWin );
virtual ~SmEditWindow();
virtual void dispose() SAL_OVERRIDE;
SmDocShell * GetDoc();
SmViewShell * GetView();
diff --git a/starmath/inc/toolbox.hxx b/starmath/inc/toolbox.hxx
index 472fe60..3b3f697 100644
--- a/starmath/inc/toolbox.hxx
+++ b/starmath/inc/toolbox.hxx
@@ -65,6 +65,7 @@ public:
SfxChildWindow *pChildWindow,
Window *pParent);
virtual ~SmToolBoxWindow();
virtual void dispose() SAL_OVERRIDE;
// Window
virtual void StateChanged( StateChangedType nStateChange ) SAL_OVERRIDE;
diff --git a/starmath/inc/view.hxx b/starmath/inc/view.hxx
index 85bfbdb..8a1fdad 100644
--- a/starmath/inc/view.hxx
+++ b/starmath/inc/view.hxx
@@ -95,6 +95,7 @@ private:
public:
SmGraphicWindow(SmViewShell* pShell);
virtual ~SmGraphicWindow();
virtual void dispose() SAL_OVERRIDE;
// Window
virtual void MouseButtonDown(const MouseEvent &rMEvt) SAL_OVERRIDE;
@@ -159,7 +160,7 @@ public:
class SmCmdBoxWindow : public SfxDockingWindow
{
SmEditWindow aEdit;
VclPtr<SmEditWindow> aEdit;
SmEditController aController;
bool bExiting;
@@ -187,10 +188,11 @@ public:
Window *pParent);
virtual ~SmCmdBoxWindow ();
virtual void dispose() SAL_OVERRIDE;
void AdjustPosition();
SmEditWindow& GetEditWindow() { return aEdit; }
SmEditWindow& GetEditWindow() { return *aEdit.get(); }
SmViewShell *GetView();
};
@@ -231,7 +233,7 @@ class SmViewShell: public SfxViewShell
std::unique_ptr<SmViewShell_Impl> pImpl;
SmGraphicWindow aGraphic;
VclPtr<SmGraphicWindow> aGraphic;
SmGraphicController aGraphicController;
OUString aStatusText;
@@ -290,8 +292,8 @@ public:
}
SmEditWindow * GetEditWindow();
SmGraphicWindow & GetGraphicWindow() { return aGraphic; }
const SmGraphicWindow & GetGraphicWindow() const { return aGraphic; }
SmGraphicWindow & GetGraphicWindow() { return *aGraphic.get(); }
const SmGraphicWindow & GetGraphicWindow() const { return *aGraphic.get(); }
void SetStatusText(const OUString& rText);
diff --git a/starmath/source/ElementsDockingWindow.cxx b/starmath/source/ElementsDockingWindow.cxx
index 907d148..17e0738 100644
--- a/starmath/source/ElementsDockingWindow.cxx
+++ b/starmath/source/ElementsDockingWindow.cxx
@@ -671,7 +671,13 @@ SmElementsDockingWindow::SmElementsDockingWindow(SfxBindings* pInputBindings, Sf
SmElementsDockingWindow::~SmElementsDockingWindow ()
{
dispose();
}
void SmElementsDockingWindow::dispose()
{
delete mpElementsControl;
SfxDockingWindow::dispose();
}
void SmElementsDockingWindow::ToggleFloatingMode()
diff --git a/starmath/source/dialog.cxx b/starmath/source/dialog.cxx
index b942d2b..93b6671 100644
--- a/starmath/source/dialog.cxx
+++ b/starmath/source/dialog.cxx
@@ -891,8 +891,14 @@ SmDistanceDialog::SmDistanceDialog(vcl::Window *pParent)
SmDistanceDialog::~SmDistanceDialog()
{
dispose();
}
void SmDistanceDialog::dispose()
{
for (int i = 0; i < NOCATEGORIES; i++)
DELETEZ(Categories[i]);
ModalDialog::dispose();
}
void SmDistanceDialog::DataChanged( const DataChangedEvent &rEvt )
@@ -1181,14 +1187,26 @@ void SmShowSymbolSetWindow::setScrollbar(ScrollBar *pVScrollBar)
SmShowSymbolSet::SmShowSymbolSet(vcl::Window *pParent)
: VclHBox(pParent, false, 6)
, aSymbolWindow(this, WB_TABSTOP)
, aVScrollBar(this, WinBits(WB_VSCROLL))
, aSymbolWindow(new SmShowSymbolSetWindow(this, WB_TABSTOP))
, aVScrollBar(new ScrollBar(this, WinBits(WB_VSCROLL)))
{
aSymbolWindow.set_hexpand(true);
aSymbolWindow.set_vexpand(true);
aSymbolWindow.setScrollbar(&aVScrollBar);
aSymbolWindow.calccols();
aSymbolWindow.Show();
aSymbolWindow->set_hexpand(true);
aSymbolWindow->set_vexpand(true);
aSymbolWindow->setScrollbar(aVScrollBar.get());
aSymbolWindow->calccols();
aSymbolWindow->Show();
}
SmShowSymbolSet::~SmShowSymbolSet()
{
dispose();
}
void SmShowSymbolSet::dispose()
{
aSymbolWindow.disposeAndClear();
aVScrollBar.disposeAndClear();
VclHBox::dispose();
}
extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeSmShowSymbolSet(vcl::Window *pParent, VclBuilder::stringmap &)
@@ -2032,6 +2050,12 @@ SmSymDefineDialog::SmSymDefineDialog(vcl::Window * pParent,
SmSymDefineDialog::~SmSymDefineDialog()
{
dispose();
}
void SmSymDefineDialog::dispose()
{
ModalDialog::dispose();
}
void SmSymDefineDialog::InitColor_Impl()
diff --git a/starmath/source/edit.cxx b/starmath/source/edit.cxx
index da0a420..90fe7a0 100644
--- a/starmath/source/edit.cxx
+++ b/starmath/source/edit.cxx
@@ -123,6 +123,11 @@ SmEditWindow::SmEditWindow( SmCmdBoxWindow &rMyCmdBoxWin ) :
SmEditWindow::~SmEditWindow()
{
dispose();
}
void SmEditWindow::dispose()
{
aModifyIdle.Stop();
StartCursorMove();
@@ -148,6 +153,7 @@ SmEditWindow::~SmEditWindow()
delete pHScrollBar;
delete pVScrollBar;
delete pScrollBox;
vcl::Window::dispose();
}
void SmEditWindow::StartCursorMove()
diff --git a/starmath/source/toolbox.cxx b/starmath/source/toolbox.cxx
index d6ff88a..01d4994 100644
--- a/starmath/source/toolbox.cxx
+++ b/starmath/source/toolbox.cxx
@@ -139,6 +139,11 @@ SmToolBoxWindow::SmToolBoxWindow(SfxBindings *pTmpBindings,
SmToolBoxWindow::~SmToolBoxWindow()
{
dispose();
}
void SmToolBoxWindow::dispose()
{
int i;
for (i = 0; i < NUM_TBX_CATEGORIES; ++i)
{
@@ -147,6 +152,7 @@ SmToolBoxWindow::~SmToolBoxWindow()
}
for (i = 0; i < NUM_TBX_CATEGORIES + 1; ++i)
delete aImageLists[i];
SfxFloatingWindow::dispose();
}
SmViewShell * SmToolBoxWindow::GetView()
diff --git a/starmath/source/view.cxx b/starmath/source/view.cxx
index 5635f3c..0f7fa5b 100644
--- a/starmath/source/view.cxx
+++ b/starmath/source/view.cxx
@@ -119,11 +119,17 @@ SmGraphicWindow::SmGraphicWindow(SmViewShell* pShell):
SmGraphicWindow::~SmGraphicWindow()
{
dispose();
}
void SmGraphicWindow::dispose()
{
if (pAccessible)
pAccessible->ClearWin(); // make Accessible defunctional
// Note: memory for pAccessible will be freed when the reference
// xAccessible is released.
CaretBlinkStop();
ScrollableWindow::dispose();
}
void SmGraphicWindow::StateChanged( StateChangedType eType )
@@ -706,8 +712,8 @@ void SmEditController::StateChanged(sal_uInt16 nSID, SfxItemState eState, const
SmCmdBoxWindow::SmCmdBoxWindow(SfxBindings *pBindings_, SfxChildWindow *pChildWindow,
vcl::Window *pParent) :
SfxDockingWindow(pBindings_, pChildWindow, pParent, WB_MOVEABLE|WB_CLOSEABLE|WB_SIZEABLE|WB_DOCKABLE),
aEdit (*this),
aController (aEdit, SID_TEXT, *pBindings_),
aEdit (new SmEditWindow(*this)),
aController (*(aEdit.get()), SID_TEXT, *pBindings_),
bExiting (false)
{
SetHelpId( HID_SMA_COMMAND_WIN );
@@ -722,8 +728,15 @@ SmCmdBoxWindow::SmCmdBoxWindow(SfxBindings *pBindings_, SfxChildWindow *pChildWi
SmCmdBoxWindow::~SmCmdBoxWindow ()
{
dispose();
}
void SmCmdBoxWindow::dispose()
{
aInitialFocusTimer.Stop();
bExiting = true;
aEdit.disposeAndClear();
SfxDockingWindow::dispose();
}
SmViewShell * SmCmdBoxWindow::GetView()
@@ -744,7 +757,7 @@ void SmCmdBoxWindow::Resize()
DecorationView aView(this);
aRect = aView.DrawFrame( aRect, FRAME_DRAW_IN | FRAME_DRAW_NODRAW );
aEdit.SetPosSizePixel(aRect.TopLeft(), aRect.GetSize());
aEdit->SetPosSizePixel(aRect.TopLeft(), aRect.GetSize());
SfxDockingWindow::Resize();
Invalidate();
}
@@ -824,7 +837,7 @@ IMPL_LINK( SmCmdBoxWindow, InitialFocusTimerHdl, Timer *, EMPTYARG /*pTimer*/ )
{
uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( comphelper::getProcessComponentContext() );
aEdit.GrabFocus();
aEdit->GrabFocus();
bool bInPlace = GetView()->GetViewFrame()->GetFrame().IsInPlace();
uno::Reference< frame::XFrame > xFrame( GetBindings().GetDispatcher()->GetFrame()->GetFrame().GetFrameInterface());
@@ -876,7 +889,7 @@ void SmCmdBoxWindow::ToggleFloatingMode()
void SmCmdBoxWindow::GetFocus()
{
if (!bExiting)
aEdit.GrabFocus();
aEdit->GrabFocus();
}
/**************************************************************************/
@@ -947,7 +960,7 @@ SFX_IMPL_NAMED_VIEWFACTORY(SmViewShell, "Default")
void SmViewShell::AdjustPosSizePixel(const Point &rPos, const Size &rSize)
{
aGraphic.SetPosSizePixel(rPos, rSize);
aGraphic->SetPosSizePixel(rPos, rSize);
}
@@ -1519,16 +1532,16 @@ void SmViewShell::Execute(SfxRequest& rReq)
break;
case SID_ZOOM_OPTIMAL:
aGraphic.ZoomToFitInWindow();
aGraphic->ZoomToFitInWindow();
break;
case SID_ZOOMIN:
aGraphic.SetZoom(aGraphic.GetZoom() + 25);
aGraphic->SetZoom(aGraphic->GetZoom() + 25);
break;
case SID_ZOOMOUT:
SAL_WARN_IF( aGraphic.GetZoom() < 25, "starmath", "incorrect sal_uInt16 argument" );
aGraphic.SetZoom(aGraphic.GetZoom() - 25);
SAL_WARN_IF( aGraphic->GetZoom() < 25, "starmath", "incorrect sal_uInt16 argument" );
aGraphic->SetZoom(aGraphic->GetZoom() - 25);
break;
case SID_COPYOBJECT:
@@ -1743,7 +1756,7 @@ void SmViewShell::Execute(SfxRequest& rReq)
if ( !pSet )
{
SfxItemSet aSet( GetDoc()->GetPool(), SID_ATTR_ZOOM, SID_ATTR_ZOOM);
aSet.Put( SvxZoomItem( SvxZoomType::PERCENT, aGraphic.GetZoom()));
aSet.Put( SvxZoomItem( SvxZoomType::PERCENT, aGraphic->GetZoom()));
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
if(pFact)
{
@@ -1760,11 +1773,11 @@ void SmViewShell::Execute(SfxRequest& rReq)
switch( rZoom.GetType() )
{
case SvxZoomType::PERCENT:
aGraphic.SetZoom((sal_uInt16)rZoom.GetValue ());
aGraphic->SetZoom((sal_uInt16)rZoom.GetValue ());
break;
case SvxZoomType::OPTIMAL:
aGraphic.ZoomToFitInWindow();
aGraphic->ZoomToFitInWindow();
break;
case SvxZoomType::PAGEWIDTH:
@@ -1779,7 +1792,7 @@ void SmViewShell::Execute(SfxRequest& rReq)
Size GraphicSize(pPrinter->LogicToPixel(GetDoc()->GetSize(), aMap));
sal_uInt16 nZ = (sal_uInt16) std::min((long)Fraction(OutputSize.Width() * 100L, GraphicSize.Width()),
(long)Fraction(OutputSize.Height() * 100L, GraphicSize.Height()));
aGraphic.SetZoom (nZ);
aGraphic->SetZoom (nZ);
break;
}
default:
@@ -1798,7 +1811,7 @@ void SmViewShell::Execute(SfxRequest& rReq)
if ( pArgs && SfxItemState::SET == pArgs->GetItemState(SID_ATTR_ZOOMSLIDER, true, &pItem ) )
{
const sal_uInt16 nCurrentZoom = static_cast<const SvxZoomSliderItem *>(pItem)->GetValue();
aGraphic.SetZoom( nCurrentZoom );
aGraphic->SetZoom( nCurrentZoom );
}
}
break;
@@ -1871,7 +1884,7 @@ void SmViewShell::GetState(SfxItemSet &rSet)
break;
case SID_ATTR_ZOOM:
rSet.Put(SvxZoomItem( SvxZoomType::PERCENT, aGraphic.GetZoom()));
rSet.Put(SvxZoomItem( SvxZoomType::PERCENT, aGraphic->GetZoom()));
/* no break here */
case SID_ZOOMIN:
case SID_ZOOMOUT:
@@ -1882,7 +1895,7 @@ void SmViewShell::GetState(SfxItemSet &rSet)
case SID_ATTR_ZOOMSLIDER :
{
const sal_uInt16 nCurrentZoom = aGraphic.GetZoom();
const sal_uInt16 nCurrentZoom = aGraphic->GetZoom();
SvxZoomSliderItem aZoomSliderItem( nCurrentZoom, MINZOOM, MAXZOOM );
aZoomSliderItem.AddSnappingPoint( 100 );
rSet.Put( aZoomSliderItem );
@@ -1940,13 +1953,13 @@ void SmViewShell::GetState(SfxItemSet &rSet)
SmViewShell::SmViewShell(SfxViewFrame *pFrame_, SfxViewShell *)
: SfxViewShell(pFrame_, SFX_VIEW_HAS_PRINTOPTIONS | SFX_VIEW_CAN_PRINT)
, pImpl(new SmViewShell_Impl)
, aGraphic(this)
, aGraphicController(aGraphic, SID_GAPHIC_SM, pFrame_->GetBindings())
, aGraphic(new SmGraphicWindow(this))
, aGraphicController(*aGraphic.get(), SID_GAPHIC_SM, pFrame_->GetBindings())
, bPasteState(false)
, bInsertIntoEditWindow(false)
{
SetStatusText(OUString());
SetWindow(&aGraphic);
SetWindow(aGraphic.get());
SfxShell::SetName(OUString("SmView"));
SfxShell::SetUndoManager( &GetDoc()->GetEditEngine().GetUndoManager() );
SetHelpId( HID_SMA_VIEWSHELL_DOCUMENT );