⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fl_inputio.cpp

📁 rtai-3.1-test3的源代码(Real-Time Application Interface )
💻 CPP
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <efltk/Fl.h>#include <efltk/Fl_Main_Window.h>#include <efltk/Fl_Input.h>#include <efltk/Fl_Menu_Bar.h>#include <efltk/Fl_Choice.h>#include <efltk/Fl_Tabs.h>#include <efltk/Fl_Dialog.h>#include "def_const.h"#include "xgenconfig.h"extern int n_inp;extern Device * inpDev;extern Fl_Tabs ** IO_Tabs;extern char * inputIO[][N_PARAMS];static Fl_Input * P[N_PARAMS-1];static Fl_Dialog *dlg;void create_inp_dlg(int type,int port){  int i=0;  int j;  dlg = new Fl_Dialog(300,300,"Parameters");  dlg->new_group("default");  for(j=0;j<N_PARAMS-1;j++) {    if(inputIO[type][j+1][0]!='-') {      P[j] = new Fl_Input(20,30+25*i,150,20,inputIO[type][j+1]);      P[j]->align(FL_ALIGN_RIGHT);      P[j]->value(inpDev[port].p[j]);      i++;    }  }  dlg->end();  dlg->buttons(FL_DLG_OK|FL_DLG_CANCEL,FL_DLG_OK);}void open_inp_dialog(int nType, int nPort){  Fl_Dialog& dialog = *dlg;  int i;  switch (dialog.show_modal()) {  case FL_DLG_OK:    inpDev[nPort].nType = nType;    inpDev[nPort].sType = inputIO[nType][0];    inpDev[nPort].dir = "inp";    for(i=0;i<N_PARAMS-1;i++){      if(inputIO[nType][i+1][0]!='-') inpDev[nPort].p[i] = P[i]->value();    }    break;  case FL_DLG_CANCEL:    break;  }}void inp_choice_cb(Fl_Choice* c,long w) {  int io_type = c->value();  int io_num = (int) w;  create_inp_dlg(io_type,io_num);  open_inp_dialog(io_type,io_num);  delete(dlg);}void init_device_inp(int i){  inpDev[i].nType = 0;  inpDev[i].sType = inputIO[0][0];  inpDev[i].dir = "inp";  inpDev[i].p[0] = "1";  inpDev[i].p[1] = "0";  inpDev[i].p[2] = "0";  inpDev[i].p[3] = "1";  inpDev[i].p[4] = "1";  inpDev[i].p[5] = "0";  inpDev[i].p[6] = "0";  inpDev[i].p[7] = "0";}void gen_inputs(Fl_Window * w){  int i,j;  Fl_Choice * c;  { Fl_Tabs *o = IO_Tabs[0] = new Fl_Tabs(0, 30, (SIZE_X/2)-3, SIZE_Y);  o->new_page("Inputs");  for(i=0;i<n_inp;i++){    c = new Fl_Choice(20,30+25*i,150,20);    for(j=0;j<N_INPUT;j++){      c->add(inputIO[j][0]);      c->callback((Fl_Callback*)inp_choice_cb);      c->user_data((void*)i);      c->value(inpDev[i].nType);    }  }  o->end();  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -