
/** value.c ***********************************/
/*                                            */
/* Copyright © 1988 by Digital Artists (DgA). */
/* All Rights reserved.                       */
/*                                            */
/**********************************************/

/*
Firma   : Digital Artists (DgA)
Objekt  : reederei/value.c
Version : 1.0
Autor   : [RK]
Datum   : 09-04-1988
Status  : geheim
*/

#include <exec/types.h>
#include <intuition/intuition.h>

extern struct IntuiMessage *GetMsg();
extern struct Window *Window;
extern struct TextAttr font[2];
extern USHORT *box2;

UBYTE number[7];
UBYTE UNDOBuffer[7];

USHORT vpts[2][18] =
 {
  {0,0,75,0},
  {0,0,299,0,299,79,1,79,1,0,298,0,298,79,0,79,0,0}
 };

struct IntuiText vggtxt[4] =
 {
  {11,0,JAM2,-40,-18,&font[0],"Wieviel Tonnen ?",NULL},
  {11,0,JAM2,-40,-18,&font[0],"Wieviel Aktien ?",NULL},
  {1,13,JAM2,17,2,&font[0],"Zurück",NULL},
  {1,13,JAM2,5,2,&font[0],"Maximum",NULL}
 };

struct Image vggim =
 {-2,-1,96,15,4,NULL,0xf,0x0,NULL};

struct Border vggbo[2] =
 {
  {-3,10,13,0,JAM2,2,&vpts[0][0],NULL},
  {-3,11,15,0,JAM2,2,&vpts[0][0],&vggbo[0]}
 };

struct StringInfo vggsi =
 {&number[0],&UNDOBuffer,0,7,0,0,0,0,0,0,NULL,0L,NULL};

struct Gadget vgg[3] =
 {
  {&vgg[1],112,30,70,13,GADGHCOMP,RELVERIFY|LONGINT,STRGADGET|REQGADGET,&vggbo[1],NULL,NULL,0L,&vggsi,1,NULL},
  {&vgg[2],15,60,92,13,GADGIMAGE|GADGHNONE,GADGIMMEDIATE,BOOLGADGET|REQGADGET,&vggim,NULL,&vggtxt[2],0L,NULL,2,NULL},
  {NULL,190,60,92,13,GADGIMAGE|GADGHNONE,GADGIMMEDIATE,BOOLGADGET|REQGADGET,&vggim,NULL,&vggtxt[3],0L,NULL,3,NULL}
 };

struct Border vbo =
 {0,0,13,0,JAM2,9,&vpts[1][0],NULL};

struct Requester value =
 {NULL,170,60,300,80,0,0,&vgg[0],&vbo,NULL,0,0,NULL,NULL,NULL,NULL,NULL};

GetValue(mode,max)
int mode;
int max;
 {
  struct IntuiMessage *vmsg;
  BOOL choosen = FALSE;

  number[0] = '\0';

  if (mode == 0)
   vgg[0].GadgetText = &vggtxt[0];
  else
   vgg[0].GadgetText = &vggtxt[1];

  vggim.ImageData = box2;

  Request(&value,Window);

  while (!(choosen))
   {
    while((vmsg=(struct IntuiMessage *)GetMsg(Window->UserPort))==NULL);
    ReplyMsg(vmsg);

    if ((vmsg->Class == GADGETUP) && (vmsg->IAddress->GadgetID == 1))
     {
      choosen = TRUE;
     }
    if (vmsg->Class == GADGETDOWN)
     {
      if (vmsg->IAddress->GadgetID == 2)
       {
        vggsi.LongInt = 0;
        choosen = TRUE;
       }
      else if (vmsg->IAddress->GadgetID == 3)
       {
        vggsi.LongInt = max;
        choosen = TRUE;
       }
     }
   }
  EndRequest(&value,Window);

  return(vggsi.LongInt);
 }
