void kdvi::makeToolBar2(QWidget *parent) { QPixmap pm; toolBar2 = new QFrame( parent ); QBoxLayout * gl = new QBoxLayout( toolBar2, QBoxLayout::Down ); sbox = new ScrollBox( toolBar2 ); connect( sbox, SIGNAL(valueChanged(QPoint)), dviwin, SLOT(scroll(QPoint)) ); connect( sbox, SIGNAL(button3Pressed()), dviwin, SLOT(nextPage()) ); connect( sbox, SIGNAL(button2Pressed()), dviwin, SLOT(prevPage()) ); connect( dviwin, SIGNAL(pageSizeChanged( QSize )), sbox, SLOT(setPageSize( QSize )) ); connect( dviwin, SIGNAL(viewSizeChanged( QSize )), sbox, SLOT(setViewSize( QSize )) ); connect( dviwin, SIGNAL(currentPosChanged( QPoint )), sbox, SLOT(setViewPos( QPoint )) ); QToolTip::add( sbox, 0, tipgroup, i18n("Scroll window and switch the page") ); sbox->setFixedSize(70,80); gl->addWidget( sbox ); // Create a MarkList marklist = new MarkList( toolBar2 ); connect( marklist, SIGNAL(selected(const char *)), SLOT(pageActivated(const char *)) ); QToolTip::add( marklist, 0, tipgroup, i18n("Select page and mark pages for printing") ); gl->addWidget( marklist ); gl->activate(); sbox->setPageSize( dviwin->pageSize() ); }
void ScrollBox::mousePressEvent(QMouseEvent* e) { m_mouse = e->pos(); if (e->button() == Qt::RightButton) emit button3Pressed(); if (e->button() == Qt::MidButton) emit button2Pressed(); }
void PushButton::mousePressEvent ( QMouseEvent *e ) { if ( e->button() == LeftButton ) QPushButton::mousePressEvent( e ); else if ( e->button() == RightButton ) emit button3Pressed( mapToGlobal( e->pos() ) ); // else if ( e->button() == MidButton ) // emit button2Pressed(); }
int main(void) { // init hardware setup init(); // setup temperature resolution // write temperature register pointer i2c_start(TEMPSENS_ADDRESS, I2C_WRITE); i2c_write(0x01); i2c_write(0b01100000); i2c_stop(); while(1) { // change mode by pressed button if (button1Pressed()) { mode = MODE_1; } else if (button2Pressed()) { mode = MODE_2; } else if (button3Pressed()) { mode = MODE_3; } // mode1 if (mode == MODE_1) { // read analog value from potentiometer uint32_t pot = readAnalog(POT_CHANNEL); pot *= 4888; pot += 500; pot /= 1000; if (++mydelay >= 10) { writeDisplayNumber(pot, 0); mydelay = 0; } // led1 on sbit(OUTPORT(LED1_PORT), LED1_BIT); } else { // led1 off cbit(OUTPORT(LED1_PORT), LED1_BIT); } // mode2 if (mode == MODE_2) { int16_t temp = readTemperature(); writeDisplayTemp(temp, 2); // led2 on sbit(OUTPORT(LED2_PORT), LED2_BIT); } else { // led2 off cbit(OUTPORT(LED2_PORT), LED2_BIT); } // show potentiometer value if (mode == MODE_3) { // led3 on sbit(OUTPORT(LED3_PORT), LED3_BIT); mode3(); /* if (mydelay < 12) { // turn-on buzzer // frequency 2kHz ICR1 = 2000; OCR1A = 1000; // write to display writeDisplayData(convertBcd(DIGIT_MINUS, DIGIT_MINUS, DIGIT_BLANK, DIGIT_BLANK, 255)); } else { // turn-on buzzer // frequency 2kHz ICR1 = 4000; OCR1A = 2000; // write to display writeDisplayData(convertBcd(DIGIT_BLANK, DIGIT_BLANK, DIGIT_MINUS, DIGIT_MINUS, 255)); } if (++mydelay >= 25) mydelay = 0; */ } else { // turn-off buzzer ICR1 = 0; // led3 off cbit(OUTPORT(LED3_PORT), LED3_BIT); } // wait until all mode buttons are released while (button1Pressed() || button2Pressed() || button3Pressed()); _delay_ms(20); } }
void mode3() { uint8_t t = 100; uint8_t esc[3] = {255, 255, 255}; // wait for start writeDisplayNumber(t, 1); while (!button4Pressed()); uint8_t swlast = 0; while (1) { t--; writeDisplayNumber(t, 1); if (button4Pressed() && swlast == 0) { swlast = 1; esc[2] = esc[1]; esc[1] = esc[0]; esc[0] = t; // deactivate if (esc[2] - esc[0] < 10) break; } else if (!button4Pressed() && swlast == 1) { swlast = 0; } uint8_t f = t % 10; OCR1A = 500; switch (f) { case 0: // turn-on buzzer ICR1 = 1000; break; case 9: // turn-off buzzer ICR1 = 0; break; case 5: if (t < 50 && t > 20) { ICR1 = 1000; } if (t < 20) { ICR1 = 0; } break; case 4: if (t < 50 && t > 20) { ICR1 = 0; } if (t < 20) { ICR1 = 1000; } break; case 8: case 6: case 2: if (t < 20) { ICR1 = 1000; } break; case 7: case 3: case 1: if (t < 20) { ICR1 = 0; } break; } if (t == 0) break; _delay_ms(100); } if (t == 0) { sbit(OUTPORT(LED4_PORT), LED4_BIT); } else { ICR1 = 0; } while (!button3Pressed()); }