www.pudn.com > phone_mips.rar > MyWidget.cpp


/*  Copyright ADBON.  All rights reserved.
 *  file MyWidget.cpp is software of phone program;
 *  author Bing Ning.
 *  See http://www.adbon.com.cn
 */

//qt include
#include
#include
#include
#include
#include

//system include
#include
#include
#include
#include
#include
#include
#include
#include
#include

//my include
#include"MyWidget.h"
//#include"MyCom.h"

static int fdcom;
static int send_flag = 0;
const QString ATD = "ATD";
const QString AT1 = ";\r";
QString phone_buf;
//QCString phone_buffer;
//int i;
//QByteArray buffer;


MyWidget::MyWidget(QWidget *parent, const char *name):QWidget(parent, name)
{
	setMinimumSize(100, 220);
	setMaximumSize(100, 220);

	
	QPushButton *button_1 = new QPushButton("1", this, "button_1");
	button_1->setGeometry(10, 80, 25, 25);
	button_1->setFont(QFont("Times", 18, QFont::Bold));
	
	QPushButton *button_2 = new QPushButton("2", this, "button_2");
	button_2->setGeometry(40, 80, 25, 25);
	button_2->setFont(QFont("Times", 18, QFont::Bold));
	
	QPushButton *button_3 = new QPushButton("3", this, "button_3");
	button_3->setGeometry(70, 80, 25, 25);
	button_3->setFont(QFont("Times", 18, QFont::Bold));
	
	QPushButton *button_4 = new QPushButton("4", this, "button_4");
	button_4->setGeometry(10, 115, 25, 25);
	button_4->setFont(QFont("Times", 18, QFont::Bold));
	
	QPushButton *button_5 = new QPushButton("5", this, "button_5");
	button_5->setGeometry(38, 115, 25, 25);
	button_5->setFont(QFont("Times", 18, QFont::Bold));
	
	QPushButton *button_6 = new QPushButton("6", this, "button_6");
	button_6->setGeometry(68, 115, 25, 25);
	button_6->setFont(QFont("Times", 18, QFont::Bold));
	
	QPushButton *button_7 = new QPushButton("7", this, "button_7");
	button_7->setGeometry(8, 150, 25, 25);
	button_7->setFont(QFont("Times", 18, QFont::Bold));
	
	QPushButton *button_8 = new QPushButton("8", this, "button_8");
	button_8->setGeometry(38, 150, 25, 25);
	button_8->setFont(QFont("Times", 18, QFont::Bold));
	
	QPushButton *button_9 = new QPushButton("9", this, "button_9");
	button_9->setGeometry(68, 150, 25, 25);
	button_9->setFont(QFont("Times", 18, QFont::Bold));
	
	QPushButton *button_0 = new QPushButton("0", this, "button_0");
	button_0->setGeometry(38, 185, 25, 25);
	button_0->setFont(QFont("Times", 18, QFont::Bold));
	
	QPushButton *button_11 = new QPushButton("*", this, "button_11");
	button_11->setGeometry(8, 185, 25, 25);
	button_11->setFont(QFont("Times", 18, QFont::Bold));
	
	QPushButton *button_12 = new QPushButton("#", this, "button_12");
	button_12->setGeometry(68, 185, 25, 25);
	button_12->setFont(QFont("Times", 18, QFont::Bold));

	QPushButton *button_send = new QPushButton("ok", this, "send");
	button_send->setGeometry(8, 45, 25, 25);
	button_send->setFont(QFont("Times", 18, QFont::Bold));
	
	QPushButton *button_quit = new QPushButton("quit", this, "button_quit");
	button_quit->setGeometry(68, 45, 25, 25);
	button_quit->setFont(QFont("Times", 12, QFont::Bold));
	
	QPushButton *button_c = new QPushButton("C", this, "button_c");
	button_c->setGeometry(38, 45, 25, 25);
	button_c->setFont(QFont("Times", 18, QFont::Bold));



	phone_edit = new QLineEdit(this);
	phone_edit->setGeometry(8, 20, 85, 15);
	phone_edit->setReadOnly(TRUE);
        

	//test line
        qlineedit_test = new QLineEdit(this);
        qlineedit_test->setGeometry(8, 3, 85, 15);
	//test line end!
	
        
	connect(button_1, SIGNAL(clicked()), this, SLOT(insert_1()));    
        connect(button_2, SIGNAL(clicked()), this, SLOT(insert_2()));    
        connect(button_3, SIGNAL(clicked()), this, SLOT(insert_3()));    
        connect(button_4, SIGNAL(clicked()), this, SLOT(insert_4()));    
        connect(button_5, SIGNAL(clicked()), this, SLOT(insert_5()));    
        connect(button_6, SIGNAL(clicked()), this, SLOT(insert_6()));    
        connect(button_7, SIGNAL(clicked()), this, SLOT(insert_7()));    
        connect(button_8, SIGNAL(clicked()), this, SLOT(insert_8()));    
        connect(button_9, SIGNAL(clicked()), this, SLOT(insert_9()));    
        connect(button_0, SIGNAL(clicked()), this, SLOT(insert_0()));    
        connect(button_11, SIGNAL(clicked()), this, SLOT(insert_11()));    
        connect(button_12, SIGNAL(clicked()), this, SLOT(insert_12()));    
        connect(button_quit, SIGNAL(clicked()), this, SLOT(lineedit_clear())); 
        connect(button_c, SIGNAL(clicked()), this, SLOT(lineedit_backspace())); 
      
        connect(button_send, SIGNAL(clicked()), this, SLOT(data_send_com())); 
          
}

