cocos2d-x  3.5
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ListView Class Reference

ListView is a view group that displays a list of scrollable items. More...

#include <UIListView.h>

Inheritance diagram for ListView:
ScrollView Layout Widget LayoutProtocol ProtectedNode LayoutParameterProtocol Node Ref

Public Types

enum  Gravity {
  LEFT, RIGHT, CENTER_HORIZONTAL, TOP,
  BOTTOM, CENTER_VERTICAL
}
 Gravity for docking elements in ListView. More...
 
enum  EventType { ON_SELECTED_ITEM_START, ON_SELECTED_ITEM_END }
 ListView element item click event. More...
 
typedef std::function< void(Ref
*, EventType)> 
ccListViewCallback
 ListView item click callback. More...
 
- Public Types inherited from ScrollView
enum  Direction { NONE, VERTICAL, HORIZONTAL, BOTH }
 ScrollView scroll direction type. More...
 
enum  EventType {
  SCROLL_TO_TOP, SCROLL_TO_BOTTOM, SCROLL_TO_LEFT, SCROLL_TO_RIGHT,
  SCROLLING, BOUNCE_TOP, BOUNCE_BOTTOM, BOUNCE_LEFT,
  BOUNCE_RIGHT
}
 Scrollview scroll event type. More...
 
typedef std::function< void(Ref
*, EventType)> 
ccScrollViewCallback
 A callback which would be called when a ScrollView is scrolling. More...
 
- Public Types inherited from Layout
enum  Type { ABSOLUTE, VERTICAL, HORIZONTAL, RELATIVE }
 Layout type, default is ABSOLUTE. More...
 
enum  ClippingType { STENCIL, SCISSOR }
 Clipping Type, default is STENCIL. More...
 
enum  BackGroundColorType { NONE, SOLID, GRADIENT }
 Background color type, default is NONE. More...
 
- Public Types inherited from Widget
enum  FocusDirection { LEFT, RIGHT, UP, DOWN }
 Widget focus direction. More...
 
enum  PositionType { ABSOLUTE, PERCENT }
 Widget position type for layout. More...
 
enum  SizeType { ABSOLUTE, PERCENT }
 Widget size type for layout. More...
 
enum  TouchEventType { BEGAN, MOVED, ENDED, CANCELED }
 Touch event type. More...
 
enum  TextureResType { LOCAL = 0, PLIST = 1 }
 Texture resource type. More...
 
enum  BrightStyle { NONE = -1, NORMAL, HIGHLIGHT }
 Widget bright style. More...
 
typedef std::function< void(Ref
*, Widget::TouchEventType)> 
ccWidgetTouchCallback
 Widget touch event callback. More...
 
typedef std::function< void(Ref *)> ccWidgetClickCallback
 Widget click event callback. More...
 
typedef std::function< void(Ref
*, int)> 
ccWidgetEventCallback
 Widget custom event callback. More...
 
- Public Types inherited from Node
enum  { FLAGS_TRANSFORM_DIRTY = (1 << 0), FLAGS_CONTENT_SIZE_DIRTY = (1 << 1), FLAGS_RENDER_AS_3D = (1 << 3), FLAGS_DIRTY_MASK = (FLAGS_TRANSFORM_DIRTY | FLAGS_CONTENT_SIZE_DIRTY) }
 

Public Member Functions

 ListView ()
 Default constructor. More...
 
virtual ~ListView ()
 Default destructor. More...
 
void setItemModel (Widget *model)
 Set a item model for listview. More...
 
void pushBackDefaultItem ()
 Insert a a default item(create by a cloned model) at the end of the listview. More...
 
void insertDefaultItem (ssize_t index)
 Insert a default item(create by cloning model) into listview at a give index. More...
 
void pushBackCustomItem (Widget *item)
 Insert a custom item into the end of ListView. More...
 
void insertCustomItem (Widget *item, ssize_t index)
 Insert a custom widget into ListView at a given index. More...
 
void removeLastItem ()
 Removes the last item of ListView. More...
 
void removeItem (ssize_t index)
 Remove a item at given index. More...
 
void removeAllItems ()
 Remove all items in current ListView. More...
 
WidgetgetItem (ssize_t index) const
 Return a item at a given index. More...
 
Vector< Widget * > & getItems ()
 Return all items in a ListView. More...
 
ssize_t getIndex (Widget *item) const
 Return the index of specified widget. More...
 
void setGravity (Gravity gravity)
 Set the gravity of ListView. More...
 
void setItemsMargin (float margin)
 Set the margin between each item in ListView. More...
 
float getItemsMargin () const
 Query margin between each item in ListView. More...
 
virtual void forceDoLayout () override
 force refresh widget layout More...
 
virtual void doLayout () override
virtual void addChild (Node *child) override
 Adds a child to the container with z order and tag. More...
 
virtual void addChild (Node *child, int localZOrder) override
 Adds a child to the container with a local z-order. More...
 
virtual void addChild (Node *child, int zOrder, int tag) override
 Adds a child to the container with z order and tag. More...
 
virtual void addChild (Node *child, int zOrder, const std::string &name) override
 Adds a child to the container with z order and tag. More...
 
virtual void removeAllChildren () override
 Removes all children from the container with a cleanup. More...
 
virtual void removeAllChildrenWithCleanup (bool cleanup) override
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
virtual void removeChild (Node *child, bool cleaup=true) override
 Removes a child from the container. More...
 
ssize_t getCurSelectedIndex () const
 Query current selected widget's idnex. More...
 
void addEventListenerListView (Ref *target, SEL_ListViewEvent selector)
 Add a event click callback to ListView, then one item of Listview is clicked, the callback will be called. More...
 
void addEventListener (const ccListViewCallback &callback)
 Add a event click callback to ListView, then one item of Listview is clicked, the callback will be called. More...
 
virtual void setDirection (Direction dir) override
 Changes scroll direction of scrollview. More...
 
virtual std::string getDescription () const override
 Return the "class name" of widget. More...
 
void requestRefreshView ()
 Refresh view and layout of ListView manually. More...
 
void refreshView ()
 Refresh content view of ListView. More...
 
- Public Member Functions inherited from ScrollView
 ScrollView ()
 Default constructor. More...
 
virtual ~ScrollView ()
 Default destructor. More...
 
Direction getDirection () const
 Query scroll direction of scrollview. More...
 
LayoutgetInnerContainer () const
 Get inner container of scrollview. More...
 
void scrollToBottom (float time, bool attenuated)
 Scroll inner container to bottom boundary of scrollview. More...
 
void scrollToTop (float time, bool attenuated)
 Scroll inner container to top boundary of scrollview. More...
 
void scrollToLeft (float time, bool attenuated)
 Scroll inner container to left boundary of scrollview. More...
 
void scrollToRight (float time, bool attenuated)
 Scroll inner container to right boundary of scrollview. More...
 
void scrollToTopLeft (float time, bool attenuated)
 Scroll inner container to top and left boundary of scrollview. More...
 
void scrollToTopRight (float time, bool attenuated)
 Scroll inner container to top and right boundary of scrollview. More...
 
void scrollToBottomLeft (float time, bool attenuated)
 Scroll inner container to bottom and left boundary of scrollview. More...
 
void scrollToBottomRight (float time, bool attenuated)
 Scroll inner container to bottom and right boundary of scrollview. More...
 
void scrollToPercentVertical (float percent, float time, bool attenuated)
 Scroll inner container to vertical percent position of scrollview. More...
 
void scrollToPercentHorizontal (float percent, float time, bool attenuated)
 Scroll inner container to horizontal percent position of scrollview. More...
 
void scrollToPercentBothDirection (const Vec2 &percent, float time, bool attenuated)
 Scroll inner container to both direction percent position of scrollview. More...
 
void jumpToBottom ()
 Move inner container to bottom boundary of scrollview. More...
 
void jumpToTop ()
 Move inner container to top boundary of scrollview. More...
 
void jumpToLeft ()
 Move inner container to left boundary of scrollview. More...
 
void jumpToRight ()
 Move inner container to right boundary of scrollview. More...
 
void jumpToTopLeft ()
 Move inner container to top and left boundary of scrollview. More...
 
void jumpToTopRight ()
 Move inner container to top and right boundary of scrollview. More...
 
void jumpToBottomLeft ()
 Move inner container to bottom and left boundary of scrollview. More...
 
