Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="selectedItems"></param>
        /// <returns></returns>
        protected bool isContiguous(List <Domain.Measure> selectedItems)
        {
            if (selectedItems.Count == 1)
            {
                return(true);
            }
            selectedItems.BubbleSort();
            Domain.Measure parent = null;
            int            i      = 0;
            int            index  = -1;

            foreach (Domain.Measure measure in selectedItems)
            {
                Domain.Measure newparent = measure.parent;
                int            newindex  = newparent != null?newparent.childrenListChangeHandler.Items.IndexOf(measure) : -1;

                if (++i > 1)
                {
                    if (parent != newparent)
                    {
                        return(false);
                    }
                    if (index + 1 != newindex)
                    {
                        return(false);
                    }
                }
                parent = newparent;
                index  = newindex;
            }
            return(true);
        }
Exemplo n.º 4
0
        private void OnPasteClick(object sender, RoutedEventArgs e)
        {
            Domain.Measure parent = GetSelectedValue();
            if (parent == null || parent.IsDefault)
            {
                parent = this.Root;
            }
            List <Domain.Measure> measures = Kernel.Util.ClipbordUtil.GetMeasures();

            if (measures != null && measures.Count > 0)
            {
                foreach (Domain.Measure measure in measures)
                {
                    measure.name = GetNewMeasureName(measure.name);
                    ForgetDefaultMeasures(parent);
                    measure.SetParent(parent);
                    parent.AddChild(measure);
                    AddDefaultMeasures(parent);
                    addToSource(measure);
                }
                measures.Clear();
                if (Changed != null)
                {
                    Changed();
                }
            }
        }
Exemplo n.º 5
0
 private void removeFromSource(Domain.Measure measure)
 {
     Source.Remove(measure);
     foreach (Domain.Measure child in measure.childrenListChangeHandler.Items)
     {
         removeFromSource(child);
     }
 }
Exemplo n.º 6
0
 /// <summary>
 /// Display children od root node
 /// </summary>
 /// <param name="root"> Measure representing the root node </param>
 private void DisplayRoot(Domain.Measure root)
 {
     Source    = new ObservableCollection <Domain.Measure>();
     this.Root = root;
     AddDefaultMeasures(this.Root);
     RefreshParent(this.Root);
     treeList.ItemsSource = Source;
 }
Exemplo n.º 7
0
 private bool IsUsedToGenerateUniverse(Domain.Measure value)
 {
     //if (value != null && value.usedToGenerateUniverse && Kernel.Application.ApplicationManager.Instance.AllocationCount > 0)
     //{
     //    string message = "You're not allowed to modify value." + "\n" + "You have to clear allocation before modify value.";
     //    Kernel.Util.MessageDisplayer.DisplayWarning("Modify value", message);
     //    return true;
     //}
     return(false);
 }
Exemplo n.º 8
0
        private void OnOutdentClick(object sender, RoutedEventArgs e)
        {
            List <Domain.Measure> measures = GetSelectedValues();

            if (measures.Count == 0)
            {
                return;
            }
            measures.BubbleSort();
            foreach (Domain.Measure measure in measures)
            {
                Domain.Measure parent = measure.parent;
                if (parent == null)
                {
                    parent = this.Root;
                }
                Domain.Measure grandParent = parent.parent;
                if (grandParent == null)
                {
                    return;
                }

                ForgetDefaultMeasures(grandParent);
                parent.ForgetChild(measure);
                grandParent.AddChild(measure);
                parent.IsExpanded = true;

                int row = Source.IndexOf(grandParent);
                if (row >= 0)
                {
                    Source.Remove(grandParent);
                    Source.Insert(row, grandParent);
                }
                else
                {
                    row = Source.Count;
                    Source.Remove(measure);
                    if (row - 2 >= 0)
                    {
                        Source.Insert(row - 2, measure);
                    }
                    else
                    {
                        Source.Add(measure);
                    }
                }
                AddDefaultMeasures(grandParent);
            }
            treeList.SelectedItems = measures;
            if (Changed != null)
            {
                Changed();
            }
        }
