Example #1
0
int main(int argc, char* argv[])
{
	hashtable mytable(32);
	std::cout << "print empty hashtable\n";
	print(mytable);
	for(int i=0; i<8; i++)
	{
		record rec;
		sprintf(rec.key, "%d", i);
		rec.data = i;
		mytable.insert(rec);
	}
	std::cout << "print hashtable with a few elements.\n";
	print(mytable);
	for(int i=0; i<8; i++)
	{
		record rec;
		sprintf(rec.key, "%d", i);
		mytable.get(rec.key, rec);
		std::cout << "data is "<< rec.data<<std::endl;
	}

	try{
		record rec;
		sprintf(rec.key, "%zu", mytable.capacity());
		mytable.get(rec.key, rec);
		std::cout << "expect exception when element does not exist."<<std::endl;
	} catch(const std::exception& ex){
		std::cout<< "exception: " << ex.what()<<std::endl;
	}

	try{
		for(int i=0; i<mytable.capacity()+1; i++)
		{
			record rec;
			sprintf(rec.key, "%d", i);
			rec.data = i*10;
			mytable.insert(rec);
		}
		std::cout << "expect exception when hashtable is full."<<std::endl;
	} catch(const std::exception& ex){
		std::cout<< "exception " << ex.what()<<std::endl;
	}

	std::cout << "print full hashtable\n";
	print(mytable);
	std::cout << argv[0] << " done\n";
	return 0;
}
Example #2
0
int main (int argc, char** argv)
{
    QApplication app(argc, argv);
    QWidget wgt;
    QStringList list;
    list << "1" << "2" << "3" <<"4";

    QTableWidget mytable(4, 5);
    QTableWidgetItem* pw = NULL;
    mytable.setHorizontalHeaderLabels(list);
    mytable.setVerticalHeaderLabels(list);

    QBrush br(Qt::BackgroundColorRole, Qt::NoBrush);


    for(int i(0);i < 4; i++)
        for(int j(0); j < 5; j++){
            pw = new QTableWidgetItem(QString("%10, %11").arg(i).arg(j));
            pw->setBackground(br);
            //pw->setBackgroundColor(QColor::black());
            //pw->setBackgroundColor(&c);
            mytable.setItem(i, j, pw);
        }
    QComboBox* box = new QComboBox;
    box->addItems(list);
    QString str ("111");
    QTabWidget tab;
//    foreach(QString str, list){
//        tab.addTab(new QLabel(str, &tab), str);
//    }
    QLabel* la = new QLabel(str, &tab);
    tab.addTab(la, QString("1"));
    tab.addTab(new QLineEdit, str);
    QToolBox * gg = new QToolBox;
    gg->addItem(new QLineEdit, QString("222"));


    QLabel* plblDisplay = new QLabel;

    plblDisplay->setFrameStyle(QFrame::Box | QFrame::Raised);
    plblDisplay->setLineWidth(5);
    plblDisplay->setFixedHeight(50);

    QLabel* plblText = new QLabel("&Text:");

    QLineEdit* text = new QLineEdit;

    text->setInputMask("0-(000)-000-00-00");
    QLineEdit* text3 = new QLineEdit;

    text3->setInputMask("0-(000)-000-00-00");
    tab.addTab(text3, QString("0-(000)-000-00-00"));
    QWidget::connect(tab.widget(0), SIGNAL(objectNameChanged(QString)),tab.widget(2), SLOT(setEnabled(bool)));




    QTextEdit* text2 = new QTextEdit;
    text2->setHtml("<html><div><center><h3>I wrote the HTML</h3></center></div></html>");
    MyHighlighter* pHighlighter = new MyHighlighter(text2->document());

    QLineEdit* ptxt = new QLineEdit;
    plblText->setBuddy(ptxt);

    QObject::connect(ptxt, SIGNAL(textChanged(const QString&)),
    plblDisplay, SLOT(setText(const QString&))
    );

    QObject::connect(text, SIGNAL(textChanged(const QString&)),
    plblDisplay, SLOT(setText(const QString&))
    );

    QObject::connect(text2, SIGNAL(windowTitleChanged(QString)),
    plblDisplay, SLOT(setText(const QString&))
    );

    QLabel* plblPassword = new QLabel("&Password:");

    QLineEdit* ptxtPassword = new QLineEdit;

    plblPassword->setBuddy(ptxtPassword);
    ptxtPassword->setEchoMode(QLineEdit::Password);
    ptxtPassword->setValidator(new QIntValidator);

    QObject::connect(ptxtPassword, SIGNAL(textChanged(const QString&)),
    plblDisplay, SLOT(setText(const QString&))
    );
    //Layout setup
    QVBoxLayout* pvbxLayout = new QVBoxLayout;

    pvbxLayout->addWidget(plblDisplay);
    pvbxLayout->addWidget(plblText);
    pvbxLayout->addWidget(ptxt);
    pvbxLayout->addWidget(plblPassword);
    pvbxLayout->addWidget(ptxtPassword);
    pvbxLayout->addWidget(text);
    pvbxLayout->addWidget(text2);
    pvbxLayout->addWidget(box);
    pvbxLayout->addWidget(&tab);
    pvbxLayout->addWidget(&mytable);
    pvbxLayout->addWidget(gg);

    wgt.setLayout(pvbxLayout);
    wgt.show();
    return app.exec();
}