X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=capi%2Fdali-toolkit%2Fpublic-api%2Fcontrols%2Fcontrol-impl.h;h=6b52c92e15ab4d0c23a20a41dbfbe0397ef11f3f;hb=1866777184b30ae37eff224fac158220ccfb386d;hp=b2b687fd1b023efc148038f3fffe7acc08611993;hpb=d72610dbc3930e073808fce04bd5c9a37ef9666d;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/capi/dali-toolkit/public-api/controls/control-impl.h b/capi/dali-toolkit/public-api/controls/control-impl.h index b2b687f..6b52c92 100644 --- a/capi/dali-toolkit/public-api/controls/control-impl.h +++ b/capi/dali-toolkit/public-api/controls/control-impl.h @@ -1,27 +1,31 @@ #ifndef __DALI_TOOLKIT_CONTROL_IMPL_H__ #define __DALI_TOOLKIT_CONTROL_IMPL_H__ -// -// Copyright (c) 2014 Samsung Electronics Co., Ltd. -// -// Licensed under the Flora License, Version 1.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://floralicense.org/license/ -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an AS IS BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed 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 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ /** * @addtogroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE * @{ */ +// EXTERNAL INCLUDES +#include + // INTERNAL INCLUDES #include @@ -98,6 +102,15 @@ public: virtual bool OnAccessibilityPan(PanGesture gesture); /** + * @brief This method should be overridden by deriving classes when they wish to respond the accessibility + * touch event. + * + * @param[in] touchEvent The touch event. + * @return true if the touch event has been consumed by this control + */ + virtual bool OnAccessibilityTouch(const TouchEvent& touchEvent); + + /** * @brief This method should be overridden by deriving classes when they wish to respond * the accessibility up and down action (i.e. value change of slider control). * @@ -290,11 +303,34 @@ private: // For derived classes to override virtual void OnInitialize() { } /** - * @brief Callback for when the theme changes. + * @brief This method should be overridden by deriving classes when + * they wish to be notified when the style manager changes the theme. + * + * @param[in] styleManager The StyleManager object. */ virtual void OnThemeChange( Toolkit::StyleManager styleManager ); /** + * @brief This method should be overridden by deriving classes when + * they wish to be notified when the style changes the default font. + * + * @param[in] defaultFontChange Information denoting whether the default font has changed. + * @param[in] defaultFontSizeChange Information denoting whether the default font size has changed. + */ + virtual void OnFontChange( bool defaultFontChange, bool defaultFontSizeChange ){ } + + /** + * @deprecated Use OnFontChange() instead. + * Before the using of StyleManager, the StyleChange only deals with font change. + * + * @brief This method should be overridden by deriving classes when + * they wish to be notified when the style changes. + * + * @param[in] change Information denoting what has changed. + */ + virtual void OnStyleChange( StyleChange change ) { } + + /** * @brief Called whenever a pinch gesture is detected on this control. * * This can be overridden by deriving classes when pinch detection @@ -503,20 +539,22 @@ private: // From CustomActorImpl, derived classes can override these. private: /** - * @brief Perform the activated action. + * @brief This method is the callback for the StyleChangeSignal from StyleManager * - * @param[in] attributes The attributes to perfrom this action. + * @param[in] styleManager The StyleManager Object + * @param[in] change Information denoting what has changed. */ - void DoActivatedAction(const PropertyValueContainer& attributes); + void DoStyleChange( Toolkit::StyleManager styleManager, StyleChange change ); protected: // Construction // Flags for the constructor enum ControlBehaviour { - CONTROL_BEHAVIOUR_NONE = 0x0, - REQUIRES_TOUCH_EVENTS = 0x1, ///< True if the OnTouchEvent() callback is required. - REQUIRES_THEME_CHANGE_SIGNALS = 0x2 ///< True if this control should listen to theme change signals + CONTROL_BEHAVIOUR_NONE = 0, + REQUIRES_TOUCH_EVENTS = 1<<1, ///< True if the OnTouchEvent() callback is required. + REQUIRES_STYLE_CHANGE_SIGNALS = 1<<2, ///< True if needs to monitor style change signals such as theme/font change + NO_SIZE_NEGOTIATION = 1<<3 ///< True if control does not need size negotiation, i.e. it can be skipped in the algorithm }; /** @@ -698,8 +736,6 @@ private: */ bool EmitKeyEventSignal(const KeyEvent& event); - - private: // Undefined @@ -707,7 +743,7 @@ private: Control& operator=(const Control&); class Impl; - Impl *mImpl; + Impl* mImpl; friend class Internal::RelayoutControllerImpl; ///< Relayout controller needs to call Relayout() which is private. friend class Internal::KeyInputFocusManager; ///< KeyInputFocusManager needs to call which is private.