/// <summary> /// Resgiser appointed module /// </summary> /// <param name="module"></param> public static void Register(IPWModule module, params object[] args) { if (module == null) { _log.Error("Module is not null."); return; } if (_modules.ContainsKey(module.ModuleName)) { _log.WarnFormat("Could not add [{0}] to the registered list. Repeat entry in modules?", module.ModuleName); return; } _modules.Add(module.ModuleName, module); _log.InfoFormat("Registered module:[{0},{1}]", module.ModuleName, module.GetType().FullName); try { InitModule(module); } catch (Exception ex) { _log.Error("Module :[" + module.ModuleName + "] initialize fail.", ex); } }
private static void InitModule(IPWModule module) { module.InitModule(); module.IsInitialized = true; if (!module.IsBackgroud) { Control control = module.GetControl(); if (control != null) { //moduleControl.Dock = DockStyle.Fill; _controls.Add(module.ModuleName, control); } } }
private static void LoadModule(string moduleName, object[] args, IPWModule module) { if (_currentModuleControl != module) { _currentModuleControl = module; module.IsOnScreen = true; module.ModuleShowing(args); } if (_controls.ContainsKey(moduleName)) { var moduleCtrl = module as Control; _controlPanel.Controls.Add(moduleCtrl); _controls[moduleName].Dock = DockStyle.Fill; } module.ModuleShown(args); }
public static void LoadModule(string moduleName, object[] args) { try { IPWModule targetModule = null; _modules.TryGetValue(moduleName, out targetModule); if (_currentModuleControl != null) { if (targetModule != _currentModuleControl) { _currentModuleControl.IsOnScreen = false; _currentModuleControl.ModuleClosed(); _controlPanel.Controls.Clear(); } } if (targetModule != null) { LoadModule(moduleName, args, targetModule); } else if (_moduleInfos.ContainsKey(moduleName)) { ModuleInfo info = _moduleInfos[moduleName]; IPWModule module = info.Module; Register(module, info.Args); LoadModule(moduleName, args, module); _moduleInfos.Remove(moduleName); } else { _log.ErrorFormat("Invalid module:[{0}]", moduleName); } } catch (Exception ex) { _log.Error("Module :[" + moduleName + "] show fail.", ex); } }
public static void Register(IPWModule module) { Register(module, null); }