Merge pull request #6914 from andyque/refactorLayoutExecutant

refactor:  rename UILayoutExecutant to UILayoutManager
This commit is contained in:
minggo 2014-05-28 13:47:54 +08:00
commit 3d3fb6ad7e
11 changed files with 138 additions and 123 deletions

View File

@ -973,10 +973,10 @@
2905FA8E18CF08D100240AA3 /* UIWidget.h in Headers */ = {isa = PBXBuildFile; fileRef = 2905FA1418CF08D100240AA3 /* UIWidget.h */; };
2905FA8F18CF08D100240AA3 /* UIWidget.h in Headers */ = {isa = PBXBuildFile; fileRef = 2905FA1418CF08D100240AA3 /* UIWidget.h */; };
2986667F18B1B246000E39CA /* CCTweenFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2986667818B1B079000E39CA /* CCTweenFunction.cpp */; };
29CB8F4C1929D1BB00C841D6 /* UILayoutExecutant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CB8F4A1929D1BB00C841D6 /* UILayoutExecutant.cpp */; };
29CB8F4D1929D1BB00C841D6 /* UILayoutExecutant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CB8F4A1929D1BB00C841D6 /* UILayoutExecutant.cpp */; };
29CB8F4E1929D1BB00C841D6 /* UILayoutExecutant.h in Headers */ = {isa = PBXBuildFile; fileRef = 29CB8F4B1929D1BB00C841D6 /* UILayoutExecutant.h */; };
29CB8F4F1929D1BB00C841D6 /* UILayoutExecutant.h in Headers */ = {isa = PBXBuildFile; fileRef = 29CB8F4B1929D1BB00C841D6 /* UILayoutExecutant.h */; };
29CB8F4C1929D1BB00C841D6 /* UILayoutManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CB8F4A1929D1BB00C841D6 /* UILayoutManager.cpp */; };
29CB8F4D1929D1BB00C841D6 /* UILayoutManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CB8F4A1929D1BB00C841D6 /* UILayoutManager.cpp */; };
29CB8F4E1929D1BB00C841D6 /* UILayoutManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 29CB8F4B1929D1BB00C841D6 /* UILayoutManager.h */; };
29CB8F4F1929D1BB00C841D6 /* UILayoutManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 29CB8F4B1929D1BB00C841D6 /* UILayoutManager.h */; };
29CB8F551929D7A900C841D6 /* UIScrollInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 29CB8F541929D7A900C841D6 /* UIScrollInterface.h */; };
29CB8F561929D7A900C841D6 /* UIScrollInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 29CB8F541929D7A900C841D6 /* UIScrollInterface.h */; };
2AC795DB1862870F005EC8E1 /* SkeletonBounds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2AC795D918628689005EC8E1 /* SkeletonBounds.cpp */; };
@ -2256,8 +2256,8 @@
29080DEB191B82CE0066F8DF /* UIDeprecated.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIDeprecated.h; sourceTree = "<group>"; };
2986667818B1B079000E39CA /* CCTweenFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCTweenFunction.cpp; sourceTree = "<group>"; };
2986667918B1B079000E39CA /* CCTweenFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTweenFunction.h; sourceTree = "<group>"; };
29CB8F4A1929D1BB00C841D6 /* UILayoutExecutant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UILayoutExecutant.cpp; sourceTree = "<group>"; };
29CB8F4B1929D1BB00C841D6 /* UILayoutExecutant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UILayoutExecutant.h; sourceTree = "<group>"; };
29CB8F4A1929D1BB00C841D6 /* UILayoutManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UILayoutManager.cpp; sourceTree = "<group>"; };
29CB8F4B1929D1BB00C841D6 /* UILayoutManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UILayoutManager.h; sourceTree = "<group>"; };
29CB8F541929D7A900C841D6 /* UIScrollInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIScrollInterface.h; sourceTree = "<group>"; };
2AC795D318628672005EC8E1 /* BoundingBoxAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BoundingBoxAttachment.cpp; sourceTree = "<group>"; };
2AC795D418628672005EC8E1 /* BoundingBoxAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BoundingBoxAttachment.h; sourceTree = "<group>"; };
@ -3932,8 +3932,8 @@
2905F9F918CF08D000240AA3 /* UILayout.h */,
2905F9FC18CF08D000240AA3 /* UILayoutParameter.cpp */,
2905F9FD18CF08D000240AA3 /* UILayoutParameter.h */,
29CB8F4A1929D1BB00C841D6 /* UILayoutExecutant.cpp */,
29CB8F4B1929D1BB00C841D6 /* UILayoutExecutant.h */,
29CB8F4A1929D1BB00C841D6 /* UILayoutManager.cpp */,
29CB8F4B1929D1BB00C841D6 /* UILayoutManager.h */,
);
name = layout;
sourceTree = "<group>";
@ -4846,7 +4846,7 @@
5034CA39191D591100CE6051 /* ccShader_PositionColorLengthTexture.frag in Headers */,
2AC795DF18628723005EC8E1 /* SkeletonBounds.h in Headers */,
50ABBE891925AB6F00A911A9 /* CCMap.h in Headers */,
29CB8F4E1929D1BB00C841D6 /* UILayoutExecutant.h in Headers */,
29CB8F4E1929D1BB00C841D6 /* UILayoutManager.h in Headers */,
2AC795E018628723005EC8E1 /* Event.h in Headers */,
2AC795E118628723005EC8E1 /* EventData.h in Headers */,
50E6D33618E174130051CA34 /* UIHBox.h in Headers */,
@ -5661,7 +5661,7 @@
1A8C59E2180E930E00EF57C3 /* CCInputDelegate.h in Headers */,
503DD8EA1926736A00CD74DD /* CCESRenderer.h in Headers */,
1A8C59E6180E930E00EF57C3 /* CCProcessBase.h in Headers */,
29CB8F4F1929D1BB00C841D6 /* UILayoutExecutant.h in Headers */,
29CB8F4F1929D1BB00C841D6 /* UILayoutManager.h in Headers */,
50ABBE581925AB6F00A911A9 /* CCEventFocus.h in Headers */,
50ABC00A1926664800A911A9 /* CCCommon.h in Headers */,
2905FA5918CF08D100240AA3 /* UILayout.h in Headers */,
@ -6242,7 +6242,7 @@
2905FA4018CF08D100240AA3 /* CocosGUI.cpp in Sources */,
1AD71EC1180E26E600808F54 /* extension.cpp in Sources */,
50ABBE511925AB6F00A911A9 /* CCEventDispatcher.cpp in Sources */,
29CB8F4C1929D1BB00C841D6 /* UILayoutExecutant.cpp in Sources */,
29CB8F4C1929D1BB00C841D6 /* UILayoutManager.cpp in Sources */,
50ABC0051926664800A911A9 /* CCThread.mm in Sources */,
1AD71EC5180E26E600808F54 /* Json.cpp in Sources */,
50E6D33C18E174130051CA34 /* UIVBox.cpp in Sources */,
@ -6721,7 +6721,7 @@
50FCEBAC18C72017004AD434 /* PageViewReader.cpp in Sources */,
1A8C598C180E930E00EF57C3 /* CCActionFrame.cpp in Sources */,
1A8C5990180E930E00EF57C3 /* CCActionFrameEasing.cpp in Sources */,
29CB8F4D1929D1BB00C841D6 /* UILayoutExecutant.cpp in Sources */,
29CB8F4D1929D1BB00C841D6 /* UILayoutManager.cpp in Sources */,
50FCEBA418C72017004AD434 /* ListViewReader.cpp in Sources */,
1A8C5994180E930E00EF57C3 /* CCActionManagerEx.cpp in Sources */,
50ABBEBC1925AB6F00A911A9 /* ccUtils.cpp in Sources */,

