int LuaFrame2::getContentsRect(lua_State *L) { Q3Frame* obj = ObjectHelper<Q3Frame>::check( L, 1 ); QRect r = obj->contentsRect(); lua_pushnumber( L, r.x() ); lua_pushnumber( L, r.y() ); lua_pushnumber( L, r.width() ); lua_pushnumber( L, r.height() ); return 4; }
int LuaFrame2::setFrameStyle(lua_State *L) { Q3Frame* obj = ObjectHelper<Q3Frame>::check( L, 1 ); int style = luaL_checknumber( L, 2 ); int shadow = Q3Frame::Plain; if( lua_gettop(L) > 2 ) shadow = luaL_checknumber( L, 3 ); obj->setFrameStyle( style | shadow ); return 0; }
TicTacToe::TicTacToe( bool meFirst, int boardSize, QWidget *parent, const char *name ) : QWidget( parent, name ) { Q3VBoxLayout * l = new Q3VBoxLayout( this, 6 ); // Create a message label message = new QLabel( this ); message->setFrameStyle( Q3Frame::WinPanel | Q3Frame::Sunken ); message->setAlignment( Qt::AlignCenter ); l->addWidget( message ); // Create the game board and connect the signal finished() to this // gameOver() slot board = new TicTacGameBoard( meFirst, boardSize, this ); connect( board, SIGNAL(finished()), SLOT(gameOver()) ); l->addWidget( board ); // Create a horizontal frame line Q3Frame *line = new Q3Frame( this ); line->setFrameStyle( Q3Frame::HLine | Q3Frame::Sunken ); l->addWidget( line ); // Create the combo box for deciding who should start, and // connect its clicked() signals to the buttonClicked() slot whoStarts = new QComboBox( this ); whoStarts->insertItem( "Opponent starts" ); whoStarts->insertItem( "You start" ); l->addWidget( whoStarts ); whoStarts->setEnabled(false); whoStarts->setCurrentIndex(meFirst); // Create the push buttons and connect their clicked() signals // to this right slots. connect( board, SIGNAL(myMove(int)), this, SIGNAL(myMove(int))); connect( board, SIGNAL(stateChanged()), this, SLOT(newState())); newGame = new QPushButton( "Play!", this ); connect( newGame, SIGNAL(clicked()), SLOT(newGameClicked()) ); newGame->setEnabled(false); quit = new QPushButton( "Quit", this ); connect( quit, SIGNAL(clicked()), this, SIGNAL(closing()) ); Q3HBoxLayout * b = new Q3HBoxLayout; l->addLayout( b ); b->addWidget( newGame ); b->addWidget( quit ); newState(); //board->newGame(); newGameClicked(); }
int LuaFrame2::setMidLineWidth(lua_State *L) { Q3Frame* obj = ObjectHelper<Q3Frame>::check( L, 1 ); obj->setMidLineWidth( luaL_checknumber( L, 2 ) ); return 0; }
int LuaFrame2::getMargin(lua_State *L) { Q3Frame* obj = ObjectHelper<Q3Frame>::check( L, 1 ); lua_pushnumber( L, obj->margin() ); return 1; }
int LuaFrame2::getLineWidth(lua_State *L) { Q3Frame* obj = ObjectHelper<Q3Frame>::check( L, 1 ); lua_pushnumber( L, obj->lineWidth() ); return 1; }
HIC::WView::WView(QWidget * parent,const char * name,GraphicObject * graphicobject):QWidget(parent,name) { // Window Title setCaption(name); ///////////////////////////////////////////////////////////////// // Create widgets ///////////////////////////////////////////////////////////////// // OpenGL frame Q3Frame * frame = new Q3Frame (this,"frame"); frame->setFrameStyle ( Q3Frame::Sunken | Q3Frame::Panel ); frame->setLineWidth(2); frame->setMinimumSize(450,450); // OpenGL widget m_globjectwidget = new GLObject(frame,"globjectwidget",graphicobject); // Rotation and translation controls QLabel * labeltitle = new QLabel("Coordinate System",this,"labeltitle"); QLabel * labelrotx = new QLabel ("X Rotation (Degrees)",this,"labelrotx"); QHSpinBox * spinrotx = new QHSpinBox (-3.14,3.14,0.0,10,this,"spinrotx"); QObject::connect (spinrotx,SIGNAL(valueChanged(double)),m_globjectwidget,SLOT(setXRotation(double)) ); QLabel * labelroty = new QLabel ("Y Rotation (Degress)",this,"labelroty"); QHSpinBox * spinroty = new QHSpinBox (-3.14,3.14,0.0,10,this,"spinroty"); QObject::connect (spinroty,SIGNAL(valueChanged(double)),m_globjectwidget,SLOT(setYRotation(double)) ); QLabel * labelrotz = new QLabel ("Z Rotation (Degrees)",this,"labelrotz"); QHSpinBox * spinrotz = new QHSpinBox (-3.14,3.14,0.0,10,this,"spinrotz"); QObject::connect (spinrotz,SIGNAL(valueChanged(double)),m_globjectwidget,SLOT(setZRotation(double)) ); QLabel * labeldesx = new QLabel ("X Translation",this,"labeldesx"); QHSpinBox * spindesx = new QHSpinBox (-3.14,3.14,0.0,10,this,"spindesx"); QObject::connect (spindesx,SIGNAL(valueChanged(double)),m_globjectwidget,SLOT(setXTranslation(double)) ); QLabel * labeldesy = new QLabel ("Y Translation",this,"labeldesy"); QHSpinBox * spindesy = new QHSpinBox (-3.14,3.14,0.0,10,this,"spindesy"); QObject::connect (spindesy,SIGNAL(valueChanged(double)),m_globjectwidget,SLOT(setYTranslation(double)) ); QLabel * labeldesz = new QLabel ("Z Translation",this,"labeldesz"); QHSpinBox * spindesz = new QHSpinBox (-3.14,3.14,0.0,10,this,"spindesz"); QObject::connect (spindesz,SIGNAL(valueChanged(double)),m_globjectwidget,SLOT(setZTranslation(double)) ); QLabel * labelzoom = new QLabel ("Zoom",this,"labelzoom"); QHSpinBox * spinzoom = new QHSpinBox (-5.0,5.0,1.0,0.1,this,"spinzoom"); QObject::connect (spinzoom,SIGNAL(valueChanged(double)),m_globjectwidget,SLOT(setZoom(double)) ); ///////////////////////////////////////////////////////////////// // Organize global coordinate system rotation controls in vertical ///////////////////////////////////////////////////////////////// Q3VBoxLayout * layout_controls = new Q3VBoxLayout(10,"layout_controls"); layout_controls->addWidget (labeltitle); layout_controls->addWidget (labelrotx); layout_controls->addWidget (spinrotx); layout_controls->addWidget (labelroty); layout_controls->addWidget (spinroty); layout_controls->addWidget (labelrotz); layout_controls->addWidget (spinrotz); layout_controls->addWidget (labeldesx); layout_controls->addWidget (spindesx); layout_controls->addWidget (labeldesy); layout_controls->addWidget (spindesy); layout_controls->addWidget (labeldesz); layout_controls->addWidget (spindesz); layout_controls->addWidget (labelzoom); layout_controls->addWidget (spinzoom); layout_controls->setResizeMode (QLayout::SetFixedSize); ///////////////////////////////////////////////////////////////// // Places m_globjectwidget inside the frame ///////////////////////////////////////////////////////////////// Q3HBoxLayout * layout_frame = new Q3HBoxLayout (frame,2,2,"layout_frame"); layout_frame->addWidget(m_globjectwidget,1); ///////////////////////////////////////////////////////////////// // window layout: Controls in one side frames in another side ///////////////////////////////////////////////////////////////// if (layout() == NULL) m_layout_window = new Q3HBoxLayout(this,20,20,"m_layout_window"); else m_layout_window = (Q3HBoxLayout *) layout(); m_layout_window->addLayout(layout_controls); m_layout_window->addWidget(frame,1); }
TesterTestPage::TesterTestPage (QWidget *p) : QWidget (p) { fieldList.append(tr("Open")); fieldList.append(tr("Close")); fieldList.append(tr("Mid Point")); Q3HBoxLayout *hbox = new Q3HBoxLayout(this); hbox->setMargin(5); hbox->setSpacing(10); // left side grid Q3GridLayout *grid = new Q3GridLayout(hbox); grid->setColStretch(1, 1); grid->setSpacing(5); // trades area tradeLong = new QCheckBox(tr("Long"), this); grid->addWidget(tradeLong, 0, 0); tradeShort = new QCheckBox(tr("Short"), this); grid->addWidget(tradeShort, 1, 0); QLabel *label = new QLabel(tr("Trade Delay"), this); grid->addWidget(label, 2, 0); tradeDelay = new QSpinBox(1, 999999, 1, this); tradeDelay->setValue(1); grid->addWidget(tradeDelay, 2, 1); grid->setRowSpacing(grid->numRows(), 25); // account area label = new QLabel(tr("Account Balance"), this); grid->addWidget(label, 4, 0); account = new QSpinBox(0, 999999, 1, this); account->setValue(10000); grid->addWidget(account, 4, 1); label = new QLabel(tr("Futures Margin"), this); grid->addWidget(label, 5, 0); margin = new QSpinBox(0, 999999, 1, this); grid->addWidget(margin, 5, 1); label = new QLabel(tr("Volume %"), this); grid->addWidget(label, 6, 0); volumePercent = new QSpinBox(0, 100, 1, this); grid->addWidget(volumePercent, 6, 1); grid->setRowSpacing(grid->numRows(), 25); // commission area commissionType = new QCheckBox(tr("Use Commission %"), this); grid->addWidget(commissionType, 8, 0); label = new QLabel(tr("Entry"), this); grid->addWidget(label, 9, 0); QDoubleValidator *dv = new QDoubleValidator(0, 99999999.0, 4, this, 0); entryCom = new QLineEdit(QString::number(10), this); entryCom->setValidator(dv); grid->addWidget(entryCom, 9, 1); label = new QLabel(tr("Exit"), this); grid->addWidget(label, 10, 0); QDoubleValidator *dv2 = new QDoubleValidator(0, 99999999.0, 4, this, 0); exitCom = new QLineEdit(QString::number(10), this); exitCom->setValidator(dv2); grid->addWidget(exitCom, 10, 1); grid->setRowStretch(grid->numRows() + 1, 1); // vline sperarator Q3Frame *line = new Q3Frame(this); line->setFrameStyle(Q3Frame::VLine | Q3Frame::Plain); hbox->addWidget(line); // right side grid grid = new Q3GridLayout(hbox); grid->setColStretch(1, 1); grid->setSpacing(5); // test area label = new QLabel(tr("Symbol"), this); grid->addWidget(label, 0, 0); Config config; QString s, s2; config.getData(Config::DataPath, s); symbolButton = new SymbolButton(this, s, s2); connect(symbolButton, SIGNAL(symbolChanged()), this, SLOT(symbolButtonPressed())); grid->addWidget(symbolButton, 0, 1); label = new QLabel(tr("Bar Length"), this); grid->addWidget(label, 1, 0); BarData bd(s); barLength = new QComboBox(this); bd.getBarLengthList(barLengthList); barLength->insertStringList(barLengthList, -1); barLength->setCurrentItem(6); grid->addWidget(barLength, 1, 1); label = new QLabel(tr("Bars"), this); grid->addWidget(label, 2, 0); bars = new QSpinBox(1, 99999999, 1, this); bars->setValue(275); grid->addWidget(bars, 2, 1); label = new QLabel(tr("Entry/Exit Price"), this); grid->addWidget(label, 3, 0); priceField = new QComboBox(this); priceField->insertStringList(fieldList,-1); grid->addWidget(priceField, 3, 1); grid->setRowStretch(grid->numRows() + 1, 1); }