FoxDot.lib.Workspace.Editor

Tkinter interface made for Live Coding with Python syntax highlighting

class FoxDot.lib.Workspace.Editor.workspace(CodeClass)[source]

Bases: object

addTask(target, args=(), kwargs={})[source]
allow_connections(**kwargs)[source]

Starts a new instance of ServerManager.TempoServer and connects it with the clock

backspace(event=None, insert='insert')[source]

Deletes a character or selected area

boot(event=None)[source]

Boot Server.

check_namespace()[source]

Sets the label

clear_console()[source]
clear_temp_file()[source]
colour_line(line)[source]

Checks a line for any tags that match regex and updates IDE colours

comment(event=None)[source]
comment_line()[source]
comment_selection()[source]
default_font = 'Consolas'
delete(event=None, insert='insert')[source]

Delete the next character

delete_next_word(event)[source]

Deletes the following word

delete_selection()[source]

If an area is selected, it is deleted and returns True

delete_word(event)[source]

Deletes the preceeding text

duplicate_line(event=None)[source]

Called using Ctrl+D - duplicates the content of this line and moves the insert to the same place on the line below

edit_copy(event=None)[source]
edit_cut(event=None)[source]
edit_paste(event=None)[source]

Pastes any text and updates the IDE

exec_all(event=None)[source]

Exec all.

exec_block(event=None, insert='insert')[source]

Method to highlight block of code and execute

exec_line(event=None, insert='insert')[source]

Highlights a single line and executes

export_console()[source]
find_multiline()[source]

Goes through the whole text and adds multiline formatting where necessary. Not-implemented

get_all()[source]

Returns all the text as a string

get_last_word()[source]
help(event=None)[source]
highlight(start, end, colour='Red')[source]

Highlights an area of text

indent(event=None, insert='insert')[source]

Indent the current line or selected text

insert_char(char)[source]

Inserts a character into the text editor at the INSERT cursor then updates the syntax highlighting etc

insert_lambda_symbol(event)[source]
invert_selection(index1, index2=None)[source]

Given two Tkinter indices, will select non-selected text in the range and de-select the selected text

key_down(event=None)[source]
key_up(event=None)[source]
keypress(event=None)[source]

Handles any keypress

kill()[source]

Proper exit function

killall(event=None)[source]

Stops all player objects

loadfile(path)[source]
look(direction=-1)[source]

Finds the start of the next / previous word

mouse_press(*args)[source]

De-select etc when pressing mouse 1

move_word_left(event=None, keep_selection=False)[source]
move_word_right(event=None, keep_selection=False)[source]
namespace = {}
newfile(event=None)[source]

Clears the document and asks if the user wants to save

newline(event=None, insert='insert')[source]

Adds whitespace to newlines where necessary

on_text_modified(event)[source]
open_config_file()[source]
open_samples_folder()[source]
opendocumentation()[source]
openfile(event=None)[source]
openhomepage()[source]
read()[source]
redo(event=None)[source]
releaseNodes(event=None)[source]
reload()[source]

Reloads synths / samples

replace(line, old, new)[source]

Replaces text on a specified line and updates the IDE

replace_re(line, new='')[source]

Replaces text on a specified line and updates the IDE

run()[source]

Starts the Tk mainloop for the master widget

save(event=None)[source]

Saves the contents of the text editor

saveAs(event=None)[source]
select_all(event=None)[source]

Select the contents of the editor

select_word_left(event=None)[source]
select_word_right(event=None)[source]

Calls self.move_word_right() and also selects the text moved

set_all(text)[source]
set_temp_file(text)[source]
set_window_title(text: str = 'Live Coding with Python and SuperCollider')[source]
show_popup(*args)[source]

Shows the context menu when pressing right click

start_listening(**kwargs)[source]

Manual starting of FoxDot tempo server

submit(code_str)[source]

Runs the chunk of code through FoxDot processing and execute

tab(event=None, insert='insert')[source]

Move selected text forward 4 spaces

tabspace()[source]
terminate()[source]

Called on window close. Ends Clock thread process

text_selected()[source]

Returns True if text is selected

toggle_console(event=None)[source]
toggle_counter(event=None)[source]
toggle_menu(event=None)[source]
toggle_prompt(event=None)[source]
toggle_sc3_plugins(event=None)[source]

Allows you to change the SC3 plugins variable from the editor. Restart of the editor is required.

toggle_transparency(event=None)[source]

Sets the text and console background to black and then removes all black pixels from the GUI

toggle_true_fullscreen(event=None, zoom=False)[source]

Zoom the screen - close with Escape

undo(event=None)[source]
unhighlight()[source]

Creates thread to wait 0.2 seconds before removing any highlights from the text

unindent(event)[source]

Moves the current row or selected text back by 4 spaces

update(event=None, insert='insert')[source]

Updates the the colours of the IDE

update_all()[source]

Updates every line in the IDE

update_prompt(visible=True)[source]
update_prompt2()[source]
zoom_in(event=None)[source]

Ctrl+= increases text size

zoom_out(event=None)[source]

Ctrl+- decreases text size (minimum of 8)