cadquery-freecad-module/CadQuery/Libs/pyqode/core/api/manager.py

47 lines
1.2 KiB
Python

"""
This module contains the Manager API.
"""
import weakref
class Manager(object):
"""
A manager manages a specific aspect of a CodeEdit instance:
- backend management (start/stop server, request work,...)
- modes management
- panels management and drawing
- file manager
Managers are typically created internally when you create a CodeEdit.
You interact with them later, e.g. when you want to start the backend
process or when you want to install/retrieve a mode or a panel.
::
editor = CodeEdit()
# use the backend manager to start the backend server
editor.backend.start(...)
editor.backend.send_request(...)
# use the panels controller to install a panel
editor.panels.install(MyPanel(), MyPanel.Position.Right)
my_panel = editor.panels.get(MyPanel)
# and so on
"""
@property
def editor(self):
"""
Return a reference to the parent code edit widget.
"""
return self._editor()
def __init__(self, editor):
"""
:param editor: CodeEdit instance to control
"""
self._editor = weakref.ref(editor)