Merge pull request #4175 from nutty898/develop_nutty_optimizeguireader_3

[ci skip]Develop nutty optimizeguireader 3
This commit is contained in:
minggo 2013-11-11 17:36:22 -08:00
commit 44bed76c21
21 changed files with 1857 additions and 1441 deletions

File diff suppressed because it is too large Load Diff

View File

@ -31,49 +31,90 @@
namespace cocostudio {
#define kCCSVersion 1.0
class CCSGUIReader : cocos2d::Object
class GUIReader : public cocos2d::Object
{
public:
CCSGUIReader();
~CCSGUIReader();
static CCSGUIReader* shareReader();
static void purgeCCSGUIReader();
GUIReader();
~GUIReader();
static GUIReader* shareReader();
static void purgeGUIReader();
gui::UIWidget* widgetFromJsonFile(const char* fileName);
gui::UIWidget* widgetFromJsonDictionary(JsonDictionary* data);
int getVersionInteger(const char* str);
void setPropsForWidgetFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setColorPropsForWidgetFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForButtonFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForCheckBoxFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForImageViewFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForLabelFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForLabelAtlasFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForContainerWidgetFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForPanelFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForScrollViewFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForSliderFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForTextAreaFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForTextButtonFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForTextFieldFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForLoadingBarFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForImageButtonFromJsonDictionary(gui::UIWidget* widget, JsonDictionary* options);
void setPropsForListViewFromJsonDictionary(gui::UIWidget* widget, JsonDictionary* options);
void setPropsForPageViewFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForLabelBMFontFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void setPropsForDragPanelFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
void storeFileDesignSize(const char* fileName, const cocos2d::Size &size);
const cocos2d::Size getFileDesignSize(const char* fileName) const;
protected:
std::string m_strFilePath;
bool m_bOlderVersion;
cocos2d::Dictionary* _fileDesignSizes;
};
class WidgetPropertiesReader : public cocos2d::Object
{
public:
virtual gui::UIWidget* createWidget(JsonDictionary* dic, const char* fullPath, const char* fileName)=0;
virtual gui::UIWidget* widgetFromJsonDictionary(JsonDictionary* dic) = 0;
protected:
std::string m_strFilePath;
};
class WidgetPropertiesReader0250 : public WidgetPropertiesReader
{
public:
WidgetPropertiesReader0250(){};
virtual ~WidgetPropertiesReader0250(){};
virtual gui::UIWidget* createWidget(JsonDictionary* dic, const char* fullPath, const char* fileName);
virtual gui::UIWidget* widgetFromJsonDictionary(JsonDictionary* dic);
virtual void setPropsForWidgetFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setColorPropsForWidgetFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForButtonFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForCheckBoxFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForImageViewFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForLabelFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForLabelAtlasFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForLabelBMFontFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForLoadingBarFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForSliderFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForTextFieldFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForLayoutFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForScrollViewFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
};
class WidgetPropertiesReader0300 : public WidgetPropertiesReader
{
public:
WidgetPropertiesReader0300(){};
virtual ~WidgetPropertiesReader0300(){};
virtual gui::UIWidget* createWidget(JsonDictionary* dic, const char* fullPath, const char* fileName);
virtual gui::UIWidget* widgetFromJsonDictionary(JsonDictionary* dic);
virtual void setPropsForWidgetFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setColorPropsForWidgetFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForButtonFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForCheckBoxFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForImageViewFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForLabelFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForLabelAtlasFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForLabelBMFontFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForLoadingBarFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForSliderFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForTextFieldFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForLayoutFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForPageViewFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForScrollViewFromJsonDictionary(gui::UIWidget*widget,JsonDictionary* options);
virtual void setPropsForListViewFromJsonDictionary(gui::UIWidget* widget, JsonDictionary* options);
};
}

View File

