2 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include "dummy-control.h"
20 #include <dali-toolkit/dali-toolkit.h>
28 DummyControl::DummyControl()
32 DummyControl::DummyControl(const DummyControl& control)
37 DummyControl::~DummyControl()
41 DummyControl DummyControl::DownCast( BaseHandle handle )
43 return Control::DownCast<DummyControl, DummyControlImpl>(handle);
46 DummyControl& DummyControl::operator=(const DummyControl& control)
48 Control::operator=( control );
52 // Used to test signal connections
53 void DummyControlImpl::CustomSlot1( Actor actor )
55 mCustomSlot1Called = true;
58 DummyControl DummyControlImpl::New()
60 IntrusivePtr< DummyControlImpl > impl = new DummyControlImpl;
61 DummyControl control( *impl );
66 DummyControlImpl::DummyControlImpl()
67 : Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_HOVER_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ),
68 mCustomSlot1Called(false)
73 DummyControlImpl::~DummyControlImpl()
77 DummyControl DummyControlImplOverride::New()
79 IntrusivePtr< DummyControlImplOverride > impl = new DummyControlImplOverride;
80 DummyControl control( *impl );
86 DummyControlImplOverride::DummyControlImplOverride()
88 initializeCalled(false),
89 activatedCalled(false),
90 onAccTouchedCalled(false),
91 onAccValueChangeCalled(false),
92 themeChangeCalled(false),
93 fontChangeCalled(false),
97 longPressCalled(false),
98 stageConnectionCalled(false),
99 stageDisconnectionCalled(false),
100 childAddCalled(false),
101 childRemoveCalled(false),
102 sizeSetCalled(false),
103 sizeAnimationCalled(false),
104 touchEventCalled(false),
105 hoverEventCalled(false),
106 wheelEventCalled(false),
107 keyEventCalled(false),
108 keyInputFocusGained(false),
109 keyInputFocusLost(false)
113 DummyControlImplOverride::~DummyControlImplOverride() { }
116 void DummyControlImplOverride::OnInitialize() { initializeCalled = true; }
117 bool DummyControlImplOverride::OnAccessibilityActivated() { activatedCalled = true; return true; }
118 bool DummyControlImplOverride::OnAccessibilityTouch(const TouchEvent& touchEvent) { onAccTouchedCalled = true; return true; }
119 bool DummyControlImplOverride::OnAccessibilityValueChange( bool isIncrease )
121 onAccValueChangeCalled = true; return true;
124 void DummyControlImplOverride::OnStyleChange( Toolkit::StyleManager styleManager, StyleChange::Type change )
126 themeChangeCalled = change == StyleChange::THEME_CHANGE;
127 fontChangeCalled = change == StyleChange::DEFAULT_FONT_SIZE_CHANGE;
129 void DummyControlImplOverride::OnPinch(const PinchGesture& pinch) { pinchCalled = true; }
130 void DummyControlImplOverride::OnPan(const PanGesture& pan) { panCalled = true; }
131 void DummyControlImplOverride::OnTap(const TapGesture& tap) { tapCalled = true; }
132 void DummyControlImplOverride::OnLongPress(const LongPressGesture& longPress) { longPressCalled = true; }
133 void DummyControlImplOverride::OnStageConnection( int depth ) { Control::OnStageConnection( depth ); stageConnectionCalled = true; }
134 void DummyControlImplOverride::OnStageDisconnection() { stageDisconnectionCalled = true; Control::OnStageDisconnection(); }
135 void DummyControlImplOverride::OnChildAdd(Actor& child) { childAddCalled = true; }
136 void DummyControlImplOverride::OnChildRemove(Actor& child) { childRemoveCalled = true; }
137 void DummyControlImplOverride::OnSizeSet(const Vector3& targetSize) { Control::OnSizeSet( targetSize ); sizeSetCalled = true; }
138 void DummyControlImplOverride::OnSizeAnimation(Animation& animation, const Vector3& targetSize) { Control::OnSizeAnimation( animation, targetSize ); sizeAnimationCalled = true; }
139 bool DummyControlImplOverride::OnTouchEvent(const TouchEvent& event) { touchEventCalled = true; return false; }
140 bool DummyControlImplOverride::OnHoverEvent(const HoverEvent& event) { hoverEventCalled = true; return false; }
141 bool DummyControlImplOverride::OnWheelEvent(const WheelEvent& event) { wheelEventCalled = true; return false; }
142 bool DummyControlImplOverride::OnKeyEvent(const KeyEvent& event) { keyEventCalled = true; return false;}
143 void DummyControlImplOverride::OnKeyInputFocusGained() { keyInputFocusGained = true; }
144 void DummyControlImplOverride::OnKeyInputFocusLost() { keyInputFocusLost = true; }
146 DummyControl DummyControl::New( bool override )
148 DummyControl control;
152 control = DummyControlImplOverride::New();
156 control = DummyControlImpl::New();
162 DummyControl::DummyControl( DummyControlImpl& implementation )
163 : Control( implementation )
167 DummyControl::DummyControl( Dali::Internal::CustomActor* internal )
168 : Control( internal )
170 VerifyCustomActorPointer<DummyControlImpl>(internal);
173 } // namespace Toolkit