Dock Pane Example
An example of the DockPane
widget.
This example demonstrates the use of the DockPane
widget. A DockPane
can have at most one child, which must be a ‘Container` widget. The
sizing of the DockPane
is largely determined by the size constraints
of the child Container
. A DockPane
must be used as the child of
a MainWindow
. There are several attribute on a DockPane
which allow
the developer to control the behavior of the DockPane
.
Implementation Notes:
The docking facilities in Wx are very weak. Due to various technical limitations, the sizing of
DockPane
widgets in Wx is not nearly as good as it is on Qt. The cost of using aDockPane
in Wx is also much higher than in Qt due to Wx’s horribly inefficient docking implementation. If docking is required for a particular application, strongly prefer the Qt backend over Wx (this is generally a good life-rule).
Screenshot

Example Enaml Code
#------------------------------------------------------------------------------
# Copyright (c) 2013, Nucleic Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file LICENSE, distributed with this software.
#------------------------------------------------------------------------------
""" An example of the `DockPane` widget.
This example demonstrates the use of the `DockPane` widget. A `DockPane`
can have at most one child, which must be a 'Container` widget. The
sizing of the `DockPane` is largely determined by the size constraints
of the child `Container`. A `DockPane` must be used as the child of
a `MainWindow`. There are several attribute on a `DockPane` which allow
the developer to control the behavior of the `DockPane`.
Implementation Notes:
The docking facilities in Wx are very weak. Due to various technical
limitations, the sizing of `DockPane` widgets in Wx is not nearly as
good as it is on Qt. The cost of using a `DockPane` in Wx is also
*much* higher than in Qt due to Wx's horribly inefficient docking
implementation. If docking is required for a particular application,
strongly prefer the Qt backend over Wx (this is generally a good
life-rule).
<< autodoc-me >>
"""
from enaml.widgets.api import (
MainWindow, DockPane, Container, PushButton, Html,
)
enamldef Main(MainWindow):
DockPane:
title << 'Dock Area %s | %s' % (dock_area, 'floating' if floating else 'docked')
Container:
PushButton:
text = 'Foo'
PushButton:
text = 'Bar'
PushButton:
text = 'Baz'
Container:
Html:
source = '<h1><center>Hello World!</center></h1>'