Skip to content
Snippets Groups Projects
mapviewscrollarea.py 1.74 KiB
Newer Older
  • Learn to ignore specific revisions
  • # -*- coding: utf-8 -*-
    
    """
    ***************************************************************************
        
        ---------------------
        Date                 : 10.01.2018
        Copyright            : (C) 2018 by Benjamin Jakimow
        Email                : benjamin jakimow at geo dot hu-berlin dot de
    ***************************************************************************
    *                                                                         *
    *   This program is free software; you can redistribute it and/or modify  *
    *   it under the terms of the GNU General Public License as published by  *
    *   the Free Software Foundation; either version 2 of the License, or     *
    *   (at your option) any later version.                                   *
    *                                                                         *
    ***************************************************************************
    """
    # noinspection PyPep8Naming
    
    from qgis.PyQt.QtCore import *
    from qgis.PyQt.QtGui import *
    from qgis.PyQt.QtWidgets import *
    
    
        def __init__(self, *args, **kwds):
            super(MapViewScrollArea, self).__init__(*args, **kwds)
    
        def resizeEvent(self, event):
            super(MapViewScrollArea, self).resizeEvent(event)
            self.sigResized.emit()
    
    
        def distanceToCenter(self, widget:QWidget)->int:
    
            # self.visibleRegion().boundingRect().isValid()
            halfSize = widget.size() * 0.5
            centerInParent = widget.mapToParent(QPoint(halfSize.width(), halfSize.height()))
            r = self.viewport().rect()
            centerViewPort = QPoint(int(r.x() + r.width() *0.5 ), int(r.y()+r.height()*0.5))
    
            diff = centerInParent - centerViewPort
            return diff.manhattanLength()