1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
# Copyright (c) 2015 Ultimaker B.V.
# Uranium is released under the terms of the LGPLv3 or higher.
from typing import Optional
from UM.View.Renderer import Renderer
from UM.PluginObject import PluginObject
import UM.Application
MYPY = False
if MYPY:
from UM.Controller import Controller
## Abstract base class for view objects.
class View(PluginObject):
def __init__(self):
super().__init__()
self._renderer = None # type: Optional[Renderer]
self._controller = UM.Application.Application.getInstance().getController() # type: Controller
## Get the controller object associated with this View.
# \sa Controller
def getController(self):
return self._controller
## Set the controller object associated with this View.
# \param controller The controller object to use.
# \sa Controller
def setController(self, controller: "Controller"):
self._controller = controller
## Get the Renderer instance for this View.
def getRenderer(self):
return self._renderer
## Set the renderer object to use with this View.
# \param renderer \type{Renderer} The renderer to use.
def setRenderer(self, renderer: Renderer):
self._renderer = renderer
## Begin the rendering process.
#
# This should queue all the meshes that should be rendered.
def beginRendering(self):
raise NotImplementedError()
## Perform any steps needed when ending the rendering process.
#
# If there is any cleanup or other tasks that need to be performed
# after rendering this method should be used.
def endRendering(self):
raise NotImplementedError()
## Handle an event.
# \param event \type{Event} The event to handle.
# \sa Event
def event(self, event):
pass
|