示例#1
0
        public override void Execute(object parameter)
        {
            XmlSchemaTranslator translator = new XmlSchemaTranslator();
            string schema = translator.Translate((PSMDiagram)ActiveDiagramView.Diagram);

            XMLSchemaWindow.Show(MainWindow.dockManager, (PSMDiagram)ActiveDiagramView.Diagram, schema, translator.Log);
        }
示例#2
0
        public override void Execute(object parameter)
        {
            // todo: uncomment the next statement to run a test
            //Test(); return;

            PSMDiagram diagram = (PSMDiagram)ActiveDiagramView.Diagram;

            if (diagram.Roots.Count < 1)
            {
                MessageBox.Show("PSM diagram is empty. Nothing to translate.", "XCase Warning");
                return;
            }

            // show dialog starting translation
            StartTranslation st = new StartTranslation();
            DialogResult     dr = st.ShowDialog();

            if (dr != DialogResult.OK)
            {
                return;
            }

            Configuration config = new Configuration();

            if (!st.isDefConfigChecked())
            {
                config.Load(st.getConfigFileName());
            }

            if (config == null)
            {
                return;
            }

            // get short name of current project
            string projectName = getProjectName();

            // call XML Schema translation
            XmlSchemaTranslator translator = new XmlSchemaTranslator(config, projectName);
            string resultMessage           = translator.Translate(diagram);

            if (resultMessage.Equals("ok"))
            {
                // get results and display them in nice window
                Dictionary <string, string> schemas = translator.getResults();
                XMLSchemaWindow.Show(MainWindow.dockManager, (PSMDiagram)ActiveDiagramView.Diagram, schemas, translator.Log);
            }
        }