/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ //_________________________________________________________________________________________________________________________ // interface includes //_________________________________________________________________________________________________________________________ #include #include #include //_________________________________________________________________________________________________________________________ // other includes //_________________________________________________________________________________________________________________________ #include #ifndef _RTL_USTRING_ #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "../source/office/iodlg.hxx" using namespace ::com::sun::star::uno; using namespace ::com::sun::star::lang; // ----------------------------------------------------------------------- // Forward declaration void Main(); String aEmptyStr; // ----------------------------------------------------------------------- SAL_IMPLEMENT_MAIN() { Reference< XMultiServiceFactory > xMS; xMS = cppu::createRegistryServiceFactory( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "applicat.rdb" ) ), sal_True ); com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory> xMSch; com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > xComponentContext; xComponentContext = cppu::defaultBootstrap_InitialComponentContext(); xMSch.set(xComponentContext->getServiceManager(), com::sun::star::uno::UNO_QUERY); comphelper::setProcessServiceFactory(xMSch); // comphelper::setProcessServiceFactory( xMS); InitVCL( xMS ); ::Main(); DeInitVCL(); return 0; } // ----------------------------------------------------------------------- class MyWin : public WorkWindow { public: MyWin( Window* pParent, WinBits nWinStyle ); void MouseMove( const MouseEvent& rMEvt ); void MouseButtonDown( const MouseEvent& rMEvt ); void MouseButtonUp( const MouseEvent& rMEvt ); void KeyInput( const KeyEvent& rKEvt ); void KeyUp( const KeyEvent& rKEvt ); void Paint( const Rectangle& rRect ); void Resize(); private: OKButton aOKBtn; DECL_LINK( Test, PushButton* ); }; // ----------------------------------------------------------------------- void Main() { MyWin aMainWin( NULL, WB_APP | WB_STDWORK ); aMainWin.SetText( XubString( RTL_CONSTASCII_USTRINGPARAM( "VCL - Workbench" ) ) ); aMainWin.Show(); Application::Execute(); } // ----------------------------------------------------------------------- MyWin::MyWin( Window* pParent, WinBits nWinStyle ) :WorkWindow( pParent, nWinStyle ) ,aOKBtn(this) { aOKBtn.SetPosSizePixel( Point( 10, 10 ), Size( 140, 140 ) ); aOKBtn.SetClickHdl( LINK( this, MyWin, Test ) ); aOKBtn.Show(); } // ----------------------------------------------------------------------- void MyWin::MouseMove( const MouseEvent& rMEvt ) { WorkWindow::MouseMove( rMEvt ); } // ----------------------------------------------------------------------- void MyWin::MouseButtonDown( const MouseEvent& rMEvt ) { WorkWindow::MouseButtonDown( rMEvt ); } // ----------------------------------------------------------------------- void MyWin::MouseButtonUp( const MouseEvent& rMEvt ) { WorkWindow::MouseButtonUp( rMEvt ); } // ----------------------------------------------------------------------- void MyWin::KeyInput( const KeyEvent& rKEvt ) { WorkWindow::KeyInput( rKEvt ); } // ----------------------------------------------------------------------- void MyWin::KeyUp( const KeyEvent& rKEvt ) { WorkWindow::KeyUp( rKEvt ); } // ----------------------------------------------------------------------- void MyWin::Paint( const Rectangle& rRect ) { WorkWindow::Paint( rRect ); } // ----------------------------------------------------------------------- void MyWin::Resize() { WorkWindow::Resize(); } // ----------------------------------------------------------------------- IMPL_LINK( MyWin, Test, PushButton*, pBtn ) { printf("Test\n"); if ( pBtn == &aOKBtn ) { SvtFileDialog* pDlg = new SvtFileDialog( this,SFXWB_PATHDIALOG); pDlg->Execute(); delete pDlg; printf("ok\n"); } return 0; }