void jumpToBottomRight ()
 Move inner container to bottom and right boundary of scrollview. More...
 
void jumpToPercentVertical (float percent)
 Move inner container to vertical percent position of scrollview. More...
 
void jumpToPercentHorizontal (float percent)
 Move inner container to horizontal percent position of scrollview. More...
 
void jumpToPercentBothDirection (const Vec2 &percent)
 Move inner container to both direction percent position of scrollview. More...
 
void setInnerContainerSize (const Size &size)
 Change inner container size of scrollview. More...
 
const SizegetInnerContainerSize () const
 Get inner container size of scrollview. More...
 
void addEventListenerScrollView (Ref *target, SEL_ScrollViewEvent selector)
 Add callback function which will be called when scrollview event triggered. More...
 
virtual Vector< Node * > & getChildren () override
 Returns the array of the node's children. More...
 
virtual const Vector< Node * > & getChildren () const override
virtual ssize_t getChildrenCount () const override
 Returns the amount of children. More...
 
virtual NodegetChildByTag (int tag) const override
 Gets a child from the container with its tag. More...
 
virtual NodegetChildByName (const std::string &name) const override
 Gets a child from the container with its name. More...
 
virtual bool onTouchBegan (Touch *touch, Event *unusedEvent) override
 A callback which will be called when touch began event is issued. More...
 
virtual void onTouchMoved (Touch *touch, Event *unusedEvent) override
 A callback which will be called when touch moved event is issued. More...
 
virtual void onTouchEnded (Touch *touch, Event *unusedEvent) override
 A callback which will be called when touch ended event is issued. More...
 
virtual void onTouchCancelled (Touch *touch, Event *unusedEvent) override
 A callback which will be called when touch cancelled event is issued. More...
 
virtual void update (float dt) override
 Update method will be called automatically every frame if "scheduleUpdate" is called, and the node is "live". More...
 
void setBounceEnabled (bool enabled)
 Toggle bounce enabled when scroll to the edge. More...
 
bool isBounceEnabled () const
 Query bounce state. More...
 
void setInertiaScrollEnabled (bool enabled)
 Toggle whether enable scroll inertia while scrolling. More...
 
bool isInertiaScrollEnabled () const
 Query inertia scroll state. More...
 
virtual void setLayoutType (Type type) override
 Set layout type for scrollview. More...
 
virtual Type getLayoutType () const override
 Get the layout type for scrollview. More...
 
virtual void onEnter () override
 Event callback that is invoked every time when Node enters the 'stage'. More...
 
virtual WidgetfindNextFocusedWidget (FocusDirection direction, Widget *current) override
 When a widget is in a layout, you could call this method to get the next focused widget within a specified direction. More...
 
- Public Member Functions inherited from Layout
 Layout ()
 Default constructor. More...
 
virtual ~Layout ()
 Default destructor. More...
 
void setBackGroundImage (const std::string &fileName, TextureResType texType=TextureResType::LOCAL)
 Sets a background image for layout. More...
 
void setBackGroundImageCapInsets (const Rect &capInsets)
 Sets a background image capinsets for layout, it only affects the scale9 enabled background image. More...
 
const RectgetBackGroundImageCapInsets () const
 Query background image's capInsets size. More...
 
void setBackGroundColorType (BackGroundColorType type)
 Sets Color Type for layout's background. More...
 
BackGroundColorType getBackGroundColorType () const
 Query the layout's background color type. More...
 
void setBackGroundImageScale9Enabled (bool enabled)
 Enable background image scale9 rendering. More...
 
bool isBackGroundImageScale9Enabled () const
 Query background image scale9 enable status. More...
 
void setBackGroundColor (const Color3B &color)
 Set background color for layout The color only applies to layout when it's color type is BackGroundColorType::SOLIDE. More...
 
const Color3BgetBackGroundColor () const
 Query the layout's background color. More...
 
void setBackGroundColor (const Color3B &startColor, const Color3B &endColor)
 Set start and end background color for layout. More...
 
const Color3BgetBackGroundStartColor () const
 Get the gradient background start color. More...
 
const Color3BgetBackGroundEndColor () const
 Get the gradient background end color. More...
 
void setBackGroundColorOpacity (GLubyte opacity)
 Sets background color opacity of layout. More...
 
GLubyte getBackGroundColorOpacity () const
 Get the layout's background color opacity. More...
 
void setBackGroundColorVector (const Vec2 &vector)
 Sets background color vector for layout. More...
 
const Vec2getBackGroundColorVector () const
 Get the layout's background color vector. More...
 
void setBackGroundImageColor (const Color3B &color)
 Set layout's background image color. More...
 
void setBackGroundImageOpacity (GLubyte opacity)
 Set opacity of background image. More...
 
const Color3BgetBackGroundImageColor () const
 Get color of layout's background image. More...
 
GLubyte getBackGroundImageOpacity () const
 Get the opacity of layout's background image. More...
 
void removeBackGroundImage ()
 Remove the background image of layout. More...
 
const SizegetBackGroundImageTextureSize () const
 Gets background image texture size. More...
 
virtual void setClippingEnabled (bool enabled)
 Toggle layout clipping. More...
 
void setClippingType (ClippingType type)
 Change the clipping type of layout. More...
 
ClippingType getClippingType () const
virtual bool isClippingEnabled () const
 Gets if layout is clipping enabled. More...
 
virtual void visit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags) override
 Visits this node's children and draw them recursively. More...
 
void requestDoLayout ()
 request to refresh widget layout More...
 
virtual void onExit () override
 Event callback that is invoked every time the Node leaves the 'stage'. More...
 
void setLoopFocus (bool loop)
 If a layout is loop focused which means that the focus movement will be inside the layout. More...
 
bool isLoopFocus () const
void setPassFocusToChild (bool pass)
bool isPassFocusToChild () const
virtual WidgetfindNextFocusedWidget (FocusDirection direction, Widget *current) override
 When a widget is in a layout, you could call this method to get the next focused widget within a specified direction. More...
 
- Public Member Functions inherited from Widget
 Widget (void)
 Default constructor. More...
 
virtual ~Widget ()
 Default destructor. More...
 
virtual void setEnabled (bool enabled)
 Sets whether the widget is enabled. More...
 
bool isEnabled () const
 Determines if the widget is enabled or not. More...
 
void setBright (bool bright)
 Sets whether the widget is bright. More...
 
bool isBright () const
 Determines if the widget is bright. More...
 
virtual void setTouchEnabled (bool enabled)
 Sets whether the widget is touch enabled. More...
 
void setBrightStyle (BrightStyle style)
 To set the bright style of widget. More...
 
bool isTouchEnabled () const
 Determines if the widget is touch enabled. More...
 
bool isHighlighted () const
 Determines if the widget is highlighted. More...
 
void setHighlighted (bool hilight)
 Sets whether the widget is hilighted. More...
 
float getLeftInParent ()
 Gets the left boundary position of this widget in parent's coordination system. More...
 
float getLeftBoundary () const
 Gets the left boundary position of this widget in parent's coordination system. More...
 
float getBottomInParent ()
 Gets the bottom boundary position of this widget in parent's coordination system. More...
 
float getBottomBoundary () const
 Gets the bottom boundary position of this widget in parent's coordination system. More...
 
float getRightInParent ()
 Gets the right boundary position of this widget in parent's coordination system. More...
 
float getRightBoundary () const
 Gets the right boundary position of this widget in parent's coordination system. More...
 
float getTopInParent ()
 Gets the top boundary position of this widget in parent's coordination system. More...
 
float getTopBoundary () const
 Gets the top boundary position of this widget in parent's coordination system. More...
 
void addTouchEventListener (Ref *target, SEL_TouchEvent selector)
 Sets the touch event target/selector to the widget. More...
 
void addTouchEventListener (const ccWidgetTouchCallback &callback)
 Set a callback to touch vent listener. More...
 
void addClickEventListener (const ccWidgetClickCallback &callback)
 Set a click event handler to the widget. More...
 
virtual void addCCSEventListener (const ccWidgetEventCallback &callback)
 Set a event handler to the widget in order to use cocostudio editor and framework. More...
 
virtual void setPosition (const Vec2 &pos) override
 Changes the position (x,y) of the widget in OpenGL coordinates. More...
 
