[Marble-devel] Review Request: Add visibleRegionChanged signal in MarbleMap and MarbleWidget

Torsten Rahn rahn at kde.org
Sat May 8 12:08:41 CEST 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/3898/#review5513
-----------------------------------------------------------



/trunk/KDE/kdeedu/marble/src/lib/MarbleMap.h
<http://reviewboard.kde.org/r/3898/#comment5187>

    I object to this method name. :-) 
    
    For the UI the usage of the term "region" is fine. But in terms of API it's imho not: We are using the term Region for two subjects:
    
    - QRegion
    - GeoDataRegion 
    
    One of the merits of the Qt (and Marble) API is the consistency in terms of wording.
    
    Therefore I think that this method should look differently. Possible alternatives I see are:
    
    void visibleRegionChanged( const GeoDataRegion& visibleRegion );
    
    void visibleLatLonAltBoxChanged( const GeoDataLatLonAltBox& visibleLatLonAltBox );
    
    void viewChanged( const GeoDataAbstractView& view );
    
    void lookAtChanged( const GeoDataLookAt& lookAt );
    
    void cameraChanged( const GeoDataCamera& camera );
    
    
    


- Torsten


On 2010-05-07 09:35:44, jmho wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/3898/
> -----------------------------------------------------------
> 
> (Updated 2010-05-07 09:35:44)
> 
> 
> Review request for marble.
> 
> 
> Summary
> -------
> 
> With this patch, MarbleMap emits a signal (visibleRegionChanged) when the users moves the map or zooms.
> The signals's argument contains the new visible region as GeoDataLatLonAltBox.
> The new signal is needed for a non-modal download region dialog.
> 
> 
> Diffs
> -----
> 
>   /trunk/KDE/kdeedu/marble/src/lib/MarbleMap.h 1123897 
>   /trunk/KDE/kdeedu/marble/src/lib/MarbleMap.cpp 1123897 
>   /trunk/KDE/kdeedu/marble/src/lib/MarbleWidget.h 1123897 
>   /trunk/KDE/kdeedu/marble/src/lib/MarbleWidget.cpp 1123897 
> 
> Diff: http://reviewboard.kde.org/r/3898/diff
> 
> 
> Testing
> -------
> 
> Using the patch below showed that the signal is emitted when browsing and zooming around the map.
> 
> -------------------------- marble/src/marble_part.cpp --------------------------
> index 5722b07..4601cae 100644
> @@ -150,6 +150,8 @@ void MarblePart::initObject()
>      setupStatusBar();
>      readSettings();
>      m_statusBarExtension->statusBar()->setUpdatesEnabled( true );
> +    connect( m_controlView->marbleWidget(), SIGNAL( visibleRegionChanged( GeoDataLatLonAltBox )),
> +             SLOT( debugVisibleRegion( GeoDataLatLonAltBox )));
>  }
>  
>  ControlView* MarblePart::controlView() const
> @@ -1265,6 +1267,11 @@ void MarblePart::readPluginSettings()
>      }
>  }
>  
> +void MarblePart::debugVisibleRegion( const GeoDataLatLonAltBox& region )
> +{
> +    kDebug() << "N/W/S/E:" << region.north() << region.west() << region.south() << region.east();
> +}
> +
>  void MarblePart::lockFloatItemPosition( bool enabled )
>  {
>      QList<AbstractFloatItem *> floatItemList = m_controlView->marbleWidget()->floatItems();
> 
> --------------------------- marble/src/marble_part.h ---------------------------
> index 7328fde..f17c398 100644
> @@ -35,6 +35,7 @@ namespace Marble
>  {
>  
>  class ControlView;
> +class GeoDataLatLonAltBox;
>  class SunControlWidget;
>  
>  class MarblePart: public KParts::ReadOnlyPart
> @@ -147,6 +148,8 @@ class MarblePart: public KParts::ReadOnlyPart
>       */
>      void readPluginSettings();
>  
> +    void debugVisibleRegion( const GeoDataLatLonAltBox& );
> +
>    private:
>      void  setupActions();
>      void  setupDownloadProgressBar();
> 
> 
> Thanks,
> 
> jmho
> 
>



More information about the Marble-devel mailing list