public static MenuItemProvider menuProviderFactory(MenuItem menuItem) { MenuItemProvider result; switch (menuItem.itemType) { case ItemType.filesystemMenuProvider: result = new menuProviderImpl.FilesystemMenuProvider (menuItem); break; case ItemType.noteMenuProvider: result = new menuProviderImpl.NotesMenuProvider (menuItem); break; case ItemType.xmlMenuProvider: result = new menuProviderImpl.XmlMenuProvider (menuItem); break; case ItemType.fsRecurciveMenuProvider: result = new menuProviderImpl.FilesystemRecursiveMenuProvider (menuItem); break; case ItemType.pipeMenuProvider: result = new menuProviderImpl.PipeMenuProvider (menuItem); break; case ItemType.simplepipeMenuProvider: result = new menuProviderImpl.SimplePipeMenuProvider (menuItem); break; default: throw new InvalidDataException ("Invalid type of menu provider: " + menuItem.itemType); } return result; }
public MenuItem(string caption, ItemTarget itemTarget, ItemType itemType, string cmd, string param, string directory, MenuItem menuUp) { this.caption = caption; this.itemType = itemType; this.itemTarget = itemTarget; this.cmd = cmd; this.param = param; this.directory = directory; this.menuUp = menuUp; }
public static void expandMacros(MenuItem lMenuItem, MenuItem parentMenuItem) { if (lMenuItem == null) throw new ArgumentNullException ("lMenuItem"); if (parentMenuItem == null) throw new ArgumentNullException ("ParentMenuItem"); lMenuItem.caption = Tools.replaceConfig (lMenuItem.caption, parentMenuItem); lMenuItem.cmd = Tools.replaceConfig (lMenuItem.cmd, parentMenuItem); lMenuItem.directory = Tools.replaceConfig (lMenuItem.directory, parentMenuItem); lMenuItem.param = Tools.replaceConfig (lMenuItem.param, parentMenuItem); }
public static string replaceConfig(string src, MenuItem parent) { string result = src; if (!String.IsNullOrWhiteSpace (src)) { result = result.Replace ("%CONFIGDIR%", Tools.configDirName ()); result = result.Replace ("%CAPTION%", parent.caption); result = result.Replace ("%PARAM%", parent.param); result = result.Replace ("%CMD%", parent.cmd); result = result.Replace ("%DIR%", parent.directory); if (File.Exists (parent.cmd)) { result = result.Replace ("%EXT%", Path.GetExtension (parent.cmd)); result = result.Replace ("%FNAME%", Path.GetFileNameWithoutExtension (parent.cmd)); } } return result; }
public FsHookItem(string aPattern, MenuItem aMenuItem) { this.pattern = aPattern; this.menuItem = aMenuItem; }