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;
}