OnyxToolBarItem::OnyxToolBarItem(QWidget *parent, QAction &action) : QWidget(parent) , action_(action) , state_(STATE_NORMAL) { connect(&action_, SIGNAL(changed()), this, SLOT(onActionChanged())); QSize size = iconSize(); size += QSize(2, 2); setFixedSize(size); setAutoFillBackground(false); }
void ActionButton::setAction(Action *AAction) { if (FAction != AAction) { if (FAction) { disconnect(FAction,0,this,0); } FAction = AAction; onActionChanged(); if (FAction) { connect(this,SIGNAL(clicked()),FAction,SLOT(trigger())); connect(FAction,SIGNAL(changed()),SLOT(onActionChanged())); connect(FAction,SIGNAL(actionDestroyed(Action *)),SLOT(onActionDestroyed(Action *))); setActionString(AAction->data(Action::DR_UserDefined + 1).toString()); } emit actionChanged(); } }
TradePadWidget::TradePadWidget(QWidget *parent) : QWidget(parent) { //iniFileString = QDir::currentPath() + "/workspace.ini"; //wsSettings = new QSettings(iniFileString, QSettings::IniFormat); setWindowFlags(Qt::Window); setWindowTitle("TradePad"); pLabelSymbol = new QLabel("Symbol"); pBtnBid = new QPushButton("12.32"); pBtnAsk = new QPushButton("12.34"); pLabelBidSz = new QLabel("150"); pLabelAskSz = new QLabel("132"); pLabelSymbol->setStyleSheet("background-color: #000033;" "font: 18pt;" "border: 1px solid #808080;" "border-radius: 5px;" "qproperty-alignment: AlignCenter;"); pBtnBid->setStyleSheet("background-color: #006666;" "font: 24pt;" "border: 1px solid #010000;" "border-radius: 5px;" "qproperty-alignment: AlignCenter;"); pLabelBidSz->setStyleSheet("background-color: #006666;" "font: 16pt;" "border: 1px solid #010000;" "border-radius: 5px;" "qproperty-alignment: AlignCenter;"); pBtnAsk->setStyleSheet("background-color: #400000;" "font: 24pt;" "border: 1px solid #500000;" "border-radius: 5px;" "qproperty-alignment: AlignCenter;"); pLabelAskSz->setStyleSheet("background-color: #400000;" "font: 16pt;" "border: 1px solid #500000;" "border-radius: 5px;" "qproperty-alignment: AlignCenter;"); pComboAction = new QComboBox(); pComboAction->addItem("BUY"); pComboAction->addItem("SELL"); pComboOrderType = new QComboBox(); pComboOrderType->addItem("LMT"); pComboOrderType->addItem("MKT"); QLabel *pLabelQty = new QLabel("Qty:"); pEditQty = new QLineEdit(); QLabel *pLabelPrice = new QLabel("Price:"); pEditPrice = new QLineEdit(); //QWidget* spacer = new QWidget(); pBtnSubmit = new QPushButton("BUY"); pBtnSubmit->setStyleSheet("background-color:#006666;font: 18pt;"); pBtnSubmit->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding); QGridLayout *gridLayout = new QGridLayout; gridLayout->addWidget(pLabelSymbol,0,0,1,2); gridLayout->addWidget(pBtnAsk,1,0,1,1); gridLayout->addWidget(pLabelAskSz,1,1,1,1); gridLayout->addWidget(pBtnBid,2,0,1,1); gridLayout->addWidget(pLabelBidSz,2,1,1,1); gridLayout->addWidget(pComboAction,3,0,1,1); gridLayout->addWidget(pComboOrderType,3,1,1,1); gridLayout->addWidget(pLabelQty,4,0,1,1); gridLayout->addWidget(pEditQty,4,1,1,1); gridLayout->addWidget(pLabelPrice,5,0,1,1); gridLayout->addWidget(pEditPrice,5,1,1,1); gridLayout->addWidget(pBtnSubmit,6,0,1,2); setLayout(gridLayout); setMinimumSize(200, 200); connect(pComboAction, SIGNAL(currentIndexChanged(QString)), this, SLOT(onActionChanged(QString))); connect(pComboOrderType, SIGNAL(currentIndexChanged(QString)), this, SLOT(onOrderTypeChanged(QString))); connect(pBtnBid, SIGNAL(clicked(bool)), this, SLOT(onBtnBidClicked(bool))); connect(pBtnAsk, SIGNAL(clicked(bool)), this, SLOT(onBtnAskClicked(bool))); connect(pBtnSubmit, SIGNAL(clicked(bool)),this, SLOT(onSubmit(bool))); }