[Libreoffice-commits] core.git: 2 commits - include/sfx2 sfx2/Library_sfx.mk sfx2/source
Kohei Yoshida
kohei.yoshida at collabora.com
Thu Nov 20 19:47:56 PST 2014
include/sfx2/childwin.hxx | 20 +++---------------
sfx2/Library_sfx.mk | 1
sfx2/source/appl/appchild.cxx | 1
sfx2/source/appl/childwin.cxx | 14 ++++++++++++
sfx2/source/appl/childwinimpl.cxx | 42 ++++++++++++++++++++++++++++++++++++++
sfx2/source/appl/childwinimpl.hxx | 42 ++++++++++++++++++++++++++++++++++++++
sfx2/source/inc/splitwin.hxx | 2 +
7 files changed, 106 insertions(+), 16 deletions(-)
New commits:
commit 3b3348b262eb34e15b666ba38a41fe9076942941
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Thu Nov 20 22:11:32 2014 -0500
Remove ptr_vector header exposure from sfx2/childwin.hxx public header.
Change-Id: I4060c8987a0da387d02f8468229854612a230db3
diff --git a/include/sfx2/childwin.hxx b/include/sfx2/childwin.hxx
index 683ebd5..81b78f8 100644
--- a/include/sfx2/childwin.hxx
+++ b/include/sfx2/childwin.hxx
@@ -27,7 +27,6 @@
#include <sfx2/shell.hxx>
#include <sfx2/chalign.hxx>
-#include <boost/ptr_container/ptr_vector.hpp>
class SfxWorkWindow;
class SfxModule;
@@ -92,7 +91,7 @@ struct SfxChildWinContextFactory
{}
};
-typedef boost::ptr_vector<SfxChildWinContextFactory> SfxChildWinContextArr_Impl;
+class SfxChildWinContextArr_Impl;
struct SFX2_DLLPUBLIC SfxChildWinFactory
{
diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk
index ae85eaa..d98e511 100644
--- a/sfx2/Library_sfx.mk
+++ b/sfx2/Library_sfx.mk
@@ -99,6 +99,7 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\
sfx2/source/appl/appserv \
sfx2/source/appl/appuno \
sfx2/source/appl/childwin \
+ sfx2/source/appl/childwinimpl \
sfx2/source/appl/fileobj \
sfx2/source/appl/fwkhelper \
sfx2/source/appl/helpdispatch \
diff --git a/sfx2/source/appl/appchild.cxx b/sfx2/source/appl/appchild.cxx
index a0add3e..c273034 100644
--- a/sfx2/source/appl/appchild.cxx
+++ b/sfx2/source/appl/appchild.cxx
@@ -24,6 +24,7 @@
#include <sfx2/app.hxx>
#include "appdata.hxx"
#include "workwin.hxx"
+#include "childwinimpl.hxx"
#include <sfx2/childwin.hxx>
#include <sfx2/templdlg.hxx>
#include <sfx2/request.hxx>
diff --git a/sfx2/source/appl/childwin.cxx b/sfx2/source/appl/childwin.cxx
index d4821d2..1cf3fee 100644
--- a/sfx2/source/appl/childwin.cxx
+++ b/sfx2/source/appl/childwin.cxx
@@ -37,6 +37,7 @@
#include <sfx2/dockwin.hxx>
#include <sfx2/dispatch.hxx>
#include "workwin.hxx"
+#include "childwinimpl.hxx"
static const sal_uInt16 nVersion = 2;
diff --git a/sfx2/source/appl/childwinimpl.cxx b/sfx2/source/appl/childwinimpl.cxx
new file mode 100644
index 0000000..5022fa5
--- /dev/null
+++ b/sfx2/source/appl/childwinimpl.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 "childwinimpl.hxx"
+
+size_t SfxChildWinContextArr_Impl::size() const
+{
+ return maData.size();
+}
+
+const SfxChildWinContextFactory& SfxChildWinContextArr_Impl::operator []( size_t i ) const
+{
+ return maData[i];
+}
+
+SfxChildWinContextFactory& SfxChildWinContextArr_Impl::operator []( size_t i )
+{
+ return maData[i];
+}
+
+void SfxChildWinContextArr_Impl::push_back( SfxChildWinContextFactory* p )
+{
+ maData.push_back(p);
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/appl/childwinimpl.hxx b/sfx2/source/appl/childwinimpl.hxx
new file mode 100644
index 0000000..5095de4
--- /dev/null
+++ b/sfx2/source/appl/childwinimpl.hxx
@@ -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 .
+ */
+
+#ifndef INCLUDED_SFX2_CHILDWINIMPL_HXX
+#define INCLUDED_SFX2_CHILDWINIMPL_HXX
+
+#include <sfx2/childwin.hxx>
+
+#include <boost/ptr_container/ptr_vector.hpp>
+
+class SfxChildWinContextArr_Impl
+{
+ typedef boost::ptr_vector<SfxChildWinContextFactory> DataType;
+ DataType maData;
+
+public:
+ size_t size() const;
+ const SfxChildWinContextFactory& operator []( size_t i ) const;
+ SfxChildWinContextFactory& operator []( size_t i );
+ void push_back( SfxChildWinContextFactory* p );
+};
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/inc/splitwin.hxx b/sfx2/source/inc/splitwin.hxx
index 05bbd61..9e7efb2 100644
--- a/sfx2/source/inc/splitwin.hxx
+++ b/sfx2/source/inc/splitwin.hxx
@@ -22,6 +22,8 @@
#include <vcl/splitwin.hxx>
#include <sfx2/childwin.hxx>
+#include <boost/ptr_container/ptr_vector.hpp>
+
class SfxWorkWindow;
class SfxDockingWindow;
class SfxEmptySplitWin_Impl;
commit 5314ece79ef8abd7d48b9e030d0a73ffac782da1
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Thu Nov 20 21:52:46 2014 -0500
Make the ctor and dtor bodies non-inline.
Change-Id: Ie36e3dfa808aec96c080f981a5ad9f09a0720c2c
diff --git a/include/sfx2/childwin.hxx b/include/sfx2/childwin.hxx
index 4fe4c00..683ebd5 100644
--- a/include/sfx2/childwin.hxx
+++ b/include/sfx2/childwin.hxx
@@ -94,7 +94,7 @@ struct SfxChildWinContextFactory
typedef boost::ptr_vector<SfxChildWinContextFactory> SfxChildWinContextArr_Impl;
-struct SfxChildWinFactory
+struct SFX2_DLLPUBLIC SfxChildWinFactory
{
SfxChildWinCtor pCtor; // Factory method
sal_uInt16 nId; // ChildWindow-Id ( SlotId )
@@ -102,19 +102,8 @@ struct SfxChildWinFactory
sal_uInt16 nPos; // Position in UI
SfxChildWinContextArr_Impl *pArr; // Array for Contexts
- SfxChildWinFactory( SfxChildWinCtor pTheCtor, sal_uInt16 nID,
- sal_uInt16 n )
- : pCtor(pTheCtor)
- , nId( nID )
- , nPos(n)
- , pArr( NULL )
- {}
-
- ~SfxChildWinFactory()
- {
- delete pArr;
- }
-
+ SfxChildWinFactory( SfxChildWinCtor pTheCtor, sal_uInt16 nID, sal_uInt16 n );
+ ~SfxChildWinFactory();
};
class FloatingWindow;
diff --git a/sfx2/source/appl/childwin.cxx b/sfx2/source/appl/childwin.cxx
index 66d2bb3..d4821d2 100644
--- a/sfx2/source/appl/childwin.cxx
+++ b/sfx2/source/appl/childwin.cxx
@@ -40,6 +40,19 @@
static const sal_uInt16 nVersion = 2;
+SfxChildWinFactory::SfxChildWinFactory( SfxChildWinCtor pTheCtor, sal_uInt16 nID,
+ sal_uInt16 n )
+ : pCtor(pTheCtor)
+ , nId( nID )
+ , nPos(n)
+ , pArr( NULL )
+{}
+
+SfxChildWinFactory::~SfxChildWinFactory()
+{
+ delete pArr;
+}
+
struct SfxChildWindow_Impl
{
::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xFrame;
More information about the Libreoffice-commits
mailing list