static void menuItemEdited(struct WEditMenuDelegate *delegate, WEditMenu *menu, WEditMenuItem *item) { _Panel *panel = (_Panel*)delegate->data; WEditMenu *submenu; updateFrameTitle(panel, WGetEditMenuItemTitle(item), panel->currentType); submenu = WGetEditMenuSubmenu(menu, item); if (submenu) { WSetEditMenuTitle(submenu, WGetEditMenuItemTitle(item)); } }
static void menuItemEdited(struct WEditMenuDelegate *delegate, WEditMenu * menu, WEditMenuItem * item) { _Panel *panel = (_Panel *) delegate->data; WEditMenu *submenu; /* Parameter not used, but tell the compiler it is ok */ (void) menu; updateFrameTitle(panel, WGetEditMenuItemTitle(item), panel->currentType); submenu = WGetEditMenuSubmenu(item); if (submenu) { WSetEditMenuTitle(submenu, WGetEditMenuItemTitle(item)); } }
static WMPropList *processSubmenu(WEditMenu * menu) { WEditMenuItem *item; WMPropList *pmenu; WMPropList *pl; char *s; int i; s = WGetEditMenuTitle(menu); pl = WMCreatePLString(s); pmenu = WMCreatePLArray(pl, NULL); i = 0; while ((item = WGetEditMenuItem(menu, i++))) { WEditMenu *submenu; s = WGetEditMenuItemTitle(item); submenu = WGetEditMenuSubmenu(item); if (submenu) { pl = processSubmenu(submenu); } else { pl = processData(s, WGetEditMenuItemData(item)); } if (!pl) continue; WMAddToPLArray(pmenu, pl); } return pmenu; }
static void menuItemSelected(WEditMenuDelegate * delegate, WEditMenu * menu, WEditMenuItem * item) { ItemData *data = WGetEditMenuItemData(item); _Panel *panel = (_Panel *) delegate->data; /* Parameter not used, but tell the compiler that it is ok */ (void) menu; panel->currentItem = item; if (data) { changeInfoType(panel, WGetEditMenuItemTitle(item), data->type); switch (data->type) { case NoInfo: break; case ExecInfo: WMSetTextFieldText(panel->commandT, data->param.exec.command); WMSetTextFieldText(panel->shortT, data->param.exec.shortcut); break; case CommandInfo: WMSelectListItem(panel->icommandL, data->param.command.command); WMSetListPosition(panel->icommandL, data->param.command.command - 2); WMSetTextFieldText(panel->shortT, data->param.command.shortcut); switch (data->param.command.command) { case 3: case 4: WMSetButtonSelected(panel->quickB, data->param.command.parameter != NULL); break; case 6: WMSetTextFieldText(panel->paramT, data->param.command.parameter); break; } icommandLClicked(panel->icommandL, panel); break; case PipeInfo: WMSetTextFieldText(panel->pipeT, data->param.pipe.command); WMSetButtonSelected(panel->pipeCacheB, data->param.pipe.cached); break; case PLPipeInfo: WMSetTextFieldText(panel->plpipeT, data->param.pipe.command); WMSetButtonSelected(panel->plpipeCacheB, data->param.pipe.cached); break; case ExternalInfo: WMSetTextFieldText(panel->pathT, data->param.external.path); break; case DirectoryInfo: WMSetTextFieldText(panel->dpathT, data->param.directory.directory); WMSetTextFieldText(panel->dcommandT, data->param.directory.command); WMSetButtonSelected(panel->dstripB, data->param.directory.stripExt); break; case WSMenuInfo: break; default: break; } } }