2010-10-27 12:45:03 +01:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2012-10-04 11:25:41 +01:00
|
|
|
/*
|
|
|
|
* 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/.
|
|
|
|
*
|
|
|
|
* This file incorporates work covered by the following license notice:
|
|
|
|
*
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
|
|
* with this work for additional information regarding copyright
|
|
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
|
|
* except in compliance with the License. You may obtain a copy of
|
|
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
|
|
*/
|
2009-10-31 00:36:06 +01:00
|
|
|
#ifndef _SVX_INSDLG_HXX
|
|
|
|
#define _SVX_INSDLG_HXX
|
|
|
|
|
|
|
|
#include <com/sun/star/uno/Reference.h>
|
|
|
|
#include <com/sun/star/embed/XEmbeddedObject.hpp>
|
|
|
|
#include <com/sun/star/embed/XStorage.hpp>
|
|
|
|
|
|
|
|
#include <svtools/insdlg.hxx>
|
|
|
|
#include <vcl/dialog.hxx>
|
|
|
|
#include <vcl/fixed.hxx>
|
|
|
|
#include <vcl/button.hxx>
|
|
|
|
#include <vcl/field.hxx>
|
|
|
|
#include <vcl/edit.hxx>
|
|
|
|
#include <vcl/lstbox.hxx>
|
|
|
|
#include <svtools/svmedit.hxx> // MultiLineEdit
|
|
|
|
#include <comphelper/embeddedobjectcontainer.hxx>
|
|
|
|
|
2012-10-11 23:47:56 +01:00
|
|
|
class VclFrame;
|
|
|
|
|
2009-10-31 00:36:06 +01:00
|
|
|
class INetURLObject;
|
|
|
|
|
|
|
|
class InsertObjectDialog_Impl : public ModalDialog
|
|
|
|
{
|
|
|
|
protected:
|
|
|
|
com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject > m_xObj;
|
|
|
|
const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& m_xStorage;
|
|
|
|
comphelper::EmbeddedObjectContainer aCnt;
|
|
|
|
|
2012-10-10 22:27:52 +01:00
|
|
|
InsertObjectDialog_Impl(Window * pParent, const OString& rID,
|
|
|
|
const OUString& rUIXMLDescription,
|
|
|
|
const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& xStorage);
|
2009-10-31 00:36:06 +01:00
|
|
|
public:
|
|
|
|
com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject > GetObject()
|
|
|
|
{ return m_xObj; }
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > GetIconIfIconified( ::rtl::OUString* pGraphicMediaType );
|
2011-01-14 12:41:27 +01:00
|
|
|
virtual sal_Bool IsCreateNew() const;
|
2009-10-31 00:36:06 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class SvInsertOleDlg : public InsertObjectDialog_Impl
|
|
|
|
{
|
2012-10-11 23:47:56 +01:00
|
|
|
RadioButton* m_pRbNewObject;
|
|
|
|
RadioButton* m_pRbObjectFromfile;
|
|
|
|
VclFrame* m_pObjectTypeFrame;
|
|
|
|
ListBox* m_pLbObjecttype;
|
|
|
|
VclFrame* m_pFileFrame;
|
|
|
|
Edit* m_pEdFilepath;
|
|
|
|
PushButton* m_pBtnFilepath;
|
|
|
|
CheckBox* m_pCbFilelink;
|
2009-10-31 00:36:06 +01:00
|
|
|
const SvObjectServerList* m_pServers;
|
|
|
|
|
|
|
|
::com::sun::star::uno::Sequence< sal_Int8 > m_aIconMetaFile;
|
2012-10-11 23:47:56 +01:00
|
|
|
OUString m_aIconMediaType;
|
2009-10-31 00:36:06 +01:00
|
|
|
|
2012-10-11 23:47:56 +01:00
|
|
|
DECL_LINK(DoubleClickHdl, void*);
|
2012-03-01 18:00:32 +01:00
|
|
|
DECL_LINK(BrowseHdl, void *);
|
|
|
|
DECL_LINK(RadioHdl, void *);
|
2012-10-11 23:47:56 +01:00
|
|
|
void SelectDefault();
|
|
|
|
ListBox& GetObjectTypes()
|
|
|
|
{ return *m_pLbObjecttype; }
|
|
|
|
OUString GetFilePath() const
|
|
|
|
{ return m_pEdFilepath->GetText(); }
|
|
|
|
sal_Bool IsLinked() const
|
|
|
|
{ return m_pCbFilelink->IsChecked(); }
|
|
|
|
sal_Bool IsCreateNew() const
|
|
|
|
{ return m_pRbNewObject->IsChecked(); }
|
2009-10-31 00:36:06 +01:00
|
|
|
|
|
|
|
public:
|
2012-10-11 23:47:56 +01:00
|
|
|
SvInsertOleDlg( Window* pParent,
|
|
|
|
const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& xStorage,
|
|
|
|
const SvObjectServerList* pServers = NULL );
|
|
|
|
virtual short Execute();
|
2009-10-31 00:36:06 +01:00
|
|
|
|
2012-08-06 10:51:21 +03:00
|
|
|
/// get replacement for the iconified embedded object and the mediatype of the replacement
|
2009-10-31 00:36:06 +01:00
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > GetIconIfIconified( ::rtl::OUString* pGraphicMediaType );
|
|
|
|
};
|
|
|
|
|
|
|
|
class SvInsertPlugInDialog : public InsertObjectDialog_Impl
|
|
|
|
{
|
|
|
|
private:
|
2012-10-10 22:27:52 +01:00
|
|
|
Edit* m_pEdFileurl;
|
|
|
|
PushButton* m_pBtnFileurl;
|
2012-10-10 23:57:22 +01:00
|
|
|
VclMultiLineEdit* m_pEdPluginsOptions;
|
2012-10-10 22:27:52 +01:00
|
|
|
INetURLObject* m_pURL;
|
|
|
|
OUString m_aCommands;
|
2009-10-31 00:36:06 +01:00
|
|
|
|
2012-03-01 18:00:32 +01:00
|
|
|
DECL_LINK(BrowseHdl, void *);
|
2012-10-10 22:27:52 +01:00
|
|
|
OUString GetPlugInFile() const { return m_pEdFileurl->GetText(); }
|
|
|
|
OUString GetPlugInOptions() const { return m_pEdPluginsOptions->GetText(); }
|
2009-10-31 00:36:06 +01:00
|
|
|
|
|
|
|
public:
|
2012-10-10 22:27:52 +01:00
|
|
|
SvInsertPlugInDialog(Window* pParent,
|
|
|
|
const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& xStorage);
|
|
|
|
~SvInsertPlugInDialog();
|
|
|
|
virtual short Execute();
|
2009-10-31 00:36:06 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
class SfxInsertFloatingFrameDialog : public InsertObjectDialog_Impl
|
|
|
|
{
|
|
|
|
private:
|
2012-10-26 18:25:26 +01:00
|
|
|
Edit* m_pEDName;
|
|
|
|
Edit* m_pEDURL;
|
|
|
|
PushButton* m_pBTOpen;
|
|
|
|
|
|
|
|
RadioButton* m_pRBScrollingOn;
|
|
|
|
RadioButton* m_pRBScrollingOff;
|
|
|
|
RadioButton* m_pRBScrollingAuto;
|
|
|
|
|
|
|
|
RadioButton* m_pRBFrameBorderOn;
|
|
|
|
RadioButton* m_pRBFrameBorderOff;
|
|
|
|
|
|
|
|
FixedText* m_pFTMarginWidth;
|
|
|
|
NumericField* m_pNMMarginWidth;
|
|
|
|
CheckBox* m_pCBMarginWidthDefault;
|
|
|
|
FixedText* m_pFTMarginHeight;
|
|
|
|
NumericField* m_pNMMarginHeight;
|
|
|
|
CheckBox* m_pCBMarginHeightDefault;
|
|
|
|
|
|
|
|
DECL_STATIC_LINK(SfxInsertFloatingFrameDialog, OpenHdl, PushButton* );
|
|
|
|
DECL_STATIC_LINK(SfxInsertFloatingFrameDialog, CheckHdl, CheckBox* );
|
|
|
|
|
|
|
|
void Init();
|
2009-10-31 00:36:06 +01:00
|
|
|
|
|
|
|
public:
|
2012-10-26 18:25:26 +01:00
|
|
|
SfxInsertFloatingFrameDialog(Window *pParent,
|
|
|
|
const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& xStorage );
|
|
|
|
SfxInsertFloatingFrameDialog( Window* pParent,
|
|
|
|
const com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject >& xObj );
|
|
|
|
virtual short Execute();
|
2009-10-31 00:36:06 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _SVX_INSDLG_HXX
|
|
|
|
|
2010-10-27 12:45:03 +01:00
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|