コード例 #1
0
        protected void OnEditingItem(DesignerItem item)
        {
            if (item.Tag != null)
            {
                if (!(item.Tag is TransformationTreeItem))
                {
                    System.Web.Script.Serialization.JavaScriptSerializer Serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
                    Serializer.MaxJsonLength = 99999999;
                    item.Tag = Serializer.Deserialize <TransformationTreeItem>(item.Tag.ToString());
                }

                TransformationTreeEditorItem page     = (TransformationTreeEditorItem)getTransformationTreeEditor().getActivePage();
                TransformationTreeItem       treeItem = (TransformationTreeItem)item.Tag;
                //if (treeItem.IsAction && page.EditedObject.hasUnsavedLoop())
                if (page.IsModify)
                {
                    Save(page);
                    DesignerItem block = page.GetTransformationTreeForm().TransformationTreeDiagramView.designerCanvas.GetBlockByName(treeItem.name);
                    if (block == null)
                    {
                        return;
                    }
                    item     = block;
                    treeItem = (TransformationTreeItem)item.Tag;
                }
                page.GetTransformationTreeForm().EditedDesignerItem = item;
                this.RemoveCommands();
                page.GetTransformationTreeForm().Edit(treeItem);
                this.initializeCommands();
            }
        }
コード例 #2
0
        protected void onGroupFieldChange()
        {
            TransformationTreeEditorItem page = (TransformationTreeEditorItem)getTransformationTreeEditor().getActivePage();
            string name  = page.GetTransformationTreeForm().TransformationTreePropertiePanel.groupField.textBox.Text;
            BGroup group = page.GetTransformationTreeForm().TransformationTreePropertiePanel.groupField.Group;

            page.EditedObject.group = group;
            ((TransformationTreeSideBar)SideBar).TransformationTreeGroup.TransformationTreeTreeview.updateTransformationTree(name, page.Title, true);
            //page.GetTransformationTreeForm().TransformationTreePropertiePanel.displayTransformationTree(tree);
            page.EditedObject.isModified = true;
        }
コード例 #3
0
        /// <summary>
        /// Cette methode est exécuté lorsqu'on édit le nom de la table 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)
        {
            TransformationTreeEditorItem page = (TransformationTreeEditorItem)getTransformationTreeEditor().getActivePage();

            if (args.Key == Key.Escape)
            {
                page.GetTransformationTreeForm().TransformationTreePropertiePanel.nameTextBox.Text = page.Title;
            }
            else if (args.Key == Key.Enter)
            {
                String name = page.GetTransformationTreeForm().TransformationTreePropertiePanel.nameTextBox.Text;
                Rename(name);
            }
        }
コード例 #4
0
        protected override void Rename(string name)
        {
            TransformationTreeEditorItem page = (TransformationTreeEditorItem)getEditor().getActivePage();

            if (validateName(page, name))
            {
                ((TransformationTreeSideBar)SideBar).TransformationTreeGroup.TransformationTreeTreeview.updateTransformationTree(name, page.Title, false);
                page.GetTransformationTreeForm().TransformationTreePropertiePanel.nameTextBox.Text = name;
                base.Rename(name);
            }
            else
            {
                page.GetTransformationTreeForm().TransformationTreePropertiePanel.nameTextBox.Text = page.Title;
            }
        }
コード例 #5
0
        protected override void initializePageHandlers(EditorItem <TransformationTree> page)
        {
            base.initializePageHandlers(page);
            TransformationTreeEditorItem editorPage = (TransformationTreeEditorItem)page;

            editorPage.GetTransformationTreeForm().TransformationTreePropertiePanel.groupField.GroupService = GetTransformationTreeService().GroupService;
            editorPage.GetTransformationTreeForm().TransformationTreePropertiePanel.groupField.subjectType = SubjectTypeFound();
            editorPage.GetTransformationTreeForm().TransformationTreePropertiePanel.groupField.Changed += onGroupFieldChange;
            editorPage.GetTransformationTreeForm().TransformationTreePropertiePanel.nameTextBox.KeyUp += onNameTextChange;
            editorPage.GetTransformationTreeForm().TransformationTreePropertiePanel.visibleInShortcutCheckBox.Checked += OnTableVisibleInShortcutOptionChecked;
            editorPage.GetTransformationTreeForm().TransformationTreePropertiePanel.visibleInShortcutCheckBox.Unchecked += OnTableVisibleInShortcutOptionChecked;
            editorPage.GetTransformationTreeForm().TransformationTreeDiagramView.designerCanvas.Editing += OnEditingItem;

            editorPage.GetTransformationTreeForm().SaveEventHandler += OnEditingItemEnded;

            if (editorPage.GetTransformationTreeForm().AdministrationBar != null)
            {
                editorPage.GetTransformationTreeForm().AdministrationBar.Changed += OnChangeEventHandler;
            }
        }
