From 1ac3335b94a045b1d8c9845651022126a9c6e2b5 Mon Sep 17 00:00:00 2001 From: Majd Taby Date: Fri, 1 Jul 2011 16:25:36 -0700 Subject: [PATCH] Rename anchor to anchorTo, contentView to remainingSpace and update unit tests --- lib/mixins/layout_support.js | 7 +++---- lib/system/layout_manager.js | 30 +++++++++++++++--------------- tests/system/layout_manager.js | 34 +++++++++++++++++----------------- 3 files changed, 35 insertions(+), 36 deletions(-) diff --git a/lib/mixins/layout_support.js b/lib/mixins/layout_support.js index cced8e4..987d5f8 100644 --- a/lib/mixins/layout_support.js +++ b/lib/mixins/layout_support.js @@ -17,9 +17,8 @@ UI.LayoutSupport = SC.Mixin.create( hasLayoutSupport: true, - anchor: null, - width: null, - height: null, + anchorTo: null, + size: null, _layout: null, @@ -59,7 +58,7 @@ UI.LayoutSupport = SC.Mixin.create( render: function(buffer) { var layoutManager = this._getLayoutManager(); - var layout = this._layout = layoutManager.layoutForManagedView(this, get(this,'anchor'), { + var layout = this._layout = layoutManager.layoutForManagedView(this, get(this,'anchorTo'), { size: get(this,'size') }); diff --git a/lib/system/layout_manager.js b/lib/system/layout_manager.js index f56549a..3719a95 100644 --- a/lib/system/layout_manager.js +++ b/lib/system/layout_manager.js @@ -18,10 +18,10 @@ UI.LayoutManager = SC.Object.extend( _direction: null, _anchors: null, - _contentView: null, + _remainingSpace: null, _propertyMetadata: { - contentView: { + remainingSpace: { neighbors: ['top','right','bottom','left'] }, top: { @@ -53,7 +53,7 @@ UI.LayoutManager = SC.Object.extend( }, layoutForManagedView: function(view, anchor, options) { - if (anchor === 'contentView') { + if (anchor === 'remainingSpace') { return this._layoutForContentView(view, anchor, options); } @@ -63,7 +63,7 @@ UI.LayoutManager = SC.Object.extend( destroy: function() { this._direction = null; this._anchors = {}; - this._contentView = null; + this._remainingSpace = null; }, _layoutForAnchoredView: function(view, anchor, options) { @@ -99,7 +99,7 @@ UI.LayoutManager = SC.Object.extend( _layoutForContentView: function(view, anchor) { var direction = this._direction, anchors = this._anchors; var beforeAnchorName, afterAnchorName, beforeAnchor, afterAnchor; - var contentView = { + var remainingSpace = { view: view, before: null, after: null @@ -115,12 +115,12 @@ UI.LayoutManager = SC.Object.extend( } beforeAnchor = anchors[beforeAnchorName]; - contentView.before = beforeAnchor? beforeAnchor.constraint : 0; + remainingSpace.before = beforeAnchor? beforeAnchor.constraint : 0; afterAnchor = anchors[afterAnchorName]; - contentView.after = afterAnchor? afterAnchor.constraint : 0; + remainingSpace.after = afterAnchor? afterAnchor.constraint : 0; - this._contentView = contentView; + this._remainingSpace = remainingSpace; var layout = {}; var neighbors = this._propertyMetadata[anchor].neighbors; @@ -130,21 +130,21 @@ UI.LayoutManager = SC.Object.extend( layout[neighbor] = 0; } - layout[beforeAnchorName] = contentView.before; - layout[afterAnchorName] = contentView.after; + layout[beforeAnchorName] = remainingSpace.before; + layout[afterAnchorName] = remainingSpace.after; return layout; }, _reflowContentView: function() { - var contentView = this._contentView; + var remainingSpace = this._remainingSpace; - if (!contentView) { return; } - else if (!contentView.view) { return; } + if (!remainingSpace) { return; } + else if (!remainingSpace.view) { return; } - var layout = this._layoutForContentView(contentView ,'contentView'); - var element = get(contentView.view,'element'); + var layout = this._layoutForContentView(remainingSpace ,'remainingSpace'); + var element = get(remainingSpace.view,'element'); if (element) { for (var prop in layout) { diff --git a/tests/system/layout_manager.js b/tests/system/layout_manager.js index ba517e0..0ba5b94 100644 --- a/tests/system/layout_manager.js +++ b/tests/system/layout_manager.js @@ -32,7 +32,7 @@ function generateView(className,anchor,size) { SC.run(function(){ view = viewClass.create({ classNames: [className], - anchor: anchor, + anchorTo: anchor, size: size, }); @@ -45,7 +45,7 @@ function generateView(className,anchor,size) { function generateNestedView(parentView,className,anchor,size) { var nestedView = parentView.createChildView(SC.View.extend(UI.LayoutSupport), { - anchor: anchor, + anchorTo: anchor, size: size, classNames: [className] }); @@ -69,7 +69,7 @@ module("Layout Manager",{ classNames: ['layout_manager_test'] }); - containerView = generateView('layout_manager_test_container','contentView'); + containerView = generateView('layout_manager_test_container','remainingSpace'); }, teardown: function() { @@ -90,43 +90,43 @@ module("Layout Manager",{ test("no anchors", function() { var viewHeight = 50; - var parentView = generateNestedView(containerView,'layout_manager_test','contentView'); + var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace'); validateLayout($('.layout_manager_test'), {top:0,left:0,right:0,bottom:0},'vertical, container'); - generateNestedView(parentView,'content_view','contentView'); + generateNestedView(parentView,'content_view','remainingSpace'); validateLayout($('.content_view'), {top:0,left:0,right:0,bottom:0},'vertical, content'); }); test("vertical anchoring only top anchor", function() { var viewHeight = 50; - var parentView = generateNestedView(containerView,'layout_manager_test','contentView'); + var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace'); validateLayout($('.layout_manager_test'), {top:0,left:0,right:0,bottom:0},'vertical, container'); generateNestedView(parentView,'top_anchor','top',viewHeight); validateLayout($('.top_anchor'), {top:0,left:0,right:0,height:viewHeight},'vertical, top'); - generateNestedView(parentView,'content_view','contentView'); + generateNestedView(parentView,'content_view','remainingSpace'); validateLayout($('.content_view'), {top:viewHeight,left:0,right:0,bottom:0},'vertical, content'); }); test("vertical anchoring only bottom anchor", function() { var viewHeight = 50; - var parentView = generateNestedView(containerView,'layout_manager_test','contentView'); + var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace'); validateLayout($('.layout_manager_test'), {top:0,left:0,right:0,bottom:0},'vertical, container'); generateNestedView(parentView,'bottom_anchor','bottom',viewHeight); validateLayout($('.bottom_anchor'), {bottom:0,left:0,right:0,height:viewHeight},'vertical, bottom'); - generateNestedView(parentView,'content_view','contentView'); + generateNestedView(parentView,'content_view','remainingSpace'); validateLayout($('.content_view'), {top:0,left:0,right:0,bottom:viewHeight},'vertical, content'); }); test("vertical anchoring with content view", function() { var viewHeight = 50; - var parentView = generateNestedView(containerView,'layout_manager_test','contentView'); + var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace'); validateLayout($('.layout_manager_test'), {top:0,left:0,right:0,bottom:0},'vertical, container'); generateNestedView(parentView,'top_anchor','top',viewHeight); @@ -135,40 +135,40 @@ test("vertical anchoring with content view", function() { generateNestedView(parentView,'bottom_anchor','bottom',viewHeight); validateLayout($('.bottom_anchor'), {bottom:0,left:0,right:0,height:viewHeight},'vertical, bottom'); - generateNestedView(parentView,'content_view','contentView'); + generateNestedView(parentView,'content_view','remainingSpace'); validateLayout($('.content_view'), {top:viewHeight,left:0,right:0,bottom:viewHeight},'vertical, content'); }); test("horizontal anchoring only left anchor", function() { var sidebarWidth = 250; - var parentView = generateNestedView(containerView,'layout_manager_test','contentView'); + var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace'); validateLayout($('.layout_manager_test'), { top:0,left:0,right:0,bottom:0},'horizontal, container'); generateNestedView(parentView,'left_anchor','left',sidebarWidth); validateLayout($('.left_anchor'), { top:0,left:0,bottom:0,width:sidebarWidth},'horizontal, left'); - generateNestedView(parentView,'content_view','contentView'); + generateNestedView(parentView,'content_view','remainingSpace'); validateLayout($('.content_view'), { top:0,left:sidebarWidth,right:0,bottom:0},'horizontal, content'); }); test("horizontal anchoring only right anchor", function() { var sidebarWidth = 250; - var parentView = generateNestedView(containerView,'layout_manager_test','contentView'); + var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace'); validateLayout($('.layout_manager_test'), { top:0,left:0,right:0,bottom:0},'horizontal, container'); generateNestedView(parentView,'right_anchor','right',sidebarWidth); validateLayout($('.right_anchor'), { top:0,right:0,bottom:0,width:sidebarWidth},'horizontal, right'); - generateNestedView(parentView,'content_view','contentView'); + generateNestedView(parentView,'content_view','remainingSpace'); validateLayout($('.content_view'), { top:0,left:0,right:sidebarWidth,bottom:0},'horizontal, content'); }); test("horizontal anchoring with content view", function() { var sidebarWidth = 250; - var parentView = generateNestedView(containerView,'layout_manager_test','contentView'); + var parentView = generateNestedView(containerView,'layout_manager_test','remainingSpace'); validateLayout($('.layout_manager_test'), { top:0,left:0,right:0,bottom:0},'horizontal, container'); generateNestedView(parentView,'left_anchor','left',sidebarWidth); @@ -177,6 +177,6 @@ test("horizontal anchoring with content view", function() { generateNestedView(parentView,'right_anchor','right',sidebarWidth); validateLayout($('.right_anchor'), { top:0,right:0,bottom:0,width:sidebarWidth},'horizontal, right'); - generateNestedView(parentView,'content_view','contentView'); + generateNestedView(parentView,'content_view','remainingSpace'); validateLayout($('.content_view'), { top:0,left:sidebarWidth,right:sidebarWidth,bottom:0},'horizontal, content'); });