/******************************************************************************
 **
 **	C++ Class Library for the Amiga© system software.
 **
 **	Copyright (C) 1994 by Armin Vogt  **  EMail: armin@uni-paderborn.de
 **	All Rights Reserved.
 **
 **	$Source: apphome:APlusPlus/RCS/libsource/StdGadget.cxx,v $
 **	$Revision: 1.3 $
 **	$Date: 1994/04/23 21:02:33 $
 **	$Author: Armin_Vogt $
 **
 ******************************************************************************/


extern "C" {
#ifdef __GNUG__
#include <inline/intuition.h>
#endif

#ifdef __SASC
#include <proto/intuition.h>
#endif

#include <intuition/intuition.h>
}
#include <APlusPlus/intuition/StdGadget.h>


volatile static char rcs_id[] = "$Id: StdGadget.cxx,v 1.3 1994/04/23 21:02:33 Armin_Vogt Exp Armin_Vogt $";


StdGadget::StdGadget(GOB_OWNER, UWORD flags,UWORD activation,UWORD gadgetType,
                        APTR gadgetRender,APTR selectRender,struct IntuiText *gadgetText,
                        LONG mutualExclude,APTR specialInfo,UWORD gadgetID,AttrList& attrs)
	: GadgetCV(gob_owner,attrs)							
{
   gadget.Flags      = flags;
   gadget.Activation = activation;
   gadget.GadgetType = gadgetType;
   gadget.GadgetRender  = gadgetRender;
   gadget.SelectRender  = selectRender;
   gadget.GadgetText    = gadgetText;
   gadget.MutualExclude = mutualExclude;
   gadget.SpecialInfo   = specialInfo;
   gadget.GadgetID      = gadgetID;

   storeGadget(&gadget);

   setIOType(IOTYPE_STDGADGET);
}


APTR StdGadget::redrawSelf(GWindow *homeWindow,ULONG& returnType)
{
   gadget.LeftEdge   = (WORD)iLeft();
   gadget.TopEdge    = (WORD)iTop();
   gadget.Width      = (WORD) iWidth();
   gadget.Height     = (WORD)iHeight();

   gadget.NextGadget = NULL;     // clear the link

	GadgetCV::redrawSelf(homeWindow,returnType);
	
   returnType = IOTYPE_STDGADGET;	
   return gadgetPtr();
}

ULONG StdGadget::setAttributes(AttrList& attrs)
{
	return GadgetCV::setAttributes(attrs);
}

ULONG StdGadget::getAttribute(Tag tag,ULONG& dataStore)
{
	return GadgetCV::getAttribute(tag,dataStore);
}
