-
Notifications
You must be signed in to change notification settings - Fork 55
/
multi_toolbar_window.py
93 lines (72 loc) · 2.72 KB
/
multi_toolbar_window.py
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#------------------------------------------------------------------------------
# Copyright (c) 2005, Enthought, Inc.
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in enthought/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!
#
# Author: Enthought, Inc.
# Description: <Enthought pyface package component>
#------------------------------------------------------------------------------
""" Mulit-tool bar example. """
# Standard library imports.
import os, sys
# Put the Enthought library on the Python path.
sys.path.append(os.path.abspath(r'..\..\..'))
# FIXME: This is a hack to disable the AUI module which causes the example to
# not layout correctly.
try:
import wx
sys.modules['wx.aui'] = None
except:
pass
# Enthought library imports.
from pyface.api import MultiToolbarWindow, GUI
from pyface.action.api import Action, MenuManager, MenuBarManager
from pyface.action.api import ToolBarManager
class MainWindow(MultiToolbarWindow):
""" The main application window. """
###########################################################################
# 'object' interface.
###########################################################################
def __init__(self, **traits):
""" Creates a new application window. """
# Base class constructor.
super(MainWindow, self).__init__(**traits)
# Add a menu bar.
self.menu_bar_manager = MenuBarManager(
MenuManager(
Action(name='E&xit', on_perform=self.close),
name = '&File',
)
)
# Add a menu bar at each location.
self.add_tool_bar(
ToolBarManager(Action(name='Foo'), orientation='horizontal')
)
self.add_tool_bar(
ToolBarManager(Action(name='Bar'), orientation='horizontal'),
location = 'bottom'
)
self.add_tool_bar(
ToolBarManager(Action(name='Baz'), orientation='vertical'),
location = 'left'
)
self.add_tool_bar(
ToolBarManager(Action(name='Buz'), orientation='vertical'),
location = 'right'
)
return
# Application entry point.
if __name__ == '__main__':
# Create the GUI (this does NOT start the GUI event loop).
gui = GUI()
# Create and open the main window.
window = MainWindow()
window.open()
# Start the GUI event loop.
gui.start_event_loop()
##### EOF #####################################################################