View File

@ -9,7 +9,7 @@ LOCAL_SRC_FILES := \
UIWidget.cpp \
UILayout.cpp \
UILayoutParameter.cpp \
UILayoutExecutant.cpp \
UILayoutManager.cpp \
CocosGUI.cpp \
UIHelper.cpp \
UIListView.cpp \

View File

@ -8,7 +8,7 @@ set(COCOS_UI_SRC
ui/UIImageView.cpp
ui/UILayout.cpp
ui/UILayoutParameter.cpp
ui/UILayoutExecutant.cpp
ui/UILayoutManager.cpp
ui/UIListView.cpp
ui/UILoadingBar.cpp
ui/UIPageView.cpp

View File

@ -32,7 +32,7 @@ THE SOFTWARE.
#include "renderer/CCRenderer.h"
#include "renderer/CCGroupCommand.h"
#include "renderer/CCCustomCommand.h"
#include "ui/UILayoutExecutant.h"
#include "ui/UILayoutManager.h"
NS_CC_BEGIN
@ -942,19 +942,19 @@ const Vector<Node*>& Layout::getLayoutElements()const
return this->getChildren();
}
LayoutExecutant* Layout::createLayoutExecutant()
LayoutManager* Layout::createLayoutManager()
{
LayoutExecutant* exe = nullptr;
LayoutManager* exe = nullptr;
switch (_layoutType)
{
case Type::VERTICAL:
exe = LinearVerticalLayoutExecutant::create();
exe = LinearVerticalLayoutManager::create();
break;
case Type::HORIZONTAL:
exe = LinearHorizontalLayoutExecutant::create();
exe = LinearHorizontalLayoutManager::create();
break;
case Type::RELATIVE:
exe = RelativeLayoutExecutant::create();
exe = RelativeLayoutManager::create();
break;
default:
break;
@ -969,7 +969,7 @@ void Layout::doLayout()
{
return;
}
LayoutExecutant* executant = this->createLayoutExecutant();
LayoutManager* executant = this->createLayoutManager();
if (executant)
{

View File

@ -31,7 +31,7 @@ NS_CC_BEGIN
namespace ui {
class LayoutExecutant;
class LayoutManager;
class LayoutProtocol
{
@ -39,7 +39,7 @@ public:
LayoutProtocol(){}
virtual ~LayoutProtocol(){}
virtual LayoutExecutant* createLayoutExecutant() = 0;
virtual LayoutManager* createLayoutManager() = 0;
virtual Size getLayoutContentSize()const = 0;
virtual const Vector<Node*>& getLayoutElements()const = 0;
virtual void doLayout() = 0;
@ -328,7 +328,7 @@ protected:
const Rect& getClippingRect();
virtual void doLayout()override;
virtual LayoutExecutant* createLayoutExecutant()override;
virtual LayoutManager* createLayoutManager()override;
virtual Size getLayoutContentSize()const override;
virtual const Vector<Node*>& getLayoutElements()const override;

View File

@ -22,16 +22,16 @@
THE SOFTWARE.
****************************************************************************/
#include "UILayoutExecutant.h"
#include "UILayoutManager.h"
#include "UILayout.h"
NS_CC_BEGIN
namespace ui {
LinearVerticalLayoutExecutant* LinearVerticalLayoutExecutant::create()
LinearHorizontalLayoutManager* LinearHorizontalLayoutManager::create()
{
LinearVerticalLayoutExecutant* exe = new LinearVerticalLayoutExecutant();
LinearHorizontalLayoutManager* exe = new LinearHorizontalLayoutManager();
if (exe)
{
exe->autorelease();
@ -40,10 +40,55 @@ LinearVerticalLayoutExecutant* LinearVerticalLayoutExecutant::create()
CC_SAFE_DELETE(exe);
return nullptr;
}
LinearHorizontalLayoutExecutant* LinearHorizontalLayoutExecutant::create()
void LinearHorizontalLayoutManager::doLayout(LayoutProtocol* layout)
{
LinearHorizontalLayoutExecutant* exe = new LinearHorizontalLayoutExecutant();
Size layoutSize = layout->getLayoutContentSize();
Vector<Node*> container = layout->getLayoutElements();
float leftBoundary = 0.0f;
for (auto& subWidget : container)
{
Widget* child = dynamic_cast<Widget*>(subWidget);
if (child)
{
LinearLayoutParameter* layoutParameter = dynamic_cast<LinearLayoutParameter*>(child->getLayoutParameter());
if (layoutParameter)
{
LinearLayoutParameter::LinearGravity childGravity = layoutParameter->getGravity();
Vec2 ap = child->getAnchorPoint();
Size cs = child->getSize();
float finalPosX = leftBoundary + (ap.x * cs.width);
float finalPosY = layoutSize.height - (1.0f - ap.y) * cs.height;
switch (childGravity)
{
case LinearLayoutParameter::LinearGravity::NONE:
case LinearLayoutParameter::LinearGravity::TOP:
break;
case LinearLayoutParameter::LinearGravity::BOTTOM:
finalPosY = ap.y * cs.height;
break;
case LinearLayoutParameter::LinearGravity::CENTER_VERTICAL:
finalPosY = layoutSize.height / 2.0f - cs.height * (0.5f - ap.y);
break;
default:
break;
}
Margin mg = layoutParameter->getMargin();
finalPosX += mg.left;
finalPosY -= mg.top;
child->setPosition(Vec2(finalPosX, finalPosY));
leftBoundary = child->getRightBoundary() + mg.right;
}
}
}
}
//LinearVerticalLayoutManager
LinearVerticalLayoutManager* LinearVerticalLayoutManager::create()
{
LinearVerticalLayoutManager* exe = new LinearVerticalLayoutManager();
if (exe)
{
exe->autorelease();
@ -52,20 +97,8 @@ LinearHorizontalLayoutExecutant* LinearHorizontalLayoutExecutant::create()
CC_SAFE_DELETE(exe);
return nullptr;
}
RelativeLayoutExecutant* RelativeLayoutExecutant::create()
{
RelativeLayoutExecutant* exe = new RelativeLayoutExecutant();
if (exe)
{
exe->autorelease();
return exe;
}
CC_SAFE_DELETE(exe);
return nullptr;
}
void LinearVerticalLayoutExecutant::doLayout(LayoutProtocol* layout)
void LinearVerticalLayoutManager::doLayout(LayoutProtocol* layout)
{
Size layoutSize = layout->getLayoutContentSize();
Vector<Node*> container = layout->getLayoutElements();
@ -108,50 +141,25 @@ void LinearVerticalLayoutExecutant::doLayout(LayoutProtocol* layout)
}
}
}
void LinearHorizontalLayoutExecutant::doLayout(LayoutProtocol* layout)
{
Size layoutSize = layout->getLayoutContentSize();
Vector<Node*> container = layout->getLayoutElements();
float leftBoundary = 0.0f;
for (auto& subWidget : container)
{
Widget* child = dynamic_cast<Widget*>(subWidget);
if (child)
{
LinearLayoutParameter* layoutParameter = dynamic_cast<LinearLayoutParameter*>(child->getLayoutParameter());
if (layoutParameter)
{
LinearLayoutParameter::LinearGravity childGravity = layoutParameter->getGravity();
Vec2 ap = child->getAnchorPoint();
Size cs = child->getSize();
float finalPosX = leftBoundary + (ap.x * cs.width);
float finalPosY = layoutSize.height - (1.0f - ap.y) * cs.height;
switch (childGravity)
{
case LinearLayoutParameter::LinearGravity::NONE:
case LinearLayoutParameter::LinearGravity::TOP:
break;
case LinearLayoutParameter::LinearGravity::BOTTOM:
finalPosY = ap.y * cs.height;
break;
case LinearLayoutParameter::LinearGravity::CENTER_VERTICAL:
finalPosY = layoutSize.height / 2.0f - cs.height * (0.5f - ap.y);
break;
default:
break;
}
Margin mg = layoutParameter->getMargin();
finalPosX += mg.left;
finalPosY -= mg.top;
child->setPosition(Vec2(finalPosX, finalPosY));
leftBoundary = child->getRightBoundary() + mg.right;
}
}
}
}
Vector<Widget*> RelativeLayoutExecutant::getAllWidgets(cocos2d::ui::LayoutProtocol *layout)
//RelativeLayoutManager
RelativeLayoutManager* RelativeLayoutManager::create()
{
RelativeLayoutManager* exe = new RelativeLayoutManager();
if (exe)
{
exe->autorelease();
return exe;
}
CC_SAFE_DELETE(exe);
return nullptr;
}
Vector<Widget*> RelativeLayoutManager::getAllWidgets(cocos2d::ui::LayoutProtocol *layout)
{
Vector<Node*> container = layout->getLayoutElements();
Vector<Widget*> widgetChildren;
@ -170,7 +178,7 @@ Vector<Widget*> RelativeLayoutExecutant::getAllWidgets(cocos2d::ui::LayoutProtoc
}
Widget* RelativeLayoutExecutant::getRelativeWidget(Widget* widget)
Widget* RelativeLayoutManager::getRelativeWidget(Widget* widget)
{
Widget* relativeWidget = nullptr;
RelativeLayoutParameter* layoutParameter = dynamic_cast<RelativeLayoutParameter*>(widget->getLayoutParameter());
@ -195,7 +203,7 @@ Widget* RelativeLayoutExecutant::getRelativeWidget(Widget* widget)
return relativeWidget;
}
bool RelativeLayoutExecutant::caculateFinalPositionWithRelativeWidget(LayoutProtocol *layout)
bool RelativeLayoutManager::caculateFinalPositionWithRelativeWidget(LayoutProtocol *layout)
{
Vec2 ap = _widget->getAnchorPoint();
Size cs = _widget->getSize();
@ -418,7 +426,7 @@ bool RelativeLayoutExecutant::caculateFinalPositionWithRelativeWidget(LayoutProt
return true;
}
void RelativeLayoutExecutant::caculateFinalPositionWithRelativeAlign()
void RelativeLayoutManager::caculateFinalPositionWithRelativeAlign()
{
RelativeLayoutParameter* layoutParameter = dynamic_cast<RelativeLayoutParameter*>(_widget->getLayoutParameter());
@ -514,7 +522,7 @@ void RelativeLayoutExecutant::caculateFinalPositionWithRelativeAlign()
}
}
void RelativeLayoutExecutant::doLayout(LayoutProtocol *layout)
void RelativeLayoutManager::doLayout(LayoutProtocol *layout)
{
_widgetChildren = this->getAllWidgets(layout);

View File

@ -22,8 +22,8 @@
THE SOFTWARE.
****************************************************************************/
#ifndef __cocos2d_libs__CCLayoutExecutant__
#define __cocos2d_libs__CCLayoutExecutant__
#ifndef __cocos2d_libs__CCLayoutManager__
#define __cocos2d_libs__CCLayoutManager__
#include "base/CCRef.h"
#include "base/CCVector.h"
@ -36,48 +36,53 @@ class LayoutProtocol;
class Widget;
class RelativeLayoutParameter;
class LayoutExecutant : public Ref
class LayoutManager : public Ref
{
public:
LayoutExecutant(){};
virtual ~LayoutExecutant(){};
virtual ~LayoutManager(){};
LayoutManager(){};
virtual void doLayout(LayoutProtocol *layout) = 0;
friend class Layout;
};
class LinearVerticalLayoutExecutant : public LayoutExecutant
class LinearVerticalLayoutManager : public LayoutManager
{
public:
LinearVerticalLayoutExecutant(){};
virtual ~LinearVerticalLayoutExecutant(){};
static LinearVerticalLayoutExecutant* create();
private:
LinearVerticalLayoutManager(){};
virtual ~LinearVerticalLayoutManager(){};
static LinearVerticalLayoutManager* create();
virtual void doLayout(LayoutProtocol *layout) override;
friend class Layout;
};
class LinearHorizontalLayoutExecutant : public LayoutExecutant
class LinearHorizontalLayoutManager : public LayoutManager
{
public:
LinearHorizontalLayoutExecutant(){};
virtual ~LinearHorizontalLayoutExecutant(){};
static LinearHorizontalLayoutExecutant* create();
private:
LinearHorizontalLayoutManager(){};
virtual ~LinearHorizontalLayoutManager(){};
static LinearHorizontalLayoutManager* create();
virtual void doLayout(LayoutProtocol *layout) override;
friend class Layout;
};
class RelativeLayoutExecutant : public LayoutExecutant
class RelativeLayoutManager : public LayoutManager
{
public:
RelativeLayoutExecutant()
private:
RelativeLayoutManager()
:_unlayoutChildCount(0),
_widget(nullptr),
_finalPositionX(0.0f),
_finalPositionY(0.0f),
_relativeWidgetLP(nullptr)
{}
virtual ~RelativeLayoutExecutant(){};
static RelativeLayoutExecutant* create();
virtual ~RelativeLayoutManager(){};
static RelativeLayoutManager* create();
virtual void doLayout(LayoutProtocol *layout) override;
protected:
Vector<Widget*> getAllWidgets(LayoutProtocol *layout);
Widget* getRelativeWidget(Widget* widget);
bool caculateFinalPositionWithRelativeWidget(LayoutProtocol *layout);
@ -90,9 +95,11 @@ protected:
float _finalPositionY;
RelativeLayoutParameter* _relativeWidgetLP;
friend class Layout;
};
}
NS_CC_END
#endif /* defined(__cocos2d_libs__CCLayoutExecutant__) */
#endif /* defined(__cocos2d_libs__CCLayoutManager__) */

View File

@ -314,7 +314,7 @@ protected:
std::string _relativeWidgetName;
std::string _relativeLayoutName;
bool _put;
friend class RelativeLayoutExecutant;
friend class RelativeLayoutManager;
};
}

View File

@ -19,7 +19,7 @@
<ClInclude Include="..\UIHelper.h" />
<ClInclude Include="..\UIImageView.h" />
<ClInclude Include="..\UILayout.h" />
<ClInclude Include="..\UILayoutExecutant.h" />
<ClInclude Include="..\UILayoutManager.h" />
<ClInclude Include="..\UILayoutParameter.h" />
<ClInclude Include="..\UIListView.h" />
<ClInclude Include="..\UILoadingBar.h" />
@ -45,7 +45,7 @@
<ClCompile Include="..\UIHelper.cpp" />
<ClCompile Include="..\UIImageView.cpp" />
<ClCompile Include="..\UILayout.cpp" />
<ClCompile Include="..\UILayoutExecutant.cpp" />
<ClCompile Include="..\UILayoutManager.cpp" />
<ClCompile Include="..\UILayoutParameter.cpp" />
<ClCompile Include="..\UIListView.cpp" />
<ClCompile Include="..\UILoadingBar.cpp" />
@ -144,4 +144,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -87,7 +87,7 @@
<ClInclude Include="..\UIVBox.h">
<Filter>Layouts</Filter>
</ClInclude>
<ClInclude Include="..\UILayoutExecutant.h">
<ClInclude Include="..\UILayoutManager.h">
<Filter>Layouts</Filter>
</ClInclude>
</ItemGroup>
@ -158,8 +158,8 @@
<ClCompile Include="..\UIVBox.cpp">
<Filter>Layouts</Filter>
</ClCompile>
<ClCompile Include="..\UILayoutExecutant.cpp">
<ClCompile Include="..\UILayoutManager.cpp">
<Filter>Layouts</Filter>
</ClCompile>
</ItemGroup>
</Project>
</Project>

View File

@ -940,8 +940,8 @@
"cocos/ui/UIImageView.h",
"cocos/ui/UILayout.cpp",
"cocos/ui/UILayout.h",
"cocos/ui/UILayoutExecutant.cpp",
"cocos/ui/UILayoutExecutant.h",
"cocos/ui/UILayoutManager.cpp",
"cocos/ui/UILayoutManager.h",
"cocos/ui/UILayoutParameter.cpp",
"cocos/ui/UILayoutParameter.h",
"cocos/ui/UIListView.cpp",
@ -4321,4 +4321,4 @@
"tools/tolua/cocos2dx_ui.ini",
"tools/tolua/genbindings.py"
]
}
}