Exemplo n.º 1
0
 public LocalResourceManager(IocManager _iocManager,
                             IResourceMetaDataProvider _resourceMetaDataProvider
                             )
 {
     iocManager = _iocManager;
     resourceMetaDataProvider = _resourceMetaDataProvider;
 }
Exemplo n.º 2
0
 public Open(IocManager _iocManager,
             IResourceMetaDataProvider _resourceProvider
             )
 {
     iocManager       = _iocManager;
     resourceProvider = _resourceProvider;
 }
Exemplo n.º 3
0
        /// <summary>
        /// 资源树的双击事件
        /// </summary>
        void OnTreeListDoubleClick(object sender, MouseEventArgs e)
        {
            TreeList        tree            = sender as TreeList;
            TreeListHitInfo treeListHitInfo = tree.CalcHitInfo(e.Location);

            if (treeListHitInfo.HitInfoType == HitInfoType.Cell)
            {
                tree.SetFocusedNode(treeListHitInfo.Node);
            }
            if (tree.FocusedNode != null)
            {
                var item = navigationTreeList.GetRow(tree.FocusedNode.Id);
                if (item is ResourceItem)
                {
                    ResourceItem _item    = item as ResourceItem;
                    IResource    resource = _item.Resource;
                    if (resource.ResourceMetaData != null &&
                        resource.ResourceMetaData.DoubleClickResourceActionType != null)
                    {
                        IType <IResourceAction> resourceActionType = resource.ResourceMetaData.DoubleClickResourceActionType;
                        IResourceAction         resourceAction     = IocManager.Instance.Resolve(resourceActionType.Type) as IResourceAction;
                        resourceAction.Resource = resource;
                        resourceAction.Excute();
                    }
                }
                else if (item is FileItem)
                {
                    IResourceMetaDataProvider             resourceMetaDataProvider = IocManager.Instance.Resolve <IResourceMetaDataProvider>();
                    ITypeList <IDocumentResourceMetaData> resourceMetaDatas        = resourceMetaDataProvider.DocumentResourceMetaDataProviders;
                    if (resourceMetaDatas.Count > 0)
                    {
                        foreach (var mt in resourceMetaDatas)
                        {
                            var m = IocManager.Instance.Resolve(mt);
                            if (m is ISingleFileDocumentResourceMetaData)
                            {
                                if (((ISingleFileDocumentResourceMetaData)m).Identified(((FileItem)item).FullName))
                                {
                                    ISingleFileDocumentResource singleFileDocumentResource = IocManager.Instance.Resolve(((ISingleFileDocumentResourceMetaData)m).ResourceType.Type) as ISingleFileDocumentResource;
                                    singleFileDocumentResource.FullName = ((FileItem)item).FullName;
                                    singleFileDocumentResource.Open();
                                }
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 初始化可选择列表
        /// </summary>
        private void InitializeCheckResourceComboBox()
        {
            CheckedResourceCombox.EditValueChanged += (sender, e) =>
            {
                navigationTreeList.CollapseAll();
            };
            IResourceMetaDataProvider     resourceMetaDataProvider = IocManager.Instance.Resolve <IResourceMetaDataProvider>();
            ITypeList <IResourceMetaData> resourceMetaDatas        = resourceMetaDataProvider.AllResourceMetaDataProviders;

            if (resourceMetaDatas.Count > 0)
            {
                foreach (Type t in resourceMetaDatas)
                {
                    IResourceMetaData metaData = IocManager.Instance.Resolve(t) as IResourceMetaData;
                    CheckedResourceCombox.Properties.Items.Add(metaData, metaData.Name, CheckState.Unchecked, true);
                }
            }
        }