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();
 }
예제 #2
0
        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);
            }
        }