public ObservableGamesView(GameObservationManager observer, ICSClient client) { observableGamesWidget = new ObservableGamesWidget (observer); relayTournamentsView = new RelayTournamentsView (client); TabPos = PositionType.Left; AppendPage (relayTournamentsView, new Label (Catalog. GetString ("Tournaments"))); AppendPage (observableGamesWidget, new Label (Catalog. GetString ("Games"))); ShowAll (); }
public ICSDetailsWidget() : base() { menubar = new ICSMenuBar (); menubar.disconnectMenuItem.Activated += on_disconnect_activate; menubar.connectMenuItem.Activated += on_connect_activate; menubar.ShowAll (); Image img = new Image (); img.Stock = Stock.Network; toolbutton = new ToolButton (img, Catalog. GetString ("Chess Server")); toolbutton.ShowAll (); client = new ICSClient (); title = String.Format (Catalog.GetString ("ICS: {0}@{1}:{2}"), client.User, client.server, client.port); book = new Notebook (); book.Show (); Add (book); obManager = new GameObservationManager (client, this); observableGames = new ObservableGamesWidget (obManager); graph = new GameAdvertisementGraph (client); book.AppendPage (graph, new Label (Catalog. GetString ("Seek Graph"))); ads = new GameAdvertisements (client); book.AppendPage (ads, new Label (Catalog. GetString ("Game Seeks"))); book.AppendPage (observableGames, new Label (Catalog. GetString ("Watch Games"))); shell = new ICSShell (client); book.AppendPage (shell, new Label (Catalog. GetString ("Shell"))); client.ChallengeEvent += OnChallengeEvent; client.AuthEvent += OnAuth; client.ConnectionErrorEvent += OnConnectionError; ShowConfigWidget (); menubar.disconnectMenuItem.Sensitive = false; GLib.Idle.Add (delegate () { Authenticate (); return false;} ); accel = new AccelGroup (); menubar.quitMenuItem. AddAccelerator ("activate", accel, new AccelKey (Gdk.Key. q, Gdk. ModifierType. ControlMask, AccelFlags. Visible)); ShowAll (); CsBoardApp.Instance.QuitEvent += OnQuitEvent; }
public ObservableGamesWidget(GameObservationManager observer) { obManager = observer; iters = new TreeIter[3, 4]; gamesView = new TreeView (); infoLabel = new Label (); infoLabel.Xalign = 0; infoLabel.Xpad = 4; observer.ObservableGameEvent += OnObservableGameEvent; store = new TreeStore (typeof (string), // used for filtering typeof (int), // gameid typeof (string), // markup typeof (string), // typeof (string)); gamesView.HeadersVisible = true; gamesView.HeadersClickable = true; gamesView.AppendColumn (Catalog. GetString ("Games"), new CellRendererText (), "markup", 2); gamesView.AppendColumn (Catalog. GetString ("Time"), new CellRendererText (), "markup", 3); gamesView.AppendColumn (Catalog. GetString ("Category"), new CellRendererText (), "markup", 4); ScrolledWindow win = new ScrolledWindow (); win.HscrollbarPolicy = win.VscrollbarPolicy = PolicyType.Automatic; win.Add (gamesView); UpdateInfoLabel (); filterEntry = new Entry (); filterEntry.Changed += OnFilter; filter = new TreeModelFilter (store, null); filter.VisibleFunc = FilterFunc; gamesView.Model = filter; AddParentIters (); infoLabel.UseMarkup = true; Button refreshButton = new Button (Stock.Refresh); refreshButton.Clicked += delegate (object o, EventArgs args) { Clear (); obManager.GetGames (); }; Alignment align = new Alignment (0, 1, 0, 0); align.Add (refreshButton); HBox hbox = new HBox (); hbox.PackStart (infoLabel, true, true, 4); hbox.PackStart (align, false, false, 4); PackStart (hbox, false, true, 4); Label tipLabel = new Label (); tipLabel.Xalign = 0; tipLabel.Xpad = 4; tipLabel.Markup = String. Format ("<small><i>{0}</i></small>", Catalog. GetString ("Press the refresh button to get an updated list of games.\nDouble click on a game to observe it.")); PackStart (tipLabel, false, true, 4); PackStart (filterEntry, false, true, 4); PackStart (win, true, true, 4); gamesView.RowActivated += OnRowActivated; SetSizeRequest (600, 400); ShowAll (); }