/// <summary> /// Cette méthode est exécutée lorsqu'on sélectionne une Input Table sur la sidebar. /// Cette opération a pour but d'ouvrir une page pour la calculatedMeasure selectionnée dans l'éditeur. /// </summary> /// <param name="sender">La calculatedMeasure sélectionnée</param> protected void onSelectCalculatedMeasureFromSidebar(object sender) { if (sender != null && sender is CalculatedMeasure) { CalculatedMeasure CalculatedMeasure = (CalculatedMeasure)sender; EditorItem <CalculatedMeasure> page = getCalculatedMeasureEditor().getPage(CalculatedMeasure.name); if (page != null) { page.fillObject(); getCalculatedMeasureEditor().selectePage(page); string expression = page.EditedObject.computeExpression(); this.ApplicationManager.MainWindow.StatusLabel.Content = String.IsNullOrEmpty(expression) ? "" : "Operation: " + expression; initializePageHandlers(page); } else if (CalculatedMeasure.oid != null && CalculatedMeasure.oid.HasValue) { this.Open(CalculatedMeasure.oid.Value); } else { page = getCalculatedMeasureEditor().addOrSelectPage(CalculatedMeasure); initializePageHandlers(page); page.Title = CalculatedMeasure.name; getCalculatedMeasureEditor().ListChangeHandler.AddNew(CalculatedMeasure); } CalculatedMeasureEditorItem pageOpen = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage(); } }
protected void onCalculatedMeasurePanelItemDeleted(object item) { CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage(); page.EditedObject.RemoveItem((CalculatedMeasureItem)item); OnChange(); }
protected void onGroupFieldChange() { CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage(); string name = page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.groupField.textBox.Text; ((CalculatedMeasureSideBar)SideBar).CalculatedMeasureGroup.CalculatedMeasureTreeview.updateCalculatedMeasure(name, page.Title, true); OnChange(); }
protected override void Rename(string name) { CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage(); page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.Text = name; page.EditedObject.name = name; base.Rename(name); }
/// <summary> /// Methode à exécuter lorsqu'il y a un changement sur la vue. /// </summary> /// <returns> /// OperationState.CONTINUE si l'opération a réussi /// OperationState.STOP sinon /// </returns> public override OperationState OnChange() { base.OnChange(); CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage(); string expression = page.EditedObject.computeExpression(); this.ApplicationManager.MainWindow.StatusLabel.Content = String.IsNullOrEmpty(expression) ? "" : "Operation: " + expression; return(OperationState.CONTINUE); }
private void onCalculatedMeasurePanelItemChange(object item) { CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage(); if (page == null) { return; } page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.displayCalculatedMeasureItemIgnoreProperties((CalculatedMeasureItem)item); }
public override OperationState Rename() { if (base.Rename() != OperationState.CONTINUE) { return(OperationState.STOP); } IsRenameOnDoubleClick = true; CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage(); return(ValidateEditedNewName(page.EditedObject.name)); }
/// <summary> /// Cette methode est exécuté lorsqu'on édit le nom de la calculatedMeasure active. /// Si l'utilisateur tappe sur la touche ENTER, le nouveau nom est validé. /// </summary> /// <param name="sender"></param> /// <param name="args"></param> protected void onNameTextChange(object sender, KeyEventArgs args) { CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage(); if (args.Key == Key.Escape) { page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.Text = page.Title; } else if (args.Key == Key.Enter) { ValidateEditedNewName(); } }
public override OperationState Save(EditorItem <CalculatedMeasure> page) { try { if (ValidateEditedNewName() == OperationState.STOP) { return(OperationState.STOP); } if (validateOperations(page) == OperationState.STOP) { return(OperationState.STOP); } if (validateSyntax(page) == OperationState.STOP) { return(OperationState.STOP); } CalculatedMeasureItem last = page.EditedObject.GetItemByPosition(page.EditedObject.GetCalculatedMeasureItems().Count - 1); if (last.sign == null || (last.sign != null && !last.sign.Equals("="))) { CalculatedMeasureItem equalsSign = new CalculatedMeasureItem(); equalsSign.sign = "="; page.EditedObject.AddItem(equalsSign); } currentPage = (CalculatedMeasureEditorItem)page; if (base.Save(page) == OperationState.STOP) { return(OperationState.STOP); } //((CalculatedMeasureSideBar)SideBar).MeasureGroup.MeasureTreeview.AddOrUpdateCalculateMeasure(page.EditedObject); } catch (Exception) { DisplayError("Save", "Unable to save CalculatedMeasure"); return(OperationState.STOP); } //( (CalculatedMeasureEditorItem) page).getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.setIgnorePropertiesGridVisibility(false); string expression = page.EditedObject.computeExpression(); if (expression.IndexOf("=") < 0) { expression = expression + "="; } this.ApplicationManager.MainWindow.StatusLabel.Content = String.IsNullOrEmpty(expression) ? "" : "Operation: " + expression; return(OperationState.CONTINUE); }
/// <summary> /// Cette methode permet de créer une nouvelle page new calculated Measure. /// </summary> /// <returns>CONTINUE si la création du nouveau Model se termine avec succès. STOP sinon</returns> public override OperationState Create() { Misp.Kernel.Domain.CalculatedMeasure CalculatedMeasure = GetNewCalculatedMeasure(); ((CalculatedMeasureSideBar)SideBar).CalculatedMeasureGroup.CalculatedMeasureTreeview.AddCalculatedMeasure(CalculatedMeasure); CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().addOrSelectPage(CalculatedMeasure); string expression = page.EditedObject.computeExpression(); this.ApplicationManager.MainWindow.StatusLabel.Content = String.IsNullOrEmpty(expression) ? "" : "Operation: " + expression; initializePageHandlers(page); page.Title = CalculatedMeasure.name; getCalculatedMeasureEditor().ListChangeHandler.AddNew(CalculatedMeasure); return(OperationState.CONTINUE); }
protected void onIgnorePropertiesChange() { /* CalculatedMeasureItem item = page.EditedObject.calculatedMeasureItemListChangeHandler.Items.Last(); * if(item.sign!=null && item.sign.Equals("=")) * { * item = page.EditedObject.GetItemByPosition(page.EditedObject.calculatedMeasureItemListChangeHandler.Items.Count - 2); * }*/ CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage(); CalculatedMeasureItem item = page.getCalculatedMeasureForm().CalculatedMeasurePanel.ActiveItemPanel.CalculatedMeasureItem; page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.fillCalculatedMeasureItemIgnoreProperties(item); OnChange(); }
/// <summary> /// Cette méthode est exécutée lorsqu'on sélectionne un element sur la sidebar. /// ces instructions ont pour but de rajouté cet élément , /// dans l'operation de la mesure calculé en édition /// </summary> /// <param name="sender">l operateur sélectionné</param> protected void onSelectOperationItemFromSidebar(object sender) { CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage(); if (page == null) { return; } if (page.EditedObject.name != (sender as Measure).name) { CalculatedMeasureItem item = createNewCalculatedMeasureItem(sender, page); if (page.getCalculatedMeasureForm().CalculatedMeasurePanel.SetCalculatedMeasureItemValue(item) == true) { OnChange(); } } }
/// <summary> /// Initialisation des Handlers sur une nouvelle page. /// En plus des handlers de base, on initialise les handlers sur : /// - DesignerPropertiesPanel /// - /// - SpreadSheet /// - /// </summary> protected override void initializePageHandlers(EditorItem <CalculatedMeasure> page) { base.initializePageHandlers(page); CalculatedMeasureEditorItem editorPage = (CalculatedMeasureEditorItem)page; editorPage.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.groupField.GroupService = GetCalculatedMeasureService().GroupService; editorPage.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.groupField.subjectType = SubjectTypeFound(); editorPage.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.KeyUp += onNameTextChange; editorPage.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.LostFocus += onNameTextLostFocus; editorPage.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.groupField.Changed += onGroupFieldChange; editorPage.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.IgnorePropertiesGridChanged += onIgnorePropertiesChange; editorPage.getCalculatedMeasureForm().CalculatedMeasurePanel.Changed += onCalculatedMeasureOperationsGridPanelChange; editorPage.getCalculatedMeasureForm().CalculatedMeasurePanel.ItemChanged += onCalculatedMeasurePanelItemChange; editorPage.getCalculatedMeasureForm().CalculatedMeasurePanel.ItemCloseParOrEqualSelected += onItemCloseParOrEqualSelected; editorPage.getCalculatedMeasureForm().CalculatedMeasurePanel.ItemDeleted += onCalculatedMeasurePanelItemDeleted; if (editorPage.getCalculatedMeasureForm().AdministrationBar != null) { editorPage.getCalculatedMeasureForm().AdministrationBar.Changed += OnChangeEventHandler; } }
private CalculatedMeasureItem createNewCalculatedMeasureItem(object sender, CalculatedMeasureEditorItem page) { CalculatedMeasureItem item = new CalculatedMeasureItem(); item.measureType = CalculatedMeasureItem.MeasureType.AMOUNT.ToString(); if (sender != null) { page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.setIgnorePropertiesGridVisibility(true); if (sender is CalculatedMeasure) { item.measureType = CalculatedMeasureItem.MeasureType.CALCULATED_MEASURE.ToString(); item.measure = (CalculatedMeasure)sender; } else if (sender is Measure) { item.measure = (Measure)sender; item.measureType = CalculatedMeasureItem.MeasureType.MEASURE.ToString(); } } return(item); }
private void onItemCloseParOrEqualSelected(object newSelection) { CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage(); if (page == null) { return; } page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.setIgnorePropertiesGridVisibility(true); if (newSelection.ToString().Equals(")")) { CalculatedMeasureItem item = new CalculatedMeasureItem(); item.measureType = CalculatedMeasureItem.MeasureType.MEASURE.ToString(); page.getCalculatedMeasureForm().CalculatedMeasurePanel.SetCalculatedMeasureItemValue(item); } else { string expression = page.EditedObject.computeExpression(); // expression = expression + "="; this.ApplicationManager.MainWindow.StatusLabel.Content = String.IsNullOrEmpty(expression) ? "" : "Operation: " + expression; } }
/// <summary> /// /// </summary> /// <returns></returns> protected virtual OperationState ValidateEditedNewName(string newName = "") { CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage(); CalculatedMeasure calculatedMeasure = page.EditedObject; if (string.IsNullOrEmpty(newName)) { newName = page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.Text.Trim(); } if (string.IsNullOrEmpty(newName)) { DisplayError("Empty Name", "The CalculatedMeasure name can't be empty!"); page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.SelectAll(); page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.Focus(); return(OperationState.STOP); } bool found = false; Measure measure = GetCalculatedMeasureService().getByName(newName); if (measure != null && measure.oid != calculatedMeasure.oid) { found = true; } foreach (CalculatedMeasureEditorItem calculatedMeasurePage in getCalculatedMeasureEditor().getPages()) { if ((found && newName != getCalculatedMeasureEditor().getActivePage().Title) || (calculatedMeasurePage != getCalculatedMeasureEditor().getActivePage() && newName == calculatedMeasurePage.Title)) { DisplayError("Duplicate Name", "There is another CalculatedMeasure named: " + newName); page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.Text = page.Title; page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.SelectAll(); page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.Focus(); return(OperationState.STOP); } Kernel.Domain.Measure root = GetCalculatedMeasureService().MeasureService.getRootMeasure(); measure = (Measure)root.GetChildByName(newName); if (calculatedMeasurePage == getCalculatedMeasureEditor().getActivePage() && measure != null && measure.oid != calculatedMeasure.oid) { DisplayError("Duplicate Name", "There is another Measure named: " + newName); page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.Text = page.Title; page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.SelectAll(); page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.Focus(); return(OperationState.STOP); } } if (!IsRenameOnDoubleClick) { if (calculatedMeasure.name.ToUpper().Equals(newName.ToUpper())) { return(OperationState.CONTINUE); } } ((CalculatedMeasureSideBar)SideBar).CalculatedMeasureGroup.CalculatedMeasureTreeview.updateCalculatedMeasure(newName, calculatedMeasure.name, false); //((CalculatedMeasureSideBar)SideBar).MeasureGroup.MeasureTreeview.updateCalculatedMeasure(newName, page.EditedObject.name, false); calculatedMeasure.name = newName; page.Title = newName; OnChange(); return(OperationState.CONTINUE); }