public CompleteOutputDescription(CompleteOutputDescription toClone) { generalShadingDesc = new GeneralShadingDesc(toClone.GeneralShadingDesc); generalLightingDesc = new GeneralLightingDesc(toClone.GeneralLightingDesc); atomShadingDesc = new AtomShadingDesc(toClone.AtomShadingDesc); bondShadingDesc = new BondShadingDesc(toClone.BondShadingDesc); //structuresShadingDesc = new GeneralStructuresShadingDesc(toClone.GeneralStructuresShadingDesc); schemeSettings = (MoleculeSchemeSettings)toClone.schemeSettings.Clone(); }
private void AddSchemes(MoleculeSchemeSettings[] schemes) { string base_path = (string)settings["Base.Path"]; availableSchemes = new Scheme[schemes.Length]; for (int scheme=0; scheme < schemes.Length; scheme++) { // create scheme instance availableSchemes[scheme] = new Scheme(); availableSchemes[scheme].settings = schemes[scheme]; availableSchemes[scheme].scheme = schemes[scheme].GetScheme(refDevice); availableSchemes[scheme].sUI = schemes[scheme].GetSUI(); if (availableSchemes[scheme].sUI != null) availableSchemes[scheme].sUI.SetChangeEvent(thislock, new EventHandler<SchemeSUIChangeHandler>(OnSettingsChanged)); // compare requirements to adapter capabilities availableSchemes[scheme].compatibility = outCaps.CheckCapabilities(availableSchemes[scheme].scheme.DeviceRequirements); bool available = availableSchemes[scheme].available = (availableSchemes[scheme].compatibility.NumFails == 0); // look for preview image string previewImgPath = base_path + @"Media\UI\previews\schemes\" + availableSchemes[scheme].scheme.Name + ".jpg"; if (File.Exists(previewImgPath)) availableSchemes[scheme].previewImage = WriteNameText(ApplyBorder(Image.FromFile(previewImgPath), available), availableSchemes[scheme].scheme.Name, false); else if (available) availableSchemes[scheme].previewImage = WriteNameText(previewNotAvailableAvailable, availableSchemes[scheme].scheme.Name, true); else availableSchemes[scheme].previewImage = WriteNameText(previewNotAvailableUnavailable, availableSchemes[scheme].scheme.Name, true); // add to list ButtonBarItem button = new ButtonBarItem(); button.Image = availableSchemes[scheme].previewImage; button.ToolTipText = availableSchemes[scheme].scheme.Name; uiSchemesList.Groups[0].Items.Add(button); } }