#include <WScom.h>
#include <WSCfunctionList.h>
#include <WSCbase.h>
#include <WSCvlabel.h>
//----------------------------------------------------------
//Function for the event procedure
//----------------------------------------------------------

//표시라벨의 외부접근선언
extern WSCvlabel* newvlab_001;

void numbtnep(WSCbase* object){
  //do something...
  //수자단추의 WSNlabelString 속성에서 수자를 꺼낸다.
  WSCvariant val = object->getProperty(WSNlabelString);
 
  //수자를 표시라벨에 표시한다.
  //직절의 입력이 수자인가를 반단
  long numpushed = (long)newvlab_001->getUserData("num-input");

  //입력이 소수로 되여있느가를 반단
  long dotpushed = (long)newvlab_001->getUserData("dot-input");

  //지금현재의 WSNlabelString 를 취득한다.
  WSCvariant val2 = newvlab_001->getProperty(WSNlabelString);

  //표시문자열의 문자수가 긴 경우는 CANCEL
  if (strlen((char*)val2) > 13){
    return;
  }

  //수자인 경우 수자를 추가
  if (numpushed == 1){ 
    double value = val2;
    if (value == (double)0){
      WSCstring tmp;
      if (dotpushed == 1){
        tmp << "0." << val;
      }else{
        tmp << val;
      }
      newvlab_001->setProperty(WSNlabelString,(char*)tmp);
    }else{
      WSCstring tmp = val2;
      if (dotpushed == 1){
        if (tmp.isExist(".") == -1){
          tmp << ".";
        }
      }
      tmp << val;
      newvlab_001->setProperty(WSNlabelString,(char*)tmp);
    }
  }else{
    WSCstring tmp;
    if (dotpushed == 1){
      tmp << "0.";
    }
    tmp << val;
    newvlab_001->setProperty(WSNlabelString,tmp);
  }
  //수자단추를 누른것을 기억한다.
  newvlab_001->setUserData("num-input",(void*)1);


}
static WSCfunctionRegister  op("numbtnep",(void*)numbtnep);
