2
2
import pygfx
3
3
from typing import *
4
4
5
- from ._base import Graphic
6
- from ._base import EventData
5
+ from ._base import Graphic , EventData , Interaction
7
6
8
- class LineGraphic (Graphic ):
7
+ class LineGraphic (Graphic , Interaction ):
9
8
def __init__ (self , data : np .ndarray , zlevel : float = None , size : float = 2.0 , colors : np .ndarray = None , cmap : str = None , * args , ** kwargs ):
10
9
super (LineGraphic , self ).__init__ (data , colors = colors , cmap = cmap , * args , ** kwargs )
11
10
@@ -57,29 +56,28 @@ def update_colors(self, colors: np.ndarray):
57
56
58
57
@property
59
58
def indices (self ) -> Any :
60
- return self . indices
59
+ return None
61
60
62
61
@property
63
62
def features (self ) -> List [str ]:
64
- return self . features
63
+ return None
65
64
66
- def _set_feature (self , name : str , new_data : Any , indices : Any ):
67
- if name == "color" :
68
- self .update_colors (new_data )
69
- elif name == "data" :
70
- self .update_data (new_data )
65
+ def _set_feature (self , feature : str , new_data : Any , indices : Any = None ):
66
+ if feature in ["colors" , "data" ]:
67
+ update_func = getattr (self , f"update_{ feature } " )
68
+ update_func (new_data )
71
69
else :
72
70
raise ValueError ("name arg is not a valid feature" )
73
71
74
- def link (self , event : str , target : Graphic , feature : str , new_data : Any , indices_mapper : callable = None ):
72
+ def link (self , event_type : str , target : Graphic , feature : str , new_data : Any , indices_mapper : callable = None ):
75
73
valid_events = ["click" ]
76
- if event in valid_events :
77
- self .world_object .add_event_handler (self .event_handler , event )
74
+ if event_type in valid_events :
75
+ self .world_object .add_event_handler (self .event_handler , event_type )
78
76
else :
79
77
raise ValueError ("event not possible" )
80
78
81
- if event in self .registered_callbacks .keys ():
82
- self .registered_callbacks [event ].append (EventData (target = target , feature = feature , new_data = new_data , indices = None ))
79
+ if event_type in self .registered_callbacks .keys ():
80
+ self .registered_callbacks [event_type ].append (EventData (target = target , feature = feature , new_data = new_data ))
83
81
else :
84
- self .registered_callbacks [event ] = list ()
85
- self .registered_callbacks [event ].append (EventData (target = target , feature = feature , new_data = new_data , indices = None ))
82
+ self .registered_callbacks [event_type ] = list ()
83
+ self .registered_callbacks [event_type ].append (EventData (target = target , feature = feature , new_data = new_data ))
0 commit comments