@ -34,8 +34,8 @@ _frontCrossRenderer(NULL),
_backGroundBoxDisabledRenderer(NULL),
_frontCrossDisabledRenderer(NULL),
_isSelected(true),
_selectedStateEventListener(NULL),
_selectedStateEventSelector(NULL),
_checkBoxEventListener(NULL),
_checkBoxEventSelector(NULL),
_backGroundTexType(UI_TEX_TYPE_LOCAL),
_backGroundSelectedTexType(UI_TEX_TYPE_LOCAL),
_frontCrossTexType(UI_TEX_TYPE_LOCAL),
@ -51,8 +51,8 @@ _frontCrossDisabledFileName("")
UICheckBox::~UICheckBox()
{
_selectedStateEventListener = NULL;
_selectedStateEventSelector = NULL;
_checkBoxEventListener = NULL;
_checkBoxEventSelector = NULL;
}
UICheckBox* UICheckBox::create()
@ -285,24 +285,24 @@ bool UICheckBox::getSelectedState()
void UICheckBox::selectedEvent()
{
if (_selectedStateEventListener && _selectedStateEventSelector)
if (_checkBoxEventListener && _checkBoxEventSelector)
{
(_selectedStateEventListener->*_selectedStateEventSelector)(this,CHECKBOX_STATE_EVENT_SELECTED);
(_checkBoxEventListener->*_checkBoxEventSelector)(this,CHECKBOX_STATE_EVENT_SELECTED);
}
}
void UICheckBox::unSelectedEvent()
{
if (_selectedStateEventListener && _selectedStateEventSelector)
if (_checkBoxEventListener && _checkBoxEventSelector)
{
(_selectedStateEventListener->*_selectedStateEventSelector)(this,CHECKBOX_STATE_EVENT_UNSELECTED);
(_checkBoxEventListener->*_checkBoxEventSelector)(this,CHECKBOX_STATE_EVENT_UNSELECTED);
}
}
void UICheckBox::addEventListener(cocos2d::Object *target, SEL_SelectedStateEvent selector)
void UICheckBox::addEventListenerCheckBox(cocos2d::Object *target, SEL_SelectedStateEvent selector)
{
_selectedStateEventListener = target;
_selectedStateEventSelector = selector;
_checkBoxEventListener = target;
_checkBoxEventSelector = selector;
}
void UICheckBox::setFlipX(bool flipX)

View File

@ -138,7 +138,7 @@ public:
virtual void setAnchorPoint(const cocos2d::Point &pt);
//add a call back function would called when checkbox is selected or unselected.
void addEventListener(cocos2d::Object* target,SEL_SelectedStateEvent selector);
void addEventListenerCheckBox(cocos2d::Object* target,SEL_SelectedStateEvent selector);
//override "setFlipX" method of widget.
virtual void setFlipX(bool flipX);
@ -190,8 +190,8 @@ protected:
cocos2d::Sprite* _frontCrossDisabledRenderer;
bool _isSelected;
cocos2d::Object* _selectedStateEventListener;
SEL_SelectedStateEvent _selectedStateEventSelector;
cocos2d::Object* _checkBoxEventListener;
SEL_SelectedStateEvent _checkBoxEventSelector;
TextureResType _backGroundTexType;
TextureResType _backGroundSelectedTexType;

View File

@ -129,7 +129,17 @@ void UILayout::setClippingEnabled(bool able)
void UILayout::onSizeChanged()
{
DYNAMIC_CAST_CLIPPINGLAYER->setClippingSize(_size);
doLayout();
if (strcmp(getDescription(), "Layout") == 0)
{
cocos2d::ccArray* arrayChildren = _children->data;
int length = arrayChildren->num;
for (int i=0; i<length; ++i)
{
UIWidget* child = (UIWidget*)arrayChildren->arr[i];
child->updateSizeAndPosition();
}
doLayout();
}
if (_backGroundImage)
{
_backGroundImage->setPosition(cocos2d::Point(_size.width/2.0f, _size.height/2.0f));

View File

@ -32,7 +32,10 @@ UIListView::UIListView():
_model(NULL),
_items(NULL),
_gravity(LISTVIEW_GRAVITY_CENTER_HORIZONTAL),
_itemsMargin(0.0f)
_itemsMargin(0.0f),
_listViewEventListener(NULL),
_listViewEventSelector(NULL),
_curSelectedIndex(0)
{
}
@ -41,6 +44,8 @@ UIListView::~UIListView()
{
_items->removeAllObjects();
CC_SAFE_RELEASE(_items);
_listViewEventListener = NULL;
_listViewEventSelector = NULL;
}
UIListView* UIListView::create()
@ -376,7 +381,44 @@ void UIListView::refreshView()
remedyLayoutParameter(item);
}
updateInnerContainerSize();
doLayout();
}
void UIListView::addEventListenerListView(cocos2d::Object *target, SEL_ListViewEvent selector)
{
_listViewEventListener = target;
_listViewEventSelector = selector;
}
void UIListView::selectedItemEvent()
{
if (_listViewEventListener && _listViewEventSelector)
{
(_listViewEventListener->*_listViewEventSelector)(this, LISTVIEW_ONSELECEDTITEM);
}
}
void UIListView::interceptTouchEvent(int handleState, gui::UIWidget *sender, const cocos2d::Point &touchPoint)
{
UIScrollView::interceptTouchEvent(handleState, sender, touchPoint);
if (handleState != 1)
{
UIWidget* parent = sender;
while (parent)
{
if (parent && parent->getParent() == _innerContainer)
{
_curSelectedIndex = getIndex(parent);
break;
}
parent = parent->getParent();
}
selectedItemEvent();
}
}
int UIListView::getCurSelectedIndex() const
{
return _curSelectedIndex;
}
void UIListView::onSizeChanged()

