Ejemplo n.º 1
0
        private void tree_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
        {
            try
            {
                if (e.Node is DATreeNode)
                {
                    DATreeNode ada = (DATreeNode)e.Node;

                    if (e.Label == null)
                    {
                        ada.Text = ada.m_node.Title;
                        return;
                    }

                    string newname = e.Label;
                    e.CancelEdit = true;// revert to old name
                    ada.Text     = ada.m_node.Title;
                    MacroManager.RenameNode(ada.m_node, newname);
                    ada.m_node.RenameNode(newname);
                    TreeNodeExtension.CompleteRefresh(ada.m_node.Parent);
                }
            }
            catch (Exception ex)
            {
                Errors.Report(ex);
            }
        }
Ejemplo n.º 2
0
 private void tree_MouseUp(object sender, MouseEventArgs e)
 {
     if (!TreeBehaviour.AllowPopupMenu)
     {
         return;
     }
     try
     {
         if (e.Button == MouseButtons.Right)
         {
             // select the clicked node
             tree.SelectedNode = tree.GetNodeAt(e.Location);
             // show the context menu in the right position
             if (tree.SelectedNode != null)
             {
                 ContextMenuStrip menu = ((DATreeNode)tree.SelectedNode).m_menu;
                 if (menu != null)
                 {
                     MacroManager.SetPopupMenuObject(((DATreeNode)tree.SelectedNode).m_node);
                     ((DATreeNode)tree.SelectedNode).FillPopupMenu();
                     menu.ShowOnCursor();
                 }
             }
             //tree.ContextMenuStrip.Show(treeView, e.Location);
         }
     }
     catch (Exception ex)
     {
         Errors.Report(ex);
     }
 }
Ejemplo n.º 3
0
 private void tree_MouseDoubleClick(object sender, MouseEventArgs e)
 {
     m_lastDoubleClick = DateTime.Now;
     if (TreeBehaviour.AllowDoubleClickNodeHandling)
     {
         try
         {
             TreeNode node = tree.GetNodeAt(e.X, e.Y);
             if (node != null)
             {
                 if (Control.ModifierKeys != Keys.None)
                 {
                     ((DATreeNode)node).ModifiedDoubleClick(Control.ModifierKeys);
                 }
                 else
                 {
                     ((DATreeNode)node).DoubleClick();
                 }
                 MacroManager.DoubleClickNode(((DATreeNode)node).m_node);
             }
         }
         catch (Exception ex)
         {
             Errors.Report(ex);
         }
     }
     else
     {
         if (TreeDoubleClick != null)
         {
             TreeDoubleClick(sender, e);
         }
     }
 }
Ejemplo n.º 4
0
        private void tree_DragDrop(object sender, DragEventArgs e)
        {
            if (!TreeBehaviour.AllowDragDrop)
            {
                return;
            }
            try
            {
                TreeNode            dropNode = tree.GetNodeAt(tree.PointToClient(new Point(e.X, e.Y)));
                DragObjectContainer cnt      = (DragObjectContainer)e.Data.GetData(typeof(DragObjectContainer));
                if (cnt != null && dropNode != null && cnt.Data is AppObject[])
                {
                    ITreeNode   targetNode  = ((DATreeNode)dropNode).m_node;
                    AppObject[] draggedObjs = (AppObject[])cnt.Data;
                    targetNode.DragDrop(draggedObjs);
                    //MacroManager.DragDropNode(targetNode, draggedObjs);
                }

                try
                {
                    IDataObject obj   = e.Data;
                    string[]    files = (string[])obj.GetData("FileDrop");
                    foreach (string f in files)
                    {
                        string fn = IOTool.GetUniqueFileName(Path.Combine(Root.FileSystemPath, Path.GetFileNameWithoutExtension(f) + ".lnk"));
                        using (StreamWriter sw = new StreamWriter(fn)) sw.Write(f);
                        RefreshRoot();
                        MacroManager.DropFileIntoTree(tree, f);
                    }
                }
                catch (Exception) { }

                tree.SelectedNode = dropNode;
            }
            catch (Exception ex)
            {
                Errors.Report(ex);
            }
        }
Ejemplo n.º 5
0
        //void m_menu_Opening(object sender, System.ComponentModel.CancelEventArgs e)
        //{
        //    m_menu.Items.Clear();
        //    m_node.GetPopupMenu(new MenuBuilder(m_menu.Items));
        //}

        //void m_menu_Popup(object sender, EventArgs e)
        //{
        //    //m_menu.MenuItems.Clear();
        //    m_menu.Items.Clear();
        //    m_node.GetPopupMenu(new PopupMenuBuilder(m_menu, m_tree));
        //}

        public bool AllowExpand()
        {
            if (!m_node.AllowExpand())
            {
                return(false);
            }
            MacroManager.ExpandNode(m_node);
            if (m_filledChildren)
            {
                m_node.NotifyExpanded();
                return(true);
            }
            if (!m_node.PreparedChildren)
            {
                ProcessRegister.AddBackgroundTask("s_expand");
                m_node.BeginLoadChildren(Async.CreateInvokeCallback(Invoker, OnPreparedExpand));
                m_expanding = true;
                RefreshSelf();
                return(false);
            }
            FillChildren();
            m_node.NotifyExpanded();
            return(true);
        }
Ejemplo n.º 6
0
        private void tree_KeyDown(object sender, KeyEventArgs e)
        {
            try
            {
                if (Selected == null)
                {
                    return;
                }
                bool processed = false;
                if (e.KeyCode == Keys.Delete)
                {
                    var sel = Selected;
                    var par = sel.Parent;
                    if (!processed)
                    {
                        processed = sel.Delete();
                    }
                    MacroManager.DeleteNode(sel);
                    //par.CompleteRefresh();
                }
                else if (e.KeyCode == Keys.Enter)
                {
                    if (!processed)
                    {
                        processed = Selected.DoubleClick();
                    }
                    MacroManager.DoubleClickNode(Selected);
                }
                else if (e.KeyCode == Keys.F5)
                {
                    if (!processed)
                    {
                        Selected.CompleteRefresh(true);
                        processed = true;
                    }
                }
                if (e.KeyCode == Keys.C && e.Control)
                {
                    CallCopy();
                    processed = true;
                }
                if (e.KeyCode == Keys.V && e.Control && btnPaste.Enabled)
                {
                    btnPaste.ShowDropDown();
                    processed = true;
                }
                if (e.KeyCode == Keys.G && e.Control && Selected != null)
                {
                    var appobj = Selected.GetFirstValidAppObject();
                    if (appobj != null)
                    {
                        if (appobj.GenerateSqlVisible())
                        {
                            appobj.GenerateSql(new object[] { appobj });
                        }
                    }
                    processed = true;
                }

                if (!processed)
                {
                    var mb = new MenuBuilder();
                    Selected.GetPopupMenu(mb);
                    mb.ProcessKeyDown(e.KeyCode);
                }
            }
            catch (Exception ex)
            {
                Errors.Report(ex);
            }
        }
Ejemplo n.º 7
0
 void FormEx_Shown(object sender, EventArgs e)
 {
     MacroManager.RunDialogMacro(this);
 }