protected void AddDefaultMeasures(Domain.Measure parent) { Domain.Measure addNewAttribute = new Kernel.Domain.Measure(); addNewAttribute.IsAddNewItem = true; addNewAttribute.name = "Add new measure..."; addNewAttribute.parent = this.Root; this.Root.childrenListChangeHandler.Items.Add(addNewAttribute); if (parent.isCompleted && parent.HasMoreElements()) { Domain.Measure showModeAttributes = new Domain.Measure(); showModeAttributes.IsShowMoreItem = true; showModeAttributes.name = "Show more measure..."; showModeAttributes.parent = parent; parent.childrenListChangeHandler.Items.Add(showModeAttributes); } if (parent != this.Root && this.Root.isCompleted && this.Root.HasMoreElements()) { Domain.Measure showModeAttributes = new Domain.Measure(); showModeAttributes.IsShowMoreItem = true; showModeAttributes.name = "Show more measure..."; showModeAttributes.parent = this.Root; this.Root.childrenListChangeHandler.Items.Add(showModeAttributes); } }
private void OnExitEditMode(object sender, EO.Wpf.EditItemEventArgs e) { if (e.Item is Kernel.Domain.Measure) { Kernel.Domain.Measure editedMeasure = (Kernel.Domain.Measure)e.Item; string name = e.Text.Trim(); if (!validateName(editedMeasure, name)) { e.Canceled = true; return; } if (editedMeasure.IsDefault) { Kernel.Domain.Measure measure = new Domain.Measure(); measure.name = name; this.Root.ForgetChild(editedMeasure); this.Root.AddChild(measure); this.Root.AddChild(editedMeasure); e.Canceled = true; } else { editedMeasure.name = name; editedMeasure.parent.UpdateChild(editedMeasure); } if (Changed != null) { Changed(); } } else { e.Canceled = true; } }
/// <summary> /// Cette méthode permet de désactiver un menuItem dans le cas /// où l'opération associée à ce menuItem n'est pas possible pour /// le noeud courant. /// </summary> /// <param name="e"></param> protected override void OnContextMenuOpening(ContextMenuEventArgs e) { Kernel.Domain.Measure selectedItem = GetSelectedMeasure(); if (selectedItem != null && selectedItem != defaultValue) { int lastPosition = -1; if (selectedItem.GetParent() != this.Root) { lastPosition = selectedItem.parent.GetItems().Count; } else { lastPosition = defaultValue.GetPosition(); } this.newMenuItem.IsEnabled = this.Root != null; this.cutMenuItem.IsEnabled = this.Root != null && selectedItem != null && selectedItem.parent != null; this.copyMenuItem.IsEnabled = this.Root != null && selectedItem != null && selectedItem.parent != null; this.pasteMenuItem.IsEnabled = this.Root != null && selectedItem != null && !Kernel.Util.ClipbordUtil.IsClipBoardEmpty(); this.deleteMenuItem.IsEnabled = this.Root != null && selectedItem != null && selectedItem.parent != null; this.moveUpMenuItem.IsEnabled = this.Root != null && selectedItem != null && selectedItem.GetPosition() > 0 && selectedItem.parent != null; this.moveDownMenuItem.IsEnabled = this.Root != null && selectedItem != null && selectedItem.parent != null && !((selectedItem.GetPosition() + 1) == lastPosition); this.indentMenuItem.IsEnabled = this.Root != null && selectedItem != null && selectedItem.GetPosition() > 0 && selectedItem.parent != null; this.outdentMenuItem.IsEnabled = this.Root != null && selectedItem != null && selectedItem.parent != null && selectedItem.GetParent() != Root; } }
private void ComboboxActions(ComboBox combobox) { if (combobox == LeftMeasureComboBox) { if (combobox.SelectedItem is Kernel.Domain.Measure) { Kernel.Domain.Measure measure = (Kernel.Domain.Measure)combobox.SelectedItem; this.EditedObject.leftMeasure = measure; } } else if (combobox == RightMeasureComboBox) { if (combobox.SelectedItem is Kernel.Domain.Measure) { Kernel.Domain.Measure measure = (Kernel.Domain.Measure)combobox.SelectedItem; this.EditedObject.rightMeasure = measure; } } else if (combobox == RecoTypeComboBox) { if (combobox.SelectedItem is Kernel.Domain.Attribute) { Kernel.Domain.Attribute attribut = (Kernel.Domain.Attribute)combobox.SelectedItem; this.EditedObject.reconciliationType = attribut; } } else if (combobox == BalanceFormulaComboBox) { this.EditedObject.balanceFormulaEnum = (BalanceFormula)combobox.SelectedItem; } }
public void setReferenceMeasure(Kernel.Domain.Measure measure) { if (this.TypeComboBox.SelectedItem.ToString().Equals(CellPropertyAllocationData.AllocationType.Reference.ToString())) { this.RefMeasure = measure; OnChange(); } }
/// <summary> /// /// </summary> /// <returns></returns> public override OperationState Search() { Kernel.Domain.Measure root = GetMeasureService().getRootMeasure(); getMeasureEditor().EditedObject = root; getMeasureEditor().ListChangeHandler = root.childrenListChangeHandler; getMeasureEditor().displayObject(); return(OperationState.CONTINUE); }
/// <summary> /// Cette méthode permet de couper un élément sélectionné dans le treeview /// Lorsqu'on clique sur le menu contextuelle cut, /// la variable CurrentCutObjet prend la valeur de l'élément selectionné /// et une copie de cette dernière est placé dans le presse-papier. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnCutNode(object sender, RoutedEventArgs e) { Kernel.Domain.Measure measure = GetSelectedMeasure(); CurrentCutObject = measure; if (measure != null) { Kernel.Util.ClipbordUtil.SetHierarchyObject(CurrentCutObject); } }
public void setMeasure(Kernel.Domain.Measure measure) { this.getActiveWriteOffField().setMeasure(measure); if (ItemChanged != null) { ItemChanged(this.writeOffField); } display(); }
protected void onMeasureNameChange(object sender, DataGridRowEditEndingEventArgs e) { DataGridRow row = e.Row; Kernel.Domain.Measure measure = (Kernel.Domain.Measure)row.Item; if (measure != null) { } }
/// <summary> /// Cette methode permet la copie d'un élément sélectionné dans le treeview /// Après la séléction de l'objet, un copie de cet objet est placée dans le presse-papiers /// en attente d'être collé. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnCopyNode(object sender, RoutedEventArgs e) { Kernel.Domain.Measure measure = GetSelectedMeasure(); if (measure != null) { IHierarchyObject copy = measure.GetCopy(); Kernel.Util.ClipbordUtil.SetHierarchyObject(copy); } CurrentCutObject = null; }
protected void onCellEditEnding(object sender, DataGridCellEditEndingEventArgs e) { DataGridRow row = e.Row; DataGridColumn column = e.Column; Kernel.Domain.Measure measure = (Kernel.Domain.Measure)row.Item; if (measure != null) { } }
/// <summary> /// /// </summary> /// <param name="root"></param> public void DisplayRoot(Kernel.Domain.Measure root) { if (root == null) { this.measureTreeview.ItemsSource = null; } else { //RefreshParent(root); this.measureTreeview.ItemsSource = root.GetItems(); } }
/// <summary> /// Initialize chidren's parent /// </summary> /// <param name="item"></param> private void RefreshParent(Kernel.Domain.Measure item, bool addToSource = true) { if (item != null) { foreach (Domain.Measure child in item.childrenListChangeHandler.Items) { if (addToSource) { Source.Add(child); } child.SetParent(item); RefreshParent(child); } } }
/// <summary> /// Affiche le contenu de la mesure /// </summary> /// <param name="root"></param> public void DisplayRoot(Kernel.Domain.Measure root) { this.Root = root; if (this.Root == null) { this.tree.ItemsSource = null; } else { RefreshParent(this.Root); this.Root.AddChild(defaultValue); SetSelectedMeasure(defaultValue); this.tree.ItemsSource = this.Root.GetItems(); } }
public Tree() { InitializeComponent(); this.Focusable = true; this.BorderBrush = Brushes.White; InitializeDataTemplate(); InitializeHandlers(); InitializeContextMenu(); this.Root = new Domain.Measure(); defaultValue = new Domain.Measure() { name = Label_DEFAULT_MEASURE, IsDefault = true, }; }
protected Kernel.Domain.Measure GetNewTreeViewModel(Domain.Measure value = null) { Kernel.Domain.Measure measure = new Kernel.Domain.Measure(); measure.name = "Measure1"; if (Root != null) { Kernel.Domain.Measure m = null; int i = 1; do { measure.name = "Measure" + i++; m = (Kernel.Domain.Measure)Root.GetChildByName(measure.name); }while (m != null); } return(measure); }
/// <summary> /// Supprime un noeud et ses fils. /// </summary> /// <param name="model">Le noeud à supprimer</param> public void DeleteNode(Kernel.Domain.Measure item) { if (item != null && item.parent != null) { MessageBoxResult result = Kernel.Util.MessageDisplayer.DisplayYesNoQuestion("Delete Measure", "Do you want to delete measure : " + item.name + "?"); if (result == MessageBoxResult.Yes) { int index = item.GetPosition(); item.GetParent().RemoveChild(item); if (Changed != null) { Changed(); } } } }
/// <summary> /// /// </summary> /// <param name="attribute"></param> /// <param name="name"></param> /// <returns>La attribute à copier</returns> private bool ValidateName(Kernel.Domain.Measure value, string name) { if (string.IsNullOrWhiteSpace(name)) { Kernel.Util.MessageDisplayer.DisplayError("Empty Measure name", "Name can't be empty! "); return(false); } Domain.Measure found = getMeasureByName(this.Root, name); if (found == null || found.Equals(value)) { return(true); } Kernel.Util.MessageDisplayer.DisplayError("Duplicate Measure", "There is another measure named : '" + name + "'!"); return(false); }
protected Domain.Measure GetNewMeasure() { Domain.Measure attribute = new Domain.Measure(); attribute.name = "Measure"; if (Root != null) { Kernel.Domain.Measure m = null; int i = 1; do { attribute.name = "Measure" + i++; m = (Domain.Measure)Root.GetChildByName(attribute.name); }while (m != null); } return(attribute); }
public void setMeasure(Kernel.Domain.Measure measure) { if (ActiveItem == null) { return; } if (reconciliationContext == null) { reconciliationContext = new Kernel.Domain.ReconciliationContext(); } reconciliationContext.amountMeasure = measure; if (cansetMeasure(ActiveItem)) { this.ActiveItem.setValue(measure); } }
protected override IHierarchyObject GetNewTreeViewModel() { Kernel.Domain.Role role = new Kernel.Domain.Role(); role.name = "Role1"; if (Root != null) { Kernel.Domain.Measure m = null; int i = 1; do { role.name = "Role" + i++; m = (Kernel.Domain.Measure)Root.GetChildByName(role.name); }while (m != null); } return(role); }
protected override Kernel.Domain.IHierarchyObject GetNewTreeViewModel() { Kernel.Domain.Measure measure = new Kernel.Domain.Measure(); measure.name = "Measure1"; if (Root != null) { Kernel.Domain.Measure m = null; int i = 1; do { measure.name = "Measure" + i++; m = (Kernel.Domain.Measure)Root.GetChildByName(measure.name); }while (m != null); } //return measure; return(null); }
/// <summary> /// methode appelé lorsqu'on veut selectioner un measure /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnOutputMeasureButtonClicked(object sender, EventArgs e) { Misp.Kernel.Ui.Measure.MeasureTreeView measureTreeView = new Misp.Kernel.Ui.Measure.MeasureTreeView(); ScrollViewer scrollViewer = new ScrollViewer(); scrollViewer.Content = measureTreeView; scrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; if (this.OutputMeasure != null && !this.OutputMeasure.IsLeaf()) { measureTreeView.DisplayRoot(this.OutputMeasure); } else { Kernel.Domain.Measure root = this.MeasureService.getRootMeasure(); measureTreeView.DisplayRoot(root); if (this.OutputMeasure != null) { measureTreeView.SetSelectedMeasure(this.OutputMeasure); } } Dialog dialog = new Dialog("Select Output Measure", scrollViewer); dialog.Height = 200; dialog.Width = 300; if (dialog.ShowCenteredToMouse().Value) { Measure selectedMeasure = measureTreeView.GetSelectedMultiMeasure(); if (selectedMeasure != null) { if (selectedMeasure.oid == null) { selectedMeasure = this.MeasureService.Save(selectedMeasure); } else { selectedMeasure = this.MeasureService.getByOid(selectedMeasure.oid.Value); } this.OutputMeasure = selectedMeasure; OnChange(); } } }
/// <summary> /// Transforme un sous-noeud en noeud /// </summary> /// <param name="model">le noeud à édenté</param> public void OutdentNode(Kernel.Domain.Measure item) { if (item.parent != null) { IHierarchyObject parent = item.parent.GetParent(); if (parent != null) { item.parent.ForgetChild(item); parent.AddChild(item); this.Root.SwichtPosition(defaultValue, item); if (Changed != null) { Changed(); } SetSelectedMeasure(item); } } }
/// <summary> /// Transforme un noeud en sous-noeud /// </summary> /// <param name="model">le noeud à édenté</param> public void IndentNode(Kernel.Domain.Measure item) { if (item.parent != null) { int position = item.GetPosition(); IHierarchyObject child = item.parent.GetChildByPosition(position - 1); if (child != null) { item.parent.ForgetChild(item); child.AddChild(item); if (Changed != null) { Changed(); } SetSelectedMeasure(item); } } }
//Handles the TreeView's ItemDrop event private void OnItemDrop(object sender, EO.Wpf.ItemDropEventArgs e) { Kernel.Domain.Measure source = (Kernel.Domain.Measure)e.SourceItem; Kernel.Domain.Measure target1 = (Kernel.Domain.Measure)e.TargetItem1; Kernel.Domain.Measure target2 = (Kernel.Domain.Measure)e.TargetItem2; Kernel.Domain.Measure parent = target2 != null ? target2 : target1; source.parent.ForgetChild(source); parent.AddChild(source); if (target2 != null) { parent.SwichtPosition(target1, source); } e.Canceled = true; if (Changed != null) { Changed(); } }
protected String GetNewMeasureName(string name) { Domain.Measure measure = new Domain.Measure(); measure.name = name; if (Root != null) { Kernel.Domain.Measure m = (Domain.Measure)Root.GetChildByName(measure.name); int i = 1; while (m != null) { ; } { measure.name = name + i++; m = (Domain.Measure)Root.GetChildByName(measure.name); } } return(measure.name); }
/// <summary> /// Cette methode permet la selection du noeud présent derrière la souris /// lorsque fait un click-droit. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnPreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e) { EO.Wpf.TreeViewItem treeViewItem = VisualUpwardSearch(e.OriginalSource as DependencyObject); if (treeViewItem != null) { treeViewItem.Focus(); e.Handled = true; } else { Kernel.Domain.Measure measure = GetSelectedMeasure(); if (measure != null) { measure.IsSelected = false; } tree.Focus(); } }
/// <summary> /// Cette méthode permet de coller un objet précédement copier ou couper. /// A cet effet on vérifie si le Paste vient après un Cut(si CurrentCutObject!=null) ou un Copy, /// puis on met dans le presse-papiers une copie de l'élément coupé ou copié. /// On affecte un nouveau parent à l'élément coupé/copié. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnPasteNode(object sender, RoutedEventArgs e) { Kernel.Domain.Measure parent = GetSelectedMeasure(); Kernel.Domain.Measure newItem = null; if (parent == null) { parent = this.Root; } if (CurrentCutObject != null) { if (CurrentCutObject == parent) { CurrentCutObject = null; } else { CurrentCutObject.parent.ForgetChild(CurrentCutObject); parent.AddChild(CurrentCutObject); IHierarchyObject copy = CurrentCutObject.GetCopy(); Kernel.Util.ClipbordUtil.SetHierarchyObject(copy); CurrentCutObject = null; if (Changed != null) { Changed(); } } } else { newItem = Kernel.Util.ClipbordUtil.GetMeasure(); if (newItem != null) { parent.AddChild(newItem); Kernel.Util.ClipbordUtil.SetHierarchyObject(newItem.GetCopy()); if (Changed != null) { Changed(); } } } }
/// <summary> /// Déplace un noeud vers le haut ou vers le bas /// </summary> /// <param name="item"></param> /// <param name="sens">Le sens du déplacement. 0 => UP, 1=> DOWN</param> public void MoveNode(Kernel.Domain.Measure item, bool up) { if (item.parent != null) { int position = item.position + (up ? -1 : 1); IHierarchyObject child = item.parent.GetChildByPosition(position); if (child != null) { child.SetPosition(item.position); item.parent.UpdateChild(child); item.SetPosition(position); item.parent.UpdateChild(item); if (Changed != null) { Changed(); } SetSelectedMeasure(item); } } }