| """ | |
| Base class for UI tabs | |
| """ | |
| import gradio as gr | |
| import logging | |
| from typing import Dict, Any, Optional | |
| logger = logging.getLogger(__name__) | |
| class BaseTab: | |
| """Base class for UI tabs with common functionality""" | |
| def __init__(self, app_state): | |
| """Initialize the tab with app state reference | |
| Args: | |
| app_state: Reference to main AppUI instance | |
| """ | |
| self.app = app_state | |
| self.components = {} | |
| def create(self, parent=None) -> gr.TabItem: | |
| """Create the tab UI components | |
| Args: | |
| parent: Optional parent container | |
| Returns: | |
| The created tab component | |
| """ | |
| raise NotImplementedError("Subclasses must implement create()") | |
| def connect_events(self) -> None: | |
| """Connect event handlers to UI components""" | |
| raise NotImplementedError("Subclasses must implement connect_events()") | |
| def refresh(self) -> Dict[str, Any]: | |
| """Refresh UI components with current data | |
| Returns: | |
| Dictionary with updated values for components | |
| """ | |
| return {} |