View File

@ -40,6 +40,14 @@ typedef enum
LISTVIEW_GRAVITY_BOTTOM,
LISTVIEW_GRAVITY_CENTER_VERTICAL,
}ListViewGravity;
typedef enum
{
LISTVIEW_ONSELECEDTITEM
}ListViewEventType;
typedef void (cocos2d::Object::*SEL_ListViewEvent)(cocos2d::Object*,ListViewEventType);
#define listvieweventselector(_SELECTOR) (SEL_ListViewEvent)(&_SELECTOR)
class UIListView : public UIScrollView
{
@ -145,6 +153,10 @@ public:
*/
void refreshView();
int getCurSelectedIndex() const;
void addEventListenerListView(cocos2d::Object* target, SEL_ListViewEvent selector);
/**
* Changes scroll direction of scrollview.
*
@ -164,12 +176,17 @@ protected:
virtual UIWidget* createCloneInstance();
virtual void copySpecialProperties(UIWidget* model);
virtual void copyClonedWidgetChildren(UIWidget* model);
void selectedItemEvent();
virtual void interceptTouchEvent(int handleState,UIWidget* sender,const cocos2d::Point &touchPoint);
protected:
UIWidget* _model;
cocos2d::Array* _items;
ListViewGravity _gravity;
float _itemsMargin;
cocos2d::Object* _listViewEventListener;
SEL_ListViewEvent _listViewEventSelector;
int _curSelectedIndex;
};
}

View File

@ -42,8 +42,8 @@ _autoScrollDistance(0.0f),
_autoScrollSpeed(0.0f),
_autoScrollDir(0),
_childFocusCancelOffset(5.0f),
_eventListener(NULL),
_eventSelector(NULL)
_pageViewEventListener(NULL),
_pageViewEventSelector(NULL)
{
}
@ -51,8 +51,8 @@ UIPageView::~UIPageView()
{
_pages->removeAllObjects();
CC_SAFE_RELEASE(_pages);
_eventListener = NULL;
_eventSelector = NULL;
_pageViewEventListener = NULL;
_pageViewEventSelector = NULL;
}
UIPageView* UIPageView::create()
@ -565,16 +565,16 @@ void UIPageView::interceptTouchEvent(int handleState, UIWidget *sender, const co
void UIPageView::pageTurningEvent()
{
if (_eventListener && _eventSelector)
if (_pageViewEventListener && _pageViewEventSelector)
{
(_eventListener->*_eventSelector)(this, PAGEVIEW_EVENT_TURNING);
(_pageViewEventListener->*_pageViewEventSelector)(this, PAGEVIEW_EVENT_TURNING);
}
}
void UIPageView::addEventListener(cocos2d::Object *target, SEL_PageViewEvent selector)
void UIPageView::addEventListenerPageView(cocos2d::Object *target, SEL_PageViewEvent selector)
{
_eventListener = target;
_eventSelector = selector;
_pageViewEventListener = target;
_pageViewEventSelector = selector;
}
int UIPageView::getCurPageIndex() const

View File

@ -118,7 +118,7 @@ public:
cocos2d::Array* getPages();
// event
void addEventListener(cocos2d::Object *target, SEL_PageViewEvent selector);
void addEventListenerPageView(cocos2d::Object *target, SEL_PageViewEvent selector);
//override "removeChild" method of widget.
@ -186,8 +186,8 @@ protected:
float _autoScrollSpeed;
int _autoScrollDir;
float _childFocusCancelOffset;
cocos2d::Object* _eventListener;
SEL_PageViewEvent _eventSelector;
cocos2d::Object* _pageViewEventListener;
SEL_PageViewEvent _pageViewEventSelector;
};

View File

@ -69,15 +69,15 @@ _bouncing(false),
_bounceDir(cocos2d::Point::ZERO),
_bounceOriginalSpeed(0.0f),
_inertiaScrollEnabled(true),
_eventListener(NULL),
_eventSelector(NULL)
_scrollViewEventListener(NULL),
_scrollViewEventSelector(NULL)
{
}
UIScrollView::~UIScrollView()
{
_eventListener = NULL;
_eventSelector = NULL;
_scrollViewEventListener = NULL;
_scrollViewEventSelector = NULL;
}
UIScrollView* UIScrollView::create()
@ -1458,80 +1458,80 @@ void UIScrollView::checkChildInfo(int handleState,UIWidget* sender,const cocos2d
void UIScrollView::scrollToTopEvent()
{
if (_eventListener && _eventSelector)
if (_scrollViewEventListener && _scrollViewEventSelector)
{
(_eventListener->*_eventSelector)(this, SCROLLVIEW_EVENT_SCROLL_TO_TOP);
(_scrollViewEventListener->*_scrollViewEventSelector)(this, SCROLLVIEW_EVENT_SCROLL_TO_TOP);
}
}
void UIScrollView::scrollToBottomEvent()
{
if (_eventListener && _eventSelector)
if (_scrollViewEventListener && _scrollViewEventSelector)
{
(_eventListener->*_eventSelector)(this, SCROLLVIEW_EVENT_SCROLL_TO_BOTTOM);
(_scrollViewEventListener->*_scrollViewEventSelector)(this, SCROLLVIEW_EVENT_SCROLL_TO_BOTTOM);
}
}
void UIScrollView::scrollToLeftEvent()
{
if (_eventListener && _eventSelector)
if (_scrollViewEventListener && _scrollViewEventSelector)
{
(_eventListener->*_eventSelector)(this, SCROLLVIEW_EVENT_SCROLL_TO_LEFT);
(_scrollViewEventListener->*_scrollViewEventSelector)(this, SCROLLVIEW_EVENT_SCROLL_TO_LEFT);
}
}
void UIScrollView::scrollToRightEvent()
{
if (_eventListener && _eventSelector)
if (_scrollViewEventListener && _scrollViewEventSelector)
{
(_eventListener->*_eventSelector)(this, SCROLLVIEW_EVENT_SCROLL_TO_RIGHT);
(_scrollViewEventListener->*_scrollViewEventSelector)(this, SCROLLVIEW_EVENT_SCROLL_TO_RIGHT);
}
}
void UIScrollView::scrollingEvent()
{
if (_eventListener && _eventSelector)
if (_scrollViewEventListener && _scrollViewEventSelector)
{
(_eventListener->*_eventSelector)(this, SCROLLVIEW_EVENT_SCROLLING);
(_scrollViewEventListener->*_scrollViewEventSelector)(this, SCROLLVIEW_EVENT_SCROLLING);
}
}
void UIScrollView::bounceTopEvent()
{
if (_eventListener && _eventSelector)
if (_scrollViewEventListener && _scrollViewEventSelector)
{
(_eventListener->*_eventSelector)(this, SCROLLVIEW_EVENT_BOUNCE_TOP);
(_scrollViewEventListener->*_scrollViewEventSelector)(this, SCROLLVIEW_EVENT_BOUNCE_TOP);
}
}
void UIScrollView::bounceBottomEvent()
{
if (_eventListener && _eventSelector)
if (_scrollViewEventListener && _scrollViewEventSelector)
{
(_eventListener->*_eventSelector)(this, SCROLLVIEW_EVENT_BOUNCE_BOTTOM);
(_scrollViewEventListener->*_scrollViewEventSelector)(this, SCROLLVIEW_EVENT_BOUNCE_BOTTOM);
}
}
void UIScrollView::bounceLeftEvent()
{
if (_eventListener && _eventSelector)
if (_scrollViewEventListener && _scrollViewEventSelector)
{
(_eventListener->*_eventSelector)(this, SCROLLVIEW_EVENT_BOUNCE_LEFT);
(_scrollViewEventListener->*_scrollViewEventSelector)(this, SCROLLVIEW_EVENT_BOUNCE_LEFT);
}
}
void UIScrollView::bounceRightEvent()
{
if (_eventListener && _eventSelector)
if (_scrollViewEventListener && _scrollViewEventSelector)
{
(_eventListener->*_eventSelector)(this, SCROLLVIEW_EVENT_BOUNCE_RIGHT);
(_scrollViewEventListener->*_scrollViewEventSelector)(this, SCROLLVIEW_EVENT_BOUNCE_RIGHT);
}
}
void UIScrollView::addEventListener(cocos2d::Object *target, SEL_ScrollViewEvent selector)
void UIScrollView::addEventListenerScrollView(cocos2d::Object *target, SEL_ScrollViewEvent selector)
{
_eventListener = target;
_eventSelector = selector;
_scrollViewEventListener = target;
_scrollViewEventSelector = selector;
}
void UIScrollView::setDirection(SCROLLVIEW_DIR dir)

View File

@ -231,7 +231,7 @@ public:
/**
* Add call back function called scrollview event triggered
*/
void addEventListener(cocos2d::Object* target, SEL_ScrollViewEvent selector);
void addEventListenerScrollView(cocos2d::Object* target, SEL_ScrollViewEvent selector);
//override "addChild" method of widget.
virtual bool addChild(UIWidget* widget);
@ -382,8 +382,8 @@ protected:
cocos2d::Object* _eventListener;
SEL_ScrollViewEvent _eventSelector;
cocos2d::Object* _scrollViewEventListener;
SEL_ScrollViewEvent _scrollViewEventSelector;
};
}

