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 ();
            }
            public GameViewerWidget(GameViewerUI viewer)
            {
                gamesListWidget =
                    new
                    SearchableGamesListWidget (viewer);
                chessGameWidget = new ChessGameWidget ();

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

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

                gamesListWidget.View.GameSelectionEvent +=
                    OnGameSelectionEvent;

                AppendPage (gamesListWidget,
                        new Label (Catalog.
                               GetString ("Games")));
                AppendPage (chessGameWidget,
                        new Label (Catalog.
                               GetString
                               ("Current Game")));

                ShowAll ();
                viewer.GamesLoadedEvent += OnGamesLoaded;
            }