예제 #1
0
 void SceniXSceneRendererWidget::setSceneRenderer( const dp::sg::ui::SceneRendererSharedPtr &sceneRenderer )
 {
   if ( m_renderer != sceneRenderer)
   {
     m_renderer = sceneRenderer;
     onSceneRendererChanged( m_renderer );
     triggerRepaint();
   }
 }
        void SceniXQGLSceneRendererWidget::onTimer( float dt )
        {
          if ( m_manipulator )
          {
            m_manipulator->updateFrame( dt );
          }

          triggerRepaint();
        }
예제 #3
0
 void SceniXSceneRendererWidget::setViewState( dp::sg::ui::ViewStateSharedPtr const& viewState )
 {
   if ( viewState != m_viewState )
   {
     m_viewState = viewState;
     onViewStateChanged( m_viewState );
     triggerRepaint();
   }
 }
예제 #4
0
void SWGISBrowser::updateCurrentTab()
{
    Tab currentTab = this->activeTab();
    if(currentTab == Metadata && this->m_DirtyMetadata)
    {
        if(this->m_Layer && this->m_Layer->isValid())
        {
            QString myStyle = QgsApplication::reportStyleSheet();
            ui->metaTextBrowser->document()->setDefaultStyleSheet(myStyle);
            ui->metaTextBrowser->setHtml(this->m_Layer->metadata());
        }
        else
            ui->metaTextBrowser->setHtml(QString());

        this->m_DirtyMetadata = false;
    }

    if(currentTab == Preview && this->m_DirtyPreview)
    {
        if (this->m_Layer && this->m_Layer->isValid())
        {
            // Create preview: add to map canvas
            QList<QgsMapCanvasLayer> layers;
            layers << QgsMapCanvasLayer( this->m_Layer );
            ui->mapCanvas->setLayerSet( layers );
            QgsRectangle fullExtent = this->m_Layer->extent();
            fullExtent.scale( 1.05 ); // add some border
            ui->mapCanvas->setExtent( fullExtent );
            ui->mapCanvas->refresh();

            QgsRasterLayer *rlayer = qobject_cast<QgsRasterLayer *>(this->m_Layer);
            if (rlayer)
            {
                connect(rlayer->dataProvider(), SIGNAL(dataChanged()), rlayer, SLOT(triggerRepaint()));
                connect(rlayer->dataProvider(), SIGNAL(dataChanged()), ui->mapCanvas, SLOT(refresh()));
            }
        }
        this->m_DirtyPreview = false;
    }

    if (currentTab == Attributes && this->m_DirtyAttributes)
    {
        if (this->m_Layer  && this->m_Layer->isValid() && this->m_Layer->type() == QgsMapLayer::VectorLayer)
        {
            QgsVectorLayer* vlayer = qobject_cast<QgsVectorLayer*>(this->m_Layer);
            QApplication::setOverrideCursor(Qt::WaitCursor);
            this->setLayer(vlayer);
            QApplication::restoreOverrideCursor();
        }
        else
        {
            this->setLayer(nullptr);
        }
        this->m_DirtyAttributes = false;
    }
}
예제 #5
0
void QgsMeshLayer::setActiveScalarDataset( int index )
{
  if ( index == mActiveScalarDataset )
    return;

  if ( ( index >= 0 ) && ( index < dataProvider()->datasetCount() ) )
    mActiveScalarDataset = index;
  else
    mActiveScalarDataset = NO_ACTIVE_MESH_DATASET;

  triggerRepaint();
}
예제 #6
0
//==============================================================================
OpenGLComponent::OpenGLComponent (const int flags_)
   #if JUCE_ANDROID
    : flags (flags_ & ~useBackgroundThread),
   #else
    : flags (flags_),
   #endif
      contextToShareListsWith (nullptr),
      needToUpdateViewport (true),
      needToDeleteContext (false),
      needToRepaint (true),
      cachedImage (nullptr)
{
    setOpaque (true);
    triggerRepaint();
    componentWatcher = new OpenGLComponentWatcher (*this);
}
예제 #7
0
void QgsMeshLayer::toggleTriangularMeshRendering( bool toggle )
{
  if ( toggle && mTriangularMeshSymbol )
    return;

  if ( toggle )
  {
    QgsSymbolLayerList l2;
    l2 << new QgsSimpleFillSymbolLayer( Qt::white, Qt::NoBrush, Qt::red, Qt::SolidLine, 0.26 );
    mTriangularMeshSymbol.reset( new QgsFillSymbol( l2 ) );
  }
  else
  {
    mTriangularMeshSymbol.reset();
  }
  triggerRepaint();
}
예제 #8
0
void QgsMeshLayer::setActiveVectorDataset( int index )
{
  if ( index == mActiveVectorDataset )
    return;

  if ( ( index < 0 ) || ( index >= dataProvider()->datasetCount() ) )
  {
    mActiveVectorDataset = NO_ACTIVE_MESH_DATASET;
  }
  else
  {
    const QgsMeshDatasetMetadata metadata = dataProvider()->datasetMetadata( index );
    if ( metadata.isVector() )
      mActiveVectorDataset = index;
    else
      mActiveVectorDataset = NO_ACTIVE_MESH_DATASET;
  }

  triggerRepaint();
}
예제 #9
0
void QgsMeshLayer::setRendererVectorSettings( const QgsMeshRendererVectorSettings &settings )
{
  mRendererVectorSettings = settings;
  triggerRepaint();
}
예제 #10
0
void QgsMeshLayer::setRendererTriangularMeshSettings( const QgsMeshRendererMeshSettings &settings )
{
  mRendererTriangularMeshSettings = settings;
  triggerRepaint();
}
예제 #11
0
 void invalidate (const Rectangle<int>& area)
 {
     validArea.subtract (area);
     triggerRepaint();
 }
예제 #12
0
 void invalidateAll()
 {
     validArea.clear();
     triggerRepaint();
 }
예제 #13
0
void QgsMeshLayer::setRendererSettings( const QgsMeshRendererSettings &settings )
{
  mRendererSettings = settings;
  emit rendererChanged();
  triggerRepaint();
}