View File

@ -46,8 +46,8 @@ _slidBallPressedTextureFile(""),
_slidBallDisabledTextureFile(""),
_capInsetsBarRenderer(cocos2d::Rect::ZERO),
_capInsetsProgressBarRenderer(cocos2d::Rect::ZERO),
_slidPercentListener(NULL),
_slidPercentSelector(NULL),
_sliderEventListener(NULL),
_sliderEventSelector(NULL),
_barTexType(UI_TEX_TYPE_LOCAL),
_progressBarTexType(UI_TEX_TYPE_LOCAL),
_ballNTexType(UI_TEX_TYPE_LOCAL),
@ -58,8 +58,8 @@ _ballDTexType(UI_TEX_TYPE_LOCAL)
UISlider::~UISlider()
{
_slidPercentListener = NULL;
_slidPercentSelector = NULL;
_sliderEventListener = NULL;
_sliderEventSelector = NULL;
}
UISlider* UISlider::create()
@ -411,17 +411,17 @@ float UISlider::getPercentWithBallPos(float px)
return (((px-(-_barLength/2.0f))/_barLength)*100.0f);
}
void UISlider::addEventListener(cocos2d::Object *target, SEL_SlidPercentChangedEvent selector)
void UISlider::addEventListenerSlider(cocos2d::Object *target, SEL_SlidPercentChangedEvent selector)
{
_slidPercentListener = target;
_slidPercentSelector = selector;
_sliderEventListener = target;
_sliderEventSelector = selector;
}
void UISlider::percentChangedEvent()
{
if (_slidPercentListener && _slidPercentSelector)
if (_sliderEventListener && _sliderEventSelector)
{
(_slidPercentListener->*_slidPercentSelector)(this,SLIDER_PERCENTCHANGED);
(_sliderEventListener->*_sliderEventSelector)(this,SLIDER_PERCENTCHANGED);
}
}

