public WidgetUnits(List<core.GroupOfUnits> u1, List<core.GroupOfUnits> u2, core.Hero h1, core.Hero h2)
	{
		super();
		
		units1 = u1;
		units2 = u2;
		hero1 = h1;
		hero2 = h2;
		
		setSizePolicy(Policy.Fixed, Policy.Fixed);
		
		left.setMaximumSize(32, 32);
		right.setMaximumSize(32, 32);
		split.setMaximumSize(32, 32);
		
		if (h2 == null) {
			left.setEnabled(false);
			right.setEnabled(false);
			split.setEnabled(false);
			list2.setEnabled(false);
			
			h2 = hero2 = new core.Hero("", null);
			u2 = units2 = new ArrayList<core.GroupOfUnits>();
		}
		
		setLayout(layout);
		
		list1.setMaximumSize(150, 110);
		list2.setMaximumSize(150, 110);
		
		
		layout.addWidget(name1, 0, 0);
		layout.addWidget(list1, 1, 0, 4, 1);
		layout.addWidget(name2, 0, 2);
		layout.addWidget(list2, 1, 2, 4, 2);
		layout.addWidget(left, 1, 1);
		layout.addWidget(right, 2, 1);
		layout.addWidget(split, 3, 1);
		
		updateUnits();
		
		left.clicked.connect(this, "moveLeft()");
		right.clicked.connect(this, "moveRight()");
		split.clicked.connect(this, "moveSplit()");
		
		
	}