/// <summary> /// //Click handler when the user clicks the create project button. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void onCreateProjectButtonClick(object sender, EventArgs e) { if (canProjectBeCreated()) { //Executes procedure for adding an riskproject to the database. this.createProjectDatabaseAdapter.Create_RiskProject ( ARA_Globals.UserID, this.createProjectInputCustomer.Text, this.createProjectInputMachineType.Text, this.createProjectInputMachineNumber.Text, this.createProjectInputOrderNumber.Text, this.createProjectInputExtraInfo.Text ); int newestAddedProject = (Int32)this.get_Newest_Added_ProjectTableAdapter.GetData().Rows[0]["NewestProject"]; this.projectSideBarButton = new ARA_Button(); this.projectSideBarButton.Text = this.createProjectInputMachineNumber.Text; //Let other forms know that there is a new project. ARA_Events.triggerNewProjectCreatedEvent(newestAddedProject); //Trigger event to add a button to the sidebar and attach this form to it. Applicatie_Risicoanalyse.Globals.ARA_Events.triggerSideBarAddNewButtonEvent( this.projectSideBarButton, Activator.CreateInstance(typeof(ARA_RiskProjectOverview), newestAddedProject)); clearInputFields(); } }
/// <summary> /// Handler when a SideBarAddNewButtonEvent is triggerd. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void onAddNewButtonToSideBar(object sender, SideBarAddNewButtonEvent e) { //Do we already have this project open? foreach (ARA_Button button in this.SideBarButtonContainer.Controls.OfType <ARA_Button>()) { if (button.Text.ToString().Equals(e.Button.Text.ToString())) { System.Windows.Forms.MessageBox.Show(ARA_Constants.messageBoxProjectAlreadyOpen, ARA_Constants.messageBoxProjectAlreadyOpenHeader, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } //Try to open the form instance. try { Applicatie_Risicoanalyse.Globals.ARA_Events.triggerOpenContentFormEvent((Form)e.FormType); } catch (Exception) { throw; } //Are there to much buttons in the sidebar? If so, remove one. if (this.SideBarButtonContainer.Controls.Count > 3) { ARA_Events.triggerSideBarRemoveButtonEvent(this.SideBarButtonContainer.Controls.OfType <ARA_Button>().First <ARA_Button>().Text); } //Add some style to the button. ARA_Button tempButton = e.Button; tempButton.Margin = new System.Windows.Forms.Padding(0); tempButton.MaximumSize = this.SideBarButtonMenu.MaximumSize; tempButton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); tempButton.Size = this.SideBarButtonMenu.Size; //And a clickhandler. tempButton.Click += delegate(object senderr, EventArgs ev) { tempButton.setButtonSelected(true); //this.hideOtherPanels(new object(), e); Applicatie_Risicoanalyse.Globals.ARA_Events.triggerOpenContentFormEvent((Form)e.FormType); }; tempButton.DoubleClick += delegate(object senderr, EventArgs ev) { ARA_Events.triggerProjectClosedEvent(); ARA_Events.triggerSideBarRemoveButtonEvent(tempButton.Text); onRiskAnalysisButtonClick(senderr, ev); }; //Add the button to the sidebar. this.addButtonToSideBar(tempButton); }
/// <summary> /// Dynamicly add buttons to the sidebar. /// </summary> /// <param name="control"></param> public void addButtonToSideBar(ARA_Button control) { if (control == null) { return; } this.SideBarButtonSpacer.Height -= control.Height; this.SideBarButtonContainer.Controls.Add(control); control.Click += hideOtherPanels; //this.hideOtherPanels(control,new EventArgs()); control.setButtonSelected(true); }
/// <summary> /// Handler when the sidebar receives an event to select a sidebar button. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void onSetSideBarButtonSelectedEvent(object sender, SetSideBarButtonSelectedEvent e) { if (e.Index == "") { hideOtherPanels(new object(), e); } else { //Can we find our button? int buttonIndex = this.SideBarButtonContainer.Controls.IndexOfKey(e.Index); if (buttonIndex != -1) //Select button. { hideOtherPanels(new object(), e); ARA_Button temp = (ARA_Button)SideBarButtonContainer.Controls[buttonIndex]; temp.setButtonSelected(true); } } }
/// <summary> /// Handler when the user wants to open a specific project. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void recentProjectsDataGrid_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { if (e.RowIndex != -1) { //Create a button for our sidebar. ARA_Button projectSideBarButton = new ARA_Button(); projectSideBarButton.Text = this.recentProjectsDataGrid.Rows[e.RowIndex].Cells["machineNumberDataGridViewTextBoxColumn"].Value.ToString(); //Get selected project id. int projectIDToOpen = (Int32)this.recentProjectsDataGrid.Rows[e.RowIndex].Cells["ProjectID"].Value; string projectName = (String)this.recentProjectsDataGrid.Rows[e.RowIndex].Cells["machineNumberDataGridViewTextBoxColumn"].Value; //Log this event. ARA_Events.triggerProjectOpendEvent(projectIDToOpen, projectName); //Trigger event to add a button to the sidebar and attach this form to it. Applicatie_Risicoanalyse.Globals.ARA_Events.triggerSideBarAddNewButtonEvent( projectSideBarButton, Activator.CreateInstance(typeof(ARA_RiskProjectOverview), projectIDToOpen)); } }