View File

@ -162,7 +162,7 @@ public:
/**
* Add call back function called when slider's percent has changed to slider.
*/
void addEventListener(cocos2d::Object* target,SEL_SlidPercentChangedEvent selector);
void addEventListenerSlider(cocos2d::Object* target,SEL_SlidPercentChangedEvent selector);
//override "onTouchBegan" method of widget.
virtual bool onTouchBegan(const cocos2d::Point &touchPoint);
@ -226,8 +226,8 @@ protected:
cocos2d::Rect _capInsetsBarRenderer;
cocos2d::Rect _capInsetsProgressBarRenderer;
cocos2d::Object* _slidPercentListener;
SEL_SlidPercentChangedEvent _slidPercentSelector;
cocos2d::Object* _sliderEventListener;
SEL_SlidPercentChangedEvent _sliderEventSelector;
TextureResType _barTexType;
TextureResType _progressBarTexType;
TextureResType _ballNTexType;

View File

@ -275,16 +275,16 @@ _textFieldRenderer(NULL),
_touchWidth(0.0f),
_touchHeight(0.0f),
_useTouchArea(false),
_eventListener(NULL),
_eventSelector(NULL),
_textFieldEventListener(NULL),
_textFieldEventSelector(NULL),
_passwordStyleText("")
{
}
UITextField::~UITextField()
{
_eventListener = NULL;
_eventSelector = NULL;
_textFieldEventListener = NULL;
_textFieldEventSelector = NULL;
}
UITextField* UITextField::create()
@ -472,40 +472,40 @@ void UITextField::setDeleteBackward(bool deleteBackward)
void UITextField::attachWithIMEEvent()
{
if (_eventListener && _eventSelector)
if (_textFieldEventListener && _textFieldEventSelector)
{
(_eventListener->*_eventSelector)(this, TEXTFIELD_EVENT_ATTACH_WITH_IME);
(_textFieldEventListener->*_textFieldEventSelector)(this, TEXTFIELD_EVENT_ATTACH_WITH_IME);
}
}
void UITextField::detachWithIMEEvent()
{
if (_eventListener && _eventSelector)
if (_textFieldEventListener && _textFieldEventSelector)
{
(_eventListener->*_eventSelector)(this, TEXTFIELD_EVENT_DETACH_WITH_IME);
(_textFieldEventListener->*_textFieldEventSelector)(this, TEXTFIELD_EVENT_DETACH_WITH_IME);
}
}
void UITextField::insertTextEvent()
{
if (_eventListener && _eventSelector)
if (_textFieldEventListener && _textFieldEventSelector)
{
(_eventListener->*_eventSelector)(this, TEXTFIELD_EVENT_INSERT_TEXT);
(_textFieldEventListener->*_textFieldEventSelector)(this, TEXTFIELD_EVENT_INSERT_TEXT);
}
}
void UITextField::deleteBackwardEvent()
{
if (_eventListener && _eventSelector)
if (_textFieldEventListener && _textFieldEventSelector)
{
(_eventListener->*_eventSelector)(this, TEXTFIELD_EVENT_DELETE_BACKWARD);
(_textFieldEventListener->*_textFieldEventSelector)(this, TEXTFIELD_EVENT_DELETE_BACKWARD);
}
}
void UITextField::addEventListener(cocos2d::Object *target, SEL_TextFieldEvent selecor)
void UITextField::addEventListenerTextField(cocos2d::Object *target, SEL_TextFieldEvent selecor)
{
_eventListener = target;
_eventSelector = selecor;
_textFieldEventListener = target;
_textFieldEventSelector = selecor;
}
void UITextField::setAnchorPoint(const cocos2d::Point &pt)