コード例 #6
0
        private void OnEditingItemEnded(object obj)
        {
            TransformationTreeEditorItem page = (TransformationTreeEditorItem)getTransformationTreeEditor().getActivePage();

            if (page.GetTransformationTreeForm().EditedDesignerItem == null || page.GetTransformationTreeForm().EditedDesignerItem.Tag == null)
            {
                return;
            }
            TransformationTreeItem item   = (TransformationTreeItem)page.GetTransformationTreeForm().EditedDesignerItem.Tag;
            TransformationTreeItem parent = item.parent;

            item = GetTransformationTreeService().SaveTransformationTreeItem(item);
            AfterSave();
            if (item != null)
            {
                item.parent = parent;
                item.tree   = page.EditedObject;

                if (item.parent != null)
                {
                    item.parent.ReplaceChild(item);
                }
                else
                {
                    page.EditedObject.ReplaceItem(item);
                }

                page.GetTransformationTreeForm().refreshItem(item);

                page.GetTransformationTreeForm().EditedDesignerItem.Tag = item;
                page.GetTransformationTreeForm().RedisplayItem(item);
            }
            BlockPanel.Loops = new List <TransformationTreeItem>(page.EditedObject.GetAllLoops().ToList());
        }
コード例 #7
0
 /// <summary>
 /// Cette methode permet de créer un nouvel arbre.
 /// </summary>
 /// <returns>
 /// - CONTINUE si la création de l'arbre se termine avec succès.
 /// - STOP sinon
 /// </returns>
 public override OperationState Create()
 {
     try
     {
         TransformationTree transformationTree = GetNewTransformationTree();
         ((TransformationTreeSideBar)SideBar).TransformationTreeGroup.TransformationTreeTreeview.AddTransformationTree(transformationTree);
         TransformationTreeEditorItem page = (TransformationTreeEditorItem)getTransformationTreeEditor().addOrSelectPage(transformationTree);
         page.GetTransformationTreeForm().TransformationTreeService = this.GetTransformationTreeService();
         initializePageHandlers(page);
         page.Title        = transformationTree.name;
         page.EditedObject = transformationTree;
         getTransformationTreeEditor().ListChangeHandler.AddNew(transformationTree);
     }
     catch (Exception e) {
         logger.Error("Unable to create new Transformation tree", e);
     }
     return(OperationState.CONTINUE);
 }
コード例 #8
0
        protected override void OnPageClosed(object sender, EventArgs args)
        {
            TransformationTreeEditorItem page = (TransformationTreeEditorItem)sender;

            if (page == null)
            {
                base.OnPageClosed(sender, args);
                return;
            }
            page.GetTransformationTreeForm().Dispose();
            if (!page.EditedObject.oid.HasValue)
            {
                ((TransformationTreeSideBar)SideBar).TransformationTreeGroup.TransformationTreeTreeview.RemoveTransformationTree(page.EditedObject);
            }
            base.OnPageClosed(sender, args);
            if (page.EditedObject.oid.HasValue)
            {
                GetTransformationTreeService().unlocked(ApplicationManager.Instance.File.oid.Value, page.EditedObject.oid.Value);
            }
        }
コード例 #9
0
        /// <summary>
        /// Ouvre l'arbre passé en parametre dans l'éditeur.
        /// </summary>
        /// <param name="table">L'arbre à ouvrir</param>
        /// <returns>
        /// - CONTINUE si l'ouverture de l'arbre se termine avec succès.
        /// - STOP sinon
        /// </returns>
        public override OperationState Open(TransformationTree tree)
        {
            if (tree == null)
            {
                MessageDisplayer.DisplayInfo("Transformation Tree", "Unable to open the selected tree");
                this.ApplicationManager.HistoryHandler.closePage(this);
                return(OperationState.STOP);
            }

            bool isReadonly = false;

            if (tree.oid.HasValue)
            {
                bool isOk = GetTransformationTreeService().locked(ApplicationManager.File.oid.Value, tree.oid.Value);
                if (!isOk)
                {
                    MessageBoxResult response = MessageDisplayer.DisplayYesNoQuestion("Tree Locked", "Tree '" + tree.name + "' is locked by another user!\n"
                                                                                      + "You cannot edit the tree until the tree is open by another user.\n"
                                                                                      + "Do you want to switch in read only mode ?");
                    if (MessageBoxResult.Yes != response)
                    {
                        return(OperationState.STOP);
                    }
                    else
                    {
                        isReadonly = true;
                    }
                }
            }
            ((TransformationTreeSideBar)SideBar).TransformationTreeGroup.TransformationTreeTreeview.AddTransformationTreeIfNatExist(tree);
            TransformationTreeEditorItem page = (TransformationTreeEditorItem)getTransformationTreeEditor().addOrSelectPage(tree, isReadonly);

            page.GetTransformationTreeForm().TransformationTreeService = this.GetTransformationTreeService();
            initializePageHandlers(page);
            getEditor().ListChangeHandler.AddNew(tree);
            return(OperationState.CONTINUE);
        }