vcl: VclPtr conversion in basic
Change-Id: Ia0330d596b696f914a8ee2f81f0399e9456ff87c
diff --git a/basic/source/runtime/inputbox.cxx b/basic/source/runtime/inputbox.cxx
index c15127d..7399389 100644
--- a/basic/source/runtime/inputbox.cxx
+++ b/basic/source/runtime/inputbox.cxx
@@ -30,10 +30,10 @@
class SvRTLInputBox : public ModalDialog
{
Edit aEdit;
OKButton aOk;
CancelButton aCancel;
FixedText aPromptText;
VclPtr<Edit> aEdit;
VclPtr<OKButton> aOk;
VclPtr<CancelButton> aCancel;
VclPtr<FixedText> aPromptText;
OUString aText;
void PositionDialog( long nXTwips, long nYTwips, const Size& rDlgSize );
@@ -46,6 +46,8 @@ class SvRTLInputBox : public ModalDialog
public:
SvRTLInputBox( vcl::Window* pParent, const OUString& rPrompt, const OUString& rTitle,
const OUString& rDefault, long nXTwips = -1, long nYTwips = -1 );
virtual ~SvRTLInputBox() { dispose(); }
virtual void dispose() SAL_OVERRIDE;
OUString GetText() const SAL_OVERRIDE { return aText; }
};
@@ -53,8 +55,8 @@ SvRTLInputBox::SvRTLInputBox( vcl::Window* pParent, const OUString& rPrompt,
const OUString& rTitle, const OUString& rDefault,
long nXTwips, long nYTwips ) :
ModalDialog( pParent,WB_3DLOOK | WB_MOVEABLE | WB_CLOSEABLE ),
aEdit( this, WB_LEFT | WB_BORDER ),
aOk( this ), aCancel( this ), aPromptText( this, WB_WORDBREAK )
aEdit( new Edit(this, WB_LEFT | WB_BORDER) ),
aOk( new OKButton(this) ), aCancel( new CancelButton(this) ), aPromptText( new FixedText(this, WB_WORDBREAK) )
{
SetMapMode( MapMode( MAP_APPFONT ) );
Size aDlgSizeApp( 280, 80 );
@@ -62,29 +64,38 @@ SvRTLInputBox::SvRTLInputBox( vcl::Window* pParent, const OUString& rPrompt,
InitButtons( aDlgSizeApp );
PositionEdit( aDlgSizeApp );
PositionPrompt( rPrompt, aDlgSizeApp );
aOk.Show();
aCancel.Show();
aEdit.Show();
aPromptText.Show();
aOk->Show();
aCancel->Show();
aEdit->Show();
aPromptText->Show();
SetText( rTitle );
vcl::Font aFont( GetFont());
Color aColor( GetBackground().GetColor() );
aFont.SetFillColor( aColor );
aEdit.SetFont( aFont );
aEdit.SetText( rDefault );
aEdit.SetSelection( Selection( SELECTION_MIN, SELECTION_MAX ) );
aEdit->SetFont( aFont );
aEdit->SetText( rDefault );
aEdit->SetSelection( Selection( SELECTION_MIN, SELECTION_MAX ) );
}
void SvRTLInputBox::dispose()
{
aEdit.disposeAndClear();
aOk.disposeAndClear();
aCancel.disposeAndClear();
aPromptText.disposeAndClear();
ModalDialog::dispose();
}
void SvRTLInputBox::InitButtons( const Size& rDlgSize )
{
aOk.SetSizePixel( LogicToPixel( Size( 45, 15) ));
aCancel.SetSizePixel( LogicToPixel( Size( 45, 15) ));
aOk->SetSizePixel( LogicToPixel( Size( 45, 15) ));
aCancel->SetSizePixel( LogicToPixel( Size( 45, 15) ));
Point aPos( rDlgSize.Width()-45-10, 5 );
aOk.SetPosPixel( LogicToPixel( Point(aPos) ));
aOk->SetPosPixel( LogicToPixel( Point(aPos) ));
aPos.Y() += 16;
aCancel.SetPosPixel( LogicToPixel( Point(aPos) ));
aOk.SetClickHdl(LINK(this,SvRTLInputBox, OkHdl));
aCancel.SetClickHdl(LINK(this,SvRTLInputBox,CancelHdl));
aCancel->SetPosPixel( LogicToPixel( Point(aPos) ));
aOk->SetClickHdl(LINK(this,SvRTLInputBox, OkHdl));
aCancel->SetClickHdl(LINK(this,SvRTLInputBox,CancelHdl));
}
void SvRTLInputBox::PositionDialog(long nXTwips, long nYTwips, const Size& rDlgSize)
@@ -99,8 +110,8 @@ void SvRTLInputBox::PositionDialog(long nXTwips, long nYTwips, const Size& rDlgS
void SvRTLInputBox::PositionEdit( const Size& rDlgSize )
{
aEdit.SetPosPixel( LogicToPixel( Point( 5,rDlgSize.Height()-35)));
aEdit.SetSizePixel( LogicToPixel( Size(rDlgSize.Width()-15,12)));
aEdit->SetPosPixel( LogicToPixel( Point( 5,rDlgSize.Height()-35)));
aEdit->SetSizePixel( LogicToPixel( Size(rDlgSize.Width()-15,12)));
}
@@ -109,12 +120,12 @@ void SvRTLInputBox::PositionPrompt(const OUString& rPrompt,const Size& rDlgSize)
if ( rPrompt.isEmpty() )
return;
OUString aText_(convertLineEnd(rPrompt, LINEEND_CR));
aPromptText.SetPosPixel( LogicToPixel(Point(5,5)));
aPromptText.SetText( aText_ );
aPromptText->SetPosPixel( LogicToPixel(Point(5,5)));
aPromptText->SetText( aText_ );
Size aSize( rDlgSize );
aSize.Width() -= 70;
aSize.Height() -= 50;
aPromptText.SetSizePixel( LogicToPixel(aSize));
aPromptText->SetSizePixel( LogicToPixel(aSize));
}
@@ -122,7 +133,7 @@ IMPL_LINK_INLINE_START( SvRTLInputBox, OkHdl, Button *, pButton )
{
(void)pButton;
aText = aEdit.GetText();
aText = aEdit->GetText();
EndDialog( 1 );
return 0;
}
diff --git a/basic/source/runtime/iosys.cxx b/basic/source/runtime/iosys.cxx
index 76020c5..01921da 100644
--- a/basic/source/runtime/iosys.cxx
+++ b/basic/source/runtime/iosys.cxx
@@ -66,25 +66,27 @@ using namespace com::sun::star::bridge;
class SbiInputDialog : public ModalDialog {
Edit aInput;
OKButton aOk;
CancelButton aCancel;
VclPtr<Edit> aInput;
VclPtr<OKButton> aOk;
VclPtr<CancelButton> aCancel;
OUString aText;
DECL_LINK( Ok, vcl::Window * );
DECL_LINK( Cancel, vcl::Window * );
public:
SbiInputDialog( vcl::Window*, const OUString& );
virtual ~SbiInputDialog() { dispose(); }
virtual void dispose() SAL_OVERRIDE;
const OUString& GetInput() { return aText; }
};
SbiInputDialog::SbiInputDialog( vcl::Window* pParent, const OUString& rPrompt )
:ModalDialog( pParent, WB_3DLOOK | WB_MOVEABLE | WB_CLOSEABLE ),
aInput( this, WB_3DLOOK | WB_LEFT | WB_BORDER ),
aOk( this ), aCancel( this )
aInput( new Edit(this, WB_3DLOOK | WB_LEFT | WB_BORDER) ),
aOk( new OKButton(this) ), aCancel( new CancelButton(this) )
{
SetText( rPrompt );
aOk.SetClickHdl( LINK( this, SbiInputDialog, Ok ) );
aCancel.SetClickHdl( LINK( this, SbiInputDialog, Cancel ) );
aOk->SetClickHdl( LINK( this, SbiInputDialog, Ok ) );
aCancel->SetClickHdl( LINK( this, SbiInputDialog, Cancel ) );
SetMapMode( MapMode( MAP_APPFONT ) );
Point aPt = LogicToPixel( Point( 50, 50 ) );
@@ -92,24 +94,32 @@ SbiInputDialog::SbiInputDialog( vcl::Window* pParent, const OUString& rPrompt )
SetPosSizePixel( aPt, aSz );
aPt = LogicToPixel( Point( 10, 10 ) );
aSz = LogicToPixel( Size( 120, 12 ) );
aInput.SetPosSizePixel( aPt, aSz );
aInput->SetPosSizePixel( aPt, aSz );
aPt = LogicToPixel( Point( 15, 30 ) );
aSz = LogicToPixel( Size( 45, 15) );
aOk.SetPosSizePixel( aPt, aSz );
aOk->SetPosSizePixel( aPt, aSz );
aPt = LogicToPixel( Point( 80, 30 ) );
aSz = LogicToPixel( Size( 45, 15) );
aCancel.SetPosSizePixel( aPt, aSz );
aCancel->SetPosSizePixel( aPt, aSz );
aInput.Show();
aOk.Show();
aCancel.Show();
aInput->Show();
aOk->Show();
aCancel->Show();
}
void SbiInputDialog::dispose()
{
aInput.disposeAndClear();
aOk.disposeAndClear();
aCancel.disposeAndClear();
ModalDialog::dispose();
}
IMPL_LINK_INLINE_START( SbiInputDialog, Ok, vcl::Window *, pWindow )
{
(void)pWindow;
aText = aInput.GetText();
aText = aInput->GetText();
EndDialog( 1 );
return 0;
}