@@ -103,8 +103,8 @@ void GlobePlugin::initGui()
103
103
104
104
connect ( mQGisIface ->mapCanvas () , SIGNAL ( extentsChanged () ),
105
105
this , SLOT ( extentsChanged () ) );
106
- connect ( mQGisIface ->mapCanvas (), SIGNAL ( layersChanged () ),
107
- this , SLOT ( layersChanged () ) );
106
+ // connect( mQGisIface->mapCanvas(), SIGNAL( layersChanged() ),
107
+ // this, SLOT( layersChanged() ) );
108
108
}
109
109
110
110
@@ -315,15 +315,13 @@ struct HomeControlHandler : public NavigationControlHandler
315
315
316
316
struct RefreshControlHandler : public ControlEventHandler
317
317
{
318
- RefreshControlHandler ( osgEarthUtil::EarthManipulator* manip, QgisInterface* mQGisIface ) : _manip( manip ), _mQGisIface( mQGisIface ) { }
318
+ RefreshControlHandler ( GlobePlugin* globe ) : mGlobe ( globe ) { }
319
319
virtual void onClick ( Control* control, int mouseButtonMask )
320
320
{
321
- // TODO
322
- OE_NOTICE << " refresh layers" << std::endl;
321
+ mGlobe ->layersChanged ();
323
322
}
324
323
private:
325
- osg::observer_ptr<osgEarthUtil::EarthManipulator> _manip;
326
- QgisInterface* _mQGisIface;
324
+ GlobePlugin* mGlobe ;
327
325
};
328
326
329
327
struct SyncExtentControlHandler : public ControlEventHandler
@@ -541,7 +539,7 @@ void GlobePlugin::setupControls()
541
539
// refresh layers
542
540
osg::Image* extraRefreshImg = osgDB::readImageFile ( imgDir + " /refresh-view.png" );
543
541
ImageControl* extraRefresh = new NavigationControl ( extraRefreshImg );
544
- extraRefresh->addEventHandler ( new RefreshControlHandler ( manip, mQGisIface ) );
542
+ extraRefresh->addEventHandler ( new RefreshControlHandler ( this ) );
545
543
546
544
// add controls to extraControls group
547
545
extraControls->addControl ( extraSync );
@@ -590,31 +588,17 @@ typedef std::list< osg::ref_ptr<VersionedTile> > TileList;
590
588
void GlobePlugin::layersChanged ()
591
589
{
592
590
QgsDebugMsg ( " layersChanged" );
593
- if ( mTileSource )
594
- {
595
- /*
596
- //viewer.getDatabasePager()->clear();
597
- //mMapNode->getTerrain()->incrementRevision();
598
- TileList tiles;
599
- mMapNode->getTerrain()->getVersionedTiles( tiles );
600
- for( TileList::iterator i = tiles.begin(); i != tiles.end(); i++ ) {
601
- //i->get()->markTileForRegeneration();
602
- i->get()->updateImagery( mQgisMapLayer->getId(), mMapNode->getMap(), mMapNode->getEngine() );
603
- }
604
- */
605
- }
606
591
if ( mTileSource && mMapNode ->getMap ()->getImageMapLayers ().size () > 1 )
607
592
{
593
+ viewer.getDatabasePager ()->clear ();
608
594
QgsDebugMsg ( " removeMapLayer" );
609
- QgsDebugMsg ( QString ( " getImageMapLayers().size = %1" ).arg ( mMapNode ->getMap ()->getImageMapLayers ().size () ) );
610
595
mMapNode ->getMap ()->removeMapLayer ( mQgisMapLayer );
611
- QgsDebugMsg ( QString ( " getImageMapLayers().size = %1" ).arg ( mMapNode ->getMap ()->getImageMapLayers ().size () ) );
612
596
QgsDebugMsg ( " addMapLayer" );
613
597
mTileSource = new QgsOsgEarthTileSource ( mQGisIface );
614
598
mTileSource ->initialize ( " " , 0 );
615
599
mQgisMapLayer = new ImageMapLayer ( " QGIS" , mTileSource );
616
600
mMapNode ->getMap ()->addMapLayer ( mQgisMapLayer );
617
- QgsDebugMsg ( QString ( " getImageMapLayers().size = %1 " ). arg ( mMapNode -> getMap ()-> getImageMapLayers (). size () ) );
601
+ mQgisMapLayer -> setCache ( 0 ); // disable caching
618
602
}
619
603
}
620
604
0 commit comments