示例#1
0
        public void ExecuteApp(HubCrawlApp app)
        {
            String   directory   = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            String   loadDllPath = String.Format(@"{0}\{1}", directory, app.FilePath);
            Assembly ass         = Assembly.LoadFile(loadDllPath);

            foreach (Type t in ass.GetExportedTypes())
            {
                if (t.BaseType == typeof(HubCrawl.WPF.AppCluster))
                {
                    HubCrawl.WPF.AppCluster cluster = (HubCrawl.WPF.AppCluster)t.InvokeMember(null,
                                                                                              BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic |
                                                                                              BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null);
                    ExecuteApp(cluster);

                    break;
                }
                else if (t.BaseType == typeof(HubCrawl.Winform.AppCluster))
                {
                    HubCrawl.Winform.AppCluster cluster = (HubCrawl.Winform.AppCluster)t.InvokeMember(null,
                                                                                                      BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic |
                                                                                                      BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null);
                    ExecuteApp(cluster, AppType.Winform);
                    break;
                }
                else if (t.BaseType == typeof(HubCrawl.Browser.AppCluster))
                {
                    HubCrawl.Browser.AppCluster cluster = (HubCrawl.Browser.AppCluster)t.InvokeMember(null,
                                                                                                      BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic |
                                                                                                      BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null);
                    ExecuteApp(cluster, AppType.Browser);
                    break;
                }
            }
        }
示例#2
0
 protected void ExecuteApp(HubCrawlApp app)
 {
     if (AppExecuter != null)
     {
         AppExecuter.ExecuteApp(app);
     }
     else
     {
         System.Windows.MessageBox.Show("Executer is Null");
     }
 }
示例#3
0
        public override System.Windows.DataTemplate SelectTemplate(object item, System.Windows.DependencyObject container)
        {
            FrameworkElement element = container as FrameworkElement;

            if (element != null && item != null && item is HubCrawlApp)
            {
                HubCrawlApp appItem = item as HubCrawlApp;
                switch (appItem.TileType)
                {
                case HubCrawl.Core.Apps.HubCrawlAppTileType.Single:
                    return(element.FindResource("SingleHubCrawlApp") as DataTemplate);

                case HubCrawl.Core.Apps.HubCrawlAppTileType.Double:
                    return(element.FindResource("DoubleHubCrawlApp") as DataTemplate);

                case HubCrawl.Core.Apps.HubCrawlAppTileType.Quadruple:
                    return(element.FindResource("QuadrupleHubCrawlApp") as DataTemplate);

                default:
                    break;
                }
            }
            return(base.SelectTemplate(item, container));
        }
示例#4
0
 public HubCrawlAppEventArgs(HubCrawlApp app = null)
 {
     this.App = app;
 }