public Team(TeamData td, SetDataTriggerHandler dataHandler, bool canFocus) { this.Build(); teamData = td; MiscHelpers.SetIsShown(vboxInfos, false); MiscHelpers.SetIsShown(lblFullTeamName, false); if (teamData == null) { Label lbl = new Label(); lbl.Markup = "<i>No Team</i>"; alBtn.Add(lbl); alBtn.ShowAll(); return; } td.Sort(); btnExpand = new MyButton(this, teamData.TeamName, "go-down", "go-next"); btnExpand.CanFocus = canFocus; btnExpand.Clicked += OnBtnExpandClicked; alBtn.Add(btnExpand); alBtn.ShowAll(); // conflict...not shown by default btnConflict = new MyConflictButton(); alConflictBtn.Add(btnConflict); // when members are draggable, team is also draggable. if (dataHandler != null) { SetDataTrigger += dataHandler; } SetupTeamMembers(dataHandler); }
void SetupTeamMembers(SetDataTriggerHandler dataHandler) { foreach (RoundDebater d in teamData) { DebaterWidget dw = new DebaterWidget(d); if (dataHandler != null) { dw.SetupDragDropSource("TeamMember", d); // notify owner of child's data dw.SetDataTrigger += delegate(Widget sender, object data) { dataHandler(sender, data); UpdateTeamMembers(); }; } vboxTeamMembers.PackStart(dw, false, false, 0); } }
public Team(TeamData td, SetDataTriggerHandler dataHandler) : this(td, dataHandler, false) { }