Ejemplo n.º 1
0
 public ImportArrayViewModel(ModelsEx models)
 {
     this.models        = models;
     this.CancelCommand = new ActionCommand(Cancel);
     this.ImportCommand = new ActionCommand(Import);
     this.ApplyCommand  = new ApplyCommandImpl(models, this);
     importDialog       = new ImportDialogController(models);
 }
Ejemplo n.º 2
0
        public ImagesViewModel(ModelsEx models)
        {
            this.models = models;
            import      = new ImportDialogController(models);
            models.Images.PropertyChanged += ImagesOnPropertyChanged;

            versionString = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(3);
        }
Ejemplo n.º 3
0
 public ImportDialog(ImportDialogController controller, Window parent) : base("import.ui", "import_dialog")
 {
     Controller = controller;
     BuildUI(parent);
     ResetPreview();
     LoadPreferences();
     ScanSources();
     ConnectEvents();
 }
Ejemplo n.º 4
0
        private async void LoadStartupArgsAsync()
        {
            var import = new ImportDialogController(models);

            foreach (var arg in App.StartupArgs)
            {
                await import.ImportImageAsync(arg);
            }
        }
Ejemplo n.º 5
0
        public async Task ApplyToModels(ModelsEx models)
        {
            // clear images
            if (ImportMode == ViewerConfig.ImportMode.Replace)
            {
                models.Images.Clear();
            }

            var import       = new ImportDialogController(models);
            var layerMipmaps = new LayerMipmapCount(NumLayers, NumMipmaps);
            var imgSize      = new Size3(Width, Height, Depth);

            // add images from config
            foreach (var img in Images)
            {
                if (img.Data == null)
                {
                    await import.ImportImageAsync(img.Filename, img.Alias);
                }
                else
                {
                    Debug.Assert(img.Format != null);
                    var fmt = new ImageFormat(img.Format.Value);

                    // load base 64 bytes
                    var bytes = System.Convert.FromBase64String(img.Data);
                    bytes = Compression.Decompress(bytes);
                    var      bi  = new ByteImageData(bytes, layerMipmaps, imgSize, fmt);
                    ITexture tex = null;
                    if (bi.Is3D)
                    {
                        tex = new Texture3D(bi);
                    }
                    else
                    {
                        tex = new TextureArray2D(bi);
                    }

                    try
                    {
                        models.Images.AddImage(tex, false, img.Filename, fmt.GliFormat, img.Alias);
                    }
                    catch (Exception e)
                    {
                        tex?.Dispose();
                        models.Window.ShowErrorDialog(e);
                    }
                }
            }
        }
Ejemplo n.º 6
0
        public MainWindow()
        {
            InitializeComponent();

            try
            {
                models    = new ModelsEx(this);
                ViewModel = new ViewModels.ViewModels(models);
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
                MessageBox.Show(exception.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                Close();
                return;
            }

            DataContext = ViewModel;
            Width       = models.Settings.WindowWidth;
            Height      = models.Settings.WindowHeight;
            if (models.Settings.IsMaximized)
            {
                WindowState = WindowState.Maximized;
            }

            // handle startup arguments
            if (App.StartupArgs.Length == 0)
            {
                return;
            }

            var import = new ImportDialogController(models);

            foreach (var arg in App.StartupArgs)
            {
                import.ImportImage(arg);
            }
        }
Ejemplo n.º 7
0
 private async void LoadStartupArgsAsync()
 {
     try
     {
         var import = new ImportDialogController(models);
         foreach (var arg in App.StartupArgs)
         {
             if (arg.EndsWith(".icfg"))
             {
                 var cfg = ViewerConfig.LoadFromFile(arg);
                 await cfg.ApplyToModels(models);
             }
             else
             {
                 await import.ImportImageAsync(arg);
             }
         }
     }
     catch (Exception e)
     {
         models.Window.ShowErrorDialog(e);
     }
 }
Ejemplo n.º 8
0
 public ImportCommand(ModelsEx models)
 {
     this.models  = models;
     importDialog = new ImportDialogController(models);
 }
Ejemplo n.º 9
0
 public OpenCommand(ModelsEx models)
 {
     this.models = models;
     this.import = new ImportDialogController(models);
 }