-
Benjamin Jakimow authoredBenjamin Jakimow authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
mapviewscrollarea.py 1.98 KiB
# -*- 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 *
class MapViewScrollArea(QScrollArea):
#sigResized = pyqtSignal()
def __init__(self, *args, **kwds):
super(MapViewScrollArea, self).__init__(*args, **kwds)
self.horizontalScrollBar().setTracking(False)
self.verticalScrollBar().setTracking(False)
#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()
#def sizeHint(self):
# parent = self.parent()
# hint = super(MapViewScrollArea, self).sizeHint()
# return hint