void setPositionPercent (const Vec2 &percent)
 Set the percent(x,y) of the widget in OpenGL coordinates. More...
 
const Vec2getPositionPercent ()
 Gets the percent (x,y) of the widget in OpenGL coordinates. More...
 
void setPositionType (PositionType type)
 Changes the position type of the widget. More...
 
PositionType getPositionType () const
 Gets the position type of the widget. More...
 
virtual void setFlippedX (bool flippedX)
 Sets whether the widget should be flipped horizontally or not. More...
 
virtual bool isFlippedX () const
 Returns the flag which indicates whether the widget is flipped horizontally or not. More...
 
virtual void setFlippedY (bool flippedY)
 Sets whether the widget should be flipped vertically or not. More...
 
virtual bool isFlippedY () const
 Return the flag which indicates whether the widget is flipped vertically or not. More...
 
bool isFlipX ()
void setFlipX (bool flipX)
bool isFlipY ()
void setFlipY (bool flipY)
virtual void setScaleX (float scaleX) override
 Sets the scale (x) of the node. More...
 
virtual void setScaleY (float scaleY) override
 Sets the scale (y) of the node. More...
 
virtual void setScale (float scale) override
 Sets the scale (x,y,z) of the node. More...
 
virtual void setScale (float scalex, float scaley) override
 Sets the scale (x,y) of the node. More...
 
virtual float getScaleX () const override
 Returns the scale factor on X axis of this node. More...
 
virtual float getScaleY () const override
 Returns the scale factor on Y axis of this node. More...
 
virtual float getScale () const override
 Gets the scale factor of the node, when X and Y have the same scale factor. More...
 
bool clippingParentAreaContainPoint (const Vec2 &pt)
 Checks a point if in parent's area. More...
 
bool isClippingParentContainsPoint (const Vec2 &pt)
 Checks a point if in parent's area. More...
 
const Vec2getTouchStartPos () const
 Gets the touch began point of widget when widget is selected. More...
 
const Vec2getTouchBeganPosition () const
 Gets the touch began point of widget when widget is selected. More...
 
const Vec2getTouchMovePos () const
const Vec2getTouchMovePosition () const
const Vec2getTouchEndPos () const
const Vec2getTouchEndPosition () const
virtual void setSize (const Size &size)
 Changes the size that is widget's size. More...
 
virtual void setContentSize (const Size &contentSize) override
 Changes the size that is widget's size. More...
 
virtual void setSizePercent (const Vec2 &percent)
 Changes the percent that is widget's percent size. More...
 
void setSizeType (SizeType type)
 Changes the size type of widget. More...
 
SizeType getSizeType () const
 Gets the size type of widget. More...
 
const SizegetSize () const
 Get the size of widget. More...
 
const SizegetCustomSize () const
 Get the user defined widget size. More...
 
virtual const SizegetLayoutSize ()
 Get the content size of widget. More...
 
const Vec2getSizePercent ()
 Get size percent of widget. More...
 
virtual bool hitTest (const Vec2 &pt)
 Checks a point is in widget's content space. More...
 
void setLayoutParameter (LayoutParameter *parameter)
 Sets a LayoutParameter to widget. More...
 
LayoutParametergetLayoutParameter () const override
 Gets LayoutParameter of widget. More...
 
LayoutParametergetLayoutParameter (LayoutParameter::Type type)
 Gets LayoutParameter of widget. More...
 
virtual void ignoreContentAdaptWithSize (bool ignore)
 Toggle whether ignore user defined content size for widget. More...
 
bool isIgnoreContentAdaptWithSize () const
 Query whether the widget ignores user deinfed content size or not. More...
 
Vec2 getWorldPosition () const
 Gets position of widget in world space. More...
 
virtual NodegetVirtualRenderer ()
 Gets the inner Renderer node of widget. More...
 
virtual Size getVirtualRendererSize () const
 Get the virtual renderer's size. More...
 
Widgetclone ()
 Create a new widget copy of the original one. More...
 
void updateSizeAndPosition ()
 Update all children's contents size and position recursively. More...
 
void updateSizeAndPosition (const Size &parentSize)
 Update all children's contents size and position recursively. More...
 
void setActionTag (int tag)
 Set the tag of action. More...
 
int getActionTag () const
 Get the action tag. More...
 
void setPropagateTouchEvents (bool isPropagate)
 Allow widget touch events to propagate to its parents. More...
 
bool isPropagateTouchEvents () const
 Return whether the widget is propagate touch events to its parents or not. More...
 
void setSwallowTouches (bool swallow)
 Toggle widget swallow touch option. More...
 
bool isSwallowTouches () const
 Return whether the widget is swallowing touch or not. More...
 
bool isFocused () const
 Query whether widget is focused or not. More...
 
void setFocused (bool focus)
 Toggle widget focus status. More...
 
bool isFocusEnabled () const
 Query widget's focus enable state. More...
 
void setFocusEnabled (bool enable)
 Allow widget to accept focus. More...
 
void requestFocus ()
 when a widget calls this method, it will get focus immediately. More...
 
WidgetgetCurrentFocusedWidget (bool isWidget)
 Return a current focused widget in your UI scene. More...
 
WidgetgetCurrentFocusedWidget () const
 Return a current focused widget in your UI scene. More...
 
void setUnifySizeEnabled (bool enable)
 Toggle use unify size. More...
 
bool isUnifySizeEnabled () const
 Query whether unify size enable state. More...
 
void setCallbackName (const std::string &callbackName)
 Set callback name. More...
 
const std::string & getCallbackName () const
 Query callback name. More...
 
void setCallbackType (const std::string &callbackType)
 Set callback type. More...
 
const std::string & getCallbackType () const
 Query callback type. More...
 
void setLayoutComponentEnabled (bool enable)
 Toggle layout component enable. More...
 
bool isLayoutComponentEnabled () const
 Query whether layout component is enabled or not. More...
 
void propagateTouchEvent (TouchEventType event, Widget *sender, Touch *touch)
 Propagate touch events to its parents. More...
 
void onFocusChange (Widget *widgetLostFocus, Widget *widgetGetFocus)
 This method is called when a focus change event happens. More...
 
void dispatchFocusEvent (Widget *widgetLoseFocus, Widget *widgetGetFocus)
 Dispatch a EventFocus through a EventDispatcher. More...
 
- Public Member Functions inherited from ProtectedNode
virtual void cleanup () override
 Stops all running actions and schedulers. More...
 
virtual void onEnterTransitionDidFinish () override
 Event callback that is invoked when the Node enters in the 'stage'. More...
 
virtual void onExitTransitionDidStart () override
 Event callback that is called every time the Node leaves the 'stage'. More...
 
virtual void updateDisplayedOpacity (GLubyte parentOpacity) override
virtual void updateDisplayedColor (const Color3B &parentColor) override
virtual void disableCascadeColor () override
virtual void disableCascadeOpacity () override
virtual void setCameraMask (unsigned short mask, bool applyChildren=true) override
virtual ~ProtectedNode ()
virtual void addProtectedChild (Node *child)
 Adds a child to the container with z-order as 0. More...
 
virtual void addProtectedChild (Node *child, int localZOrder)
 Adds a child to the container with a local z-order. More...
 
virtual void addProtectedChild (Node *child, int localZOrder, int tag)
 Adds a child to the container with z order and tag. More...
 
virtual NodegetProtectedChildByTag (int tag)
 Gets a child from the container with its tag. More...
 
virtual void removeProtectedChild (Node *child, bool cleanup=true)
 Removes a child from the container. More...
 
