Exemple #1
0
 private void PackageTree_BeforeCheck(object sender, TreeViewCancelEventArgs e)
 {
     if (!mbInitializing)
     {
         Mog_BaseTag basetag = e.Node.Tag as Mog_BaseTag;
         if (basetag != null)
         {
             if (basetag.PackageNodeType == PackageNodeTypes.Class)
             {
                 MessageBox.Show(this, "Cannot select classification nodes.");
                 e.Cancel = true;
             }
             else if (e.Node.NodeFont != null && e.Node.NodeFont.Italic)
             {
                 MessageBox.Show(this, "This package assignment is being inherited from the classification and can't be unassigned.\n" +
                                 "You may override this inherited package assignemnt by selecting a different package.",
                                 "Can't remove this package assignment");
                 e.Cancel = true;
             }
             else if (IsSelectedAsset(basetag.PackageFullName))
             {
                 MessageBox.Show(this, "You cannot assign an asset to be packaged into itself.");
                 e.Cancel = true;
             }
         }
     }
 }
Exemple #2
0
 private void FindAndUpdateNodeLockStatus(string nodeKey, MOG_Filename assetName, MogControl_BaseTreeView tree)
 {
     // Attempt to find this node in our tree
     TreeNode[] foundNodes = tree.Nodes.Find(nodeKey, true);
     if (foundNodes != null && foundNodes.Length > 0)
     {
         foreach (TreeNode node in foundNodes)
         {
             Mog_BaseTag tag = node.Tag as Mog_BaseTag;
             if (tag != null)
             {
                 // Is this a sync target node
                 if (tag.AttachedSyncTargetInfo != null)
                 {
                     // Update this assets status
                     string assetRepositoryName = tag.FullFilename + "\\Files.Imported\\" + tag.AttachedSyncTargetInfo.FilenameOnly;
                     node.ImageIndex         = MogUtil_AssetIcons.GetBinaryLockedOrUnlockedIcon(assetName.GetAssetFullName(), assetRepositoryName);
                     node.SelectedImageIndex = node.ImageIndex;
                 }
                 else
                 {
                     // Update this assets status
                     node.ImageIndex         = MogUtil_AssetIcons.GetAssetIconIndex(assetName.GetAssetFullName());
                     node.SelectedImageIndex = node.ImageIndex;
                 }
             }
         }
     }
 }
Exemple #3
0
        /// <summary>
        /// Add an item that is a sub-list of items we already have
        /// </summary>
        /// <param name="tag"></param>
        /// <returns></returns>
        public ListViewItem ItemAdd(Mog_BaseTag tag)
        {
            ListViewItem item = tag.Owner as ListViewItem;

            if (item != null)
            {
                return(ListListView.Items.Add((ListViewItem)item.Clone()));
            }
            else
            {
                return(new ListViewItem());
            }
        }
Exemple #4
0
        /// <summary>
        /// Adds an asset to our ListView and to our Asset's properties
        /// </summary>
        private void PackageTree_AfterCheck(object sender, TreeViewEventArgs e)
        {
            ArrayList   packageToChange = new ArrayList();
            Mog_BaseTag basetag         = e.Node.Tag as Mog_BaseTag;

            if (basetag != null)
            {
                string packageFullname = basetag.PackageFullName;

                if (e.Node.Checked)
                {
                    bool markAsInherited = e.Node.NodeFont != null && e.Node.NodeFont.Italic;
                    bool setProperty     = e.Action != TreeViewAction.Unknown;

                    //This node just got checked, so lets add the links to all the assets
                    AddPackageLinkToAssets(packageFullname, e.Node.ForeColor, markAsInherited, setProperty);
                }
                else
                {
                    if (e.Node.ForeColor == Color.Gray)
                    {
                        e.Node.ForeColor = e.Node.TreeView.ForeColor;
                    }

                    //node got unchecked, take the packages assignments off the assets
                    packageToChange.Add(CreatePackageAssignmentProperty(packageFullname));

                    ListViewItem item = FindAssignmentListItem(packageFullname);
                    if (item != null)
                    {
                        item.Remove();
                    }

                    RemovePackageLinkFromAssets(packageToChange);
                }

                if (!mbInitializing)
                {
                    Initialize();
                    mDirty = true;
                }
            }
        }