Editor
Introduction
Editor widget in Supervisely allows users to input and edit code with syntax highlighting. It provides a customizable text input area with options such as language selection, input height, and some styles. Editor widget is used for editing code snippets, as the syntax highlighting makes it easier to read and edit code for languages such as python, json, html, and yaml.
Function signature
Editor(
initial_text='{ "value": 10 }',
height_px=100,
height_lines=None, # overwrites height_px if specified.
language_mode='json',
readonly=False,
show_line_numbers=True,
highlight_active_line=True,
restore_default_button=True,
widget_id=None,
)
Parameters
initial_text
Optional[str]
Editor default value
height_px
Optional[int]
Specifies widget height in pixels
height_lines
Optional[int]
Specifies the visible number of lines in widget
language_mode
Optional[int]
Specifies language mode of editor
readonly
Optional[bool]
Specifies that a editor area should be read-only
show_line_numbers
Optional[bool]
Specifies displaying numbers of lines in editor
highlight_active_line
Optional[bool]
Specifies if visible highlighting active line in editor
restore_default_button
Optional[bool]
Display button for settting editor default value
widget_id
Optional[str]
ID of the widget
initial_text
Editor default value
type: Optional[str]
default value: ""

height_px
Specifies widgets height in pixels.
type: Optional[int]
default value: 100

height_lines
Specifies the visible number of lines in widget. If specified it overwrites height_px. If >= 1000, all lines will be displayed
type: Optional[int]
default value: None

language_mode
Specifies language mode of editor.
type: Optional[Literal['json', 'html', 'plain_text', 'yaml', 'python']]
default value: json

readonly
Specifies that a editor area should be read-only.
type: Optional[bool]
default value: False

show_line_numbers
Specifies displaying numbers of lines in editor.
type: Optional[bool]
default value: True

highlight_active_line
Specifies if visible highlighting active line in editor.
type: Optional[bool]
default value: True

restore_default_button
Display button for settting editor default value.
type: Optional[bool]
default value: True

widget_id
ID of the widget.
type: Optional[str]
default value: None
Methods and attributes
readonly
Get or set readonly property.
show_line_numbers()
Display line numbers or code snippet.
hide_line_numbers()
Hide line numbers or code snippet.
get_text()
Returns input value data.
set_text(text: Optional[str] = "", language_mode: Optional[Literal['json', 'html', 'plain_text', 'yaml', 'python']] = None)
Set input value data.
Mini App Example
You can find this example in our Github repository:
ui-widgets-demos/blob/master/text elements/003_editor/src/main.py
Import libraries
Init API client
First, we load environment variables with credentials and init API for communicating with Supervisely Instance:
Initialize Editor widget
Editor widgetInitialize widgets we will use in this demo
Create app layout
Prepare a layout for app using Card widget with the content parameter and place widgets that we've just created in the Container widget.
Create app using layout
Create an app object with layout parameter.
Add functions to control widgets from python code

Last updated
Was this helpful?