summaryrefslogtreecommitdiff
path: root/svx/source/dialog/hyprdlg.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/dialog/hyprdlg.hxx')
-rw-r--r--svx/source/dialog/hyprdlg.hxx143
1 files changed, 143 insertions, 0 deletions
diff --git a/svx/source/dialog/hyprdlg.hxx b/svx/source/dialog/hyprdlg.hxx
new file mode 100644
index 000000000000..51897af95da8
--- /dev/null
+++ b/svx/source/dialog/hyprdlg.hxx
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_DLG_HYPERDLG_HXX
+#define _SVX_DLG_HYPERDLG_HXX
+
+#include <vcl/combobox.hxx>
+#include <vcl/toolbox.hxx>
+#include <vcl/menu.hxx>
+#include <svtools/stdctrl.hxx>
+#include <sfx2/ctrlitem.hxx>
+#include <svl/srchcfg.hxx>
+#include <sfx2/tbxctrl.hxx>
+
+class SvxHyperlinkDlg;
+class SfxViewFrame;
+
+/*--------------------------------------------------------------------
+ Beschreibung:
+ --------------------------------------------------------------------*/
+
+class HyperCombo : public ComboBox
+{
+ SvxHyperlinkDlg *pDlg;
+ long nMaxWidth;
+ long nMinWidth;
+ long nRatio;
+
+ virtual long Notify( NotifyEvent& rNEvt );
+ virtual long PreNotify( NotifyEvent& rNEvt );
+
+public:
+ HyperCombo( SvxHyperlinkDlg* pDialog, const ResId& rResId );
+
+ inline void SetRatio( long nR ) { nRatio = nR; }
+ inline long GetRatio() { return nRatio; }
+ long CalcResizeWidth( long nW );
+ inline long GetResizeWidth() { return (nMaxWidth - nMinWidth); }
+ void DoResize( long nW );
+};
+
+class HyperFixedText : public FixedInfo
+{
+ SvxHyperlinkDlg *pDlg;
+
+public:
+ HyperFixedText( SvxHyperlinkDlg* pDialog, const ResId& rResId );
+
+};
+
+/*--------------------------------------------------------------------
+ Beschreibung: Dialog zum Einfgen/ndern eines Hyperlink
+ --------------------------------------------------------------------*/
+
+class SvxHyperlinkDlg : public ToolBox, public SfxControllerItem
+{
+ friend class HyperCombo;
+ friend class HyperFixedText;
+ using ToolBox::StateChanged;
+
+private:
+ SfxStatusForwarder aForwarder;
+ SfxStatusForwarder aHyperlinkDlgForward;
+ HyperCombo aNameCB;
+ HyperFixedText aUrlFT;
+ HyperCombo aUrlCB;
+
+ SvxSearchConfig aSearchConfig;
+
+ String sAddress;
+ String sExplorer;
+ String sOldName;
+ String sSearchTitle;
+ PopupMenu aLinkPopup;
+ PopupMenu *pTargetMenu;
+ BOOL bNoDoc;
+ BOOL bSend;
+ BOOL bHasOldName;
+ long nMaxWidth;
+ long nMinWidth;
+ long nMaxHeight;
+ BOOL bHtmlMode;
+
+ SfxImageManager* mpManager;
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState, const SfxPoolItem* pState );
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+
+ // DockingWindow
+ virtual void Resize();
+ virtual void Resizing(Size& rSize);
+
+ // Drag&Drop
+ BOOL GetDragData(USHORT nItem, ULONG nDDFormatId, String& rBuffer);
+
+ DECL_LINK(TBClickHdl, ToolBox *);
+ DECL_LINK(TBSelectHdl, ToolBox *);
+ DECL_LINK(DropdownClick, ToolBox * );
+ DECL_LINK(LinkPopupSelectHdl, Menu *);
+ DECL_LINK(SearchPopupSelectHdl, Menu *);
+ DECL_LINK(ComboSelectHdl, ComboBox *);
+ DECL_LINK(ComboModifyHdl, ComboBox *);
+ DECL_LINK(BookmarkFoundHdl, String *);
+
+ void OpenDoc( const String& rURL, SfxViewFrame* pViewFrame );
+ void EnableLink();
+ void SendToApp(USHORT nType);
+ void AddToHistory(const String& rName, const String& rURL);
+ void TargetMenu(const String& rSelEntry, BOOL bExecute);
+ String GetSelTarget();
+
+ void SetImages();
+public:
+ SvxHyperlinkDlg(SfxBindings *pBindings, Window* pWindow);
+ ~SvxHyperlinkDlg();
+};
+
+
+#endif // _SVX_DLG_HYPERDLG_HXX
+