public ChessGameWidget()
                : base()
            {
                gameView = new ChessGameView ();
                gameView.ShowNthMove += OnShowNthMoveEvent;

                boardWidget = new ChessGameBoard ();

                splitPane = new HPaned ();

                splitPane.Add1 (boardWidget);
                splitPane.Add2 (GetRightPane ());

                PackStart (splitPane, true, true, 2);

                ShowAll ();
            }
            public ChessGameWidget(GameViewerUI viewer)
                : base()
            {
                gameView = new ChessGameView ();
                gamesListWidget =
                    new
                    SearchableGamesListWidget (viewer);

                gameView.ShowNthMove += OnShowNthMoveEvent;

                boardWidget = new ChessGameBoard ();
                book = new Notebook ();

                splitPane = new HPaned ();

                splitPane.Add1 (boardWidget);
                splitPane.Add2 (GetRightPane ());

                PackStart (splitPane, true, true, 2);

                BoardWidget.Board.highLightMove =
                    App.Session.HighLightMove;

                int pos = App.Session.ViewerSplitPanePosition;
                int height = App.Session.ViewerHeight;
                if (pos > height)
                    pos = height / 2;
                splitPane.Position = pos;

                gamesListWidget.View.GameSelectionEvent +=
                    OnGameSelectionEvent;
                viewer.GamesLoadedEvent += OnGamesLoaded;

                ShowAll ();
            }