Something like this (fill in the blanks):
struct ClassLibrary *PicFlowLib=NULL;
Class *PicFlowClass=NULL;
struct List *pictures=NULL;
struct Node *node=NULL;
Object *picgad=NULL;
pictures=(struct List *)IExec->AllocSysObjectTags(ASOT_LIST,TAG_DONE);
if (pictures!=NULL)
{
node=(struct Node *)IExec->AllocSysObjectTags(ASOT_NODE,ASONODE_Min,FALSE,ASONODE_Size,sizeof(struct Node),TAG_DONE);
if (node!=0)
{
node->ln_Name=IUtility->ASPrintf("Work:Pictures/Picture1.iff");
IExec->AddTail(pictures,node);
}
node=(struct Node *)IExec->AllocSysObjectTags(ASOT_NODE,ASONODE_Min,FALSE,ASONODE_Size,sizeof(struct Node),TAG_DONE);
if (node!=0)
{
node->ln_Name=IUtility->ASPrintf("Work:Pictures/Picture2.iff");
IExec->AddTail(pictures,node);
}
node=(struct Node *)IExec->AllocSysObjectTags(ASOT_NODE,ASONODE_Min,FALSE,ASONODE_Size,sizeof(struct Node),TAG_DONE);
if (node!=0)
{
node->ln_Name=IUtility->ASPrintf("Work:Pictures/Picture3.iff");
IExec->AddTail(pictures,node);
}
}
PicFlowLib=IIntuition->OpenClass("gadgets/picflow.gadget",0,&PicFlowClass);
WINDOW_Layout,VLayoutObject,
LAYOUT_AddChild,picgad=(Object *)IIntuition->NewObject(PicFlowClass,NULL,
GA_ID,0,
GA_RelVerify,TRUE,
TAG_DONE),
End;
IIntuition->SetGadgetAttrs((struct Gadget *)picgad,MyWindow,0,
PICFLOW_ListType,PICFLOW_LIST_TYPE_FILES,
PICFLOW_PictureList,pictures,
PICFLOW_CurrentPicture,0,
PICFLOW_PosOfCurrent,PICFLOW_CURRPOS_LEFT,
TAG_DONE); |