X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=demo%2Fdali-table-view.h;h=749000bfdd6c94f2435cf266090a98e0ddd7872a;hb=0ebe1f65f192d14cdffb12285862948ba0b9af7f;hp=fbaa2ead84af3dca006768e38055b67c9cc11fc7;hpb=da1a56690706d393f53fd709dea24a334c1fdb83;p=platform%2Fcore%2Fuifw%2Fdali-demo.git diff --git a/demo/dali-table-view.h b/demo/dali-table-view.h index fbaa2ea..749000b 100644 --- a/demo/dali-table-view.h +++ b/demo/dali-table-view.h @@ -2,7 +2,7 @@ #define __DALI_DEMO_H__ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2015 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. @@ -18,27 +18,15 @@ * */ -#include - #include #include +#include class Example; typedef std::vector ExampleList; -typedef std::map ExampleMap; typedef ExampleList::iterator ExampleListIter; typedef ExampleList::const_iterator ExampleListConstIter; -typedef ExampleMap::iterator ExampleMapIter; -typedef ExampleMap::const_iterator ExampleMapConstIter; - -typedef std::vector TableViewList; -typedef TableViewList::iterator TableViewListIter; -typedef TableViewList::const_iterator TableViewListConstIter; - -typedef std::vector ImageActorList; -typedef ImageActorList::iterator ImageActorListIter; -typedef ImageActorList::const_iterator ImageActorListConstIter; typedef std::vector AnimationList; typedef AnimationList::iterator AnimationListIter; @@ -98,15 +86,6 @@ public: void AddExample(Example example); /** - * Sets the background image PATH. - * - * @param[in] imagePath The file path to the image to use as the background. - * - * @note Should be called before the Application MainLoop is started. - */ - void SetBackgroundPath( std::string imagePath ); - - /** * Sorts the example list alphabetically by Title if parameter is true. * * @param[in] sortAlphabetically If true, example list is sorted alphabetically. @@ -165,14 +144,14 @@ private: // Application callbacks & implementation * * @return The Actor for the created tile. */ - Dali::Actor CreateTile( const std::string& name, const std::string& title, const Dali::Size& parentSize, bool addBackground ); + Dali::Actor CreateTile( const std::string& name, const std::string& title, const Dali::Vector3& sizeMultiplier, bool addBackground ); /** * Create a stencil image * * @return The stencil image */ - Dali::ImageActor NewStencilImage(); + Dali::Toolkit::ImageView NewStencilImage(); // Signal handlers @@ -180,11 +159,21 @@ private: // Application callbacks & implementation * Signal emitted when any tile has been pressed * * @param[in] actor The Actor representing this tile. - * @param[in] event The TouchEvent + * @param[in] event The Touch information. * * @return Consume flag */ - bool OnTilePressed( Dali::Actor actor, const Dali::TouchEvent& event ); + bool OnTilePressed( Dali::Actor actor, const Dali::TouchData& event ); + + /** + * Called by OnTilePressed & Accessibility to do the appropriate action. + * + * @param[in] actor The Actor representing this tile. + * @param[in] state The Touch state + * + * @return Consume flag + */ + bool DoTilePress( Dali::Actor actor, Dali::PointState::Type state ); /** * Signal emitted when any tile has been hovered @@ -217,25 +206,25 @@ private: // Application callbacks & implementation * * @param[in] position The current position of the scroll contents. */ - void OnScrollStart(const Dali::Vector3& position); + void OnScrollStart(const Dali::Vector2& position); /** * Signal emitted when scrolling has completed. * * @param[in] position The current position of the scroll contents. */ - void OnScrollComplete(const Dali::Vector3& position); + void OnScrollComplete(const Dali::Vector2& position); /** * Signal emitted when any Sensitive Actor has been touched * (other than those touches consumed by OnTilePressed) * * @param[in] actor The Actor touched. - * @param[in] event The TouchEvent + * @param[in] event The Touch information. * * @return Consume flag */ - bool OnScrollTouched( Dali::Actor actor, const Dali::TouchEvent& event ); + bool OnScrollTouched( Dali::Actor actor, const Dali::TouchData& event ); /** * Setup the effect on the scroll view @@ -245,7 +234,7 @@ private: // Application callbacks & implementation /** * Apply the cube effect to all the page actors */ - void ApplyCubeEffectToActors(); + void ApplyCubeEffectToPages(); /** * Setup the inner cube effect @@ -253,11 +242,6 @@ private: // Application callbacks & implementation void SetupInnerPageCubeEffect(); /** - * Apply the cube effect to an actor - */ - void ApplyCubeEffectToActor( Dali::Actor actor ); - - /** * Apply a shader effect to a table tile */ void ApplyEffectToTile(Dali::Actor tile); @@ -276,9 +260,8 @@ private: // Application callbacks & implementation * Create a depth field background * * @param[in] bubbleLayer Add the graphics to this layer - * @param[in] backgroundLayer Add the background to this layer */ - void SetupBackground( Dali::Actor bubbleLayer, Dali::Actor backgroundLayer, const Dali::Vector2& size ); + void SetupBackground( Dali::Actor bubbleLayer ); /** * Create background actors for the given layer @@ -286,9 +269,8 @@ private: // Application callbacks & implementation * @param[in] layer The layer to add the actors to * @param[in] count The number of actors to generate * @param[in] distanceField The distance field bitmap to use - * @param[in] size The size of the actor */ - void AddBackgroundActors( Dali::Actor layer, int count, Dali::BufferImage distanceField, const Dali::Vector2& size ); + void AddBackgroundActors( Dali::Actor layer, int count, Dali::BufferImage distanceField ); /** * Create a bitmap with the specified shape and also output a distance field @@ -324,7 +306,7 @@ private: // Application callbacks & implementation * * @return The created image actor */ - Dali::ImageActor CreateLogo( std::string imagePath ); + Dali::Toolkit::ImageView CreateLogo( std::string imagePath ); /** * Timer handler for ending background animation @@ -351,7 +333,7 @@ private: // Application callbacks & implementation * @param[in] direction The direction to move the focus * @return The actor to move the keyboard focus to. */ - Dali::Actor OnKeyboardPreFocusChange( Dali::Actor current, Dali::Actor proposed, Dali::Toolkit::Control::KeyboardFocusNavigationDirection direction ); + Dali::Actor OnKeyboardPreFocusChange( Dali::Actor current, Dali::Actor proposed, Dali::Toolkit::Control::KeyboardFocus::Direction direction ); /** * Callback when the keyboard focused actor is activated. @@ -373,10 +355,19 @@ private: // Application callbacks & implementation */ void HideVersionPopup(); - /** - * Called when the popup is completely hidden - */ - void PopupHidden(); + /* + * @brief Callback called when the buttons page actor is relaid out + * + * @param[in] actor The page actor + */ + void OnButtonsPageRelayout( const Dali::Actor& actor ); + + /** + * @brief Callback called to set up background actors + * + * @param[in] actor The actor raising the callback + */ + void InitialiseBackgroundActors( Dali::Actor actor ); private: @@ -384,35 +375,27 @@ private: Dali::Layer mBackgroundLayer; ///< Background resides on a separate layer. Dali::Toolkit::TableView mRootActor; ///< All content (excluding background is anchored to this Actor) Dali::Animation mRotateAnimation; ///< Animation to rotate and resize mRootActor. - Dali::ImageActor mBackground; ///< Background's static image. - Dali::ImageActor mLogo; ///< Logo's static image. Dali::Animation mPressedAnimation; ///< Button press scaling animation. Dali::Layer mScrollViewLayer; ///< ScrollView resides on a separate layer. Dali::Toolkit::ScrollView mScrollView; ///< ScrollView container (for all Examples) Dali::Toolkit::ScrollViewEffect mScrollViewEffect; ///< Effect to be applied to the scroll view Dali::Toolkit::RulerPtr mScrollRulerX; ///< ScrollView X (horizontal) ruler Dali::Toolkit::RulerPtr mScrollRulerY; ///< ScrollView Y (vertical) ruler - Dali::Toolkit::TableView mButtons; ///< Navigation buttons Dali::Actor mPressedActor; ///< The currently pressed actor. Dali::Timer mAnimationTimer; ///< Timer used to turn off animation after a specific time period Dali::TapGestureDetector mLogoTapDetector; ///< To detect taps on the logo Dali::Toolkit::Popup mVersionPopup; ///< Displays DALi library version information - Dali::Vector3 mButtonsPageRelativeSize; ///< Size of a buttons page relative to the stage size - Dali::ActorContainer mPages; ///< List of pages. - Dali::ActorContainer mTableViewImages; ///< Offscreen render of tableview - Dali::ActorContainer mBackgroundActors; ///< List of background actors used in the effect + std::vector< Dali::Actor > mPages; ///< List of pages. AnimationList mBackgroundAnimations; ///< List of background bubble animations ExampleList mExampleList; ///< List of examples. - ExampleMap mExampleMap; ///< Map LUT for examples. - std::string mBackgroundImagePath; ///< The path to the background image. int mTotalPages; ///< Total pages within scrollview. bool mScrolling:1; ///< Flag indicating whether view is currently being scrolled bool mSortAlphabetically:1; ///< Sort examples alphabetically. bool mBackgroundAnimsPlaying:1; ///< Are background animations playing - bool mVersionPopupShown:1; ///< Whehter the version popup is shown or not + }; #endif // __DALI_DEMO_H__