summaryrefslogtreecommitdiff
path: root/framework/source/lomenubar/FrameHelper.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'framework/source/lomenubar/FrameHelper.hxx')
-rw-r--r--framework/source/lomenubar/FrameHelper.hxx157
1 files changed, 0 insertions, 157 deletions
diff --git a/framework/source/lomenubar/FrameHelper.hxx b/framework/source/lomenubar/FrameHelper.hxx
deleted file mode 100644
index 165826ab47..0000000000
--- a/framework/source/lomenubar/FrameHelper.hxx
+++ /dev/null
@@ -1,157 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * A LibreOffice extension to send the menubar structure through DBusMenu
- *
- * Copyright 2011 Canonical, Ltd.
- * Authors:
- * Alberto Ruiz <alberto.ruiz@codethink.co.uk>
- *
- * This program is free software: you can redistribute it and/or modify it under
- * the the GNU Lesser General Public License version 3, as published by the Free
- * Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
- * SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR PURPOSE. See the applicable
- * version of the GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-#ifndef __FRAME_HELPER_HXX__
-#define __FRAME_HELPER_HXX__
-
-#include <vector>
-
-#include <boost/scoped_ptr.hpp>
-
-#include <com/sun/star/awt/KeyEvent.hpp>
-#include <com/sun/star/awt/XMenu.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/container/XNameAccess.hpp>
-#include <com/sun/star/frame/FrameAction.hpp>
-#include <com/sun/star/frame/FrameSearchFlag.hpp>
-#include <com/sun/star/frame/XDispatchProvider.hpp>
-#include <com/sun/star/frame/XFrame.hpp>
-#include <com/sun/star/frame/XFrameActionListener.hpp>
-#include <com/sun/star/frame/XFramesSupplier.hpp>
-#include <com/sun/star/frame/XModel.hpp>
-#include <com/sun/star/frame/XModuleManager.hpp>
-#include <com/sun/star/frame/XStatusListener.hpp>
-#include <com/sun/star/lang/EventObject.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/ui/XAcceleratorConfiguration.hpp>
-#include <com/sun/star/util/XURLTransformer.hpp>
-#include <cppuhelper/implbase1.hxx>
-
-//#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wignored-qualifiers"
-#include <libdbusmenu-glib/server.h>
-#pragma GCC diagnostic error "-Wignored-qualifiers"
-//#pragma GCC diagnostic pop
-#include <libdbusmenu-glib/menuitem.h>
-
-using com::sun::star::awt::KeyEvent;
-using com::sun::star::awt::XMenu;
-using com::sun::star::beans::PropertyValue;
-using com::sun::star::container::XNameAccess;
-using com::sun::star::frame::FrameActionEvent;
-using com::sun::star::frame::XFrame;
-using com::sun::star::frame::XFramesSupplier;
-using com::sun::star::frame::XFrameActionListener;
-using com::sun::star::frame::XStatusListener;
-using com::sun::star::frame::XDispatchProvider;
-using com::sun::star::frame::XModuleManager;
-using com::sun::star::frame::XModel;
-using com::sun::star::lang::EventObject;
-using com::sun::star::lang::XMultiServiceFactory;
-using com::sun::star::lang::XMultiComponentFactory;
-using com::sun::star::uno::Any;
-using com::sun::star::uno::Reference;
-using com::sun::star::uno::Sequence;
-using com::sun::star::uno::RuntimeException;
-using com::sun::star::util::XURLTransformer;
-using com::sun::star::ui::XAcceleratorConfiguration;
-using rtl::OUString;
-
-
-namespace framework { namespace lomenubar
-{
- class DispatchRegistry;
-}}
-
-/* This class is a helper in charge of closing the dbusmenu server when a frame is closed,
- * and also allows the menuitem callbacks to dispatch commands.
- */
-
-class FrameHelper : public cppu::WeakImplHelper1 < XFrameActionListener >
-{
- private:
- const Reference < XStatusListener > m_xStatusListener;
- ::boost::scoped_ptr< ::framework::lomenubar::DispatchRegistry> m_pDispatchRegistry;
- const Reference < XMultiServiceFactory > m_xMSF;
- const Reference < XURLTransformer > m_xTrans;
- const Reference < XModuleManager> m_xMM;
- const Reference < XMultiComponentFactory > m_xPCF;
- const Reference < XFrame > m_xFrame;
- const Reference < XDispatchProvider > m_xdp;
- const Sequence < Any > m_args;
- Reference < XNameAccess > m_xUICommands;
- DbusmenuServer *m_server;
- DbusmenuMenuitem *m_root;
- gboolean m_watcher_set;
- guint m_watcher;
- GHashTable *m_commandsInfo;
- //This variable prevents the helper from being disconnected from the frame
- //for special cases of component dettaching like print preview
- gboolean m_blockDetach;
-
-
- gboolean isSpecialSubmenu (OUString command);
-
- //This is to build the shortcut database
- Reference< XAcceleratorConfiguration > m_docAccelConf;
- Reference< XAcceleratorConfiguration > m_modAccelConf;
- Reference< XAcceleratorConfiguration > m_globAccelConf;
-
- void getAcceleratorConfigurations (Reference < XModel >,
- Reference < XModuleManager>);
-
- KeyEvent findShortcutForCommand (OUString);
-
- public:
- FrameHelper(const Reference< XMultiServiceFactory >&,
- const Reference< XFrame >&,
- DbusmenuServer*);
-
- virtual ~FrameHelper();
- virtual void SAL_CALL frameAction(const FrameActionEvent& action)
- throw (RuntimeException);
-
- virtual void SAL_CALL disposing(const EventObject& aEvent)
- throw (RuntimeException);
-
- //Setters
- void setRootItem (DbusmenuMenuitem *);
- void setRegistrarWatcher (guint watcher);
- void setServer (DbusmenuServer *);
-
- //Getters
- Reference < XFrame > getFrame ();
- unsigned long getXID ();
- GHashTable* getCommandsInfo ();
- ::rtl::OUString getLabelFromCommandURL (::rtl::OUString);
-
- //Menu Related actions
- void dispatchCommand (OUString);
- void rebuildMenu (Reference < XMenu >, DbusmenuMenuitem*);
- void rebuildMenuFromRoot ();
- void populateWindowList (DbusmenuMenuitem *);
-};
-#endif // __FRAME_HELPER_HXX__
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */