@ -18,7 +18,6 @@ class MainLayout(Widget):
def __init__ ( self ) :
def __init__ ( self ) :
super ( ) . __init__ ( )
super ( ) . __init__ ( )
self . _sidebar = Sidebar ( )
self . _sidebar = Sidebar ( )
self . _sidebar_visible = True
self . _current_mode = MainState . HOME
self . _current_mode = MainState . HOME
self . _prev_onroad = False
self . _prev_onroad = False
@ -46,7 +45,7 @@ class MainLayout(Widget):
def _update_layout_rects ( self , rect ) :
def _update_layout_rects ( self , rect ) :
self . _sidebar_rect = rl . Rectangle ( rect . x , rect . y , SIDEBAR_WIDTH , rect . height )
self . _sidebar_rect = rl . Rectangle ( rect . x , rect . y , SIDEBAR_WIDTH , rect . height )
x_offset = SIDEBAR_WIDTH if self . _sidebar_visible else 0
x_offset = SIDEBAR_WIDTH if self . _sidebar . is _visible else 0
self . _content_rect = rl . Rectangle ( rect . y + x_offset , rect . y , rect . width - x_offset , rect . height )
self . _content_rect = rl . Rectangle ( rect . y + x_offset , rect . y , rect . width - x_offset , rect . height )
def _handle_onroad_transition ( self ) :
def _handle_onroad_transition ( self ) :
@ -58,30 +57,30 @@ class MainLayout(Widget):
def _set_mode_for_state ( self ) :
def _set_mode_for_state ( self ) :
if ui_state . started :
if ui_state . started :
self . _current_mode = MainState . ONROAD
self . _current_mode = MainState . ONROAD
self . _sidebar_visible = False
self . _sidebar . set_visible ( False )
else :
else :
self . _current_mode = MainState . HOME
self . _current_mode = MainState . HOME
self . _sidebar_visible = True
self . _sidebar . set_visible ( True )
def open_settings ( self , panel_type : PanelType ) :
def open_settings ( self , panel_type : PanelType ) :
self . _layouts [ MainState . SETTINGS ] . set_current_panel ( panel_type )
self . _layouts [ MainState . SETTINGS ] . set_current_panel ( panel_type )
self . _current_mode = MainState . SETTINGS
self . _current_mode = MainState . SETTINGS
self . _sidebar_visible = False
self . _sidebar . set_visible ( False )
def _on_settings_clicked ( self ) :
def _on_settings_clicked ( self ) :
self . _current_mode = MainState . SETTINGS
self . _current_mode = MainState . SETTINGS
self . _sidebar_visible = False
self . _sidebar . set_visible ( False )
def _on_flag_clicked ( self ) :
def _on_flag_clicked ( self ) :
pass
pass
def _on_onroad_clicked ( self ) :
def _on_onroad_clicked ( self ) :
self . _sidebar_visible = not self . _sidebar_visible
self . _sidebar . set_visible ( not self . _sidebar . is _visible)
def _render_main_content ( self ) :
def _render_main_content ( self ) :
# Render sidebar
# Render sidebar
if self . _sidebar_visible :
if self . _sidebar . is _visible:
self . _sidebar . render ( self . _sidebar_rect )
self . _sidebar . render ( self . _sidebar_rect )
content_rect = self . _content_rect if self . _sidebar_visible else self . _rect
content_rect = self . _content_rect if self . _sidebar . is _visible else self . _rect
self . _layouts [ self . _current_mode ] . render ( content_rect )
self . _layouts [ self . _current_mode ] . render ( content_rect )