home *** CD-ROM | disk | FTP | other *** search
- /* GadTools layout toolkit
- **
- ** Copyright © 1993-1995 by Olaf `Olsen' Barthel
- ** Freely distributable.
- */
-
- #include "gtlayout_global.h"
-
- struct Gadget * __regargs
- LTP_CreateIncrementer(LayoutHandle *handle,ObjectNode *parentNode,struct Gadget *parentGadget,struct NewGadget *ng,BOOLEAN leftDirection,LONG incAmount)
- {
- ObjectNode *node;
- struct Gadget *incer;
-
- if(node = LTP_CreateObjectNode(handle,INCREMENTER_KIND,parentGadget -> GadgetID,NULL))
- {
- ng -> ng_LeftEdge = ng -> ng_LeftEdge + ng -> ng_Width;
- ng -> ng_Width = 4 + handle -> GlyphWidth + 4;
- ng -> ng_GadgetText = "";
- ng -> ng_UserData = node;
- ng -> ng_Flags = NULL;
-
- node -> Special . Incrementer . Amount = incAmount;
-
- node -> Special . Incrementer . Image = NewObject(LTP_ImageClass,NULL,
- IIA_ImageType, leftDirection ? IMAGECLASS_LEFTINCREMENTER : IMAGECLASS_RIGHTINCREMENTER,
- IA_Width, ng -> ng_Width,
- IA_Height, ng -> ng_Height,
- TAG_DONE);
-
- if(node -> Special . Incrementer . Image)
- {
- if(incer = CreateGadgetA(GENERIC_KIND,handle -> Previous,ng,NULL))
- {
- incer -> GadgetType |= GTYP_BOOLGADGET;
- incer -> Flags |= GFLG_GADGIMAGE | GFLG_GADGHIMAGE;
- incer -> Activation |= GACT_IMMEDIATE | GACT_RELVERIFY;
- incer -> GadgetRender = node -> Special . Incrementer . Image;
- incer -> SelectRender = node -> Special . Incrementer . Image;
-
- if(parentNode -> Disabled)
- incer -> Flags |= GFLG_DISABLED;
-
- node -> Host = incer;
-
- node -> Special . Incrementer . Parent = parentGadget;
-
- return(incer);
- }
- else
- LTP_DeleteObjectNode(handle,node);
- }
- }
-
- return(NULL);
- }
-