Exemple #1
0
        internal IBuildItem GetBuildItem(ShadowFileNode shadowFileNode)
        {
            var node                = projectNode.NodeFromItemId(shadowFileNode.ItemId);
            var node_property       = node.GetType().GetProperty("ItemNode", BindingFlags.Instance | BindingFlags.NonPublic);
            var itemNode            = node_property.GetValue(node, new object[] { });
            var build_item_property = itemNode.GetType().GetProperty("Item", BindingFlags.Instance | BindingFlags.Public);

            return(new BuildItemProxy(build_item_property.GetValue(itemNode, new object[] { })));
        }
 internal void SwapWith(ShadowFileNode target)
 {
     this.buildItem.SwapWith(target.buildItem);
 }
Exemple #3
0
        /// <summary>
        /// Moves a compile item in the compilation order list one position up or down
        /// </summary>
        /// <param name="n">item to move</param>
        /// <param name="dir">direction</param>
        private void MoveElement(TreeNode n, ShadowFileNode.Direction dir)
        {
            if (!CompileItems.Nodes.Contains(n))
                return;

            // Calculate the node's new location
            int new_index = 0;
            switch (dir)
            {
                case ShadowFileNode.Direction.Up:
                    if (n.Index <= 0) // already at the top - nowehere to go up
                        return;
                    new_index = n.Index - 1;
                    break;
                case ShadowFileNode.Direction.Down:
                    if (n.Index >= CompileItems.Nodes.Count - 1) // already at the bottom - nowehere to go down
                        return;
                    new_index = n.Index + 1;
                    break;
            }
            if (OnPageUpdated != null)
                OnPageUpdated(this, EventArgs.Empty);

            ((Project.ShadowFileNode)n.Tag).SwapWith((Project.ShadowFileNode)CompileItems.Nodes[new_index].Tag);

            // Update the UI (the TreeView)
            CompileItems.Nodes.Remove(n);
            CompileItems.Nodes.Insert(new_index, n);
            CompileItems.SelectedNode = n;
        }
 internal void SwapWith(ShadowFileNode target)
 {
     this.buildItem.SwapWith(target.buildItem);
 }