/* 系统辅助函数-刷新控制项Dimmed状态 */
void refreshDimmedStat(void){
	int i=0;
	//chooseDataSrcFlag =1, dimmed; =0, enabled.
	int Ctrls[2]={0}; //Object control
	int menuCtrls[5]={0}; //Menu control
	Ctrls[0] = MainPanel_ControlBtn;
	menuCtrls[0] = GetPanelMenuBar(panelHdl);
	menuCtrls[1] = MENUBAR_Menu_Control;
	menuCtrls[2] = MENUBAR_Menu3_View;
	for(i=0; i<sizeof(Ctrls)/sizeof(int); i++){
		if(Ctrls[i] <=0) continue;
		SetCtrlAttribute(panelHdl, Ctrls[i], ATTR_DIMMED, chooseDataSrcFlag);	
	}
	for(i=1; i<sizeof(menuCtrls)/sizeof(int); i++){
		if(menuCtrls[i] <=0 ) continue;
		SetMenuBarAttribute(menuCtrls[0], menuCtrls[i], ATTR_DIMMED, chooseDataSrcFlag);	
	}
	
}
Exemplo n.º 2
0
Arquivo: K213.c Projeto: gaorlov/DAAS
static void k213_UpdateReadings (int panel, void *dev)
{
    gpibioPtr my_dev = dev;
    k213Ptr quadsrc = my_dev->device;
    unsigned short statusbyte;
    char rsp[256];
    int control, dim, bg, mode, m, active_panel, port;

    for (port = 0; port < 4; port++) {
        if (!util_TakingData() || !quadsrc->port[port].src->acqchan->acquire)
            k213_GetPortLevel (port+1, dev);
    }

    if (expG.acqstatus != utilG.acq.status) {
        m = GetPanelMenuBar (panel);
        for (port = 0; port < 4; port++) {
            dim = (util_TakingData() && quadsrc->port[port].src->inlist &&
               (utilG.exp == EXP_SOURCE));

            if (dim) { mode = VAL_INDICATOR; bg = VAL_PANEL_GRAY;}
                else { mode = VAL_HOT; bg = VAL_WHITE;}

            SetCtrlAttribute (quadsrc->port[port].panel, K213PORT_DISPLAY, ATTR_CTRL_MODE, mode);
            SetCtrlAttribute (quadsrc->port[port].panel, K213PORT_DISPLAY, ATTR_TEXT_BGCOLOR, bg);

            SetInputMode (quadsrc->port[port].panel, K213PORT_AUTORANGE, !dim);
            SetInputMode (quadsrc->port[port].panel, K213PORT_RANGE, !dim);
        }
        SetMenuBarAttribute (m, K213MENUS_FILE_LOAD, ATTR_DIMMED, dim);
    }

    k213_CheckforProblems (my_dev);

    active_panel = GetActivePanel();
    control = GetActiveCtrl (active_panel);

    for (port = 0; port < 4; port++) {
        if (util_TakingData() || (control != K213PORT_DISPLAY))
            SetCtrlVal (quadsrc->port[port].panel, K213PORT_DISPLAY, quadsrc->port[port].src->acqchan->reading);
    }
}
Exemplo n.º 3
0
int acquire_GetMenuBar (void)
{
    return GetPanelMenuBar (acqG.p.setup);
}