summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--basctl/source/basicide/baside2b.cxx2
-rw-r--r--include/svtools/textwindowpeer.hxx43
-rw-r--r--svtools/source/edit/textwindowpeer.cxx64
3 files changed, 56 insertions, 53 deletions
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index 76b717f88cee..fee2d61a2539 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -2102,7 +2102,7 @@ EditorWindow::GetComponentInterface(sal_Bool bCreate)
if (!pEditEngine)
CreateEditEngine();
- xPeer = new ::svt::TextWindowPeer(*GetEditView());
+ xPeer = svt::createTextWindowPeer(*GetEditView());
SetComponentInterface(xPeer);
}
return xPeer;
diff --git a/include/svtools/textwindowpeer.hxx b/include/svtools/textwindowpeer.hxx
index 14ef753c3f5a..7da6b83d2ef6 100644
--- a/include/svtools/textwindowpeer.hxx
+++ b/include/svtools/textwindowpeer.hxx
@@ -20,45 +20,24 @@
#ifndef INCLUDED_SVTOOLS_TEXTWINDOWPEER_HXX
#define INCLUDED_SVTOOLS_TEXTWINDOWPEER_HXX
-#include <svtools/svtdllapi.h>
-#include <toolkit/awt/vclxwindow.hxx>
+#include <sal/config.h>
-#include <memory>
+#include <com/sun/star/uno/Reference.hxx>
+#include <sal/types.h>
+#include <svtools/svtdllapi.h>
-class TextEngine;
+namespace com { namespace sun { namespace star { namespace awt {
+ class XWindowPeer;
+} } } }
class TextView;
-namespace svt
-{
- class AccessibleFactoryAccess ;
-
-class TextWindowPeer: public ::VCLXWindow
-{
-public:
- SVT_DLLPUBLIC TextWindowPeer(::TextView & rView);
-
- virtual ~TextWindowPeer();
-
-private:
- // VCLXWindow inherits funny copy constructor and assignment operator from
- // ::cppu::OWeakObject, so override them here:
-
- TextWindowPeer(TextWindowPeer &); // not implemented
-
- void operator =(TextWindowPeer); // not implemented
-
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::accessibility::XAccessibleContext >
- CreateAccessibleContext();
-
- ::TextEngine & m_rEngine;
- ::TextView & m_rView;
+namespace svt {
- ::std::auto_ptr< ::svt::AccessibleFactoryAccess > m_pFactoryAccess;
-};
+css::uno::Reference<css::awt::XWindowPeer> SVT_DLLPUBLIC createTextWindowPeer(
+ TextView & view);
}
-#endif // INCLUDED_SVTOOLS_TEXTWINDOWPEER_HXX
+#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svtools/source/edit/textwindowpeer.cxx b/svtools/source/edit/textwindowpeer.cxx
index 11fa8c9eb38c..6e0a8b7d0aca 100644
--- a/svtools/source/edit/textwindowpeer.cxx
+++ b/svtools/source/edit/textwindowpeer.cxx
@@ -17,31 +17,55 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <sal/config.h>
+#include <svtaccessiblefactory.hxx>
+
+#include <boost/noncopyable.hpp>
+#include <com/sun/star/accessibility/XAccessibleContext.hpp>
+#include <com/sun/star/awt/XWindowPeer.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <sal/types.h>
#include <svtools/textwindowpeer.hxx>
+#include <toolkit/awt/vclxwindow.hxx>
+#include <vcl/texteng.hxx>
#include <vcl/textview.hxx>
-#include "svtaccessiblefactory.hxx"
-namespace svt
+namespace {
+
+class TextWindowPeer: public VCLXWindow, private boost::noncopyable {
+public:
+ explicit TextWindowPeer(TextView & view);
+
+ virtual ~TextWindowPeer() {}
+
+private:
+ virtual css::uno::Reference<css::accessibility::XAccessibleContext>
+ CreateAccessibleContext();
+
+ TextEngine & m_rEngine;
+ TextView & m_rView;
+ svt::AccessibleFactoryAccess m_aFactoryAccess;
+};
+
+TextWindowPeer::TextWindowPeer(TextView & view):
+ m_rEngine(*view.GetTextEngine()), m_rView(view)
+{
+ SetWindow(view.GetWindow());
+}
+
+css::uno::Reference<css::accessibility::XAccessibleContext>
+TextWindowPeer::CreateAccessibleContext() {
+ return m_aFactoryAccess.getFactory().createAccessibleTextWindowContext(
+ this, m_rEngine, m_rView);
+}
+
+}
+
+css::uno::Reference<css::awt::XWindowPeer> svt::createTextWindowPeer(
+ TextView & view)
{
- TextWindowPeer::TextWindowPeer(::TextView & rView):
- m_rEngine(*rView.GetTextEngine()), m_rView(rView)
- {
- SetWindow(rView.GetWindow());
- m_pFactoryAccess.reset( new AccessibleFactoryAccess );
- }
-
- // virtual
- TextWindowPeer::~TextWindowPeer()
- {
- }
-
- css::uno::Reference< css::accessibility::XAccessibleContext > TextWindowPeer::CreateAccessibleContext()
- {
- return m_pFactoryAccess->getFactory().createAccessibleTextWindowContext(
- this, m_rEngine, m_rView
- );
- }
+ return new TextWindowPeer(view);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */