#include <childpack.h>
#include <useful.h>
#include "memory.h"

/*-------------------*/
ChildPack ChildPack_create()
{
  ChildPack cp;
  cp=(ChildPack)Memory_allocate(sizeof(struct ChildPack_str));
  cp->Count=0;
  cp->WList=NULL;
  return(cp);
}

/*------------------------*/
void ChildPack_add(cp,W)
ChildPack cp;
Widget    W;
{
  cp->Count++;
  if (cp->Count==1)
    cp->WList=(Widget *)Memory_allocate(sizeof(Widget *));
  else
    cp->WList=(Widget *)safe_realloc(cp->WList,sizeof(Widget *)*cp->Count);
  cp->WList[cp->Count-1]=W;
}

/*-----------------*/
WidgetList ChildPack_get_wlist(cp)
ChildPack cp;
{
  return(cp->WList);
}

/*--------------*/
int ChildPack_get_count(cp)
ChildPack cp;
{
  return(cp->Count);
}
/*-----------------*/
void ChildPack_destroy(cp)
ChildPack cp;
{
  safe_free(cp);
}
