using System; using System.Windows.Forms; using ChemAxon.NET.Base.View; using ChemAxon.NET.Base.Chemistry.Data; using ChemAxon.NET.Base.Chemistry.Formats; using ChemAxon.NET.Windows.Forms.MarvinViewControl; using ChemAxon.NET.Windows.Forms.MarvinEditorControl; using ChemAxon.NET.API; namespace _2013_Developer_training { public class ShowMarvinSketch { public static void DisplayMolecule() { var benzeneData = new MoleculeData("[O-]C1=CC=CC=C1", MoleculeFormat.SMILES); var benzeneMolecule = MainFactory.Chemistry.CreateMolecule(benzeneData); //////////////////////////////////////////////////// // viewer var viewer = new MarvinViewControl(); viewer.Molecule = "C1=CC=CC=C1"; ShowMoleculeControl(viewer, "Viewer Control with Molecule string"); viewer = new MarvinViewControl(); viewer.MoleculeData = benzeneData; ShowMoleculeControl(viewer, "Viewer Control with Molecule Data"); viewer = new MarvinViewControl(); viewer.MoleculeObject = benzeneMolecule.Transformations.AddHAtoms(); ShowMoleculeControl(viewer, "Viewer Control with Molecule Object"); // actions, context menu, resize, readonly mode new MarvinViewControlTester().ShowDialog(); } public static void EditMolecule() { var benzeneData = new MoleculeData("[O-]C1=CC=CC=C1", MoleculeFormat.SMILES); var benzeneMolecule = MainFactory.Chemistry.CreateMolecule(benzeneData); ///////////////////////////////////////////////////////// // editor var editor = new MarvinEditorControl(); editor.Molecule = "C1=CC=CC=C1"; editor.MoleculeFormat = MoleculeFormat.SMILES.GetDescription().CodeName; ShowMoleculeControl(editor, "Editor Control with Molecule string"); editor = new MarvinEditorControl(); editor.MoleculeData = benzeneData; ShowMoleculeControl(editor, "Editor Control with Molecule Data"); editor = new MarvinEditorControl(); editor.MoleculeObject = benzeneMolecule.Transformations.AddHAtoms(); ShowMoleculeControl(editor, "Editor Control with Molecule Object"); } public static void ShowEditorDialog() { var benzeneData = new MoleculeData("[O-]C1=CC=CC=C1", MoleculeFormat.SMILES); ////////////////////////////////////////////////////////////// // sketcher form IMoleculeEditorView view = new MarvinSketchForm(); view.MoleculeData = benzeneData; if (view.ShowAsDialog() == DialogResponse.OK) { Console.WriteLine("Molecule has been amended ..."); } else { Console.WriteLine("Editing cancelled ..."); } } private static void ShowMoleculeControl(Control c, string title) { var frm = new Form(); frm.Text = title; frm.Controls.Add(c); c.Dock = DockStyle.Fill; frm.ShowDialog(); } } }