Ejemplo n.º 1
0
        /// <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();
            }
        }
Ejemplo n.º 2
0
        protected void onCalculatedMeasurePanelItemDeleted(object item)
        {
            CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage();

            page.EditedObject.RemoveItem((CalculatedMeasureItem)item);
            OnChange();
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        protected override void Rename(string name)
        {
            CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage();

            page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.nameTextBox.Text = name;
            page.EditedObject.name = name;
            base.Rename(name);
        }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
0
        private void onCalculatedMeasurePanelItemChange(object item)
        {
            CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage();

            if (page == null)
            {
                return;
            }
            page.getCalculatedMeasureForm().CalculatedMeasurePropertiesPanel.displayCalculatedMeasureItemIgnoreProperties((CalculatedMeasureItem)item);
        }
Ejemplo n.º 7
0
        public override OperationState Rename()
        {
            if (base.Rename() != OperationState.CONTINUE)
            {
                return(OperationState.STOP);
            }

            IsRenameOnDoubleClick = true;
            CalculatedMeasureEditorItem page = (CalculatedMeasureEditorItem)getCalculatedMeasureEditor().getActivePage();

            return(ValidateEditedNewName(page.EditedObject.name));
        }
Ejemplo n.º 8
0
        /// <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();
            }
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        /// <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);
        }
Ejemplo n.º 11
0
        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();
        }
Ejemplo n.º 12
0
        /// <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();
                }
            }
        }
Ejemplo n.º 13
0
        /// <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;
            }
        }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        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;
            }
        }
Ejemplo n.º 16
0
        /// <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);
        }