Exemplo n.º 9
0
        private void OnCellValueChanged(object sender, TreeListCellValueChangedEventArgs e)
        {
            if (e.Row != null)
            {
                String name = e.Value != null?e.Value.ToString().Trim() : "";

                String oldName = e.OldValue != null?e.OldValue.ToString().Trim() : "";

                Domain.Measure measure = (Domain.Measure)e.Row;
                if (!ValidateName(measure, name))
                {
                    measure.name = oldName;
                    e.Handled    = true;
                    return;
                }
                if (!name.Equals(oldName.Trim()))
                {
                    if (measure.IsDefault)
                    {
                        measure.name = oldName;
                        Domain.Measure newMeasure = new Domain.Measure();
                        newMeasure.name   = name;
                        newMeasure.parent = this.Root;
                        ForgetDefaultMeasures(this.Root);
                        this.Root.AddChild(newMeasure);
                        AddDefaultMeasures(this.Root);

                        int row = Source.Count;
                        if (row > 0)
                        {
                            Source.Insert(row - 1, newMeasure);
                        }
                        else
                        {
                            Source.Add(newMeasure);
                        }
                        SetSelectedValue(newMeasure);
                    }
                    else
                    {
                        measure.name = name;
                        ForgetDefaultMeasures(measure.parent);
                        measure.parent.UpdateChild(measure);
                        AddDefaultMeasures(measure.parent);
                        SetSelectedValue(measure);
                    }
                    if (Changed != null)
                    {
                        Changed();
                    }
                }
            }
        }
Exemplo n.º 10
0
 public void Display(Domain.Measure measure)
 {
     this.Measure    = measure;
     Filter          = new BrowserDataFilter();
     Filter.page     = 0;
     Filter.pageSize = BrowserDataFilter.DEFAULT_PAGE_SIZE;
     if (measure != null)
     {
         this.Title      = measure.name;
         Filter.groupOid = measure.oid.Value;
     }
     Search();
 }
Exemplo n.º 11
0
        /// <summary>
        /// Can given items be outdent
        /// </summary>
        /// <param name="selectedItems"></param>
        /// <returns></returns>
        protected bool canIndent(List <Domain.Measure> selectedItems)
        {
            foreach (Domain.Measure measure in selectedItems)
            {
                Domain.Measure parent = measure != null ? measure.parent : null;
                int            index  = parent != null?parent.childrenListChangeHandler.Items.IndexOf(measure) : -1;

                if (index <= 0)
                {
                    return(false);
                }
            }
            return(selectedItems.Count > 0);
        }
Exemplo n.º 12
0
 /// <summary>
 /// Display models
 /// </summary>
 /// <param name="models"> Models to display </param>
 public void Display(Domain.Measure root)
 {
     if (root == null)
     {
         this.treeView.ItemsSource = null;
     }
     else
     {
         foreach (Domain.Measure measure in root.childrenListChangeHandler.Items)
         {
             RefreshParent(measure);
         }
         this.treeView.ItemsSource = root.childrenListChangeHandler.Items;
     }
 }
Exemplo n.º 13
0
 /// <summary>
 /// Select
 /// </summary>
 /// <param name="item">The item to select</param>
 public virtual void SetSelectedItem(Domain.Measure item)
 {
     if (item != null)
     {
         item.IsSelected = true;
     }
     else
     {
         Domain.Measure selection = GetSelectedItem();
         if (selection != null)
         {
             selection.IsSelected = false;
         }
     }
 }
Exemplo n.º 14
0
        /// <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);
        }
Exemplo n.º 15
0
 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);
 }
Exemplo n.º 16
0
 private void OnTimeTick(object sender, EventArgs e)
 {
     this.Timer.Stop();
     //Handle single click
     Domain.Measure value = GetSelectedItem();
     if (value != null)
     {
         if (value.IsDefault)
         {
         }
         else if (Click != null)
         {
             Click(value);
         }
     }
 }
Exemplo n.º 17
0
        protected Domain.Measure GetCopy(Domain.Measure measure)
        {
            Domain.Measure copy = new Domain.Measure();

            copy.name      = "Copy Of " + measure.name;
            copy.IsDefault = false;
            copy.position  = measure.position;
            copy.parent    = null;
            foreach (Domain.Measure child in measure.childrenListChangeHandler.Items)
            {
                Domain.Measure childcopy = GetCopy(child);
                copy.AddChild(childcopy);
                childcopy.parent = null;
            }
            return(copy);
        }
