Example #1
0
bool WaveformWidgetFactory::setConfig(ConfigObject<ConfigValue> *config) {
    m_config = config;
    if (!m_config) {
        return false;
    }

    bool ok = false;

    int frameRate = m_config->getValueString(ConfigKey("[Waveform]","FrameRate")).toInt(&ok);
    if (ok) {
        setFrameRate(frameRate);
    } else {
        m_config->set(ConfigKey("[Waveform]","FrameRate"), ConfigValue(m_frameRate));
    }

    int vsync = m_config->getValueString(ConfigKey("[Waveform]","VSync"),"0").toInt();
    setVSyncType(vsync);

    int defaultZoom = m_config->getValueString(ConfigKey("[Waveform]","DefaultZoom")).toInt(&ok);
    if (ok) {
        setDefaultZoom(defaultZoom);
    } else{
        m_config->set(ConfigKey("[Waveform]","DefaultZoom"), ConfigValue(m_defaultZoom));
    }

    int zoomSync = m_config->getValueString(ConfigKey("[Waveform]","ZoomSynchronization")).toInt(&ok);
    if (ok) {
        setZoomSync(static_cast<bool>(zoomSync));
    } else {
        m_config->set(ConfigKey("[Waveform]","ZoomSynchronization"), ConfigValue(m_zoomSync));
    }

    WaveformWidgetType::Type type = static_cast<WaveformWidgetType::Type>(
                m_config->getValueString(ConfigKey("[Waveform]","WaveformType")).toInt(&ok));
    if (!ok || !setWidgetType(type)) {
        setWidgetType(autoChooseWidgetType());
    }

    for (int i = 0; i < FilterCount; i++) {
        double visualGain = m_config->getValueString(
                    ConfigKey("[Waveform]","VisualGain_" + QString::number(i))).toDouble(&ok);

        if (ok) {
            setVisualGain(FilterIndex(i), visualGain);
        } else {
            m_config->set(ConfigKey("[Waveform]","VisualGain_" + QString::number(i)),
                          QString::number(m_visualGain[i]));
        }
    }

    int overviewNormalized = m_config->getValueString(ConfigKey("[Waveform]","OverviewNormalized")).toInt(&ok);
    if (ok) {
        setOverviewNormalized(static_cast<bool>(overviewNormalized));
    } else {
        m_config->set(ConfigKey("[Waveform]","OverviewNormalized"), ConfigValue(m_overviewNormalized));
    }

    return true;
}
Example #2
0
bool WaveformWidgetFactory::setWidgetTypeFromHandle(int handleIndex) {
    if (handleIndex < 0 && handleIndex > (int)m_waveformWidgetHandles.size()) {
        qDebug() << "WaveformWidgetFactory::setWidgetType - invalid handle --> use of 'EmptyWaveform'";
        // fallback empty type
        setWidgetType(WaveformWidgetType::EmptyWaveform);
        return false;
    }

    WaveformWidgetAbstractHandle& handle = m_waveformWidgetHandles[handleIndex];
    if (handle.m_type == m_type) {
        qDebug() << "WaveformWidgetFactory::setWidgetType - type already in use";
        return true;
    }

    // change the type
    setWidgetType(handle.m_type);

    m_skipRender = true;
    //qDebug() << "recreate start";

    //re-create/setup all waveform widgets
    for (int i = 0; i < m_waveformWidgetHolders.size(); i++) {
        WaveformWidgetHolder& holder = m_waveformWidgetHolders[i];
        WaveformWidgetAbstract* previousWidget = holder.m_waveformWidget;
        TrackPointer pTrack = previousWidget->getTrackInfo();
        //previousWidget->hold();
        int previousZoom = previousWidget->getZoomFactor();
        delete previousWidget;
        WWaveformViewer* viewer = holder.m_waveformViewer;
        WaveformWidgetAbstract* widget = createWaveformWidget(m_type, holder.m_waveformViewer);
        holder.m_waveformWidget = widget;
        viewer->setWaveformWidget(widget);
        viewer->setup(holder.m_skinNodeCache, holder.m_skinContextCache);
        viewer->setZoom(previousZoom);
        // resize() doesn't seem to get called on the widget. I think Qt skips
        // it since the size didn't change.
        //viewer->resize(viewer->size());
        widget->resize(viewer->width(), viewer->height());
        widget->setTrack(pTrack);
        widget->getWidget()->show();
        viewer->update();
    }

    m_skipRender = false;
    //qDebug() << "recreate done";
    return true;
}
Example #3
0
void MainDock::toggleWidgetType() {
	if (widgetType == 0) {
		widgetType = 1;
		toggleWidgetTypeAction->setText(tr("Use QWidget"));
		emit setWidgetType(widgetType);
	}

	else if (widgetType == 1) {
		widgetType = 0;
		toggleWidgetTypeAction->setText(tr("Use QGLWidget"));
		emit setWidgetType(widgetType);
	}
	//should also call the settingsChanged
	//for the moment just reset the settings:
	settings->autoFillBg = false;
	toggleAutoFillBgAction->setText(tr("Auto fill background"));
}
Example #4
0
QReportPage::QReportPage(QGraphicsItem *parent): QReportWidgetBase(parent)
{
    this->setZValue(0);
    this->setIsMovable(false);

    setWidgetType(::Page);
    _gridType = ::NoGrid;

    // setAcceptedMouseButtons( Qt::RightButton );
}
Example #5
0
QReportBand::QReportBand(QGraphicsItem *parent):
    QReportPanel(parent),
    _index(0)
{
    this->setResizeDirection(::Bottom);
    this->setIsMovable(false);
    this->setZValue(9);
    //this->setFlags( QGraphicsItem::ItemIsPanel );

    _headerHeight = 25;

    this->setMinimumSize(this->size().width(), _headerHeight);

    setWidgetType(::Band);
}
Example #6
0
void
KexiDBAutoField::init(const QString &text, WidgetType type, LabelPosition pos)
{
    d->fieldTypeInternal = KexiDB::Field::InvalidType;
    d->layout = 0;
    setSubwidget(0);
    d->label = new QLabel(text, this);
    d->label->installEventFilter(this);
    d->autoCaption = true;
    d->focusPolicyChanged = false;
    d->widgetType = Auto;
    d->widgetType_property = (type == Auto ? Text : type); //to force "differ" to be true in setWidgetType()
    setLabelPosition(pos);
    setWidgetType(type);
    d->baseBrush = palette().base();
    d->textBrush = palette().text();
}
Example #7
0
QReportBand::QReportBand(BandType type, QGraphicsItem *parent):
    QReportPanel(parent),
    _bandType(type)
{
    this->setResizeDirection(::Bottom);
    this->setIsMovable(false);
    this->setZValue(9);

    _headerHeight = 25;
    _index = (int)type;

    this->setMinimumSize(this->size().width(), _headerHeight);

    setWidgetType(::Band);

    qRegisterMetaType<BandType>("BandType");
}
Example #8
0
SN_PixmapWidget::SN_PixmapWidget(qint64 filesize, const QString &senderIP, const QString &recvIP, quint16 recvPort, const quint64 id, const QSettings *s, QGraphicsItem *parent, Qt::WindowFlags wFlags)

    : SN_BaseWidget(id, s, parent, wFlags)

    , dataSrc(SN_PixmapWidget::FROM_SOCKET)
    , _imageTemp(new QImage()) /* receive into QImage, convert to QPixmap */
    , _textureid(-1)
    , serverSock(0)
    , filename(QString()) /* null string */
    , filesize(filesize)
    , recvAddr(QHostAddress(recvIP))
    , recvPort(recvPort)
    , isImageReady(false)
{
	setWidgetType(SN_BaseWidget::Widget_Image);
	_appInfo->setMediaType(SAGENext::MEDIA_TYPE_IMAGE);
	_appInfo->setSrcAddr(senderIP);
	start();
}
Example #9
0
int MainDock::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QDockWidget::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: quit(); break;
        case 1: toggleFrame(); break;
        case 2: setWidgetType((*reinterpret_cast< int(*)>(_a[1]))); break;
        case 3: drawSettingsChanged((*reinterpret_cast< DrawSettings*(*)>(_a[1]))); break;
        case 4: help(); break;
        case 5: about(); break;
        case 6: toggleShowComponents(); break;
        case 7: toggleWidgetType(); break;
        case 8: toggleAutoFillBg(); break;
        case 9: toggleCleanBg(); break;
        }
        _id -= 10;
    }
    return _id;
}
Example #10
0
SN_PixmapWidget::SN_PixmapWidget(QString filename, const quint64 id, const QSettings *s, QGraphicsItem *parent, Qt::WindowFlags wFlags)

    : SN_BaseWidget(id, s, parent, wFlags)

    , dataSrc(SN_PixmapWidget::FROM_DISK_FILE)
    , _imageTemp(new QImage()) /* Because it is unsafe to use pixmap outside of GUI thread */
    , _textureid(-1)
    , serverSock(0)
    , filename(QString(filename))
    , filesize(0)
    , recvAddr(QHostAddress(QHostAddress::Null))
    , recvPort(0)
    , isImageReady(false)
{
	/* indicates that the widget contents are north-west aligned and static. On resize, such a widget will receive paint events only for parts of itself that are newly visible. This flag is set or cleared by the widget's author. */
//	setAttribute(Qt::WA_StaticContents, true); // unsupported under X11 ?

	setWidgetType(SN_BaseWidget::Widget_Image);
	_appInfo->setMediaType(SAGENext::MEDIA_TYPE_IMAGE);
	_appInfo->setFileInfo( filename );
	_appInfo->setSrcAddr("127.0.0.1"); // from my disk
	start();
}
void QgsAttributeTypeDialog::on_selectionListWidget_currentRowChanged( int index )
{
  const QString editType = selectionListWidget->item( index )->data( Qt::UserRole ).toString();

  setWidgetType( editType );
}
Example #12
0
bool WaveformWidgetFactory::setConfig(UserSettingsPointer config) {
    m_config = config;
    if (!m_config) {
        return false;
    }

    bool ok = false;

    int frameRate = m_config->getValueString(ConfigKey("[Waveform]","FrameRate")).toInt(&ok);
    if (ok) {
        setFrameRate(frameRate);
    } else {
        m_config->set(ConfigKey("[Waveform]","FrameRate"), ConfigValue(m_frameRate));
    }

    int endTime = m_config->getValueString(ConfigKey("[Waveform]","EndOfTrackWarningTime")).toInt(&ok);
    if (ok) {
        setEndOfTrackWarningTime(endTime);
    } else {
        m_config->set(ConfigKey("[Waveform]","EndOfTrackWarningTime"),
                ConfigValue(m_endOfTrackWarningTime));
    }

    int vsync = m_config->getValue(ConfigKey("[Waveform]","VSync"), 0);
    setVSyncType(vsync);

    int defaultZoom = m_config->getValueString(ConfigKey("[Waveform]","DefaultZoom")).toInt(&ok);
    if (ok) {
        setDefaultZoom(defaultZoom);
    } else{
        m_config->set(ConfigKey("[Waveform]","DefaultZoom"), ConfigValue(m_defaultZoom));
    }

    int zoomSync = m_config->getValueString(ConfigKey("[Waveform]","ZoomSynchronization")).toInt(&ok);
    if (ok) {
        setZoomSync(static_cast<bool>(zoomSync));
    } else {
        m_config->set(ConfigKey("[Waveform]","ZoomSynchronization"), ConfigValue(m_zoomSync));
    }

    int beatGridAlpha = m_config->getValue(ConfigKey("[Waveform]", "beatGridAlpha"), m_beatGridAlpha);
    setDisplayBeatGridAlpha(beatGridAlpha);

    WaveformWidgetType::Type type = static_cast<WaveformWidgetType::Type>(
            m_config->getValueString(ConfigKey("[Waveform]","WaveformType")).toInt(&ok));
    if (!ok || !setWidgetType(type)) {
        setWidgetType(autoChooseWidgetType());
    }

    for (int i = 0; i < FilterCount; i++) {
        double visualGain = m_config->getValueString(
                ConfigKey("[Waveform]","VisualGain_" + QString::number(i))).toDouble(&ok);

        if (ok) {
            setVisualGain(FilterIndex(i), visualGain);
        } else {
            m_config->set(ConfigKey("[Waveform]","VisualGain_" + QString::number(i)),
                          QString::number(m_visualGain[i]));
        }
    }

    int overviewNormalized = m_config->getValueString(ConfigKey("[Waveform]","OverviewNormalized")).toInt(&ok);
    if (ok) {
        setOverviewNormalized(static_cast<bool>(overviewNormalized));
    } else {
        m_config->set(ConfigKey("[Waveform]","OverviewNormalized"), ConfigValue(m_overviewNormalized));
    }

    return true;
}