[Libreoffice-commits] core.git: include/sfx2 sfx2/Library_sfx.mk sfx2/source

Kohei Yoshida kohei.yoshida at collabora.com
Fri Nov 21 18:04:57 PST 2014


 include/sfx2/app.hxx                    |    3 --
 include/sfx2/mnuitem.hxx                |    1 
 sfx2/Library_sfx.mk                     |    1 
 sfx2/source/appl/appinit.cxx            |    1 
 sfx2/source/appl/appquit.cxx            |    1 
 sfx2/source/appl/appreg.cxx             |    1 
 sfx2/source/appl/module.cxx             |    1 
 sfx2/source/control/ctrlfactoryimpl.cxx |   42 +++++++++++++++++++++++++++++++
 sfx2/source/inc/ctrlfactoryimpl.hxx     |   43 ++++++++++++++++++++++++++++++++
 sfx2/source/menu/mnuitem.cxx            |    1 
 10 files changed, 93 insertions(+), 2 deletions(-)

New commits:
commit c2d11710716f3ec5696f3402951be0d7539fe376
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Fri Nov 21 20:45:47 2014 -0500

    Forward declare SfxMenuCtrlFactArr_Impl in sfx2/app.hxx public header.
    
    Change-Id: Iaf287912a52eb8785c687a13536fc170094425c7

diff --git a/include/sfx2/app.hxx b/include/sfx2/app.hxx
index d0a0459..a9bff02 100644
--- a/include/sfx2/app.hxx
+++ b/include/sfx2/app.hxx
@@ -35,7 +35,6 @@
 // header file because in former times SfxApplication was derived from it
 #include <vcl/svapp.hxx>
 
-#include <sfx2/mnuitem.hxx>
 #include <sfx2/shell.hxx>
 #include <sfx2/stbitem.hxx>
 #include <sfx2/tbxctrl.hxx>
@@ -62,7 +61,7 @@ class SfxEventConfiguration;
 class SfxEventHint;
 class SfxItemSet;
 class SfxMedium;
-typedef boost::ptr_vector<SfxMenuCtrlFactory> SfxMenuCtrlFactArr_Impl;
+class SfxMenuCtrlFactArr_Impl;
 class SfxNewFileDialog;
 class SfxObjectShell;
 typedef ::std::vector<SfxObjectShell*> SfxObjectShellArr_Impl;
diff --git a/include/sfx2/mnuitem.hxx b/include/sfx2/mnuitem.hxx
index ff0816e..0ddfe02 100644
--- a/include/sfx2/mnuitem.hxx
+++ b/include/sfx2/mnuitem.hxx
@@ -25,6 +25,7 @@
 #include <sal/config.h>
 #include <sfx2/ctrlitem.hxx>
 #include <sfx2/dllapi.h>
+#include <tools/link.hxx>
 
 class SfxVirtualMenu;
 class SfxBindings;
diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk
index 00c8781..0fc03c2 100644
--- a/sfx2/Library_sfx.mk
+++ b/sfx2/Library_sfx.mk
@@ -134,6 +134,7 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\
     sfx2/source/config/evntconf \
     sfx2/source/control/bindings \
     sfx2/source/control/ctrlitem \
+    sfx2/source/control/ctrlfactoryimpl \
 	sfx2/source/control/dispatch \
 	sfx2/source/control/itemdel \
     sfx2/source/control/minfitem \
diff --git a/sfx2/source/appl/appinit.cxx b/sfx2/source/appl/appinit.cxx
index a2d5d48..6238f5d 100644
--- a/sfx2/source/appl/appinit.cxx
+++ b/sfx2/source/appl/appinit.cxx
@@ -67,6 +67,7 @@
 #include <sfx2/fcontnr.hxx>
 #include "helper.hxx"
 #include "sfxpicklist.hxx"
+#include <ctrlfactoryimpl.hxx>
 
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::frame;
diff --git a/sfx2/source/appl/appquit.cxx b/sfx2/source/appl/appquit.cxx
index b601bfa..fb1771f0 100644
--- a/sfx2/source/appl/appquit.cxx
+++ b/sfx2/source/appl/appquit.cxx
@@ -54,6 +54,7 @@
 #include <sfx2/docfac.hxx>
 #include "appbaslib.hxx"
 #include "childwinimpl.hxx"
