コード例 #1
0
ファイル: CustomGameDialog.cs プロジェクト: GNOME/gbrainy
        public CustomGameDialog(ITranslations translations, GameSession session)
            : base(translations, "CustomGameDialog.ui", "customgame")
        {
            Game game;

            selection_done = false;
            this.session = session;
            games = session.GameManager.AvailableGames;

            drawing_area = new GameDrawingArea ();
            drawing_area.UseSolutionArea = false;
                        drawing_area.SetSizeRequest (preview_vbox.WidthRequest, preview_vbox.HeightRequest);
            preview_vbox.Add (drawing_area);
            drawing_area.Visible = true;
            treeview.HeadersClickable = true;

            CreateColumnName ();
            CreateColumnType ();
            CreateColumnSelected ();
            LoadGames ();

            treeview.Model = games_store;
            game = (Game) Activator.CreateInstance (games [0].TypeOf, true);
            game.Translations = Translations;
            game.Variant = 0;
            game.Begin ();
            drawing_area.Drawable = game;
            drawing_area.Question = game.Question;
            treeview.ColumnsAutosize ();
        }
コード例 #2
0
ファイル: gbrainy.cs プロジェクト: GNOME/gbrainy
        void BuildUI()
        {
            bool show_toolbar;

            Builder builder = new Builder ("gbrainy.ui");
            builder.Autoconnect (this);

            show_toolbar = Preferences.Get <bool> (Preferences.ToolbarShowKey) == true;

            // Toolbar creation
            toolbar = new Widgets.Toolbar (main_hbox, framework_vbox);
            toolbar.Attach ((Gtk.Orientation) Preferences.Get <int> (Preferences.ToolbarOrientationKey));
            toolbar.AllButton.Clicked += OnAllGames;
            toolbar.LogicButton.Clicked += OnLogicOnly;
            toolbar.CalculationButton.Clicked += OnMathOnly;
            toolbar.MemoryButton.Clicked += OnMemoryOnly;
            toolbar.VerbalButton.Clicked += OnVerbalOnly;
            toolbar.PauseButton.Clicked += OnPauseGame;
            toolbar.FinishButton.Clicked += OnEndGame;

            drawing_area = new GameDrawingArea ();
            drawing_area.Drawable = session;
                        drawing_area.Vexpand = true;
                        drawing_area.SetSizeRequest (drawing_vbox.WidthRequest, drawing_vbox.HeightRequest);
            GameSensitiveUI ();

            EventBox eb = new EventBox (); // Provides a window for drawing area windowless widget

            eb.Events = Gdk.EventMask.PointerMotionMask;
            drawing_vbox.Add (eb);

            eb.Add (drawing_area);

            eb.MotionNotifyEvent += OnMouseMotionEvent;
            eb.ButtonPressEvent += OnHandleButtonPress;

            show_toolbar = Preferences.Get <bool> (Preferences.ToolbarShowKey) == true;

            // We only disable the Arrow if we are going to show the toolbar.
            // It has an impact on the total window width size even if we do not show it
            if (show_toolbar)
                toolbar.ShowArrow = false;

            app_window.IconName = "gbrainy";

            app_window.ShowAll ();

            toolbar_orientation_menuitem.Sensitive = toolbar.Visible;

            // Check default radio button
            switch (toolbar.Orientation) {
            case Gtk.Orientation.Vertical:
                vertical_radiomenuitem.Active = true;
                break;
            case Gtk.Orientation.Horizontal:
                horizontal_radiomenuitem.Active = true;
                break;
            default:
                throw new InvalidOperationException ();
            }

            // The toolbar by default is enabled. By setting this menu entry to false
            // triggers the OnActivateToolbar event that hides the toolbar
            if (show_toolbar == false)
                showtoolbar_menuitem.Active = false;

            #if MONO_ADDINS
            extensions_menuitem.Activated += delegate (object sender, EventArgs ar)
            {
                if (pluggins_loaded == false)
                {
                    session.GameManager.LoadPlugins ();
                }
                Mono.Addins.Gui.AddinManagerWindow.Run (app_window);
                GameManagerPreload (session.GameManager);
                CustomGameDialog.Clear ();
            };
            #else
            extensions_menuitem.Visible = false;
            #endif
            ActiveInputControls (false);
        }