View File

@ -132,7 +132,7 @@ public:
void setInsertText(bool insertText);
bool getDeleteBackward();
void setDeleteBackward(bool deleteBackward);
void addEventListener(cocos2d::Object* target, SEL_TextFieldEvent selecor);
void addEventListenerTextField(cocos2d::Object* target, SEL_TextFieldEvent selecor);
virtual void setAnchorPoint(const cocos2d::Point &pt);
virtual void setColor(const cocos2d::Color3B &color);
@ -163,8 +163,8 @@ protected:
float _touchHeight;
bool _useTouchArea;
cocos2d::Object* _eventListener;
SEL_TextFieldEvent _eventSelector;
cocos2d::Object* _textFieldEventListener;
SEL_TextFieldEvent _textFieldEventSelector;
std::string _passwordStyleText;
};

View File

@ -881,6 +881,8 @@ public:
virtual void onEnter();
virtual void onExit();
void updateSizeAndPosition();
virtual Object* getUserObject() { return _userObject; }
/**
* @js NA
@ -926,7 +928,6 @@ protected:
void cancelUpEvent();
void longClickEvent();
void updateAnchorPoint();
void updateSizeAndPosition();
void copyProperties(UIWidget* model);
virtual UIWidget* createCloneInstance();
virtual void copySpecialProperties(UIWidget* model);

View File

@ -54,7 +54,7 @@ bool UICheckBoxTest::init()
"cocosgui/check_box_active_disable.png");
checkBox->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
checkBox->addEventListener(this, checkboxselectedeventselector(UICheckBoxTest::selectedEvent));
checkBox->addEventListenerCheckBox(this, checkboxselectedeventselector(UICheckBoxTest::selectedEvent));
// checkBox->addSelectEvent(this, coco_selectselector(UICheckBoxTest::selectedEvent));
m_pUiLayer->addWidget(checkBox);

View File

@ -79,7 +79,7 @@ bool UIPageViewTest::init()
pageView->addPage(layout);
}
pageView->addEventListener(this, pagevieweventselector(UIPageViewTest::pageViewEvent));
pageView->addEventListenerPageView(this, pagevieweventselector(UIPageViewTest::pageViewEvent));
m_pUiLayer->addWidget(pageView);

View File

@ -26,7 +26,7 @@ bool UIScene::init()
m_pUiLayer = UILayer::create();
addChild(m_pUiLayer);
m_pWidget = dynamic_cast<UILayout*>(cocostudio::CCSGUIReader::shareReader()->widgetFromJsonFile("cocosgui/UITest/UITest.json"));
m_pWidget = dynamic_cast<UILayout*>(cocostudio::GUIReader::shareReader()->widgetFromJsonFile("cocosgui/UITest/UITest.json"));
m_pUiLayer->addWidget(m_pWidget);
m_pSceneTitle = dynamic_cast<UILabel*>(m_pUiLayer->getWidgetByName("UItest"));

View File

@ -52,7 +52,7 @@ bool UISliderTest::init()
slider->loadSlidBallTextures("cocosgui/sliderThumb.png", "cocosgui/sliderThumb.png", "");
slider->loadProgressBarTexture("cocosgui/sliderProgress.png");
slider->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
slider->addEventListener(this, sliderpercentchangedselector(UISliderTest::percentChangedEvent));
slider->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest::percentChangedEvent));
m_pUiLayer->addWidget(slider);
return true;
@ -116,7 +116,7 @@ bool UISliderTest_Scale9::init()
slider->setCapInsets(Rect(0, 0, 0, 0));
slider->setSize(Size(250, 10));
slider->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
slider->addEventListener(this, sliderpercentchangedselector(UISliderTest_Scale9::percentChangedEvent));
slider->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest_Scale9::percentChangedEvent));
m_pUiLayer->addWidget(slider);
return true;

View File

@ -51,7 +51,7 @@ bool UITextFieldTest::init()
textField->setFontSize(30);
textField->setPlaceHolder("input words here");
textField->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
textField->addEventListener(this, textfieldeventselector(UITextFieldTest::textFieldEvent));
textField->addEventListenerTextField(this, textfieldeventselector(UITextFieldTest::textFieldEvent));
m_pUiLayer->addWidget(textField);
return true;
@ -139,7 +139,7 @@ bool UITextFieldTest_MaxLength::init()
textField->setFontSize(30);
textField->setPlaceHolder("input words here");
textField->setPosition(Point(screenSize.width / 2.0f, screenSize.height / 2.0f));
textField->addEventListener(this, textfieldeventselector(UITextFieldTest_MaxLength::textFieldEvent));
textField->addEventListenerTextField(this, textfieldeventselector(UITextFieldTest_MaxLength::textFieldEvent));
m_pUiLayer->addWidget(textField);
return true;
@ -233,7 +233,7 @@ bool UITextFieldTest_Password::init()
textField->setFontSize(30);
textField->setPlaceHolder("input password here");
textField->setPosition(Point(screenSize.width / 2.0f, screenSize.height / 2.0f));
textField->addEventListener(this, textfieldeventselector(UITextFieldTest_Password::textFieldEvent));
textField->addEventListenerTextField(this, textfieldeventselector(UITextFieldTest_Password::textFieldEvent));
m_pUiLayer->addWidget(textField);
return true;