+#include <ctrlfactoryimpl.hxx>
 #include <basic/basicmanagerrepository.hxx>
 #include <svtools/svtresid.hxx>
 
diff --git a/sfx2/source/appl/appreg.cxx b/sfx2/source/appl/appreg.cxx
index e9c1e6e..923016d 100644
--- a/sfx2/source/appl/appreg.cxx
+++ b/sfx2/source/appl/appreg.cxx
@@ -34,6 +34,7 @@
 #include "partwnd.hxx"
 #include <sfx2/sfxsids.hrc>
 #include "recfloat.hxx"
+#include <ctrlfactoryimpl.hxx>
 #include <sfx2/objsh.hxx>
 #include <sfx2/viewsh.hxx>
 #include <sfx2/objface.hxx>
diff --git a/sfx2/source/appl/module.cxx b/sfx2/source/appl/module.cxx
index 974276b..71c06b4 100644
--- a/sfx2/source/appl/module.cxx
+++ b/sfx2/source/appl/module.cxx
@@ -42,6 +42,7 @@
 #define SfxModule
 #include "sfxslots.hxx"
 #include "childwinimpl.hxx"
+#include <ctrlfactoryimpl.hxx>
 
 static SfxModuleArr_Impl* pModules=0;
 
diff --git a/sfx2/source/control/ctrlfactoryimpl.cxx b/sfx2/source/control/ctrlfactoryimpl.cxx
new file mode 100644
index 0000000..3e5fbf5
--- /dev/null
+++ b/sfx2/source/control/ctrlfactoryimpl.cxx
@@ -0,0 +1,42 @@
+/* -*- 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/.
+ *
+ * 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 .
+ */
+
+#include <ctrlfactoryimpl.hxx>
+
+const SfxMenuCtrlFactory& SfxMenuCtrlFactArr_Impl::operator []( size_t i ) const
+{
+    return maData[i];
+}
+
+SfxMenuCtrlFactory& SfxMenuCtrlFactArr_Impl::operator []( size_t i )
+{
+    return maData[i];
+}
+
+void SfxMenuCtrlFactArr_Impl::push_back( SfxMenuCtrlFactory* p )
+{
+    maData.push_back(p);
+}
+
+size_t SfxMenuCtrlFactArr_Impl::size() const
+{
+    return maData.size();
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/inc/ctrlfactoryimpl.hxx b/sfx2/source/inc/ctrlfactoryimpl.hxx
new file mode 100644
index 0000000..a40f275
--- /dev/null
+++ b/sfx2/source/inc/ctrlfactoryimpl.hxx
@@ -0,0 +1,43 @@
+/* -*- 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/.
+ *
+ * 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 .
+ */
+
+#ifndef INCLUDED_SFX2_CTRLFACTORYIMPL_HXX
+#define INCLUDED_SFX2_CTRLFACTORYIMPL_HXX
+
+#include <sfx2/mnuitem.hxx>
+
+#include <boost/ptr_container/ptr_vector.hpp>
+
+class SfxMenuCtrlFactArr_Impl
+{
+    typedef boost::ptr_vector<SfxMenuCtrlFactory> DataType;
+    DataType maData;
+
+public:
+    const SfxMenuCtrlFactory& operator []( size_t i ) const;
+    SfxMenuCtrlFactory& operator []( size_t i );
+
+    void push_back( SfxMenuCtrlFactory* p );
+
+    size_t size() const;
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/menu/mnuitem.cxx b/sfx2/source/menu/mnuitem.cxx
index 8db0e1e..49fe481 100644
--- a/sfx2/source/menu/mnuitem.cxx
+++ b/sfx2/source/menu/mnuitem.cxx
@@ -48,6 +48,7 @@
 #include <sfx2/dispatch.hxx>
 #include "sfxtypes.hxx"
 #include "virtmenu.hxx"
+#include <ctrlfactoryimpl.hxx>
 #include <sfx2/mnuitem.hxx>
 #include <sfx2/tbxctrl.hxx>
 #include <sfx2/module.hxx>


More information about the Libreoffice-commits mailing list