/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class UIPreviewApp : public Application { public: virtual void Init(); virtual int Main(); }; using namespace ::com::sun::star; using namespace ::com::sun::star::uno; using namespace ::com::sun::star::ui::dialogs; using namespace ::sfx2; class TiledRenderingDialog: public ModalDialog{ public: TiledRenderingDialog() : ModalDialog(DIALOG_NO_PARENT, "TiledRendering", "qa/sw/ui/tiledrendering.ui") { PushButton * renderButton; get(renderButton,"buttonRenderTile"); renderButton->SetClickHdl( LINK( this, TiledRenderingDialog, RenderHdl)); PushButton * chooseDocumentButton; get(chooseDocumentButton,"buttonChooseDocument"); chooseDocumentButton->SetClickHdl( LINK( this, TiledRenderingDialog, ChooseDocumentHdl)); SetStyle(GetStyle()|WB_CLOSEABLE); } virtual ~TiledRenderingDialog() { } DECL_LINK ( RenderHdl, Button * ); DECL_LINK ( ChooseDocumentHdl, Button * ); sal_Int32 extractInt(const char * name) { NumericField * pField; get(pField,name); OUString aString(pField->GetText()); std::cerr << "param " << name << " returned " << aString <<"\n"; return aString.toInt32(); } }; IMPL_LINK ( TiledRenderingDialog, RenderHdl, Button *, EMPTYARG ) { extractInt("spinContextWidth"); extractInt("spinContextHeight"); extractInt("spinTilePosX"); extractInt("spinTilePosY"); extractInt("spinTileWidth"); extractInt("spinTileHeight"); return 1; } IMPL_LINK ( TiledRenderingDialog, ChooseDocumentHdl, Button *, EMPTYARG ) { FileDialogHelper aDlgHelper( TemplateDescription::FILEOPEN_SIMPLE, 0 ); uno::Reference < XFilePicker > xFP = aDlgHelper.GetFilePicker(); if( aDlgHelper.Execute() == ERRCODE_NONE ) { OUString aFilePath =xFP->getFiles().getConstArray()[0]; std::cerr << aFilePath <<"\n"; } return 1; } void UIPreviewApp::Init() { uno::Reference xContext = cppu::defaultBootstrap_InitialComponentContext(); uno::Reference xFactory = xContext->getServiceManager(); uno::Reference xSFactory = uno::Reference (xFactory, uno::UNO_QUERY_THROW); comphelper::setProcessServiceFactory(xSFactory); // Create UCB (for backwards compatibility, in case some code still uses // plain createInstance w/o args directly to obtain an instance): ::ucb::UniversalContentBroker::create( comphelper::getProcessComponentContext() ); } int UIPreviewApp::Main() { //std::vector uifiles; //for (sal_uInt16 i = 0; i < GetCommandLineParamCount(); ++i) //{ // OUString aFileUrl; // osl::File::getFileURLFromSystemPath(GetCommandLineParam(i), aFileUrl); // uifiles.push_back(aFileUrl); //} //if (uifiles.empty()) //{ // fprintf(stderr, "Usage: ui-previewer file.ui\n"); // return EXIT_FAILURE; //} // turn on tooltips Help::EnableQuickHelp(); try { TiledRenderingDialog pDialog; pDialog.Execute(); } catch (const uno::Exception &e) { fprintf(stderr, "fatal error: %s\n", OUStringToOString(e.Message, osl_getThreadTextEncoding()).getStr()); } return EXIT_SUCCESS; } void vclmain::createApplication() { static UIPreviewApp aApp; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */