Beispiel #1
0
        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;
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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;
 }