Exemple #1
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();
                                }
                            }
                        }
                    }
                }
            }
        }
Exemple #2
0
 public void LoadFromResource(IDocumentResource documentResource, params object[] otherParams)
 {
     this.DocumentResource = documentResource;
     if (documentResource.ResourceMetaData.ResourceStorageMode == ResourceStorageMode.SingleFile)
     {
         ISingleFileDocumentResource singleFileDocumentResource = documentResource as ISingleFileDocumentResource;
         LoadFromFile(singleFileDocumentResource.FullName, otherParams);
     }
     else if (documentResource.ResourceMetaData.ResourceStorageMode == ResourceStorageMode.FromWebGet)
     {
         IWebDocumentResource webDocumentResource = documentResource as IWebDocumentResource;
         LoadFromWeb(webDocumentResource.Url, otherParams);
     }
     else if (documentResource.ResourceMetaData.ResourceStorageMode == ResourceStorageMode.StreamResource)
     {
         IStreamDocumentResource streamDocumentResource = documentResource as IStreamDocumentResource;
         LoadFromStream(streamDocumentResource.Stream, otherParams);
     }
 }