44import json
55import asyncio
66
7- from trame .app import get_server , asynchronous
7+ from trame .app import TrameApp , asynchronous
88from trame .app .testing import enable_testing
9- from trame .decorators import TrameApp , change , life_cycle
9+ from trame .decorators import change
1010from trame .ui .vuetify3 import SinglePageLayout
1111from trame .widgets import vuetify3 as v3
1212
@@ -155,23 +155,13 @@ def on_interaction(self, origin, event):
155155 vtkRemoteInteractionAdapter .ProcessEvent (self ._iren , event_str )
156156
157157
158- @TrameApp ()
159- class ConeApp :
158+ class ConeApp (TrameApp ):
160159 def __init__ (self , server = None ):
161- self . server = get_server (server , client_type = "vue3" )
160+ super (). __init__ (server )
162161
163162 self .render_window , self .cone_source = self .setup_vtk ()
164- self .view_handler = ViewAdapter (self .render_window , "view" )
165163 self .build_ui ()
166164
167- @property
168- def state (self ):
169- return self .server .state
170-
171- @property
172- def ctrl (self ):
173- return self .server .controller
174-
175165 def setup_vtk (self ):
176166 renderer = vtkRenderer ()
177167 renderWindow = vtkRenderWindow ()
@@ -215,13 +205,14 @@ def build_ui(self):
215205 fluid = True ,
216206 classes = "pa-0 fill-height position-relative" ,
217207 ):
218- rca .RemoteControlledArea (
219- name = "view" ,
208+ view = rca .RemoteControlledArea (
220209 display = "image" ,
221210 )
211+ self .view_handler = ViewAdapter (self .render_window , view .name )
212+ view .add_view_handler (self .view_handler )
222213 with v3 .VCard (classes = "pa-4 ma-0" , style = STATS_STYLES ):
223214 rca .StatisticsDisplay (
224- name = " view" ,
215+ name = view . name ,
225216 fps_delta = 1.5 ,
226217 stat_window_size = 10 ,
227218 history_window_size = 30 ,
@@ -233,11 +224,6 @@ def update_cone(self, resolution, **kwargs):
233224 self .cone_source .SetResolution (resolution )
234225 self .view_handler .render ()
235226
236- @life_cycle .server_ready
237- def on_server_ready (self , ** _ ):
238- # can only be called when server is ready
239- self .ctrl .rc_area_register (self .view_handler )
240-
241227 def update_reset_resolution (self ):
242228 self .state .resolution = DEFAULT_RESOLUTION
243229
0 commit comments