Exemplo n.º 18
0
 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);
 }
Exemplo n.º 19
0
        /// <summary>
        /// Can given items be move down
        /// </summary>
        /// <param name="selectedItems"></param>
        /// <returns></returns>
        protected bool canMoveDown(List <Domain.Measure> selectedItems)
        {
            foreach (Domain.Measure measure in selectedItems)
            {
                Domain.Measure parent = measure != null ? measure.parent : null;
                int            index  = parent != null?parent.childrenListChangeHandler.Items.IndexOf(measure) : -1;

                int  count    = parent != null ? parent.childrenListChangeHandler.Items.Count : -1;
                bool moveDown = count - 1 > index && !parent.childrenListChangeHandler.Items[index + 1].IsDefault;
                if (!moveDown)
                {
                    return(false);
                }
            }
            return(selectedItems.Count > 0);
        }
Exemplo n.º 20
0
        private void OnMove(bool up)
        {
            List <Domain.Measure> measures = GetSelectedValues();

            if (measures.Count == 0)
            {
                return;
            }
            if (up)
            {
                measures.BubbleSort();
            }
            else
            {
                measures.BubbleSortDesc();
            }
            foreach (Domain.Measure measure in measures)
            {
                Domain.Measure parent = measure.parent;
                if (parent == null)
                {
                    parent = this.Root;
                }

                ForgetDefaultMeasures(parent);
                int            position = measure.position + (up ? -1 : 1);
                Domain.Measure child    = (Domain.Measure)parent.GetChildByPosition(position);
                if (child != null)
                {
                    child.SetPosition(measure.position);
                    parent.UpdateChild(child);
                    measure.SetPosition(position);
                    parent.UpdateChild(measure);

                    int row = Source.IndexOf(child);
                    Source.Remove(measure);
                    Source.Insert(row, measure);
                }
                AddDefaultMeasures(parent);
            }
            treeList.SelectedItems = measures;
            if (Changed != null)
            {
                Changed();
            }
        }
Exemplo n.º 21
0
 private void OnDoubleClick(object sender, MouseButtonEventArgs e)
 {
     this.Timer.Stop();
     Domain.Measure value = GetSelectedItem();
     if (value != null && sender != null && sender is TreeViewItem)
     {
         TreeViewItem item = (TreeViewItem)sender;
         if (!item.IsSelected)
         {
             e.Handled = true; return;
         }
         else if (!value.IsDefault && DoubleClick != null)
         {
             DoubleClick(value);
         }
     }
     e.Handled = true;
 }
Exemplo n.º 22
0
        private void OnDeleteClick(object sender, RoutedEventArgs e)
        {
            List <Domain.Measure> measures = GetSelectedValues();

            if (measures.Count == 0)
            {
                return;
            }
            String message = "Do you want to delete Measure: '" + measures[0] + "' ?";

            if (measures.Count > 1)
            {
                message = "Do you want to delete the " + measures.Count + " selected measures ?";
            }
            MessageBoxResult result = Kernel.Util.MessageDisplayer.DisplayYesNoQuestion("Delete Measure", message);

            if (result == MessageBoxResult.Yes)
            {
                foreach (Domain.Measure measure in measures)
                {
                    if (IsUsedToGenerateUniverse(measure))
                    {
                        return;
                    }
                    Domain.Measure parent = measure.parent;

                    ForgetDefaultMeasures(parent);
                    if (measure.oid.HasValue)
                    {
                        parent.RemoveChild(measure);
                    }
                    else
                    {
                        parent.ForgetChild(measure);
                    }
                    AddDefaultMeasures(parent);
                    removeFromSource(measure);
                }
                if (Changed != null)
                {
                    Changed();
                }
            }
        }
Exemplo n.º 23
0
 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);
 }
Exemplo n.º 24
0
 public void DisplayRoot(Kernel.Domain.Measure root, List <CalculatedMeasure> CalculatedMeasures)
 {
     if (root == null)
     {
         this.measureTreeview.ItemsSource = null;
     }
     else if (CalculatedMeasures != null && CalculatedMeasures.Count > 0)
     {
         Kernel.Domain.Measure calMeasure = new Domain.Measure()
         {
             name = DefaultCalculatedMeasureName
         };
         foreach (Kernel.Domain.Measure measure in CalculatedMeasures)
         {
             calMeasure.childrenListChangeHandler.Items.Add(measure);
         }
         root.childrenListChangeHandler.Items.Add(calMeasure);
     }
     DisplayRoot(root);
 }
