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
|
# (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 pyface.tasks.i_task_pane import ITaskPane, MTaskPane
from traits.api import provides
import wx
# Logging
import logging
logger = logging.getLogger(__name__)
@provides(ITaskPane)
class TaskPane(MTaskPane):
""" The toolkit-specific implementation of a TaskPane.
See the ITaskPane interface for API documentation.
"""
# ------------------------------------------------------------------------
# 'ITaskPane' interface.
# ------------------------------------------------------------------------
def create(self, parent):
""" Create and set the toolkit-specific control that represents the
pane.
"""
self.control = wx.Panel(parent)
def destroy(self):
""" Destroy the toolkit-specific control that represents the pane.
"""
if self.control is not None:
logger.debug("Destroying %s" % self.control)
self.task.window._aui_manager.DetachPane(self.control)
self.control.Hide()
self.control.Destroy()
self.control = None
def set_focus(self):
""" Gives focus to the control that represents the pane.
"""
if self.control is not None:
self.control.SetFocus()
|