summaryrefslogtreecommitdiff
path: root/sw/source/ui/dbui/dbtablepreviewdialog.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/ui/dbui/dbtablepreviewdialog.cxx')
-rw-r--r--sw/source/ui/dbui/dbtablepreviewdialog.cxx144
1 files changed, 144 insertions, 0 deletions
diff --git a/sw/source/ui/dbui/dbtablepreviewdialog.cxx b/sw/source/ui/dbui/dbtablepreviewdialog.cxx
new file mode 100644
index 000000000000..463e64279e08
--- /dev/null
+++ b/sw/source/ui/dbui/dbtablepreviewdialog.cxx
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_sw.hxx"
+
+#ifdef SW_DLLIMPLEMENTATION
+#undef SW_DLLIMPLEMENTATION
+#endif
+
+
+#include <swtypes.hxx>
+#include <dbtablepreviewdialog.hxx>
+#include <comphelper/processfactory.hxx>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/frame/XDispatchProvider.hpp>
+#include <com/sun/star/frame/XFrame.hpp>
+#ifndef _TOOLKIT_HELPER_VCLUNOHELPER_HXX_
+#include <toolkit/unohlp.hxx>
+#endif
+
+#include <dbui.hrc>
+#include <dbtablepreviewdialog.hrc>
+#include <unomid.h>
+
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::frame;
+using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::lang;
+using namespace ::com::sun::star::util;
+using namespace ::rtl;
+
+/*-- 08.04.2004 15:12:24---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwDBTablePreviewDialog::SwDBTablePreviewDialog(Window* pParent, uno::Sequence< beans::PropertyValue>& rValues ) :
+ SfxModalDialog(pParent, SW_RES(DLG_MM_DBTABLEPREVIEWDIALOG)),
+#ifdef MSC
+#pragma warning (disable : 4355)
+#endif
+ m_aDescriptionFI( this, SW_RES( FI_DESCRIPTION)),
+ m_pBeamerWIN( new Window(this, SW_RES( WIN_BEAMER ))),
+ m_aOK( this, SW_RES( PB_OK ))
+#ifdef MSC
+#pragma warning (default : 4355)
+#endif
+{
+ FreeResource();
+ const beans::PropertyValue* pValues = rValues.getConstArray();
+ for(sal_Int32 nValue = 0; nValue < rValues.getLength(); ++nValue )
+ {
+ if(pValues[nValue].Name.equalsAscii("Command"))
+ {
+ String sDescription = m_aDescriptionFI.GetText();
+ OUString sTemp;
+ pValues[nValue].Value >>= sTemp;
+ sDescription.SearchAndReplaceAscii("%1", sTemp);
+ m_aDescriptionFI.SetText(sDescription);
+ break;
+ }
+ }
+
+ try
+ {
+ // create a frame wrapper for myself
+ uno::Reference< lang::XMultiServiceFactory >
+ xMgr = comphelper::getProcessServiceFactory();
+ m_xFrame = uno::Reference< frame::XFrame >(xMgr->createInstance(C2U("com.sun.star.frame.Frame")), uno::UNO_QUERY);
+ if(m_xFrame.is())
+ {
+ m_xFrame->initialize( VCLUnoHelper::GetInterface ( m_pBeamerWIN ) );
+ }
+ }
+ catch (uno::Exception const &)
+ {
+ m_xFrame.clear();
+ }
+ if(m_xFrame.is())
+ {
+ uno::Reference<frame::XDispatchProvider> xDP(m_xFrame, uno::UNO_QUERY);
+ util::URL aURL;
+ aURL.Complete = C2U(".component:DB/DataSourceBrowser");
+ uno::Reference<frame::XDispatch> xD = xDP->queryDispatch(aURL,
+ C2U(""),
+ 0x0C);
+ if(xD.is())
+ {
+ xD->dispatch(aURL, rValues);
+ m_pBeamerWIN->Show();
+ }
+/* uno::Reference<???::XController> xController = m_xFrame->getController();
+ pImpl->xFController = uno::Reference<???::XFormController>(xController, uno::UNO_QUERY);
+ if(pImpl->xFController.is())
+ {
+ uno::Reference< awt::XControl > xCtrl = pImpl->xFController->getCurrentControl( );
+ pImpl->xSelSupp = uno::Reference<???::XSelectionSupplier>(xCtrl, uno::UNO_QUERY);
+ if(pImpl->xSelSupp.is())
+ {
+ pImpl->xChgLstnr = new SwXSelChgLstnr_Impl(*this);
+ pImpl->xSelSupp->addSelectionChangeListener( pImpl->xChgLstnr );
+ }
+ }
+*/ }
+
+
+}
+/*-- 08.04.2004 15:12:24---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+SwDBTablePreviewDialog::~SwDBTablePreviewDialog()
+{
+ if(m_xFrame.is())
+ {
+ m_xFrame->setComponent(NULL, NULL);
+ m_xFrame->dispose();
+ }
+ else
+ delete m_pBeamerWIN;
+}