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
|
# Copyright (c) 2007, Enthought, Inc.
# License: BSD Style.
""" Demo showing how to use the Windows specific Internet Explorer editor.
"""
# Imports:
from traitsui.wx.extra.windows.ie_html_editor \
import IEHTMLEditor
from traits.api \
import Str, List, Button, HasTraits
from traitsui.api \
import View, VGroup, HGroup, Item, TextEditor, ListEditor
# The web page class:
class WebPage ( HasTraits ):
# The URL to display:
url = Str( 'http://code.enthought.com' )
# The page title:
title = Str
# The page status:
status = Str
# The browser navigation buttons:
back = Button( '<--' )
forward = Button( '-->' )
home = Button( 'Home' )
stop = Button( 'Stop' )
refresh = Button( 'Refresh' )
search = Button( 'Search' )
# The view to display:
view = View(
HGroup( 'back', 'forward', 'home', 'stop', 'refresh', 'search', '_',
Item( 'status', style = 'readonly' ),
show_labels = False
),
Item( 'url',
show_label = False,
editor = IEHTMLEditor(
home = 'home', back = 'back',
forward = 'forward', stop = 'stop',
refresh = 'refresh', search = 'search',
title = 'title', status = 'status' )
)
)
# The demo class:
class InternetExplorerDemo ( HasTraits ):
# A URL to display:
url = Str( 'http://' )
# The list of web pages being browsed:
pages = List( WebPage )
# The view to display:
view = View(
VGroup(
Item( 'url',
label = 'Location',
editor = TextEditor( auto_set = False, enter_set = True )
)
),
Item( 'pages',
show_label = False,
style = 'custom',
editor = ListEditor( use_notebook = True,
deletable = True,
dock_style = 'tab',
export = 'DockWindowShell',
page_name = '.title' )
)
)
# Event handlers:
def _url_changed ( self, url ):
self.pages.append( WebPage( url = url.strip() ) )
# Create the demo:
demo = InternetExplorerDemo(
pages = [ WebPage(url='http://code.enthought.com/projects/traits/'),
WebPage(url='http://dmorrill.com') ] )
# Run the demo (if invoked from the command line):
if __name__ == '__main__':
demo.configure_traits()
|