Code: Select all
VOID VARARGS68K
SAK_SetMenuAttrs(Object *MenuObj,...)
{
va_list VarArgs;
struct TagItem *TagList, *ThisTag;
Object *item=NULL;
va_startlinear(VarArgs,MenuObj);
TagList=(struct TagItem *)va_getlinearva(VarArgs,struct TagItem *);
while((ThisTag=IUtility->NextTagItem(&TagList)))
{
switch(ThisTag->ti_Tag)
{
case MA_ID:
item=(Object *)IIntuition->IDoMethod(MenuObj,MM_FINDID,0,(uint32)ThisTag->ti_Data);
break;
case MA_Label:
if (item)
{
IIntuition->SetAttrs(item,
MA_Label, (STRPTR)ThisTag->ti_Data,
TAG_END);
}
break;
case MA_Disabled:
if (item)
{
IIntuition->SetAttrs(item,
MA_Disabled, (BOOL)ThisTag->ti_Data,
TAG_END);
}
break;
case MA_Selected:
if (item)
{
IIntuition->SetAttrs(item,
MA_Selected, (BOOL)ThisTag->ti_Data,
TAG_END);
}
break;
case MA_UserData:
if (item)
{
IIntuition->SetAttrs(item,
MA_UserData, (uint32)ThisTag->ti_Data,
TAG_END);
}
break;
}
}
va_end(VarArgs);
}
Code: Select all
SAK_SetMenuAttrs(MenuStripObj,
MA_ID, MEN_PANELS_BOOKMARKS,
MA_Label, "New label text",
MA_Disabled, TRUE,
MA_Selected, TRUE,
MA_UserData, 5000,
MA_ID, MEN_PANELS_NAVIGATION,
MA_Label, "New label text again",
MA_Disabled, TRUE,
MA_Selected, TRUE,
MA_UserData, 5001,
TAG_DONE);