pvbrowser manual
Back Content Forward

slot программирование

Здесь рассмотрены слоты для простейшего использования кнопок и текстовых меток. Если нажимать на "pushButton2", число кликов будет отображаться на "textLabel1". Если нажимать на "pushButton1", то будет вызываться mask1, т.к. программа возвратится к циклу в "pvMain".

typedef struct // (todo: define your data structure here)
{
  int click; // number of clicks
}
DATA;

static int slotInit(PARAM *p, DATA *d)
{
  if(p == NULL || d == NULL) return -1;
  memset(d,0,sizeof(DATA));
  return 0;
}

static int slotButtonEvent(PARAM *p, int id, DATA *d)
{
  if(p == NULL || id == 0 || d == NULL) return -1;
  if(id == pushButton1)
  {
    return 1; // call mask 1
  }
  if(id == pushButton2)
  {
    pvPrintf(p,textLabel1,"click %d",d->click++);
  }

  return 0;
}

Back Content Forward