/// <summary>
 /// Creates a new WindowController.
 /// </summary>
 /// <param name="handler">Method which will be called, if a button gets clicked.</param>
 public WindowController(ButtonClickedHandler handler)
 {
     buttons    = new List <ChessboardButton>();
     markedPath = new List <Tuple <int, int> >();
     window     = new MainWindow();
     SetupForm(handler);
 }
Ejemplo n.º 2
0
        private void Awake()
        {
            buttonsOnScene = new List <Button>();
            manager        = GetComponent <MenuManager>();

            btnHandler         = new ButtonClickedHandler();
            btnHandler.Manager = manager;
        }
 /// <summary>
 /// Setup the form by creating and configuring all needed buttons.
 /// </summary>
 /// <param name="handler">Method which will be called, if a button gets clicked.</param>
 private void SetupForm(ButtonClickedHandler handler)
 {
     for (int i = 0; i < CHESSBOARD_WIDTH * CHESSBOARD_WIDTH; i++)
     {
         ChessboardButton newButton = new ChessboardButton(i % CHESSBOARD_WIDTH, i / CHESSBOARD_WIDTH, handler);
         newButton.Width     = (window.Width - CHESSBOARD_WIDTH * BUTTON_MARGIN * 2) / CHESSBOARD_WIDTH;
         newButton.Height    = (window.Height - CHESSBOARD_WIDTH * BUTTON_MARGIN * 2 - FORM_HEAD_HEIGHT) / CHESSBOARD_WIDTH;
         newButton.Margin    = new System.Windows.Forms.Padding(BUTTON_MARGIN);
         newButton.BackColor = ResourceManager.GetButtonColor(ButtonType.DefaultButton);
         buttons.Add(newButton);
         window.AddControl(newButton);
     }
 }
Ejemplo n.º 4
0
        protected virtual void OnCommand(object sender, CommandEventArgs e)
        {
            ButtonClickedHandler submitHandler = (ButtonClickedHandler)Events[_eventSubmitKey];

            if (SelectionMode != SelectionModeType.Multiple)
            {
                foreach (ToolbarButton button in Items)
                {
                    button.Selected = false;
                }
            }

            if (SelectionMode != SelectionModeType.Off)
            {
                int currentIndex = Controls.IndexOf((Control)sender);

                if (SelectionMode == SelectionModeType.Single)
                {
                    Items[currentIndex].Selected = true;
                }
                else if (SelectionMode == SelectionModeType.Multiple)
                {
                    // toggle selection
                    Items[currentIndex].Selected = !Items[currentIndex].Selected;
                }

                if (Items[currentIndex].Selected)
                {
                    LastSelectedIndex = currentIndex;
                }
            }
            if (submitHandler != null)
            {
                submitHandler(this, new ButtonEventArgs(e, _items[LastSelectedIndex]));
            }
        }
 /// <summary>
 /// Creates a new button.
 /// </summary>
 /// <param name="pos_x">X-coordinate of the new button</param>
 /// <param name="pos_y">Y-coordinate of the new button</param>
 /// <param name="buttonClickedHandler">Method which will be called, if the button gets clicked.</param>
 public ChessboardButton(int pos_x = 0, int pos_y = 0, ButtonClickedHandler buttonClickedHandler = null)
 {
     position     = new Tuple <int, int>(pos_x, pos_y);
     clickHandler = buttonClickedHandler;
     InitializeComponent();
 }