/// <summary> /// 启动模块,由模块管理器启动模块 /// <param name="FullClassName">插件全名</param> /// <param name="Parameters">插件初始化参数,一般为空</param> /// </summary> public static IModule ModuleLaunch(string FullClassName, params object[] Parameters) { IModuleManager manager = LemonEnvironment.GetInstance().ModuleManager; IModule m = manager.LaunchModule(FullClassName, Parameters); return(m); }
/// <summary> /// 查找指定名称的模块 /// </summary> /// <returns></returns> public static IModule ModuleFind(string FullClassName) { IModuleManager manager = LemonEnvironment.GetInstance().ModuleManager; IModule m = manager.FindRunningModule(FullClassName); return(m); }
/// <summary> /// 开始的模块 /// 这里需要重写 /// </summary> protected virtual void BeginModule() { this.WatingProgram.ShowDialog(); foreach (string dmname in LemonEnvironment.GetInstance().BeginModules) { IModule module = Lemon.ModuleLaunch(dmname); if (module == null) { this.WatingProgram.CloseDialog(); Lemon.SendMsgError("默认启动模块创建失败"); return; } //SetActive moduleInitialize = new SetActive(module.Initialize); //this.Invoke(moduleInitialize); } //while (!this.IsHandleCreated) ; //module.Initialize(); this.WatingProgram.CloseDialog(); DelgLemonMainTread objSet = delegate(string str) { Thread t1 = new Thread(new ParameterizedThreadStart(Thread1)); object[] pas1 = { 500 }; t1.IsBackground = true; t1.Start(pas1); }; this.Invoke(objSet, new object[] { "" }); }
/// <summary> /// 判断指定的调用者上是否存在参数的动作 /// </summary> /// <param name="InvokeObject"></param> /// <param name="ActionName"></param> /// <param name="InvokeProcessor"></param> /// <returns></returns> public static bool HasAction(object InvokeObject, string ActionName, ActionType Type, Delegate InvokeProcessor) { bool result = LemonEnvironment.GetInstance().ActionsManager.HasAction(ActionName, Type, InvokeObject, InvokeProcessor, null); return(result); }
protected virtual void ShowdownModule() { foreach (string dmname in LemonEnvironment.GetInstance().ShowdownModules) { IModule module = Lemon.ModuleLaunch(dmname); } }
/// <summary> /// 创建并获取指定泛型类型的对象的动态代理实例,该实例在切向捕捉对象控制范围内 /// </summary> /// <param name="FullClassName"></param> /// <param name="AssemblyPath"></param> /// <param name="Parameters">参数</param> /// <returns></returns> public static T GetInstance <T>(string AssemblyPath, string FullClassName, params object[] Parameters) { T result = default(T); ClassDrive cdiv = new ClassDrive(); try { if (LemonEnvironment.GetInstance().UseProxy) { result = cdiv.ProxyInstance <T>(FullClassName, AssemblyPath, Parameters); } else { result = cdiv.Instance <T>(AssemblyPath, FullClassName, Parameters); } } catch { string str = "创建对象实例失败。 AssemblyPath:" + AssemblyPath + " FullClassName:" + FullClassName; MessageObject newmsg = new MessageObject(MessageType.Error); newmsg.Message = str; MessageFactory.GetMegBus().Send(newmsg); } return(result); }
/// <summary> /// 获取连接字符串 /// </summary> /// <returns></returns> public string GetConnectString() { ILemonEnvironment config = LemonEnvironment.GetInstance(); return(config.BllConfig.GetConfig <ILemonEnvironment>().DatabaseConn); //return ""; }
///// <summary> ///// 对参数窗体进行基本样式设置, 置顶窗口 ///// </summary> ///// <param name="TargetForm"></param> //public static void SetFormDefaultStyleTopMost(Form TargetForm) //{ // TargetForm.WindowState = FormWindowState.Normal; // TargetForm.FormBorderStyle = FormBorderStyle.FixedDialog; // TargetForm.TopMost = true; // TargetForm.ShowIcon = false; // TargetForm.ShowInTaskbar = false; // TargetForm.MaximizeBox = false; // TargetForm.MinimizeBox = false; // TargetForm.Dock = DockStyle.None; //} ///// <summary> ///// 对参数窗体进行基本样式设置,使其融入框架风格 ///// </summary> ///// <param name="TargetForm"></param> //public static void SetFormDefaultStyle(Form TargetForm) //{ // TargetForm.Invoke(new SetWindow(FormDefaultStyle),TargetForm); //} ///// <summary> ///// ///// </summary> ///// <param name="TargetForm"></param> //private static void FormDefaultStyle(Form TargetForm) //{ // TargetForm.WindowState = FormWindowState.Normal; // TargetForm.FormBorderStyle = FormBorderStyle.FixedDialog; // TargetForm.TopMost = true; // TargetForm.ShowIcon = false; // TargetForm.ShowInTaskbar = false; // TargetForm.MdiParent = (Form)Lemon.GetMainForm(); // TargetForm.MaximizeBox = false; // TargetForm.MinimizeBox = false; // TargetForm.Dock = DockStyle.None; //} /// <summary> /// 设置框架的布局 /// </summary> /// <param name="LayoutName"></param> public static void SetLayout(string LayoutName) { if (LemonEnvironment.GetInstance().UIManager != null) { LemonEnvironment.GetInstance().UIManager.SetLayout(LayoutName); } }
/// <summary> /// 框架版本 /// </summary> protected virtual void LemonadeVersion() { this.listBox2.Items.Clear(); ILemonEnvironment envir = LemonEnvironment.GetInstance(); Dictionary <string, string> asmdic = new Dictionary <string, string>(); this.SetValue(envir.ActionsManager, ref asmdic); this.SetValue(envir.CSFMain, ref asmdic); this.SetValue(envir.Guardian, ref asmdic); this.SetValue(envir.MenuItemFactory, ref asmdic); this.SetValue(envir.ModuleHandles, ref asmdic); this.SetValue(envir.ModuleManager, ref asmdic); this.SetValue(envir.SwapPool, ref asmdic); this.SetValue(envir.ToolsBarManager, ref asmdic); this.SetValue(envir.UIManager, ref asmdic); //foreach (ModuleInfo info in Lemon.ModuleInfos) //{ // string name = envir.ActionsManager.GetType().Name; // string version = envir.ActionsManager.GetType().Assembly.GetName().Version.ToString(); // if (!asmdic.ContainsKey(name)) // { // asmdic.Add(name, version); // } //} foreach (string kname in asmdic.Keys) { this.listBox2.Items.Add(kname + " " + asmdic[kname].ToString()); } }
/// <summary> /// 设置窗体工具栏 /// </summary> /// <returns></returns> public static void SetWindowToolsBar(Form TargetForm) { Tools.IToolsBarManager manager = LemonEnvironment.GetInstance().ToolsBarManager; if (manager != null) { manager.CreateToolsBarToForm(TargetForm); } }
/// <summary> /// 创建系统配置 /// </summary> public virtual ILemonEnvironment DeployConfig() { ILemonEnvironment sysconfig = LemonEnvironment.GetInstance(); Lemonade.Frame.BLL.IConfigFactory configsetup = new Lemonade.Frame.BLL.ConfigFactory(AppDomain.CurrentDomain.BaseDirectory + "\\config\\", sysconfig, this.displayFrm); configsetup.Processing(); return(sysconfig); }
/// <summary> /// 获取分组工具栏项 /// </summary> /// <returns></returns> public static List <IToolsItem> GetGroupToolsItem(string GroupName) { Tools.IToolsBarManager manager = LemonEnvironment.GetInstance().ToolsBarManager; if (manager != null) { return(manager.GetGroupItem(GroupName)); } return(null); }
/// <summary> /// 获取分组工具栏项 /// </summary> /// <returns></returns> public static List <IToolsItem> GetToolsItem() { Tools.IToolsBarManager manager = LemonEnvironment.GetInstance().ToolsBarManager; if (manager != null) { return(manager.GetItemAll()); } return(null); }
/// <summary> /// 使用框架动作管理器向调用者添加动作,自动响应内置的动作处理机制,注册后自动激活动作 /// </summary> /// <param name="InvokeObject">调用者</param> /// <param name="ActionName">动作名称</param> /// <param name="Type">动作类型</param> /// <param name="InvokeProcessor">处理者</param> /// <param name="Performer">在动作注销时执行的委托</param> public static bool ActionAppend(object InvokeObject, string ActionName, ActionType Type, Delegate InvokeProcessor, ActionPerformer Performer = null) { bool isCup = LemonEnvironment.GetInstance().ActionsManager.CreateAction(ActionName, Type, InvokeObject, InvokeProcessor, Performer); if (isCup) { Lemon.ActionActivate(InvokeObject); } return(isCup); }
/// <summary> /// 获取当前的布局 /// </summary> /// <returns></returns> public static ILayout GetLayoutCurrent() { if (LemonEnvironment.GetInstance().UIManager != null) { return(LemonEnvironment.GetInstance().UIManager.GetLayout(LemonEnvironment.GetInstance().UIManager.CurrentLayoutName)); } else { return(null); } }
/// <summary> /// 获取当前框架运行的界面布局名称 /// </summary> /// <returns></returns> public static string GetCurrentLayoutName() { if (LemonEnvironment.GetInstance().UIManager != null) { return(LemonEnvironment.GetInstance().UIManager.CurrentLayoutName); } else { return(""); } }
/// <summary> /// 获取框架的界面管理器,设置窗体的样式,这是框架对所有窗体设置的入口方法 /// </summary> /// <returns></returns> public static bool SetLayoutWindowStyle(Form TargetWindow) { if (LemonEnvironment.GetInstance().UIManager != null) { return(LemonEnvironment.GetInstance().UIManager.SetLayoutWindow(TargetWindow)); } else { Lemon.SendMsgError("UI管理器没有正常实例化,框架无法设置窗体样式。"); return(false); } }
/// <summary> /// 获取具备工具栏配置的窗体名称列表 /// </summary> /// <returns></returns> public static List <string> GetToolsBarFormName() { Tools.IToolsBarManager manager = LemonEnvironment.GetInstance().ToolsBarManager; if (manager != null) { return(manager.ParentFormNames); } else { return(null); } }
/// <summary> /// 根据类全名查找交换池中的对象实例 /// </summary> public static List <ISwap> SwapFindObjects(string FullClassName) { List <ISwap> result = null; result = LemonEnvironment.GetInstance().SwapPool.FindSwaps(FullClassName); //if (result != null) //{ // if (swap.PackageObject != null) // { // result = swap.PackageObject; // } //} return(result); }
/// <summary> /// 根据类全名查找交换池中的对象实例 /// </summary> public static object SwapFindObject(string FullClassName) { object result = null; ISwap swap = LemonEnvironment.GetInstance().SwapPool.FindSwap(FullClassName); if (swap != null) { if (swap.PackageObject != null) { result = swap.PackageObject; } } return(result); }
/// <summary> /// 根据自定义交换匹配实例查找交换池中的对象实例 /// </summary> public static object SwapFindObject(ISwapMatch Match) { object result = null; ISwap swap = LemonEnvironment.GetInstance().SwapPool.FindSwap(Match); if (swap != null) { if (swap.PackageObject != null) { result = swap.PackageObject; } } return(result); }
/// <summary> /// 添加数据交换对象,同时添加自定义关键字 /// </summary> public static int SwapAppend(object Obj, params object[] CustomKey) { List <object> ck = new List <object>(); if (CustomKey != null) { foreach (object s in CustomKey) { ck.Add(s); } } ISwap swap = LemonEnvironment.GetInstance().SwapPool.CreateSwap(Obj, ck); return(LemonEnvironment.GetInstance().SwapPool.AddSwapping(swap)); }
/// <summary> /// 开始的模块 /// 这里需要重写 /// </summary> protected virtual void BeginModule() { this.WatingProgram.ShowDialog(); foreach (string dmname in LemonEnvironment.GetInstance().BeginModules) { IModule module = Lemon.ModuleLaunch(dmname); if (module == null) { this.WatingProgram.CloseDialog(); Lemon.SendMsgError("默认启动模块创建失败"); return; } //SetActive moduleInitialize = new SetActive(module.Initialize); //this.Invoke(moduleInitialize); } //while (!this.IsHandleCreated) ; //module.Initialize(); this.WatingProgram.CloseDialog(); }
/// <summary> /// 根据类全名查找交换池中的对象实例 /// <param name="IsMulti">是否查询多个</param> /// <param name="Keys">任意多个参数,待查询对象的关键字必须完全包含该参数</param> /// </summary> public static List <object> SwapFindObject(bool IsMulti, params object[] Keys) { List <object> result = new List <object>(); if (Keys == null) { return(null); } if (IsMulti) { List <ISwap> swaps = LemonEnvironment.GetInstance().SwapPool.FindSwaps(Keys.ToList()); if (swaps != null) { foreach (ISwap swap in swaps) { if (swap != null) { if (swap.PackageObject != null) { result.Add(swap.PackageObject); } } } } } else { ISwap swap = LemonEnvironment.GetInstance().SwapPool.FindSwap(Keys.ToList()); if (swap != null) { if (swap.PackageObject != null) { result.Add(swap.PackageObject); } } } return(result); }
/// <summary> /// 创建并获取指定泛型类型的对象的动态代理实例,使该实例在切向捕捉对象控制范围内 /// </summary> /// <param name="InitType"></param> /// <param name="Parameters">参数</param> /// <returns></returns> public static T GetInstance <T>(Type InitType, params object[] Parameters) { T result = default(T); ClassDrive cdiv = new ClassDrive(); try { if (LemonEnvironment.GetInstance().UseProxy) { result = cdiv.ProxyInstance <T>(InitType, Parameters); } else { result = cdiv.Instance <T>(InitType, Parameters); } } catch { string str = "创建对象实例失败。 " + InitType.ToString(); MessageObject newmsg = new MessageObject(MessageType.Error); newmsg.Message = str; MessageFactory.GetMegBus().Send(newmsg); } return(result); }
/// <summary> /// 根据关键字查找 /// <param name="Keys">任意多个参数,待查询对象的关键字必须完全包含该参数</param> /// </summary> public static T SwapFindOneObject <T>(params object[] Keys) { T result = default(T); if (Keys == null) { return(result); } else { ISwap swap = LemonEnvironment.GetInstance().SwapPool.FindSwap(Keys.ToList()); if (swap != null) { if (swap.PackageObject != null) { if (swap.PackageObject.GetObjTypeFromProxy() == typeof(T)) { result = (T)swap.PackageObject; } } } } return(result); }
/// <summary> /// 根据一个异常标示符获取系统自定义异常信息 /// </summary> /// <param name="SourceExceptionMessage"></param> /// <returns></returns> public static string SystemCustomException(string SourceExceptionMessage) { return(LemonEnvironment.GetInstance().ExDefine.GetCustomException(SourceExceptionMessage)); }
/// <summary> /// 设置是否使用aop /// </summary> /// <param name="Use"></param> public static void SetEnviUseProxy(bool Use) { LemonEnvironment.GetInstance().UseProxy = Use; }
/// <summary> /// 获取当前可以控制的窗体名称 /// </summary> /// <returns></returns> public static List <string> GetLayoutForms() { return(LemonEnvironment.GetInstance().UIManager.GetControlleds); }
/// <summary> /// 移除模块 /// </summary> /// <param name="Module"></param> public static void ModuleRemove(IModule Module) { IModuleManager manager = LemonEnvironment.GetInstance().ModuleManager; manager.TurnOffModule(Module.ModuleName); }