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); }
public ImagesViewModel(ModelsEx models) { this.models = models; import = new ImportDialogController(models); models.Images.PropertyChanged += ImagesOnPropertyChanged; versionString = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(3); }
public ImportDialog(ImportDialogController controller, Window parent) : base("import.ui", "import_dialog") { Controller = controller; BuildUI(parent); ResetPreview(); LoadPreferences(); ScanSources(); ConnectEvents(); }
private async void LoadStartupArgsAsync() { var import = new ImportDialogController(models); foreach (var arg in App.StartupArgs) { await import.ImportImageAsync(arg); } }
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); } } } }
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); } }
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); } }
public ImportCommand(ModelsEx models) { this.models = models; importDialog = new ImportDialogController(models); }
public OpenCommand(ModelsEx models) { this.models = models; this.import = new ImportDialogController(models); }