void HandleProjectPropertyChanged(object sender, PropertyChangedEventArgs e) { if (Project.NeedsSync(e, nameof(Project.Model))) { TeamTagger.ResetTeamTagger(Project); } }
void EditPlayer(Text text) { playerText = text; if (playerDialog == null) { Gtk.Dialog d = new Gtk.Dialog(Catalog.GetString("Select player"), this, DialogFlags.Modal | DialogFlags.DestroyWithParent, Stock.Cancel, ResponseType.Cancel); d.WidthRequest = 600; d.HeightRequest = 400; DrawingArea da = new DrawingArea(); TeamTagger tagger = new TeamTagger(new WidgetWrapper(da)); tagger.ShowSubstitutionButtons = false; tagger.LoadTeams(project.LocalTeamTemplate, project.VisitorTeamTemplate, project.Dashboard.FieldBackground); tagger.PlayersSelectionChangedEvent += players => { if (players.Count == 1) { Player p = players [0]; playerText.Value = p.ToString(); d.Respond(ResponseType.Ok); } tagger.ResetSelection(); }; d.VBox.PackStart(da, true, true, 0); d.ShowAll(); playerDialog = d; } if (playerDialog.Run() != (int)ResponseType.Ok) { text.Value = null; } playerDialog.Hide(); }
void LoadTeams(Project project) { List <Team> teams; bool hasLocalTeam = false; bool hasAwayTeam = false; drawingarea.HeightRequest = 200; teamtagger = new TeamTagger(new WidgetWrapper(drawingarea)); teamtagger.ShowMenuEvent += HandleShowMenuEvent; teamtagger.SubstitutionMode = true; teamtagger.ShowSubstitutionButtons = false; teamtagger.PlayersSubstitutionEvent += HandlePlayersSubstitutionEvent; teams = Config.TeamTemplatesProvider.Templates; // Fill the combobox with project values or the templates ones if (project != null) { if (project.LocalTeamTemplate != null) { hasLocalTeam = true; } if (project.VisitorTeamTemplate != null) { hasAwayTeam = true; } } // Update the combobox if (hasAwayTeam) { awayteamscombobox.Load(new List <Team> { project.VisitorTeamTemplate }); } else { awayteamscombobox.Load(teams); awayteamscombobox.Changed += (sender, e) => { LoadTemplate(awayteamscombobox.ActiveTeam.Clone(), TeamType.VISITOR, false); }; } if (hasLocalTeam) { hometeamscombobox.Load(new List <Team> { project.LocalTeamTemplate }); } else { hometeamscombobox.Load(teams); hometeamscombobox.Changed += (sender, e) => { LoadTemplate(hometeamscombobox.ActiveTeam.Clone(), TeamType.LOCAL, false); }; } hometeamscombobox.Active = 0; awayteamscombobox.Active = teams.Count == 1 ? 0 : 1; }
public PlayEditor(Window parent) { TransientFor = parent; this.Build(); teamtagger = new TeamTagger(new WidgetWrapper(drawingarea3)); teamtagger.Compact = true; teamtagger.ShowSubstitutionButtons = false; teamtagger.SelectionMode = MultiSelectionMode.Multiple; teamtagger.PlayersSelectionChangedEvent += HandlePlayersSelectionChangedEvent; teamtagger.TeamSelectionChangedEvent += HandleTeamSelectionChangedEvent; teamtagger.ShowTeamsButtons = true; nameentry.Changed += HandleChanged; }
public CodingWidget() { this.Build(); LoadIcons(); notebook.ShowBorder = false; notebook.Group = this.Handle; notebook.SwitchPage += HandleSwitchPage; Notebook.WindowCreationHook = CreateNewWindow; activeWindows = new List <Window> (); SetTabProps(dashboardhpaned, false); SetTabProps(timeline, false); SetTabProps(playspositionviewer1, false); SetTabProps(eventslistwidget, false); notebook.Page = currentPage = 0; teamtagger = new TeamTagger(new WidgetWrapper(teamsdrawingarea)); teamtagger.SelectionMode = MultiSelectionMode.Multiple; teamtagger.PlayersSelectionChangedEvent += HandlePlayersSelectionChangedEvent; teamtagger.PlayersSubstitutionEvent += HandlePlayersSubstitutionEvent; teamtagger.Compact = true; teamtagger.ShowTeamsButtons = true; teamsdrawingarea.HeightRequest = 200; teamsdrawingarea.WidthRequest = 300; timeline.HeightRequest = 200; playspositionviewer1.HeightRequest = 200; Config.EventsBroker.PlayerTick += HandleTick; Config.EventsBroker.CapturerTick += HandleCapturerTick; Config.EventsBroker.EventLoadedEvent += HandlePlayLoaded; Config.EventsBroker.EventsDeletedEvent += HandleEventsDeletedEvent; Config.EventsBroker.TimeNodeStoppedEvent += HandleTimeNodeStoppedEvent; Config.EventsBroker.EventEditedEvent += HandleEventEdited; ; LongoMatch.Gui.Helpers.Misc.SetFocus(this, false); buttonswidget.Mode = DashboardMode.Code; buttonswidget.FitMode = FitMode.Fit; buttonswidget.ButtonsVisible = true; buttonswidget.NewTagEvent += HandleNewTagEvent; dashboardhpaned.SizeAllocated += HandleSizeAllocated; TagPositions = true; }
public TeamTemplateEditor() { this.Build(); teamtagger = new TeamTagger(new WidgetWrapper(drawingarea)); teamtagger.SelectionMode = MultiSelectionMode.MultipleWithModifier; teamtagger.PlayersSelectionChangedEvent += HandlePlayersSelectionChangedEvent; teamtagger.PlayersSubstitutionEvent += HandlePlayersSubstitutionEvent; shieldimage.HeightRequest = shieldvbox.WidthRequest = SHIELD_SIZE; colorbutton1.Color = Misc.ToGdkColor(Color.Red1); colorbutton1.ColorSet += HandleColorSet; colorbutton2.Color = Misc.ToGdkColor(Color.Green1); colorbutton2.ColorSet += HandleColorSet; ConnectSignals(); ClearPlayer(); }
public SubstitutionsEditor(Window parent) { TransientFor = parent; this.Build(); tagger = new TeamTagger(new WidgetWrapper(drawingarea)); tagger.PlayersSelectionChangedEvent += HandlePlayersSelectionChangedEvent; tagger.PlayersSubstitutionEvent += HandlePlayersSubstitutionEvent; incanvas = new SelectionCanvas(new WidgetWrapper(drawingarea2)); outcanvas = new SelectionCanvas(new WidgetWrapper(drawingarea3)); inpo = new PlayerObject(); outpo = new PlayerObject(); inpo.ClickedEvent += HandleClickedEvent; outpo.ClickedEvent += HandleClickedEvent; inpo.Size = PLAYER_SIZE; outpo.Size = PLAYER_SIZE; inpo.Position = new Point(PLAYER_SIZE / 2, PLAYER_SIZE / 2); outpo.Position = new Point(PLAYER_SIZE / 2, PLAYER_SIZE / 2); incanvas.AddObject(inpo); outcanvas.AddObject(outpo); drawingarea2.WidthRequest = drawingarea2.HeightRequest = PLAYER_SIZE; drawingarea3.WidthRequest = drawingarea3.HeightRequest = PLAYER_SIZE; }