/// <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); }
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); } }
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(); }