|
from __future__ import annotations |
|
|
|
from gradio.blocks import BlockContext |
|
from gradio.component_meta import ComponentMeta |
|
from gradio.events import Events |
|
|
|
|
|
class SketchBox(BlockContext, metaclass=ComponentMeta): |
|
EVENTS = [Events.select] |
|
|
|
def __init__( |
|
self, |
|
is_container: bool = False, |
|
component_type: str | None = None, |
|
var_name: str | None = None, |
|
active: bool = False, |
|
function_mode: bool = False, |
|
event_list: list[str] | None = None, |
|
is_input: bool = False, |
|
is_output: bool = False, |
|
triggers: list[str] | None = None, |
|
): |
|
self.row = False |
|
self.is_container = is_container |
|
self.component_type = component_type |
|
self.var_name = var_name |
|
self.active = active |
|
self.function_mode = function_mode |
|
self.event_list = event_list or [] |
|
self.is_input = is_input |
|
self.is_output = is_output |
|
self.triggers = triggers or [] |
|
super().__init__() |
|
|
|
def __exit__(self, exc_type: type[BaseException] | None = None, *args): |
|
from gradio.layouts import Row |
|
|
|
self.row = isinstance(self.parent, Row) |
|
return super().__exit__(exc_type, *args) |
|
|
|
def get_config(self): |
|
config = super().get_config() |
|
config["row"] = self.row |
|
return config |
|
|