Source code for pyface.tasks.i_task_pane

# (C) Copyright 2005-2023 Enthought, Inc., Austin, TX
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in LICENSE.txt and may be redistributed only under
# the conditions described in the aforementioned license. The license
# is also available online at http://www.enthought.com/licenses/BSD.txt
#
# Thanks for using Enthought open source!

from traits.api import Any, Bool, HasTraits, Interface, Instance, Str


from pyface.tasks.task import Task


[docs]class ITaskPane(Interface): """ The base interface for all panes (central and dock) in a Task. """ #: The pane's identifier, unique within a Task. id = Str() #: The pane's user-visible name. name = Str() #: The toolkit-specific control that represents the pane. control = Any() #: Does the pane currently have focus? has_focus = Bool() #: The task with which the pane is associated. Set by the framework. task = Instance(Task) # ------------------------------------------------------------------------ # 'ITaskPane' interface. # ------------------------------------------------------------------------
[docs] def create(self, parent): """ Create and set the toolkit-specific control that represents the pane. """
[docs] def destroy(self): """ Destroy the toolkit-specific control that represents the pane. """
[docs] def set_focus(self): """ Gives focus to the control that represents the pane. """
[docs]class MTaskPane(HasTraits): """ Mixin containing common code for toolkit-specific implementations. """ # 'ITaskPane' interface ------------------------------------------------ id = Str() name = Str() control = Any() has_focus = Bool(False) task = Instance(Task)