本文整理汇总了C++中WaveformWidgetAbstract::setTrack方法的典型用法代码示例。如果您正苦于以下问题:C++ WaveformWidgetAbstract::setTrack方法的具体用法?C++ WaveformWidgetAbstract::setTrack怎么用?C++ WaveformWidgetAbstract::setTrack使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WaveformWidgetAbstract
的用法示例。
在下文中一共展示了WaveformWidgetAbstract::setTrack方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setWidgetTypeFromHandle
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;
}