virtual void removeProtectedChildByTag (int tag, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
virtual void removeAllProtectedChildren ()
 Removes all children from the container with a cleanup. More...
 
virtual void removeAllProtectedChildrenWithCleanup (bool cleanup)
 Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter. More...
 
virtual void reorderProtectedChild (Node *child, int localZOrder)
 Reorders a child according to a new z value. More...
 
virtual void sortAllProtectedChildren ()
 Sorts the children array once before drawing, instead of every time when a child is added or reordered. More...
 
- Public Member Functions inherited from Node
virtual bool isRunning () const
 Returns whether or not the node is "running". More...
 
void scheduleUpdateWithPriorityLua (int handler, int priority)
 Schedules for lua script. More...
 
virtual void draw (Renderer *renderer, const Mat4 &transform, uint32_t flags)
 Override this method to draw your own node. More...
 
virtual void draw () final
virtual void visit () final
virtual ScenegetScene () const
 Returns the Scene that contains the Node. More...
 
virtual Rect getBoundingBox () const
 Returns an AABB (axis-aligned bounding-box) in its parent's coordinate system. More...
 
virtual Rect boundingBox () const
virtual void setEventDispatcher (EventDispatcher *dispatcher)
 Set event dispatcher for scene. More...
 
virtual EventDispatchergetEventDispatcher () const
 Get the event dispatcher of scene. More...
 
void setPhysicsBody (PhysicsBody *body)
 Set the PhysicsBody that let the sprite effect with physics. More...
 
PhysicsBodygetPhysicsBody () const
 Get the PhysicsBody the sprite have. More...
 
void removeFromPhysicsWorld ()
 Remove this node from physics world. More...
 
void updateTransformFromPhysics (const Mat4 &parentTransform, uint32_t parentFlags)
 Update the transform matrix from physics. More...
 
virtual void updatePhysicsBodyTransform (const Mat4 &parentTransform, uint32_t parentFlags, float parentScaleX, float parentScaleY)
 Update physics body transform matrix. More...
 
virtual GLubyte getOpacity () const
virtual GLubyte getDisplayedOpacity () const
virtual void setOpacity (GLubyte opacity)
virtual bool isCascadeOpacityEnabled () const
virtual void setCascadeOpacityEnabled (bool cascadeOpacityEnabled)
virtual const Color3BgetColor () const
virtual const Color3BgetDisplayedColor () const
virtual void setColor (const Color3B &color)
virtual bool isCascadeColorEnabled () const
virtual void setCascadeColorEnabled (bool cascadeColorEnabled)
virtual void setOpacityModifyRGB (bool value)
virtual bool isOpacityModifyRGB () const
void setOnEnterCallback (const std::function< void()> &callback)
const std::function< void()> & getOnEnterCallback () const
void setOnExitCallback (const std::function< void()> &callback)
const std::function< void()> & getOnExitCallback () const
void setonEnterTransitionDidFinishCallback (const std::function< void()> &callback)
const std::function< void()> & getonEnterTransitionDidFinishCallback () const
void setonExitTransitionDidStartCallback (const std::function< void()> &callback)
const std::function< void()> & getonExitTransitionDidStartCallback () const
unsigned short getCameraMask () const
 get & set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true More...
 
virtual ~Node ()
virtual bool init ()
virtual void setLocalZOrder (int localZOrder)
 LocalZOrder is the 'key' used to sort the node relative to its siblings. More...
 
virtual void setZOrder (int localZOrder)
virtual void _setLocalZOrder (int z)
virtual int getLocalZOrder () const
 Gets the local Z order of this node. More...
 
virtual int getZOrder () const
virtual void setGlobalZOrder (float globalZOrder)
 Defines the oder in which the nodes are renderer. More...
 
virtual float getGlobalZOrder () const
 Returns the Node's Global Z Order. More...
 
virtual void setScaleZ (float scaleZ)
 Changes the scale factor on Z axis of this node. More...
 
virtual float getScaleZ () const
 Returns the scale factor on Z axis of this node. More...
 
virtual void setNormalizedPosition (const Vec2 &position)
 Sets the position (x,y) using values between 0 and 1. More...
 
virtual const Vec2getPosition () const
 Gets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual const Vec2getNormalizedPosition () const
 Returns the normalized position. More...
 
virtual void setPosition (float x, float y)
 Sets the position (x,y) of the node in its parent's coordinate system. More...
 
virtual void getPosition (float *x, float *y) const
 Gets position in a more efficient way, returns two number instead of a Vec2 object. More...
 
virtual void setPositionX (float x)
 Gets/Sets x or y coordinate individually for position. More...
 
virtual float getPositionX (void) const
 Gets the x coordinate of the node in its parent's coordinate system. More...
 
virtual void setPositionY (float y)
 Sets the y coordinate of the node in its parent's coordinate system. More...
 
virtual float getPositionY (void) const
 Gets the y coordinate of the node in its parent's coordinate system. More...
 
virtual void setPosition3D (const Vec3 &position)
 Sets the position (X, Y, and Z) in its parent's coordinate system. More...
 
virtual Vec3 getPosition3D () const
 Returns the position (X,Y,Z) in its parent's coordinate system. More...
 
virtual void setPositionZ (float positionZ)
 Sets the 'z' coordinate in the position. More...
 
virtual void setVertexZ (float vertexZ)
virtual float getPositionZ () const
 Gets position Z coordinate of this node. More...
 
virtual float getVertexZ () const
virtual void setSkewX (float skewX)
 Changes the X skew angle of the node in degrees. More...
 
virtual float getSkewX () const
 Returns the X skew angle of the node in degrees. More...
 
virtual void setSkewY (float skewY)
 Changes the Y skew angle of the node in degrees. More...
 
virtual float getSkewY () const
 Returns the Y skew angle of the node in degrees. More...
 
virtual void setAnchorPoint (const Vec2 &anchorPoint)
 Sets the anchor point in percent. More...
 
virtual const Vec2getAnchorPoint () const
 Returns the anchor point in percent. More...
 
virtual const Vec2getAnchorPointInPoints () const
 Returns the anchorPoint in absolute pixels. More...
 
virtual const SizegetContentSize () const
 Returns the untransformed size of the node. More...
 
virtual void setVisible (bool visible)
 Sets whether the node is visible. More...
 
virtual bool isVisible () const
 Determines if the node is visible. More...
 
virtual void setRotation (float rotation)
 Sets the rotation (angle) of the node in degrees. More...
 
virtual float getRotation () const
 Returns the rotation of the node in degrees. More...
 
virtual void setRotation3D (const Vec3 &rotation)
 Sets the rotation (X,Y,Z) in degrees. More...
 
virtual Vec3 getRotation3D () const
 Returns the rotation (X,Y,Z) in degrees. More...
 
virtual void setRotationQuat (const Quaternion &quat)
 Set rotation by quaternion. More...
 
virtual Quaternion getRotationQuat () const
 Return the rotation by quaternion, Note that when _rotationZ_X == _rotationZ_Y, the returned quaternion equals to RotationZ_X * RotationY * RotationX, it equals to RotationY * RotationX otherwise. More...
 
virtual void setRotationSkewX (float rotationX)
 Sets the X rotation (angle) of the node in degrees which performs a horizontal rotational skew. More...
 
virtual void setRotationX (float rotationX)
virtual float getRotationSkewX () const
 Gets the X rotation (angle) of the node in degrees which performs a horizontal rotation skew. More...
 
virtual float getRotationX () const
virtual void setRotationSkewY (float rotationY)
 Sets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual void setRotationY (float rotationY)
virtual float getRotationSkewY () const
 Gets the Y rotation (angle) of the node in degrees which performs a vertical rotational skew. More...
 
virtual float getRotationY () const
void setOrderOfArrival (int orderOfArrival)
 Sets the arrival order when this node has a same ZOrder with other children. More...
 
int getOrderOfArrival () const
 Returns the arrival order, indicates which children is added previously. More...
 
void setGLServerState (int serverState)
int getGLServerState () const
virtual void ignoreAnchorPointForPosition (bool ignore)
 Sets whether the anchor point will be (0,0) when you position this node. More...
 
virtual bool isIgnoreAnchorPointForPosition () const
 Gets whether the anchor point will be (0,0) when you position this node. More...
 
template<typename T >
getChildByName (const std::string &name) const
 Gets a child from the container with its name that can be cast to Type T. More...
 
virtual void enumerateChildren (const std::string &name, std::function< bool(Node *node)> callback) const
 Search the children of the receiving node to perform processing for nodes which share a name. More...
 
virtual void setParent (Node *parent)
 Sets the parent node. More...
 
virtual NodegetParent ()
 Returns a pointer to the parent node. More...
 
virtual const NodegetParent () const
virtual void removeFromParent ()
 Removes this node itself from its parent node with a cleanup. More...
 
virtual void removeFromParentAndCleanup (bool cleanup)
 Removes this node itself from its parent node. More...
 
virtual void removeChildByTag (int tag, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
virtual void removeChildByName (const std::string &name, bool cleanup=true)
 Removes a child from the container by tag value. More...
 
virtual void reorderChild (Node *child, int localZOrder)
 Reorders a child according to a new z value. More...
 
virtual void sortAllChildren ()
 Sorts the children array once before drawing, instead of every time when a child is added or reordered. More...
 
virtual int getTag () const
 Returns a tag that is used to identify the node easily. More...
 
virtual void setTag (int tag)
 Changes the tag that is used to identify the node easily. More...
 
virtual std::string getName () const
 Returns a string that is used to identify the node. More...
 
virtual void setName (const std::string &name)
 Changes the name that is used to identify the node easily. More...
 
virtual void * getUserData ()
 Returns a custom user data pointer. More...
 
virtual const void * getUserData () const
virtual void setUserData (void *userData)
 Sets a custom user data pointer. More...
 
virtual RefgetUserObject ()
 Returns a user assigned Object. More...
 
virtual const RefgetUserObject () const
virtual void setUserObject (Ref *userObject)
 Returns a user assigned Object. More...
 
GLProgramgetGLProgram () const
 Return the GLProgram (shader) currently used for this node. More...
 
GLProgramgetShaderProgram () const
virtual void setGLProgram (GLProgram *glprogram)
 Sets the shader program for this node. More...
 
void setShaderProgram (GLProgram *glprogram)
GLProgramStategetGLProgramState () const
 Return the GLProgramState currently used for this node. More...
 
virtual void setGLProgramState (GLProgramState *glProgramState)
 Set the GLProgramState for this node. More...
 
virtual void setActionManager (ActionManager *actionManager)
 Sets the ActionManager object that is used by all actions. More...
 
virtual ActionManagergetActionManager ()
 Gets the ActionManager object that is used by all actions. More...
 
virtual const ActionManagergetActionManager () const
virtual ActionrunAction (Action *action)
 Executes an action, and returns the action that is executed. More...
 
void stopAllActions ()
 Stops and removes all actions from the running action list . More...
 
void stopAction (Action *action)
 Stops and removes an action from the running action list. More...
 
void stopActionByTag (int tag)
 Removes an action from the running action list by its tag. More...
 
void stopAllActionsByTag (int tag)
 Removes all actions from the running action list by its tag. More...
 
ActiongetActionByTag (int tag)
 Gets an action from the running action list by its tag. More...
 
ssize_t getNumberOfRunningActions () const
 Returns the numbers of actions that are running plus the ones that are schedule to run (actions in actionsToAdd and actions arrays). More...
 
ssize_t numberOfRunningActions () const
virtual void setScheduler (Scheduler *scheduler)
 Sets a Scheduler object that is used to schedule all "updates" and timers. More...
 
virtual SchedulergetScheduler ()
 Gets a Sheduler object. More...
 
virtual const SchedulergetScheduler () const
bool isScheduled (SEL_SCHEDULE selector)
 Checks whether a selector is scheduled. More...
 
bool isScheduled (const std::string &key)
 Checks whether a lambda function is scheduled. More...
 
void scheduleUpdate (void)
 Schedules the "update" method. More...
 
void scheduleUpdateWithPriority (int priority)
 Schedules the "update" method with a custom priority. More...
 
void unscheduleUpdate (void)
void schedule (SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
 Schedules a custom selector. More...
 
void schedule (SEL_SCHEDULE selector, float interval)
 Schedules a custom selector with an interval time in seconds. More...
 
void scheduleOnce (SEL_SCHEDULE selector, float delay)
 Schedules a selector that runs only once, with a delay of 0 or larger. More...
 
void scheduleOnce (const std::function< void(float)> &callback, float delay, const std::string &key)
 Schedules a lambda function that runs only once, with a delay of 0 or larger. More...
 
void schedule (SEL_SCHEDULE selector)
 Schedules a custom selector, the scheduled selector will be ticked every frame. More...
 
void schedule (const std::function< void(float)> &callback, const std::string &key)
 Schedules a lambda function. More...
 
void schedule (const std::function< void(float)> &callback, float interval, const std::string &key)
 Schedules a lambda function. More...
 
void schedule (const std::function< void(float)> &callback, float interval, unsigned int repeat, float delay, const std::string &key)
 Schedules a lambda function. More...
 
void unschedule (SEL_SCHEDULE selector)
 Unschedules a custom selector. More...
 
void unschedule (const std::string &key)
 Unschedules a lambda function. More...
 
void unscheduleAllCallbacks ()
 Unschedule all scheduled selectors and lambda functions: custom selectors, and the 'update' selector and lambda functions. More...
 
void unscheduleAllSelectors ()
virtual void resume (void)
 Resumes all scheduled selectors, actions and event listeners. More...
 
virtual void pause (void)
 Pauses all scheduled selectors, actions and event listeners. More...
 
void resumeSchedulerAndActions ()
 Resumes all scheduled selectors, actions and event listeners. More...
 
void pauseSchedulerAndActions ()
 Pauses all scheduled selectors, actions and event listeners. More...
 
virtual void updateTransform ()
 Calls children's updateTransform() method recursively. More...
 
virtual const Mat4getNodeToParentTransform () const
 Returns the matrix that transform the node's (local) space coordinates into the parent's space coordinates. More...
 
virtual AffineTransform getNodeToParentAffineTransform () const
virtual void setNodeToParentTransform (const Mat4 &transform)
 Sets the transformation matrix manually. More...
 
virtual AffineTransform nodeToParentTransform () const
virtual const Mat4getParentToNodeTransform () const
 Returns the matrix that transform parent's space coordinates to the node's (local) space coordinates. More...
 
virtual AffineTransform getParentToNodeAffineTransform () const
virtual AffineTransform parentToNodeTransform () const
virtual Mat4 getNodeToWorldTransform () const
 Returns the world affine transform matrix. More...
 
virtual AffineTransform getNodeToWorldAffineTransform () const
virtual AffineTransform nodeToWorldTransform () const
virtual Mat4 getWorldToNodeTransform () const
 Returns the inverse world affine transform matrix. More...
 
virtual AffineTransform getWorldToNodeAffineTransform () const
virtual AffineTransform worldToNodeTransform () const
Vec2 convertToNodeSpace (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpace (const Vec2 &nodePoint) const
 Converts a Vec2 to world space coordinates. More...
 
Vec2 convertToNodeSpaceAR (const Vec2 &worldPoint) const
 Converts a Vec2 to node (local) space coordinates. More...
 
Vec2 convertToWorldSpaceAR (const Vec2 &nodePoint) const
 Converts a local Vec2 to world space coordinates.The result is in Points. More...
 
Vec2 convertTouchToNodeSpace (Touch *touch) const
 convenience methods which take a Touch instead of Vec2. More...
 
Vec2 convertTouchToNodeSpaceAR (Touch *touch) const
 converts a Touch (world coordinates) into a local coordinate. More...
 
void setAdditionalTransform (Mat4 *additionalTransform)
 Sets an additional transform matrix to the node. More...
 
void setAdditionalTransform (const AffineTransform &additionalTransform)
Component * getComponent (const std::string &name)
 Gets a component by its name. More...
 
virtual bool addComponent (Component *component)
 Adds a component. More...
 
virtual bool removeComponent (const std::string &name)
 Removes a component by its name. More...
 
virtual bool removeComponent (Component *component)
 Removes a component by its pointer. More...
 
virtual void removeAllComponents ()
 Removes all components. More...
 
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Refautorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
 Destructor. More...
 
- Public Member Functions inherited from LayoutParameterProtocol
virtual ~LayoutParameterProtocol ()
 Default destructor. More...
 
- Public Member Functions inherited from LayoutProtocol
 LayoutProtocol ()
virtual ~LayoutProtocol ()

Static Public Member Functions

static ListViewcreate ()
 Create an empty ListView. More...
 
- Static Public Member Functions inherited from ScrollView
static ScrollViewcreate ()
 Create an empty ScrollView. More...
 
- Static Public Member Functions inherited from Layout
static Layoutcreate ()
 Create a empty layout. More...
 
- Static Public Member Functions inherited from Widget
static Widgetcreate ()
 Create and return a empty Widget instance pointer. More...
 
static void enableDpadNavigation (bool enable)
- Static Public Member Functions inherited from ProtectedNode
static ProtectedNodecreate (void)
 Creates a ProtectedNode with no argument. More...
 
- Static Public Member Functions inherited from Node
static Nodecreate ()
 Allocates and initializes a node. More...
 

Public Attributes

CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
- Public Attributes inherited from ScrollView
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
- Public Attributes inherited from Layout
std::function< int(FocusDirection,
Widget *)> 
onPassFocusToChild
 To specify a user-defined functor to decide which child widget of the layout should get focused. More...
 
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
- Public Attributes inherited from Widget
std::function< void(Widget
*, Widget *)> 
onFocusChanged
 When a widget lose/get focus, this method will be called. More...
 
std::function< Widget
*(FocusDirection)> 
onNextFocusedWidget
 use this function to manually specify the next focused widget regards to each direction More...
 
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
- Public Attributes inherited from ProtectedNode
CC_CONSTRUCTOR_ACCESS __pad0__: ProtectedNode()
- Public Attributes inherited from Node
CC_CONSTRUCTOR_ACCESS __pad0__: Node()

Protected Member Functions

void updateInnerContainerSize ()
void remedyLayoutParameter (Widget *item)
void remedyVerticalLayoutParameter (LinearLayoutParameter *layoutParameter, ssize_t itemIndex)
void remedyHorizontalLayoutParameter (LinearLayoutParameter *layoutParameter, ssize_t itemIndex)
virtual void onSizeChanged () override
virtual WidgetcreateCloneInstance () override
virtual void copySpecialProperties (Widget *model) override
virtual void copyClonedWidgetChildren (Widget *model) override
void selectedItemEvent (TouchEventType event)
virtual void interceptTouchEvent (Widget::TouchEventType event, Widget *sender, Touch *touch) override
- Protected Member Functions inherited from ScrollView
virtual void initRenderer () override
void moveChildren (float offsetX, float offsetY)
void autoScrollChildren (float dt)
void bounceChildren (float dt)
void checkBounceBoundary ()
bool checkNeedBounce ()
void startAutoScrollChildrenWithOriginalSpeed (const Vec2 &dir, float v, bool attenuated, float acceleration)
void startAutoScrollChildrenWithDestination (const Vec2 &des, float time, bool attenuated)
void jumpToDestination (const Vec2 &des)
void stopAutoScrollChildren ()
void startBounceChildren (float v)
void stopBounceChildren ()
bool checkCustomScrollDestination (float *touchOffsetX, float *touchOffsetY)
virtual bool scrollChildren (float touchOffsetX, float touchOffsetY)
bool scrollChildrenVertical (float touchOffsetX, float touchOffsetY)
bool scrollChildrenHorizontal (float touchOffsetX, float touchOffestY)
bool scrollChildrenBoth (float touchOffsetX, float touchOffsetY)
bool bounceScrollChildren (float touchOffsetX, float touchOffsetY)
void startRecordSlidAction ()
virtual void endRecordSlidAction ()
virtual void handlePressLogic (Touch *touch)
virtual void handleMoveLogic (Touch *touch)
virtual void handleReleaseLogic (Touch *touch)
void recordSlidTime (float dt)
void scrollToTopEvent ()
void scrollToBottomEvent ()
void scrollToLeftEvent ()
void scrollToRightEvent ()
void scrollingEvent ()
void bounceTopEvent ()
void bounceBottomEvent ()
void bounceLeftEvent ()
void bounceRightEvent ()
- Protected Member Functions inherited from Layout
void addBackGroundImage ()
void supplyTheLayoutParameterLackToChild (Widget *child)
void stencilClippingVisit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags)
void scissorClippingVisit (Renderer *renderer, const Mat4 &parentTransform, uint32_t parentFlags)
void setStencilClippingSize (const Size &size)
const RectgetClippingRect ()
virtual LayoutManagercreateLayoutManager () override
virtual Size getLayoutContentSize () const override
virtual const Vector< Node * > & getLayoutElements () const override
void onBeforeVisitStencil ()
void onAfterDrawStencil ()
void onAfterVisitStencil ()
void drawFullScreenQuadClearStencil ()
 draw fullscreen quad to clear stencil bits More...
 
void onBeforeVisitScissor ()
void onAfterVisitScissor ()
void updateBackGroundImageColor ()
void updateBackGroundImageOpacity ()
void updateBackGroundImageRGBA ()
Size getLayoutAccumulatedSize () const
 get the content size of the layout, it will accumulate all its children's content size More...
 
int findNearestChildWidgetIndex (FocusDirection direction, Widget *baseWidget)
 When the layout get focused, it the layout pass the focus to its child, it will use this method to determine which child will get the focus. More...
 
int findFarthestChildWidgetIndex (FocusDirection direction, Widget *baseWidget)
 When the layout get focused, it the layout pass the focus to its child, it will use this method to determine which child will get the focus. More...
 
float calculateNearestDistance (Widget *baseWidget)
 caculate the nearest distance between the baseWidget and the children of the layout More...
 
float calculateFarthestDistance (Widget *baseWidget)
 caculate the farthest distance between the baseWidget and the children of the layout More...
 
void findProperSearchingFunctor (FocusDirection dir, Widget *baseWidget)
 when a layout pass the focus to it's child, use this method to determine which algorithm to use, nearest or farthest distance algorithm or not More...
 
WidgetfindFirstNonLayoutWidget ()
 find the first non-layout widget in this layout More...
 
int findFirstFocusEnabledWidgetIndex ()
 find the fisrt focus enabled widget index in the layout, it will recusive searching the child widget More...
 
WidgetfindFocusEnabledChildWidgetByIndex (ssize_t index)
 find a focus enabled child Widget in the layout by index More...
 
Vec2 getWorldCenterPoint (Widget *node) const
 get the center point of a widget in world space More...
 
WidgetgetNextFocusedWidget (FocusDirection direction, Widget *current)
 this method is called internally by nextFocusedWidget. More...
 
WidgetgetPreviousFocusedWidget (FocusDirection direction, Widget *current)
 this method is called internally by nextFocusedWidget. More...
 
WidgetgetChildWidgetByIndex (ssize_t index) const
 find the nth elment in the _children array. More...
 
bool isLastWidgetInContainer (Widget *widget, FocusDirection direction) const
 whether it is the last element according to all their parents More...
 
bool isWidgetAncestorSupportLoopFocus (Widget *widget, FocusDirection direction) const
 Lookup any parent widget with a layout type as the direction, if the layout is loop focused, then return true, otherwise It returns false. More...
 
WidgetpassFocusToChild (FocusDirection direction, Widget *current)
 pass the focus to the layout's next focus enabled child More...
 
bool checkFocusEnabledChild () const
 If there are no focus enabled child in the layout, it will return false, otherwise it returns true. More...
 
- Protected Member Functions inherited from Widget
GLProgramStategetNormalGLProgramState () const
 Get a normal state GLProgramState. More...
 
GLProgramStategetGrayGLProgramState () const
 Get a disabled state GLProgramState. More...
 
virtual void onPressStateChangedToNormal ()
virtual void onPressStateChangedToPressed ()
virtual void onPressStateChangedToDisabled ()
void pushDownEvent ()
void moveEvent ()
virtual void releaseUpEvent ()
virtual void cancelUpEvent ()
virtual void adaptRenderers ()
void updateChildrenDisplayedRGBA ()
void copyProperties (Widget *model)
WidgetgetWidgetParent ()
void updateContentSizeWithTextureSize (const Size &size)
bool isAncestorsEnabled ()
WidgetgetAncensterWidget (Node *node)
bool isAncestorsVisible (Node *node)
void cleanupWidget ()
LayoutComponentgetOrCreateLayoutComponent ()
- Protected Member Functions inherited from ProtectedNode
void insertProtectedChild (Node *child, int z)
 helper that reorder a child More...
 
- Protected Member Functions inherited from Node
void childrenAlloc (void)
 lazy allocs More...
 
void insertChild (Node *child, int z)
 helper that reorder a child More...
 
void detachChild (Node *child, ssize_t index, bool doCleanup)
 Removes a child, call child->onExit(), do cleanup, remove it from children array. More...
 
Vec2 convertToWindowSpace (const Vec2 &nodePoint) const
 Convert cocos2d coordinates to UI windows coordinate. More...
 
Mat4 transform (const Mat4 &parentTransform)
uint32_t processParentFlags (const Mat4 &parentTransform, uint32_t parentFlags)
virtual void updateCascadeOpacity ()
virtual void updateCascadeColor ()
virtual void updateColor ()
bool doEnumerate (std::string name, std::function< bool(Node *)> callback) const
bool doEnumerateRecursive (const Node *node, const std::string &name, std::function< bool(Node *)> callback) const
bool isVisitableByVisitingCamera () const
void updateRotationQuat ()
void updateRotation3D ()
- Protected Member Functions inherited from Ref
 Ref ()
 Constructor. More...
 

Protected Attributes

Widget_model
Vector< Widget * > _items
Gravity _gravity
float _itemsMargin
ssize_t _curSelectedIndex
bool _refreshViewDirty
Ref_listViewEventListener
SEL_ListViewEvent _listViewEventSelector
ccListViewCallback _eventCallback
- Protected Attributes inherited from ScrollView
Layout_innerContainer
Direction _direction
Vec2 _autoScrollDir
float _topBoundary
float _bottomBoundary
float _leftBoundary
float _rightBoundary
float _bounceTopBoundary
float _bounceBottomBoundary
float _bounceLeftBoundary
float _bounceRightBoundary
bool _autoScroll
float _autoScrollAddUpTime
float _autoScrollOriginalSpeed
float _autoScrollAcceleration
bool _isAutoScrollSpeedAttenuated
bool _needCheckAutoScrollDestination
Vec2 _autoScrollDestination
bool _bePressed
float _slidTime
Vec2 _moveChildPoint
float _childFocusCancelOffset
bool _leftBounceNeeded
bool _topBounceNeeded
bool _rightBounceNeeded
bool _bottomBounceNeeded
bool _bounceEnabled
bool _bouncing
Vec2 _bounceDir
float _bounceOriginalSpeed
bool _inertiaScrollEnabled
Ref_scrollViewEventListener
SEL_ScrollViewEvent _scrollViewEventSelector
ccScrollViewCallback _eventCallback
- Protected Attributes inherited from Layout
bool _backGroundScale9Enabled
Scale9Sprite_backGroundImage
std::string _backGroundImageFileName
Rect _backGroundImageCapInsets
BackGroundColorType _colorType
TextureResType _bgImageTexType
Size _backGroundImageTextureSize
Color3B _backGroundImageColor
GLubyte _backGroundImageOpacity
LayerColor_colorRender
LayerGradient_gradientRender
Color3B _cColor
Color3B _gStartColor
Color3B _gEndColor
Vec2 _alongVector
GLubyte _cOpacity
bool _clippingEnabled
Type _layoutType
ClippingType _clippingType
DrawNode_clippingStencil
bool _scissorRectDirty
Rect _clippingRect
Layout_clippingParent
bool _clippingRectDirty
GLboolean _currentStencilEnabled
GLuint _currentStencilWriteMask
GLenum _currentStencilFunc
GLint _currentStencilRef
GLuint _currentStencilValueMask
GLenum _currentStencilFail
GLenum _currentStencilPassDepthFail
GLenum _currentStencilPassDepthPass
GLboolean _currentDepthWriteMask
GLboolean _currentAlphaTestEnabled
GLenum _currentAlphaTestFunc
GLclampf _currentAlphaTestRef
GLint _mask_layer_le
GroupCommand _groupCommand
CustomCommand _beforeVisitCmdStencil
CustomCommand _afterDrawStencilCmd
CustomCommand _afterVisitCmdStencil
CustomCommand _beforeVisitCmdScissor
CustomCommand _afterVisitCmdScissor
bool _doLayoutDirty
bool _isInterceptTouch
bool _loopFocus
bool _passFocusToChild
bool _isFocusPassing
- Protected Attributes inherited from Widget
bool _usingLayoutComponent
bool _unifySize
bool _enabled
bool _bright
bool _touchEnabled
bool _highlight
bool _affectByClipping
bool _ignoreSize
bool _propagateTouchEvents
BrightStyle _brightStyle
SizeType _sizeType
PositionType _positionType
int _actionTag
Size _customSize
Vec2 _sizePercent
Vec2 _positionPercent
bool _hitted
EventListenerTouchOneByOne_touchListener
Vec2 _touchBeganPosition
Vec2 _touchMovePosition
Vec2 _touchEndPosition
bool _flippedX
bool _flippedY
Map< int, LayoutParameter * > _layoutParameterDictionary
LayoutParameter::Type _layoutParameterType
bool _focused
bool _focusEnabled
Ref_touchEventListener
SEL_TouchEvent _touchEventSelector
ccWidgetTouchCallback _touchEventCallback
ccWidgetClickCallback _clickEventListener
ccWidgetEventCallback _ccEventCallback
std::string _callbackType
std::string _callbackName
- Protected Attributes inherited from ProtectedNode
Vector< Node * > _protectedChildren
 array of children nodes More...
 
bool _reorderProtectedChildDirty
- Protected Attributes inherited from Node
float _rotationX
 rotation on the X-axis More...
 
float _rotationY
 rotation on the Y-axis More...
 
float _rotationZ_X
 rotation angle on Z-axis, component X More...
 
float _rotationZ_Y
 rotation angle on Z-axis, component Y More...
 
Quaternion _rotationQuat
float _scaleX
 rotation using quaternion, if _rotationZ_X == _rotationZ_Y, _rotationQuat = RotationZ_X * RotationY * RotationX, else _rotationQuat = RotationY * RotationX More...
 
float _scaleY
 scaling factor on y-axis More...
 
float _scaleZ
 scaling factor on z-axis More...
 
Vec2 _position
 position of the node More...
 
float _positionZ
 OpenGL real Z position. More...
 
Vec2 _normalizedPosition
bool _usingNormalizedPosition
bool _normalizedPositionDirty
float _skewX
 skew angle on x-axis More...
 
float _skewY
 skew angle on y-axis More...
 
Vec2 _anchorPointInPoints
 anchor point in points More...
 
Vec2 _anchorPoint
 anchor point normalized (NOT in points) More...
 
Size _contentSize
 untransformed size of the node More...
 
bool _contentSizeDirty
 whether or not the contentSize is dirty More...
 
Mat4 _modelViewTransform
 ModelView transform of the Node. More...
 
Mat4 _transform
 transform More...
 
bool _transformDirty
 transform dirty flag More...
 
Mat4 _inverse
 inverse transform More...
 
bool _inverseDirty
 inverse transform dirty flag More...
 
Mat4 _additionalTransform
 transform More...
 
bool _useAdditionalTransform
 The flag to check whether the additional transform is dirty. More...
 
bool _transformUpdated
 Whether or not the Transform object was updated since the last frame. More...
 
int _localZOrder
 Local order (relative to its siblings) used to sort the node. More...
 
float _globalZOrder
 Global order used to sort the node. More...
 
Vector< Node * > _children
 array of children nodes More...
 
Node_parent
 weak reference to parent node More...
 
Director_director
int _tag
 a tag. Can be any number you assigned just to identify this node More...
 
std::string _name
 a string label, an user defined string to identify this node More...
 
size_t _hashOfName
 hash value of _name, used for speed in getChildByName More...
 
void * _userData
 A user assingned void pointer, Can be point to any cpp object. More...
 
Ref_userObject
 A user assigned Object. More...
 
GLProgramState_glProgramState
 OpenGL Program State. More...
 
int _orderOfArrival
 used to preserve sequence while sorting children with the same localZOrder More...
 
Scheduler_scheduler
 scheduler used to schedule timers and updates More...
 
ActionManager_actionManager
 a pointer to ActionManager singleton, which is used to handle all the actions More...
 
EventDispatcher_eventDispatcher
 event dispatcher used to dispatch all kinds of events More...
 
bool _running
 is running More...
 
bool _visible
 is this node visible More...
 
bool _ignoreAnchorPointForPosition
 true if the Anchor Vec2 will be (0,0) when you position the Node, false otherwise. More...
 
bool _reorderChildDirty
 children order dirty flag More...
 
bool _isTransitionFinished
 flag to indicate whether the transition was finished More...
 
ComponentContainer * _componentContainer
 Dictionary of components. More...
 
PhysicsBody_physicsBody
 the physicsBody the node have More...
 
float _physicsScaleStartX
 the scale x value when setPhysicsBody More...
 
float _physicsScaleStartY
 the scale y value when setPhysicsBody More...
 
float _physicsRotation
bool _physicsTransformDirty
bool _updateTransformFromPhysics
GLubyte _displayedOpacity
GLubyte _realOpacity
Color3B _displayedColor
Color3B _realColor
bool _cascadeColorEnabled
bool _cascadeOpacityEnabled
unsigned short _cameraMask
std::function< void()> _onEnterCallback
std::function< void()> _onExitCallback
std::function< void()> _onEnterTransitionDidFinishCallback
std::function< void()> _onExitTransitionDidStartCallback
- Protected Attributes inherited from Ref
unsigned int _referenceCount
 count of references More...
 

Additional Inherited Members

- Static Public Attributes inherited from Node
static const int INVALID_TAG = -1
 Default tag used for all the nodes. More...
 
- Static Protected Attributes inherited from Widget
static Widget_focusedWidget
 store the only one focued widget More...
 
- Static Protected Attributes inherited from Node
static int s_globalOrderOfArrival

Detailed Description

ListView is a view group that displays a list of scrollable items.

The list items are inserted to the list by using addChild or insertDefaultItem.

Warning
The list item in ListView doesn't support cell reuse at the moment, if you have a large amount of data need to be displayed, use TableView instead. ListView is a subclass of ScrollView, so it shares many features of ScrollView.

Member Typedef Documentation

typedef std::function<void(Ref*,
EventType)> ccListViewCallback

ListView item click callback.

Constructor & Destructor Documentation

ListView ( )

Default constructor.

virtual ~ListView ( )
virtual

Default destructor.

Member Function Documentation

virtual void addChild ( Node child)
overridevirtual

Adds a child to the container with z order and tag.

If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.

Parameters
childA child node
zOrderZ order for drawing priority. Please refer to setLocalZOrder(int)
tagA interger to identify the node easily. Please refer to setTag(int)

Reimplemented from ScrollView.

virtual void addChild ( Node child,
int  localZOrder 
)
overridevirtual

Adds a child to the container with a local z-order.

If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.

Parameters
childA child node.
zOrderZ order for drawing priority. Please refer to setLocalZOrder(int).

Reimplemented from ScrollView.

virtual void addChild ( Node child,
int  localZOrder,
int  tag 
)
overridevirtual

Adds a child to the container with z order and tag.

If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.

Parameters
childA child node.
zOrderZ order for drawing priority. Please refer to setLocalZOrder(int).
tagAn integer to identify the node easily. Please refer to setTag(int).

Please use addChild(Node* child, int localZOrder, const std::string &name) instead.

Reimplemented from ScrollView.

virtual void addChild ( Node child,
int  localZOrder,
const std::string &  name 
)
overridevirtual

Adds a child to the container with z order and tag.

If the child is added to a 'running' node, then 'onEnter' and 'onEnterTransitionDidFinish' will be called immediately.

Parameters
childA child node.
zOrderZ order for drawing priority. Please refer to setLocalZOrder(int).
nameA string to identify the node easily. Please refer to setName(int).

Reimplemented from ScrollView.

void addEventListener ( const ccListViewCallback callback)
virtual

Add a event click callback to ListView, then one item of Listview is clicked, the callback will be called.

Parameters
callbackA callback function with type of ccListViewCallback.

Reimplemented from ScrollView.

void addEventListenerListView ( Ref target,
SEL_ListViewEvent  selector 
)

Add a event click callback to ListView, then one item of Listview is clicked, the callback will be called.

Deprecated:
Use addEventListener instead.
Parameters
targetA pointer of Ref* type.
selectorA member function pointer with type of SEL_ListViewEvent.
virtual void
copyClonedWidgetChildren
( Widget model)
overrideprotectedvirtual

Reimplemented from ScrollView.

virtual void copySpecialProperties ( Widget model)
overrideprotectedvirtual

Reimplemented from ScrollView.

static ListView* create ( )
static

Create an empty ListView.

Returns
A ListView instance.
virtual Widget* createCloneInstance ( )
overrideprotectedvirtual

Reimplemented from ScrollView.

virtual void doLayout ( )
overridevirtual

Reimplemented from ScrollView.

virtual void forceDoLayout ( )
overridevirtual

force refresh widget layout

Reimplemented from Layout.

ssize_t getCurSelectedIndex ( ) const

Query current selected widget's idnex.

Returns
A index of a selected item.
virtual std::string getDescription ( ) const
overridevirtual

Return the "class name" of widget.

Reimplemented from ScrollView.

ssize_t getIndex ( Widget item) const

Return the index of specified widget.

Parameters
itemA widget pointer.
Returns
The index of a given widget in ListView.
Widget* getItem ( ssize_t  index) const

Return a item at a given index.

Parameters
indexA given index in ssize_t.
Returns
A widget instance.
Vector<Widget*>& getItems ( )

Return all items in a ListView.

Returns
A vector of widget pointers.
float getItemsMargin ( ) const

Query margin between each item in ListView.

Returns
A margin in float.
void insertCustomItem ( Widget item,
ssize_t  index 
)

Insert a custom widget into ListView at a given index.

Parameters
itemA widget pointer to be inserted.
indexA given index in ssize_t.
void insertDefaultItem ( ssize_t  index)

Insert a default item(create by cloning model) into listview at a give index.

Parameters
indexA index in ssize_t.
virtual void interceptTouchEvent ( Widget::TouchEventType  event,
Widget sender,
Touch touch 
)
overrideprotectedvirtual

Reimplemented from ScrollView.

virtual void onSizeChanged ( )
overrideprotectedvirtual

Reimplemented from ScrollView.

void pushBackCustomItem ( Widget item)

Insert a custom item into the end of ListView.

Parameters
itemA item in Widget*.
void pushBackDefaultItem ( )

Insert a a default item(create by a cloned model) at the end of the listview.

void refreshView ( )

Refresh content view of ListView.

void
remedyHorizontalLayoutParameter
( LinearLayoutParameter layoutParameter,
ssize_t  itemIndex 
)
protected
void remedyLayoutParameter ( Widget item)
protected
void remedyVerticalLayoutParameter ( LinearLayoutParameter layoutParameter,
ssize_t  itemIndex 
)
protected
virtual void removeAllChildren ( )
overridevirtual

Removes all children from the container with a cleanup.

See also
removeAllChildrenWithCleanup(bool)

Reimplemented from ScrollView.

virtual void
removeAllChildrenWithCleanup
( bool  cleanup)
overridevirtual

Removes all children from the container, and do a cleanup to all running actions depending on the cleanup parameter.

Parameters
cleanuptrue if all running actions on all children nodes should be cleanup, false oterwise.

Reimplemented from ScrollView.

void removeAllItems ( )

Remove all items in current ListView.

virtual void removeChild ( Node child,
bool  cleanup = true 
)
overridevirtual

Removes a child from the container.

It will also cleanup all running actions depending on the cleanup parameter.

Parameters
childThe child node which will be removed.
cleanupTrue if all running actions and callbacks on the child node will be cleanup, false otherwise.

Reimplemented from ScrollView.

void removeItem ( ssize_t  index)

Remove a item at given index.

Parameters
indexA given index in ssize_t.
void removeLastItem ( )

Removes the last item of ListView.

void requestRefreshView ( )

Refresh view and layout of ListView manually.

This method will mark ListView content as dirty and the content view will be refershed in the next frame.

void selectedItemEvent ( TouchEventType  event)
protected
virtual void setDirection ( Direction  dir)
overridevirtual

Changes scroll direction of scrollview.

Direction Direction::VERTICAL means vertical scroll, Direction::HORIZONTAL means horizontal scroll

Parameters
dir,setthe list view's scroll direction

Reimplemented from ScrollView.

void setGravity ( Gravity  gravity)

Set the gravity of ListView.

See also
ListViewGravity
void setItemModel ( Widget model)

Set a item model for listview.

When calling pushBackDefaultItem, the model will be used as a blueprint and new model copy will be inserted into ListView.

Parameters
modelModel in Widget*.
void setItemsMargin ( float  margin)

Set the margin between each item in ListView.

Parameters
margin
void updateInnerContainerSize ( )
protected

Member Data Documentation

ssize_t _curSelectedIndex
protected
ccListViewCallback _eventCallback
protected
Gravity _gravity
protected
Vector<Widget*> _items
protected
float _itemsMargin
protected
Ref* _listViewEventListener
protected
SEL_ListViewEvent
_listViewEventSelector
protected
Widget* _model
protected
bool _refreshViewDirty
protected

The documentation for this class was generated from the following file: