Move marker label anchor to anchors mod
							parent
							
								
									e58a980786
								
							
						
					
					
						commit
						69091a894f
					
				| 
						 | 
				
			
			@ -21,6 +21,7 @@ Anchor funtions for UI placement of annotions.
 | 
			
		|||
from typing import Callable
 | 
			
		||||
 | 
			
		||||
from PyQt5.QtCore import QPointF
 | 
			
		||||
from PyQt5.QtGui import QGraphicsPathItem
 | 
			
		||||
 | 
			
		||||
from ._label import Label
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -155,3 +156,18 @@ def update_pp_nav(
 | 
			
		|||
 | 
			
		||||
    # re-anchor label (i.e. trigger call of ``arrow_tr()`` from above
 | 
			
		||||
    label.update()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def path_topright(
 | 
			
		||||
    gpath: QGraphicsPathItem,
 | 
			
		||||
    label: Label,  # noqa
 | 
			
		||||
 | 
			
		||||
) -> QPointF:
 | 
			
		||||
    # get actual arrow graphics path
 | 
			
		||||
    path_br = gpath.mapToScene(
 | 
			
		||||
        gpath.path()
 | 
			
		||||
    ).boundingRect()
 | 
			
		||||
 | 
			
		||||
    # vb.locate(arrow_path)  #, children=True)
 | 
			
		||||
 | 
			
		||||
    return path_br.topRight() - QPointF(0, label.h / 3)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,7 @@ import pyqtgraph as pg
 | 
			
		|||
from pyqtgraph import Point, functions as fn
 | 
			
		||||
from PyQt5 import QtCore, QtGui, QtWidgets
 | 
			
		||||
from PyQt5.QtCore import QPointF
 | 
			
		||||
from PyQt5.QtGui import QGraphicsPathItem
 | 
			
		||||
 | 
			
		||||
from ._annotate import mk_marker, qgo_draw_markers
 | 
			
		||||
from ._anchors import (
 | 
			
		||||
| 
						 | 
				
			
			@ -33,6 +34,7 @@ from ._anchors import (
 | 
			
		|||
    vbr_left,
 | 
			
		||||
    right_axis,
 | 
			
		||||
    update_pp_nav,
 | 
			
		||||
    path_topright,
 | 
			
		||||
)
 | 
			
		||||
from ._label import Label
 | 
			
		||||
from ._style import hcolor, _font
 | 
			
		||||
| 
						 | 
				
			
			@ -767,17 +769,11 @@ def position_line(
 | 
			
		|||
    )
 | 
			
		||||
    arrow_path.label = marker_label
 | 
			
		||||
 | 
			
		||||
    def arrow_tr():
 | 
			
		||||
        # get actual arrow graphics path
 | 
			
		||||
        path_br = arrow_path.mapToScene(
 | 
			
		||||
            arrow_path.path()
 | 
			
		||||
        ).boundingRect()
 | 
			
		||||
 | 
			
		||||
        # vb.locate(arrow_path)  #, children=True)
 | 
			
		||||
 | 
			
		||||
        return path_br.topRight() - QPointF(0, marker_label.h / 3)
 | 
			
		||||
 | 
			
		||||
    marker_label.scene_anchor = arrow_tr
 | 
			
		||||
    marker_label.scene_anchor = partial(
 | 
			
		||||
        path_topright,
 | 
			
		||||
        gpath=arrow_path,
 | 
			
		||||
        label=marker_label,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    line._labels.append(marker_label)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue