 			var newColumn:IAttributeColumn = vars.childListCallbacks.lastObjectAdded as IAttributeColumn;
 			if (newColumn)
 				registerLinkableChild(vars, WeaveAPI.StatisticsCache.getColumnStatistics(newColumn));
+			
+			filteredKeySet.setColumnKeySources(vars.getObjects(IAttributeColumn));
 		}
 		
 		// remembers previous unscaled width,height

		}
		override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
		{
			super.updateDisplayList.apply(this,arguments);
			
			var varsChanged:Boolean = detectLinkableObjectChange(updateDisplayList, vars);
			var scriptChanged:Boolean = detectLinkableObjectChange(updateDisplayList, drawScript)
				
			// do nothing if nothing changed (script, vars, size)
			if (!scriptChanged && !varsChanged && _prevSize.x == unscaledWidth && _prevSize.y == unscaledHeight)
				return;
			
			// wait until vars are not busy
			if (linkableObjectIsBusy(vars))
				return;
			
			// remember current size for next time

			
			ccol.globalName = 'defaultColorColumn';
			
			db.setBounds(xstat.getMin(), ystat.getMin(), xstat.getMax(), ystat.getMax());
			sb.setBounds(margin, canvas.height-margin, canvas.width-margin, margin); // bottom to top
			
