1
/* * This file is part of Maliit framework *
3
* Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
6
* Contact: maliit-discuss@lists.maliit.org
8
* Copyright (C) 2012 Openismus GmbH
10
* This library is free software; you can redistribute it and/or
11
* modify it under the terms of the GNU Lesser General Public
12
* License version 2.1 as published by the Free Software Foundation
13
* and appearing in the file LICENSE.LGPL included in the packaging
17
#include "windowedsurfacegroup.h"
19
#include "abstractsurfacegroup.h"
20
#include "windowedsurface.h"
25
class WindowedSurfaceGroup : public AbstractSurfaceGroup
28
WindowedSurfaceGroup(WindowedSurfaceFactory *surfaceFactory);
30
virtual Maliit::Plugins::AbstractSurfaceFactory *factory();
32
virtual void activate();
33
virtual void deactivate();
35
virtual void setRotation(Maliit::OrientationAngle angle);
37
void applicationFocusChanged(WId winId);
40
QScopedPointer<WindowedSurfaceFactory> mSurfaceFactory;
43
WindowedSurfaceGroup::WindowedSurfaceGroup(WindowedSurfaceFactory *surfaceFactory)
44
: AbstractSurfaceGroup(),
45
mSurfaceFactory(surfaceFactory)
47
connect(mSurfaceFactory.data(), SIGNAL(inputMethodAreaChanged(QRegion)),
48
this, SIGNAL(inputMethodAreaChanged(QRegion)));
51
Maliit::Plugins::AbstractSurfaceFactory *WindowedSurfaceGroup::factory()
53
return mSurfaceFactory.data();
56
void WindowedSurfaceGroup::activate()
58
mSurfaceFactory->activate();
61
void WindowedSurfaceGroup::deactivate()
63
mSurfaceFactory->deactivate();
66
void WindowedSurfaceGroup::setRotation(Maliit::OrientationAngle)
70
void WindowedSurfaceGroup::applicationFocusChanged(WId winId)
72
mSurfaceFactory->applicationFocusChanged(winId);
75
QSharedPointer<AbstractSurfaceGroup> WindowedSurfaceGroupFactory::createSurfaceGroup()
77
WindowedSurfaceFactory *factory = new WindowedSurfaceFactory;
79
connect(factory, SIGNAL(surfaceWidgetCreated(QWidget*,int)),
80
this, SIGNAL(surfaceWidgetCreated(QWidget*,int)));
82
QSharedPointer<WindowedSurfaceGroup> group(new WindowedSurfaceGroup(factory));
83
mGroups.push_back(group);
88
void WindowedSurfaceGroupFactory::applicationFocusChanged(WId winId)
90
Q_FOREACH(QWeakPointer<WindowedSurfaceGroup> weakGroup, mGroups) {
91
QSharedPointer<WindowedSurfaceGroup> group = weakGroup.toStrongRef();
93
group->applicationFocusChanged(winId);
98
} // namespace Plugins