fox.cpp

来自「语音接口~语音识别 & 从声音识别到对各种情报的查找/提供 资料请求~」· C++ 代码 · 共 651 行 · 第 1/2 页

CPP
651
字号
new FXHorizontalFrame(this, JUSTIFY_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y|PACK_UNIFORM_WIDTH, 0, 0, 0, 0, 4, 4, 4, 4, 0, 0);	FXMatrix *keys = new FXMatrix(buttons, 4, MATRIX_BY_ROWS|LAYOUT_FILL_Y|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH|PACK_UNIFORM_HEIGHT);	digit[1] = new FXButton(keys, "1", NULL, this, ID_1,BUTTON_NORMAL|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_FILL_Y,0, 0, 0, 0, 1, 1, 2, 2);        digit[4] = new FXButton(keys, "4", NULL, this, ID_4,         BUTTON_NORMAL|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_FILL_Y,   0, 0, 0, 0, 1, 1, 2, 2);          digit[7] = new FXButton(keys, "7", NULL, this, ID_7,         BUTTON_NORMAL|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_FILL_Y,   0, 0, 0, 0, 1, 1, 2, 2);          digit[10] = new FXButton(keys, "*", NULL, this, ID_STAR,         BUTTON_NORMAL|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_FILL_Y,   0, 0, 0, 0, 1, 1, 2, 2);         digit[2] = new FXButton(keys, "2", NULL, this, ID_2,BUTTON_NORMAL|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_FILL_Y,0, 0, 0, 0, 1, 1, 2, 2);        digit[5] = new FXButton(keys, "5", NULL, this, ID_5,BUTTON_NORMAL|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_FILL_Y,0, 0, 0, 0, 1, 1, 2, 2);        digit[8] = new FXButton(keys, "8", NULL, this, ID_8,BUTTON_NORMAL|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_FILL_Y,   0, 0, 0, 0, 1, 1, 2, 2);        digit[0] = new FXButton(keys, "0", NULL, this, ID_0,BUTTON_NORMAL|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 1, 1, 2, 2);         digit[3] = new FXButton(keys, "3", NULL, this, ID_3,BUTTON_NORMAL|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_FILL_Y,0, 0, 0, 0, 1, 1, 2, 2);        digit[6] = new FXButton(keys, "6", NULL, this, ID_6,BUTTON_NORMAL|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_FILL_Y,0, 0, 0, 0, 1, 1, 2, 2);        digit[9] = new FXButton(keys, "9", NULL, this, ID_9,BUTTON_NORMAL|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_FILL_Y,   0, 0, 0, 0, 1, 1, 2, 2);        digit[11] = new FXButton(keys, "#", NULL, this, ID_POUND,BUTTON_NORMAL|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_FILL_Y,     0, 0, 0, 0, 1, 1, 2, 2);         FXMatrix *ctrls =new FXMatrix(buttons, 5,MATRIX_BY_ROWS|LAYOUT_FILL_Y|PACK_UNIFORM_WIDTH|PACK_UNIFORM_HEIGHT); 	control[0] = new FXButton(ctrls, "ring", NULL, this, ID_RING,		FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_FILL_Y);        control[1] = new FXButton(ctrls, "wink", NULL, this, ID_WINK,                FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_FILL_Y);            control[2] = new FXButton(ctrls, "stop", NULL, this, ID_STOP,                FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_FILL_Y);           control[3] = new FXButton(ctrls, "drop", NULL, this, ID_DROP,                FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_FILL_Y);           control[4] = new FXButton(ctrls, "down", NULL, this, ID_DOWN,                FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_FILL_Y);           FXVerticalFrame *text =		new FXVerticalFrame(buttons, 	JUSTIFY_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT);		output[0] = new FXTextField(text, 0, this, ID_COMMAND,		TEXTFIELD_READONLY|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y);	output[0]->setBackColor(getBackColor());	output[0]->setText("12345678901234567890");        output[1] = new FXTextField(text, 0, this, ID_COMMAND,                TEXTFIELD_READONLY|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y);        output[1]->setBackColor(getBackColor());        output[1]->setText("ABLE");           output[2] = new FXTextField(text, 0, this, ID_COMMAND,                TEXTFIELD_READONLY|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y);        output[2]->setBackColor(getBackColor());        output[2]->setText("ABLE");           output[3] = new FXTextField(text, 0, this, ID_COMMAND,                TEXTFIELD_READONLY|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y);        output[3]->setBackColor(getBackColor());        output[3]->setText("ABLE");        output[4] = new FXTextField(text, 0, this, ID_COMMAND,                TEXTFIELD_READONLY|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y);        output[4]->setBackColor(getBackColor());        output[4]->setText("ABLE");	command = new FXTextField(status, 8, this, ID_COMMAND, 		FRAME_SUNKEN|JUSTIFY_RIGHT|LAYOUT_RIGHT|LAYOUT_CENTER_Y,0,0,0,0,2,2,1,1); 	command->setBackColor(status->getBackColor());        new FXLabel(status, " Cmd:", NULL, LAYOUT_RIGHT|LAYOUT_CENTER_Y);   	lnum = new FXTextField(status, 4, this, ID_LINE,		FRAME_SUNKEN|JUSTIFY_RIGHT|LAYOUT_RIGHT|LAYOUT_CENTER_Y,0,0,0,0,2,2,1,1);        lnum->setBackColor(status->getBackColor());  		        new FXLabel(status, " Line:", NULL, LAYOUT_RIGHT|LAYOUT_CENTER_Y);                                                     digit[0]->addHotKey(MKUINT(KEY_0, 0));        digit[0]->addHotKey(MKUINT(KEY_KP_0, 0)); 	digit[1]->addHotKey(MKUINT(KEY_1, 0));	digit[1]->addHotKey(MKUINT(KEY_KP_1, 0));        digit[2]->addHotKey(MKUINT(KEY_2, 0));        digit[2]->addHotKey(MKUINT(KEY_KP_2, 0));         digit[3]->addHotKey(MKUINT(KEY_3, 0));        digit[3]->addHotKey(MKUINT(KEY_KP_3, 0)); 	digit[4]->addHotKey(MKUINT(KEY_4, 0));	digit[4]->addHotKey(MKUINT(KEY_KP_4, 0));        digit[5]->addHotKey(MKUINT(KEY_5, 0));        digit[5]->addHotKey(MKUINT(KEY_KP_5, 0));         digit[6]->addHotKey(MKUINT(KEY_6, 0));        digit[6]->addHotKey(MKUINT(KEY_KP_6, 0));         digit[7]->addHotKey(MKUINT(KEY_7, 0));        digit[7]->addHotKey(MKUINT(KEY_KP_7, 0));         digit[8]->addHotKey(MKUINT(KEY_8, 0));        digit[8]->addHotKey(MKUINT(KEY_KP_8, 0));        digit[9]->addHotKey(MKUINT(KEY_9, 0));        digit[9]->addHotKey(MKUINT(KEY_KP_9, 0));  		digit[10]->addHotKey(MKUINT(KEY_asterisk,SHIFTMASK));	digit[10]->addHotKey(MKUINT(KEY_KP_Multiply,0));	digit[11]->addHotKey(MKUINT(KEY_Return, 0));	digit[11]->addHotKey(MKUINT(KEY_numbersign,SHIFTMASK));  getAccelTable()->addAccel(MKUINT(KEY_Q,0),this,FXSEL(SEL_COMMAND,ID_CLOSE));  getAccelTable()->addAccel(MKUINT(KEY_q,0),this,FXSEL(SEL_COMMAND,ID_CLOSE));   getAccelTable()->addAccel(MKUINT(KEY_q,CONTROLMASK),this,FXSEL(SEL_COMMAND,ID_CLOSE));     getAccelTable()->addAccel(MKUINT(KEY_Escape,0),this,FXSEL(SEL_COMMAND, ID_CLOSE)); 	FXColor hilite = makeHiliteColor(digcolor);	FXColor shadow = makeShadowColor(digcolor);	FXuint i = 0;	for(i = 0; i < 12; i++)	{		digit[i]->setBackColor(digcolor);		digit[i]->setHiliteColor(hilite);		digit[i]->setShadowColor(shadow);	}	hilite = makeHiliteColor(ctrcolor);	shadow = makeShadowColor(ctrcolor);	for(i = 0; i < 5; i++)	{				control[i]->setBackColor(ctrcolor);		control[i]->setHiliteColor(hilite);		control[i]->setShadowColor(shadow);	}}void Keypad::onEcho(void){	int i;	for(i = 0; i < 5; ++i)		output[i]->setText(echotext[i]);}		void Keypad::onUpdate(void){	FXStatusLine *sl = status->getStatusLine();	session->enter();	int i;	Line *line = session->getLine();	Name *scr = session->getName();	const char *cp = session->getSymbol("session.digits");	if(!session->getImage())		cp = NULL;	if(cp)	{		char ln[6];		Line *line = session->getLine();		sl->setText(scr->name);		sl->setNormalText(scr->name);		if(line && line->cmd)		{			command->setText(line->cmd);			snprintf(ln, sizeof(ln), "%d", line->lnum);			lnum->setText(ln);		}		else		{			command->setText("eof");			lnum->setText("-");		}		if(!active)		{				echoline = 0;			active = true;				control[0]->disable();			control[1]->enable();			control[2]->enable();			control[3]->enable();			for(i = 0; i < 5; ++i)				output[i]->setText("");		}		last = line;		display->setText(cp);	}	else if(active)	{		last = NULL;		active = false;		control[0]->enable();                control[1]->disable();                control[2]->disable();                 control[3]->disable(); 		sl->setNormalText("Ready.");		sl->setText("-idle-");		sl->update();		display->setText("");		lnum->setText(" ");		command->setText(" ");	}	session->leave();}long Keypad::onDown(FXObject *sender, FXSelector sel, void *){#ifdef	WIN32	ExitProcess(0);#else	keypad->close();#endif	return 1;}long Keypad::onStop(FXObject *sender, FXSelector sel, void *p){        Event event;        memset(&event, 0, sizeof(event));        event.id = STOP_SCRIPT;        session->queEvent(&event);	return 1;}long Keypad::onDrop(FXObject *sender, FXSelector sel, void *p){        Event event;        memset(&event, 0, sizeof(event));        event.id = LINE_DISCONNECT;        session->queEvent(&event);	return 1;}long Keypad::onWink(FXObject *sender, FXSelector sel, void *p){	Event event;	memset(&event, 0, sizeof(event));	event.id = LINE_WINK;	session->queEvent(&event);	return 1;}		long Keypad::onRing(FXObject *sender, FXSelector sel, void *p){	Event event;		if(session->isIdle())	{		memset(&event, 0, sizeof(event));		event.id = RING_ON;		session->queEvent(&event);		Thread::sleep(100);		event.id = RING_OFF;		session->queEvent(&event);		}		return 1;}long Keypad::onDigit(FXObject *sender, FXSelector sel, void *p){	Event event;	memset(&event, 0, sizeof(event));	event.id = DTMF_KEYUP;	event.dtmf.duration = 60;	event.dtmf.digit = FXSELID(sel) - ID_0;	session->queEvent(&event);	return 1;}void Keypad::create(){	FXMainWindow::create();	show();}FXbool Keypad::close(FXbool notify){	return FXMainWindow::close(notify);}Keypad::~Keypad(){}} // namespace#endif

⌨️ 快捷键说明

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