public void ShowViewModel(VDView view)
        {
            m_selectedWidget = view;

            setToolWindowTitle(string.Format("View Model - {0} [{1}]", view.WidgetName, view.WidgetType.ToString()));

            if (this.Window != null)
            {
                ModelToolWindowForm.ViewModelHandler.Show(view);
            }
        }
        internal static void savePathToView(Guid propGuid, string path, VDView view, string viewPath)
        {
            if (!string.IsNullOrEmpty(viewPath))
            {
                path = Utility.PathHelper.GetRelativePath(path, viewPath);
            }

            using (var trans = view.Store.TransactionManager.BeginTransaction("Update code generation settings"))
            {
                view.settings[propGuid] = path;
                trans.Commit();
            }
        }
        private string m_rootViewFilePath = null; //file path of current *.amvd file
        public void InitializeForm(List <string> generatorAssemblyList, VDView rootView, string rootViweFilePath)
        {
            m_rootView         = rootView;
            m_rootViewFilePath = rootViweFilePath;

            this.lvGeneratorList.Items.Clear();

            foreach (string assemPath in generatorAssemblyList)
            {
                try
                {
                    Assembly assGenerator = Assembly.LoadFrom(assemPath);
                    if (assGenerator == null)
                    {
                        continue;
                    }

                    foreach (Type t in assGenerator.GetTypes())
                    {
                        if (t.GetInterface("ICodeGeneratorProvider") == null)
                        {
                            continue;
                        }

                        ICodeGeneratorProvider gp = Activator.CreateInstance(t) as ICodeGeneratorProvider;
                        if (gp == null)
                        {
                            continue;
                        }

                        List <ICodeGeneratorController> generatorList = gp.GetGeneratorList();
                        foreach (ICodeGeneratorController ctrl in generatorList)
                        {
                            // add an item in the All Generators list view
                            ListViewItem item = new ListViewItem(new string[] { "", ctrl.Name, Path.GetFileName(assemPath), Path.GetDirectoryName(assemPath), ctrl.Description });
                            item.Checked = true;
                            saveGeneratorControllerToItemTag(item, ctrl);
                            this.lvGeneratorList.Items.Add(item);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Logger logger = new Logger(m_provider);
                    logger.LogError(ex);
                }
            }
        }
        internal static string getPathFromView(Guid propGuid, VDView view, string viewPath)
        {
            string path = string.Empty;

            if (view.settings.ContainsKey(propGuid))
            {
                path = (string)view.settings[propGuid];
            }

            if (!string.IsNullOrEmpty(viewPath))
            {
                path = Utility.PathHelper.GetAbsolutePath(path, viewPath);
            }

            return(path);
        }
        public void OnGenerateCode(VDView view, string viewPath)
        {
            ////////VDModelStore modelStore = view.ModelStore;
            ////////if (modelStore == null) return;

            ////////// generate code
            ////////CSModelGenerator generator = new CSModelGenerator(view);
            ////////string csModelCode = generator.TransformText();
            ////////if (string.IsNullOrEmpty(csModelCode)) return;

            ////////// save file
            ////////string filePath = SettingsHelper.getViewPathFromView(view, viewPath);
            ////////filePath = System.IO.Path.Combine(filePath, view.WidgetName + "_models.cs");
            ////////using (System.IO.StreamWriter w = new System.IO.StreamWriter(filePath))
            ////////{
            ////////    w.Write(csModelCode);
            ////////}
        }
        public void OnGenerateCode(VDView view, string viewPath)
        {
            ////////VDModelStore modelStore = view.ModelStore;
            ////////if (modelStore == null) return;

            ////////// generate code
            ////////CSModelGenerator generator = new CSModelGenerator(view);
            ////////string csModelCode = generator.TransformText();
            ////////if (string.IsNullOrEmpty(csModelCode)) return;

            ////////// save file
            ////////string filePath = SettingsHelper.getViewPathFromView(view, viewPath);
            ////////filePath = System.IO.Path.Combine(filePath, view.WidgetName + "_models.cs");
            ////////using (System.IO.StreamWriter w = new System.IO.StreamWriter(filePath))
            ////////{
            ////////    w.Write(csModelCode);
            ////////}
        }
Example #7
0
        protected override void Load(string fileName, bool isReload)
        {
            base.Load(fileName, isReload);

            VDView view = this.RootElement as VDView;

            if (view != null)
            {
                if (view.ModelStore == null)
                {
                    view.ModelStore = new VDModelStore(this.Store);
                    initModelTypeList(view.ModelStore);
                }

                if (view.WidgetInfoManager == null)
                {
                    //todo: read from options
                    view.WidgetInfoManager = new WidgetInfoManager();
                }
            }
        }
        public void InitializeForm(List<string> generatorAssemblyList, VDView rootView, string rootViweFilePath)
        {
            m_rootView = rootView;
            m_rootViewFilePath = rootViweFilePath;

            this.lvGeneratorList.Items.Clear();

            foreach (string assemPath in generatorAssemblyList)
            {
                try
                {
                    Assembly assGenerator = Assembly.LoadFrom(assemPath);
                    if (assGenerator == null) continue;

                    foreach (Type t in assGenerator.GetTypes())
                    {
                        if (t.GetInterface("ICodeGeneratorProvider") == null) continue;

                        ICodeGeneratorProvider gp = Activator.CreateInstance(t) as ICodeGeneratorProvider;
                        if (gp == null) continue;

                        List<ICodeGeneratorController> generatorList = gp.GetGeneratorList();
                        foreach (ICodeGeneratorController ctrl in generatorList)
                        {
                            // add an item in the All Generators list view
                            ListViewItem item = new ListViewItem(new string[] { "", ctrl.Name, Path.GetFileName(assemPath), Path.GetDirectoryName(assemPath), ctrl.Description });
                            item.Checked = true;
                            saveGeneratorControllerToItemTag(item, ctrl);
                            this.lvGeneratorList.Items.Add(item);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Logger logger = new Logger(m_provider);
                    logger.LogError(ex);
                }
            }
        }
        public void OnGenerateCode(VDView view, string viewPath)
        {
            List <VDView> rootWidgets = new List <VDView>();

            rootWidgets.Add(view);
            rootWidgets.AddRange(view.GetChildren <VDView>());

            //IWidgetTreeWalkerFactory walkerFactory = new LayoutWalkerFactory();
            IWidgetTreeWalkerFactory walkerFactory    = new WidgetTreeWalkerFactory();
            ICodeGeneratorFactory    generatorFactory = new RazorCodeGeneratorFactory();

            foreach (VDView v in rootWidgets)
            {
                string filePath = SettingsHelper.getViewPathFromView(v, viewPath);
                filePath = System.IO.Path.Combine(filePath, v.WidgetName + ".cshtml");
                string razorCode = generatorFactory.GetCodeGenerator(v).GenerateCode(generatorFactory, walkerFactory);
                using (System.IO.StreamWriter w = new System.IO.StreamWriter(filePath))
                {
                    w.Write(razorCode);
                }
            }
        }
        internal static void savePathToView(Guid propGuid, string path, VDView view, string viewPath)
        {
            if (!string.IsNullOrEmpty(viewPath))
                path = Utility.PathHelper.GetRelativePath(path, viewPath);

            using (var trans = view.Store.TransactionManager.BeginTransaction("Update code generation settings"))
            {
                view.settings[propGuid] = path;
                trans.Commit();
            }
        }
 internal static void saveCSModelPathToView(string path, VDView view, string viewPath)
 {
     savePathToView(SettingsHelper.GENERATED_CS_MODEL_PATH, path, view, viewPath);
 }
 internal static string getViewPathFromView(VDView view, string viewPath)
 {
     return getPathFromView(SettingsHelper.GENERATED_VIEW_PATH, view, viewPath);
 }
        internal static string getPathFromView(Guid propGuid, VDView view, string viewPath)
        {
            string path = string.Empty;
            if (view.settings.ContainsKey(propGuid))
                path = (string)view.settings[propGuid];

            if (!string.IsNullOrEmpty(viewPath))
                path = Utility.PathHelper.GetAbsolutePath(path, viewPath);

            return path;
        }
 internal static string getCSModelPathFromView(VDView view, string viewPath)
 {
     return getPathFromView(SettingsHelper.GENERATED_CS_MODEL_PATH, view, viewPath);
 }
 internal static string getCSModelPathFromView(VDView view, string viewPath)
 {
     return(getPathFromView(SettingsHelper.GENERATED_CS_MODEL_PATH, view, viewPath));
 }
        public void OnGenerateCode(VDView view, string viewPath)
        {
            List<VDView> rootWidgets = new List<VDView>();
            rootWidgets.Add(view);
            rootWidgets.AddRange(view.GetChildren<VDView>());

            //IWidgetTreeWalkerFactory walkerFactory = new LayoutWalkerFactory();
            IWidgetTreeWalkerFactory walkerFactory = new WidgetTreeWalkerFactory();
            ICodeGeneratorFactory generatorFactory = new RazorCodeGeneratorFactory();
            foreach(VDView v in rootWidgets)
            {
                string filePath = SettingsHelper.getViewPathFromView(v, viewPath);
                filePath = System.IO.Path.Combine(filePath, v.WidgetName + ".cshtml");
                string razorCode = generatorFactory.GetCodeGenerator(v).GenerateCode(generatorFactory, walkerFactory);
                using (System.IO.StreamWriter w = new System.IO.StreamWriter(filePath))
                {
                    w.Write(razorCode);
                }
            }
        }
        public void ShowViewModel(VDView view)
        {
            m_selectedWidget = view;

            setToolWindowTitle(string.Format("View Model - {0} [{1}]", view.WidgetName, view.WidgetType.ToString()));

            if (this.Window != null)
            {
                ModelToolWindowForm.ViewModelHandler.Show(view);
            }
        }
 internal static string getViewPathFromView(VDView view, string viewPath)
 {
     return(getPathFromView(SettingsHelper.GENERATED_VIEW_PATH, view, viewPath));
 }
 public void OnSaveSettings(VDView rootView, string rootViewPath)
 {
 }
 public void OnLoadSettings(VDView rootView, string rootViewPath)
 {
     this.internalSettingControl.initTreeView(rootView, rootViewPath);
 }
 internal static void saveViewPathToView(string path, VDView view, string viewPath)
 {
     savePathToView(SettingsHelper.GENERATED_VIEW_PATH, path, view, viewPath);
 }
 internal static void saveViewPathToView(string path, VDView view, string viewPath)
 {
     savePathToView(SettingsHelper.GENERATED_VIEW_PATH, path, view, viewPath);
 }
 public void OnLoadSettings(VDView rootView, string rootViewPath)
 {
     this.internalSettingControl.initTreeView(rootView, rootViewPath);
 }
 public void OnGenerateCode(VDView view, string viewPath)
 {
 }
 public void OnSaveSettings(VDView rootView, string rootViewPath)
 {
 }
Example #26
0
 public CodeGenerationSettings(VDView rootView, string rootViewPath)
 {
     InitializeComponent();
     m_rootView     = rootView;
     m_rootViewPath = rootViewPath;
 }
 internal static void saveCSModelPathToView(string path, VDView view, string viewPath)
 {
     savePathToView(SettingsHelper.GENERATED_CS_MODEL_PATH, path, view, viewPath);
 }
 public CodeGenerationSettings(VDView rootView, string rootViewPath)
 {
     InitializeComponent();
     m_rootView = rootView;
     m_rootViewPath = rootViewPath;
 }
 public void OnGenerateCode(VDView view, string viewPath)
 {
 }