Пример #1
0
//--------------------------------------------------------------
void ofApp::keyReleased(int key){
    if( key == ' '){
        doFind = !doFind;
    }
    if( key == 'p'){
        peng();
    }
    if( key == 'f'){
        ofToggleFullscreen();
    }
//    if( key == '1'){
//        finder.setMode( T_TM_SQDIFF );
//    }else if( key == '2'){
//        finder.setMode( T_TM_SQDIFF_NORMED );
//    }else if( key == '3'){
//        finder.setMode( T_TM_CCORR );
//    }else if( key == '4'){
//        finder.setMode( T_TM_CCORR_NORMED );
//    }else if( key == '5'){
//        finder.setMode( T_TM_CCOEFF );
//    }else if( key == '6'){
//        finder.setMode( T_TM_CCOEFF_NORMED );
//        

    if( key == '1'){
        loadTrack( 0 );
    }else if( key == '2'){
        loadTrack( 1 );
    }else if( key == '3'){
        loadTrack( 2 );
    }else if( key == '4'){
        loadTrack( 3 );
    }else if( key == '5'){
        loadTrack( 4 );
    }else if( key == '6'){
        loadTrack( 5 );
    }else if( key == '7'){
        loadTrack( 6 );
    }else if( key == OF_KEY_RIGHT ){
        tracks.gotoNextMeasure();
    }else if( key == OF_KEY_LEFT ){
        tracks.gotoPrevMeasure();
    }else if( key == OF_KEY_DOWN ){
        tracks.gotoNextPage();
    }else if( key == OF_KEY_UP ){
        tracks.gotoPrevPage();
    }

    ofLog() << " KEY : " << key;
}
Пример #2
0
//=========================================================================
void BubbleChartView::prepareScene()
{
    QPen peng(Qt::black);
    peng.setWidth(1.5);
    QBrush brushg(Qt::transparent);
    chartRectGI = scene()->addRect(chartRect, peng, brushg);
    gGrid.addToGroup(chartRectGI);
    setHeader(/*chartData.header*/ "Chart header");
    ChartDataProvider *dp = dataProvider();
    if ( dp->data.size() == 0 )
        return;
    QPen pen(Qt::lightGray);
    pen.setWidth(0.05);
    QBrush brush(Qt::transparent);
    quint32 swidth = (int)this->sceneRect().height()*0.8;
    quint32 columnWidth = qMin((quint32)getConfig()->bubbleSize, swidth/dp->providers->count());
    grid.clear();
    for ( int i = 0; i < dp->providers->size(); i++ )
    {
        BlastTaxDataProvider *provider = dp->providers->at(i);
        for ( int j = 0; j < dp->data.count(); j++)
        {
            if ( !dp->data.at(j).checked )
                continue;
            const BlastTaxNodes &btns = dp->data.at(j).tax_nodes;
            BlastTaxNode *node = btns.at(i);
            if ( node != NULL )
            {
                quint32 sum = node->sum();
                if ( sum == 0 )
                    continue;
                CreateGraphNode(node, provider);
            }
        }
        qreal x1 = i*columnWidth;
        QGraphicsRectItem *gridItem  = scene()->addRect(chartRect.x()+x1, chartRect.y(), columnWidth, chartRect.height(), pen, brush);
        grid.append(gridItem);
        gGrid.addToGroup(gridItem);
        scene()->addItem(&gGrid);
        gGrid.setVisible(getConfig()->showGrid);
        // Create horizontal axe labels
        BlastTaxDataProvider *p = dp->providers->at(i);
        QString stxt = p->name;
        if ( stxt.length() > 30 )
        {
            stxt.truncate(27);
            stxt.append("...");
        }
        QGraphicsTextItem *item = scene()->addText(stxt);
        item->setToolTip(p->name);
        item->setRotation(45);
        horizontalLegend.append(item);
    }
    for ( int j = 0; j < dp->data.count(); j++)
    {
        const BlastTaxNodes &btns = dp->data.at(j).tax_nodes;
        QString txt;
        for ( int i = 0 ; i < btns.size(); i++ )
        {
            if ( btns[i] == NULL )
                continue;
            txt = btns[i]->getText();
            break;
        }
        QString stxt = txt;
        if ( stxt.length() > 30 )
        {
            stxt.truncate(27);
            stxt.append("...");
        }
        QGraphicsTextItem *item = scene()->addText(stxt);
        item->installEventFilter(this);
        item->setToolTip(txt);
        item->setVisible(dp->data.at(j).checked);
        verticalLegend.append(item);
    }

    header->setPos(0, 10-MARGIN);
    quint32 tw = header->textWidth();
    header->setTextWidth(qMax(tw, dp->providers->count()*columnWidth));
}