MyWidget::~MyWidget()
{
}

void MyWidget::insert_1()
{
      phone_edit->insert("1");
}      
	
void MyWidget::insert_2()
{
      phone_edit->insert("2");
}

void MyWidget::insert_3()
{
      phone_edit->insert("3");
}

void MyWidget::insert_4()
{
      phone_edit->insert("4");
}

void MyWidget::insert_5()
{
      phone_edit->insert("5");
}

void MyWidget::insert_6()
{
      phone_edit->insert("6");
}

void MyWidget::insert_7()
{
      phone_edit->insert("7");
}

void MyWidget::insert_8()
{
      phone_edit->insert("8");
}

void MyWidget::insert_9()
{
      phone_edit->insert("9");
}

void MyWidget::insert_0()
{
      phone_edit->insert("0");
}

void MyWidget::insert_11()
{
      phone_edit->insert("*");
}

void MyWidget::insert_12()
{
      phone_edit->insert("#");
}

void MyWidget::lineedit_backspace()
{
	phone_edit->backspace();
}

void MyWidget::lineedit_clear()
{
}

void MyWidget::data_send_com()
{
	int send_len, recv_len;
	char recv_buf[10];
	char send_buf[30];
	
        memset(recv_buf, 0, 10);
	memset(send_buf, 0, 30);
	
	/*portinfo_t portinfo =
	{
		'0',              // print prompt after receivong
		115200,           // baudrate: 115200
		'8',              // databit: 8
		'0',              // debug :off
		'0',              // echo: off
		'0',              // flow control: no
		'1',              // default tty: COM2
		'0',              // parity: none
		'1',              // stopbit : 1
		 0                // reserved
	};

	fdcom = PortOpen(&portinfo);
	if(fdcom < 0)
	{
		printf("Error: open serial port error.\n");
		exit(-1);
	}
        PortSet(fdcom, &portinfo);
        */

	phone_buf = ATD + phone_edit->text() + AT1;
	qlineedit_test->setText(phone_buf);
	
	memcpy(send_buf, phone_buf, phone_buf.length());

	printf("the send_buf is %s . \n",send_buf);

	//send data to com
//        send_len = PortSend(fdcom, send_buf, strlen(send_buf)); 
	if(send_len > 0)
	{
		send_flag = 1;
		printf("Send data to %d com OK!\n", send_len);
	}
	else
	{
		printf("Error: send failed!\n");
	}
	
}