Exemplo n.º 25
0
        private void OnExpanded(object sender, RoutedEventArgs e)
        {
            this.Timer.Stop();
            object obj = ((TreeViewItem)e.OriginalSource).Header;

            if (obj != null && obj is Domain.Measure)
            {
                Domain.Measure value = (Domain.Measure)obj;
                if (value != null && !value.IsDefault)
                {
                    if (!value.isCompleted)
                    {
                    }
                    if (Expanded != null)
                    {
                        Expanded(value);
                    }
                }
            }
        }
Exemplo n.º 26
0
 protected Domain.Measure getMeasureByName(Domain.Measure parent, string name)
 {
     foreach (Domain.Measure value in parent.childrenListChangeHandler.Items)
     {
         if (value.IsDefault)
         {
             continue;
         }
         if (value.name.ToUpper().Equals(name.ToUpper()))
         {
             return(value);
         }
         Domain.Measure child = getMeasureByName(value, name);
         if (child != null)
         {
             return(child);
         }
     }
     return(null);
 }
Exemplo n.º 27
0
 /// <summary>
 /// Select
 /// </summary>
 /// <param name="attribute">The Measure to select</param>
 public void SetSelectedValue(Domain.Measure value)
 {
     if (value != null)
     {
         if (value.parent != null)
         {
             value.parent.IsExpanded = true;
         }
         value.IsSelected      = true;
         treeList.SelectedItem = value;
     }
     else
     {
         Domain.Measure selection = GetSelectedValue();
         if (selection != null)
         {
             selection.IsSelected = false;
         }
         treeList.SelectedItem = null;
     }
 }
Exemplo n.º 28
0
        private void OnMouseRightClick(object sender, MouseEventArgs e)
        {
            this.Timer.Stop();
            MeasureFilterDialog dialog = new MeasureFilterDialog();

            if (sender is TreeViewItem)
            {
                Object tag = ((TreeViewItem)sender).Header;
                if (tag is Domain.Measure)
                {
                    dialog.Display((Domain.Measure)tag);
                }
            }
            dialog.SearchTextBox.Focus();
            WindowPositioner.ShowCenteredToMouse(dialog);
            Domain.Measure value = dialog.Selection;
            if (value != null && Click != null)
            {
                Click(value);
            }
            e.Handled = true;
        }
Exemplo n.º 29
0
 /// <summary>
 /// Remove default nodes from root attribute
 /// </summary>
 protected void ForgetDefaultMeasures(Domain.Measure parent)
 {
     foreach (Domain.Measure value in parent.childrenListChangeHandler.Items.ToArray())
     {
         if (value.IsDefault)
         {
             parent.childrenListChangeHandler.Items.Remove(value);
         }
         //this.Source.Remove(value);
     }
     if (parent != this.Root)
     {
         foreach (Domain.Measure value in this.Root.childrenListChangeHandler.Items.ToArray())
         {
             if (value.IsDefault)
             {
                 this.Root.childrenListChangeHandler.Items.Remove(value);
                 //this.Source.Remove(value);
             }
         }
     }
 }
Exemplo n.º 30
0
        private void OnIndentClick(object sender, RoutedEventArgs e)
        {
            List <Domain.Measure> measures = GetSelectedValues();

            if (measures.Count == 0)
            {
                return;
            }
            measures.BubbleSort();
            foreach (Domain.Measure measure in measures)
            {
                Domain.Measure parent = measure.parent;
                if (parent == null)
                {
                    parent = this.Root;
                }
                int            position = measure.GetPosition();
                Domain.Measure brother  = (Domain.Measure)parent.GetChildByPosition(position - 1);
                if (brother == null)
                {
                    return;
                }
                ForgetDefaultMeasures(parent);
                parent.ForgetChild(measure);
                brother.AddChild(measure);
                brother.IsExpanded = true;

                int row = Source.IndexOf(brother);
                Source.Remove(brother);
                Source.Insert(row, brother);
                AddDefaultMeasures(parent);
            }
            treeList.SelectedItems = measures;
            if (Changed != null)
            {
                Changed();
            }
        }