Пример #1
0
        public MainPresenter(IApplicationController controller, IMainView view, IThumbnailConfig configuration, IConfigurationStorage configurationStorage,
                             IThumbnailManager thumbnailManager, IThumbnailDescriptionViewFactory thumbnailDescriptionViewFactory)
            : base(controller, view)
        {
            this._configuration        = configuration;
            this._configurationStorage = configurationStorage;

            this._thumbnailDescriptionViewFactory = thumbnailDescriptionViewFactory;
            this._thumbnailManager = thumbnailManager;

            this._thumbnailDescriptionViews = new Dictionary <IntPtr, IThumbnailDescriptionView>();
            this._exitApplication           = false;

            this.View.FormActivated              = this.Activate;
            this.View.FormMinimized              = this.Minimize;
            this.View.FormCloseRequested         = this.Close;
            this.View.ApplicationSettingsChanged = this.SaveApplicationSettings;
            this.View.ThumbnailsSizeChanged      = this.UpdateThumbnailsSize;
            this.View.ThumbnailStateChanged      = this.UpdateThumbnailState;
            this.View.ForumUrlLinkActivated      = this.OpenForumUrlLink;
            this.View.ApplicationExitRequested   = this.ExitApplication;

            this._thumbnailManager.ThumbnailsAdded      = this.ThumbnailsAdded;
            this._thumbnailManager.ThumbnailsUpdated    = this.ThumbnailsUpdated;
            this._thumbnailManager.ThumbnailsRemoved    = this.ThumbnailsRemoved;
            this._thumbnailManager.ThumbnailSizeChanged = this.ThumbnailSizeChanged;
        }
Пример #2
0
        public AssetFolder(string path, Framework framework, IThumbnailManager thumbnailMgr)
        {
            FullPath = Path.GetFullPath(path);
            Name = Path.GetFileName(FullPath);

            string rootDir = framework.AssetManager.RootPath;

            // Sub folders
            var folders = Directory.GetDirectories(FullPath).ToList();
            folders.RemoveAll((f) => (File.GetAttributes(f) & FileAttributes.Hidden) == FileAttributes.Hidden);

            ChildFolders = new List<AssetFolder>(folders.Count);
            folders.ForEach((f) => ChildFolders.Add(new AssetFolder(f, framework, thumbnailMgr)));

            // Files
            var files = Directory.GetFiles(FullPath);
            Assets = new List<Asset>(files.Length);
            foreach (var file in files)
            {
                string name = FileService.GetRelativePath(rootDir + Path.DirectorySeparatorChar, file);
                var asset = Asset.Create(name, framework, thumbnailMgr);
                if (asset == null)
                    continue;

                Assets.Add(asset);
            }
        }
Пример #3
0
        public Asset(Type assetType, string name, Framework framework, IThumbnailManager thumbnailMgr)
        {
            this.framework = framework;
            this.thumbnailMgr = thumbnailMgr;

            AssetType = assetType;
            Name = name;
            FullPath = this.framework.AssetManager.GetFullPath(name);
            ShortName = this.framework.AssetManager.GetShortName(name);
            ThumbnailPath = Name + ".jpg";

            if (File.Exists(FullPath))
            {
                FileSize = new FileInfo(FullPath).Length;
            }

            Operations = new List<Operation>()
            {
                new Operation() { Name = "Update Thumbnail Image", Command = new DelegateCommand(() => UpdateThumbnail()) }
            };
        }
Пример #4
0
        public static Asset Create(string name, Framework framework, IThumbnailManager thumbnailMgr)
        {
            Type type = framework.AssetManager.GetAssetType(name);
            if (type == null)
                return null;

            string assetTypeName = typeof(Asset).Namespace + "." + type.Name + "Asset";
            Type assetType = Type.GetType(assetTypeName);
            if (assetType == null)
                return null;

            return assetType.Assembly.CreateInstance(assetTypeName, false, BindingFlags.Default, null,
                                                     new object[] { name, framework, thumbnailMgr },
                                                     null, null) as Asset;
        }
 public StartStopServiceHandler(IThumbnailManager manager)
 {
     this._manager = manager;
 }
Пример #6
0
 public ShaderAsset(string name, Framework framework, IThumbnailManager thumbnailMgr)
     : base(typeof(Shader), name, framework, thumbnailMgr)
 {
     this.openCommand = new DelegateCommand(OpenEditor);
     Operations.Add(new Operation() { Name = "Edit Using Shader Editor...", Command = OpenCommand });
 }
Пример #7
0
 public ThumbnailFrameSettingsUpdatedHandler(IThumbnailManager manager)
 {
     this._manager = manager;
 }
Пример #8
0
 public DirectXMeshAsset(string name, Framework framework, IThumbnailManager thumbnailMgr)
     : base(typeof(DirectXMesh), name, framework, thumbnailMgr)
 {
     this.importCommand = new DelegateCommand(ShowImportDialog);
     Operations.Add(new Operation() { Name = "Import...", Command = this.importCommand });
 }
Пример #9
0
 public ThumbnailConfiguredSizeUpdatedHandler(IThumbnailManager manager)
 {
     this._manager = manager;
 }
Пример #10
0
 public FontAsset(string name, Framework framework, IThumbnailManager thumbnailMgr)
     : base(typeof(Font), name, framework, thumbnailMgr)
 {
 }