public JobSubmissionForm(ILabsRequestHandler labsRequestHandler, IMaxRequestHandler maxRequestHandler, IMaxLogger logger) { _logger = logger; _labsRequestHandler = labsRequestHandler; _maxRequestHandler = maxRequestHandler; InitializeComponent(); DataContext = this; SetWindowColor(); SetControlColors(); Templates = TemplateHelper.GetApplicationTemplates(logger); SelectedTemplate = TemplateHelper.TemplateStandard; Renderers = new ObservableCollection <KeyValuePair <string, string> >(); Renderers.AddRange(TemplateHelper.GetRenderers(TemplateHelper.TemplateStandard)); // todo: read this from the scene SelectedRenderer = GetSelectedRenderer(TemplateHelper.TemplateStandard); MissingAssets = new ObservableCollection <IAssetFile>(); MissingAssets.CollectionChanged += OnMissingCollectionChanged; MissingSpinnerVisibility = Visibility.Collapsed; AssetDirectories = new ObservableCollection <AssetFolder>(); AssetDirectories.CollectionChanged += OnDirectoryCollectionChanged; AssetSpinnerVisibility = Visibility.Collapsed; // only load assets if we have a current scene if (HasSceneFile) { _logger.Debug($"Current renrder is set to: '{_maxRequestHandler.CurrentRenderer}'"); _maxFileFolderPath = Path.GetDirectoryName(_maxRequestHandler.CurrentSceneFilePath); AssetDirectories.Add(new AssetFolder(_maxFileFolderPath, true)); SceneFile.Text = _maxRequestHandler.CurrentSceneFileName; JobId.Text = Utils.ContainerizeMaxFile(SceneFile.Text); FrameWidth.Text = _maxRequestHandler.RenderWidth.ToString(); FrameHeight.Text = _maxRequestHandler.RenderHeight.ToString(); SetAssetCollection(); } else { SetButtonState(false); Status.Text = "No scene loaded, unable to submit a job."; RenderTemplates.IsEnabled = false; RendererType.IsEnabled = false; } }
public ColorPalette(IMaxRequestHandler maxRequestHandler, IMaxLogger logger) { InitializeComponent(); DataContext = this; Brushes = new ObservableCollection <MaxColorBrush>(); var uiColors = maxRequestHandler.GetAllColorBrushes(); foreach (Tuple <string, Brush> color in uiColors) { logger.Debug($"case GuiColors.{color.Item1}: return ColorTranslator.FromHtml(\"{ color.Item2.ToString()}\");"); Brushes.Add(new MaxColorBrush(color.Item1, color.Item2)); } }