Skip to content

Commit 4694931

Browse files
committedJul 5, 2011
Refresh button
1 parent 5906eef commit 4694931

File tree

1 file changed

+8
-24
lines changed

1 file changed

+8
-24
lines changed
 

‎src/plugins/globe/globe_plugin.cpp

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ void GlobePlugin::initGui()
103103

104104
connect( mQGisIface->mapCanvas() , SIGNAL( extentsChanged() ),
105105
this, SLOT( extentsChanged() ) );
106-
connect( mQGisIface->mapCanvas(), SIGNAL( layersChanged() ),
107-
this, SLOT( layersChanged() ) );
106+
//connect( mQGisIface->mapCanvas(), SIGNAL( layersChanged() ),
107+
// this, SLOT( layersChanged() ) );
108108
}
109109

110110

@@ -315,15 +315,13 @@ struct HomeControlHandler : public NavigationControlHandler
315315

316316
struct RefreshControlHandler : public ControlEventHandler
317317
{
318-
RefreshControlHandler( osgEarthUtil::EarthManipulator* manip, QgisInterface* mQGisIface ) : _manip( manip ), _mQGisIface( mQGisIface ) { }
318+
RefreshControlHandler( GlobePlugin* globe ) : mGlobe( globe ) { }
319319
virtual void onClick( Control* control, int mouseButtonMask )
320320
{
321-
//TODO
322-
OE_NOTICE << "refresh layers" << std::endl;
321+
mGlobe->layersChanged();
323322
}
324323
private:
325-
osg::observer_ptr<osgEarthUtil::EarthManipulator> _manip;
326-
QgisInterface* _mQGisIface;
324+
GlobePlugin* mGlobe;
327325
};
328326

329327
struct SyncExtentControlHandler : public ControlEventHandler
@@ -541,7 +539,7 @@ void GlobePlugin::setupControls()
541539
//refresh layers
542540
osg::Image* extraRefreshImg = osgDB::readImageFile( imgDir + "/refresh-view.png" );
543541
ImageControl* extraRefresh = new NavigationControl( extraRefreshImg );
544-
extraRefresh->addEventHandler( new RefreshControlHandler( manip, mQGisIface ) );
542+
extraRefresh->addEventHandler( new RefreshControlHandler( this ) );
545543

546544
//add controls to extraControls group
547545
extraControls->addControl( extraSync );
@@ -590,31 +588,17 @@ typedef std::list< osg::ref_ptr<VersionedTile> > TileList;
590588
void GlobePlugin::layersChanged()
591589
{
592590
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-
}
606591
if( mTileSource && mMapNode->getMap()->getImageMapLayers().size() > 1 )
607592
{
593+
viewer.getDatabasePager()->clear();
608594
QgsDebugMsg( "removeMapLayer" );
609-
QgsDebugMsg( QString( "getImageMapLayers().size = %1" ).arg( mMapNode->getMap()->getImageMapLayers().size() ) );
610595
mMapNode->getMap()->removeMapLayer( mQgisMapLayer );
611-
QgsDebugMsg( QString( "getImageMapLayers().size = %1" ).arg( mMapNode->getMap()->getImageMapLayers().size() ) );
612596
QgsDebugMsg( "addMapLayer" );
613597
mTileSource = new QgsOsgEarthTileSource( mQGisIface );
614598
mTileSource->initialize( "", 0 );
615599
mQgisMapLayer = new ImageMapLayer( "QGIS", mTileSource );
616600
mMapNode->getMap()->addMapLayer( mQgisMapLayer );
617-
QgsDebugMsg( QString( "getImageMapLayers().size = %1" ).arg( mMapNode->getMap()->getImageMapLayers().size() ) );
601+
mQgisMapLayer->setCache( 0 ); //disable caching
618602
}
619603
}
620604

0 commit comments

Comments
 (0)
Please sign in to comment.