private void PopulateDocumentList(ResourceList list)
        {
            lstResources.Clear();
            SortedList <string, ResourceListResourceDocument> items = new SortedList <string, ResourceListResourceDocument>();

            foreach (var item in list.Items)
            {
                var doc = item as ResourceListResourceDocument;
                if (doc != null)
                {
                    string sortKey = doc.Name + "." + doc.ResourceType;
                    items.Add(sortKey, doc);
                }
            }
            foreach (var doc in items.Values)
            {
                var li = new ListViewItem(doc.Name);
                li.Tag = doc;

                try
                {
                    var rt = ResourceIdentifier.GetResourceTypeAsString(doc.ResourceId);
                    li.ImageIndex = RepositoryIcons.GetImageIndexForResourceType(rt);
                }
                catch
                {
                    li.ImageIndex = RepositoryIcons.RES_UNKNOWN;
                }

                lstResources.Items.Add(li);
            }
        }
Ejemplo n.º 2
0
        private void RebuildTree()
        {
            ResourceTree.Nodes.Clear();
            TreeNode root = ResourceTree.Nodes.Add("Library://");

            root.ImageIndex = root.SelectedImageIndex = RepositoryIcons.RES_ROOT;

            foreach (ResourceItem ri in m_resources.Values)
            {
                string   partial = ri.ResourcePath.Substring(root.Text.Length);
                string[] parts   = partial.Split('/');
                TreeNode cur     = root;
                root.Expand();

                for (int i = 0; i < parts.Length - 1; i++)
                {
                    TreeNode next = null;
                    foreach (TreeNode n in cur.Nodes)
                    {
                        if (n.Text == parts[i])
                        {
                            next = n;
                            break;
                        }
                    }
                    if (next == null)
                    {
                        cur            = cur.Nodes.Add(parts[i]);
                        cur.ImageIndex = cur.SelectedImageIndex = RepositoryIcons.RES_FOLDER;
                    }
                    else
                    {
                        cur = next;
                    }

                    cur.Expand();
                }

                if (parts[parts.Length - 1].Trim().Length > 0)
                {
                    TreeNode n = cur.Nodes.Add(parts[parts.Length - 1]);
                    n.Tag        = ri;
                    n.ImageIndex = n.SelectedImageIndex = RepositoryIcons.GetImageIndexForResourceType(ResourceIdentifier.GetResourceTypeAsString(ri.ResourcePath));
                }
                else
                {
                    cur.Tag = ri;
                }
            }
        }
 public RepositoryModelItem(IRepositoryItem item)
 {
     _item = item;
     if (this.IsRoot)
     {
         this.ImageIndex = RepositoryIcons.RES_ROOT;
     }
     else
     {
         if (this.IsFolder)
         {
             this.ImageIndex = RepositoryIcons.RES_FOLDER;
         }
         else
         {
             this.ImageIndex = RepositoryIcons.GetImageIndexForResourceType(_item.ResourceType);
         }
     }
 }
Ejemplo n.º 4
0
        private void AddResourceButton_Click(object sender, EventArgs e)
        {
            var dlg = new AddResourceEntryDialog();

            if (dlg.ShowDialog(this) == DialogResult.OK)
            {
                int          imageindex = RepositoryIcons.GetImageIndexForResourceType(Path.GetExtension(dlg.ResourceName).Replace(".", ""));
                TreeNode     n          = new TreeNode(dlg.ResourceName, imageindex, imageindex);
                ResourceItem i          = new ResourceItem("", dlg.HeaderFilepath, dlg.ContentFilepath);
                i.EntryType = EntryTypeEnum.Added;
                n.Tag       = i;

                if (ResourceTree.SelectedNode == null || ResourceTree.SelectedNode.Parent == null)
                {
                    ResourceTree.Nodes[0].Nodes.Add(n);
                }
                else if (ResourceTree.SelectedNode.Tag as ResourceItem != null)
                {
                    if ((ResourceTree.SelectedNode.Tag as ResourceItem).IsFolder)
                    {
                        ResourceTree.SelectedNode.Nodes.Add(n);
                    }
                    else if (ResourceTree.SelectedNode.Parent == null)
                    {
                        ResourceTree.Nodes[0].Nodes.Add(n);
                    }
                    else
                    {
                        ResourceTree.SelectedNode.Parent.Nodes.Add(n);
                    }
                }

                n.EnsureVisible();
                ResourceTree.SelectedNode = n;
                ResourceTree.Focus();
            }
        }