We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Dont use traitsui.api as tui
https://github.com/enthought/chaco/blob/3de7780561fa29e79c887432d3ce408ea82d1614/chaco/plugin/plot_editor.py makes use of the odd `import traitsui.api as tui` alias which needs to be updated and removed.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `chaco/plugin/plot_editor.py`
Content:
```
1 from chaco.shell.scaly_plot import ScalyPlot
2 from enable.component_editor import ComponentEditor
3 from pyface.workbench.api import TraitsUIEditor
4 from traits.api import Any, Enum, HasTraits, Property, Str
5 from traitsui import api as tui
6 
7 
8 class PlotUI(HasTraits):
9     """Simple Traits UI proxy for a Chaco plot."""
10 
11     # The plot.
12     component = Any()
13 
14     traits_view = tui.View(
15         tui.Item("component", editor=ComponentEditor(), show_label=False),
16         resizable=True,
17     )
18 
19 
20 class PlotEditor(TraitsUIEditor):
21     """A Workbench Editor showing a Chaco plot for the shell interface."""
22 
23     bgcolor = Str("white")
24     image_default_origin = Enum(
25         "bottom left", "top left", "bottom right", "top right"
26     )
27 
28     # The plot.
29     component = Property(Any)
30     container = Property(Any)
31 
32     # The PlotData.
33     data = Any()
34 
35     # The PlotSession of which we are a part.  We need to know this in order
36     # to notify it of our being closed, etc.
37     session = Any()
38 
39     def __init__(
40         self,
41         is_image=False,
42         bgcolor="white",
43         image_default_origin="top left",
44         *args,
45         **kw
46     ):
47 
48         super(TraitsUIEditor, self).__init__(**kw)
49 
50         # Some defaults which should be overridden by preferences.
51         self.bgcolor = bgcolor
52         self.image_default_origin = image_default_origin
53 
54         # Create an empty top-level container
55         if is_image:
56             top_container = self._create_top_img_container()
57         else:
58             top_container = self._create_top_container()
59 
60         self.obj = PlotUI(component=top_container)
61 
62     #### PlotWindow interface ##################################################
63 
64     def get_container(self):
65         return self.obj.component
66 
67     def set_container(self, container):
68         self.obj.component = container
69 
70     def iconize(self, iconize):
71         """Iconizes the window if *iconize* is True.
72 
73         Do nothing in this implementation.
74         """
75 
76     def maximize(self, maximize):
77         """If *maximize* is True, maximizes the window size; restores if False.
78 
79         Do nothing in this implementation.
80         """
81 
82     def set_size(self, width, height):
83         pass
84 
85     def set_title(self, title):
86         self.name = title
87 
88     def raise_window(self):
89         self.window.activate_editor(self)
90 
91     #### Editor interface ######################################################
92 
93     def destroy_control(self):
94         """Destroy the toolkit-specific control that represents the part."""
95         self._on_window_close()
96         super(TraitsUIEditor, self).destroy_control()
97 
98     #### Private interface #####################################################
99 
100     def _get_container(self):
101         return self.obj.component
102 
103     def _set_container(self, value):
104         self.obj.component = value
105 
106     def _get_component(self):
107         return self.obj.component
108 
109     def _set_component(self, value):
110         self.obj.component = value
111 
112     def _create_top_container(self):
113         plot = ScalyPlot(
114             padding=50,
115             fill_padding=True,
116             bgcolor=self.bgcolor,
117             use_backbuffer=True,
118         )
119         return plot
120 
121     def _create_top_img_container(self):
122         plot = ScalyPlot(
123             padding=50,
124             fill_padding=True,
125             bgcolor=self.bgcolor,
126             use_backbuffer=True,
127             default_origin=self.image_default_origin,
128         )
129         return plot
130 
131     def _on_window_close(self):
132         if self.session:
133             try:
134                 ndx = self.session.windows.index(self)
135                 self.session.del_window(ndx)
136             except ValueError:
137                 pass
138
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/chaco/plugin/plot_editor.py b/chaco/plugin/plot_editor.py
--- a/chaco/plugin/plot_editor.py
+++ b/chaco/plugin/plot_editor.py
@@ -2,7 +2,7 @@
 from enable.component_editor import ComponentEditor
 from pyface.workbench.api import TraitsUIEditor
 from traits.api import Any, Enum, HasTraits, Property, Str
-from traitsui import api as tui
+from traitsui.api import Item, View
 
 
 class PlotUI(HasTraits):
@@ -11,8 +11,8 @@
     # The plot.
     component = Any()
 
-    traits_view = tui.View(
-        tui.Item("component", editor=ComponentEditor(), show_label=False),
+    traits_view = View(
+        Item("component", editor=ComponentEditor(), show_label=False),
         resizable=True,
     )

{"golden_diff": "diff --git a/chaco/plugin/plot_editor.py b/chaco/plugin/plot_editor.py\n--- a/chaco/plugin/plot_editor.py\n+++ b/chaco/plugin/plot_editor.py\n@@ -2,7 +2,7 @@\n from enable.component_editor import ComponentEditor\n from pyface.workbench.api import TraitsUIEditor\n from traits.api import Any, Enum, HasTraits, Property, Str\n-from traitsui import api as tui\n+from traitsui.api import Item, View\n \n \n class PlotUI(HasTraits):\n@@ -11,8 +11,8 @@\n     # The plot.\n     component = Any()\n \n-    traits_view = tui.View(\n-        tui.Item(\"component\", editor=ComponentEditor(), show_label=False),\n+    traits_view = View(\n+        Item(\"component\", editor=ComponentEditor(), show_label=False),\n         resizable=True,\n     )\n", "issue": "Dont use traitsui.api as tui\nhttps://github.com/enthought/chaco/blob/3de7780561fa29e79c887432d3ce408ea82d1614/chaco/plugin/plot_editor.py makes use of the odd `import traitsui.api as tui` alias which needs to be updated and removed.\n", "before_files": [{"content": "from chaco.shell.scaly_plot import ScalyPlot\nfrom enable.component_editor import ComponentEditor\nfrom pyface.workbench.api import TraitsUIEditor\nfrom traits.api import Any, Enum, HasTraits, Property, Str\nfrom traitsui import api as tui\n\n\nclass PlotUI(HasTraits):\n    \"\"\"Simple Traits UI proxy for a Chaco plot.\"\"\"\n\n    # The plot.\n    component = Any()\n\n    traits_view = tui.View(\n        tui.Item(\"component\", editor=ComponentEditor(), show_label=False),\n        resizable=True,\n    )\n\n\nclass PlotEditor(TraitsUIEditor):\n    \"\"\"A Workbench Editor showing a Chaco plot for the shell interface.\"\"\"\n\n    bgcolor = Str(\"white\")\n    image_default_origin = Enum(\n        \"bottom left\", \"top left\", \"bottom right\", \"top right\"\n    )\n\n    # The plot.\n    component = Property(Any)\n    container = Property(Any)\n\n    # The PlotData.\n    data = Any()\n\n    # The PlotSession of which we are a part.  We need to know this in order\n    # to notify it of our being closed, etc.\n    session = Any()\n\n    def __init__(\n        self,\n        is_image=False,\n        bgcolor=\"white\",\n        image_default_origin=\"top left\",\n        *args,\n        **kw\n    ):\n\n        super(TraitsUIEditor, self).__init__(**kw)\n\n        # Some defaults which should be overridden by preferences.\n        self.bgcolor = bgcolor\n        self.image_default_origin = image_default_origin\n\n        # Create an empty top-level container\n        if is_image:\n            top_container = self._create_top_img_container()\n        else:\n            top_container = self._create_top_container()\n\n        self.obj = PlotUI(component=top_container)\n\n    #### PlotWindow interface ##################################################\n\n    def get_container(self):\n        return self.obj.component\n\n    def set_container(self, container):\n        self.obj.component = container\n\n    def iconize(self, iconize):\n        \"\"\"Iconizes the window if *iconize* is True.\n\n        Do nothing in this implementation.\n        \"\"\"\n\n    def maximize(self, maximize):\n        \"\"\"If *maximize* is True, maximizes the window size; restores if False.\n\n        Do nothing in this implementation.\n        \"\"\"\n\n    def set_size(self, width, height):\n        pass\n\n    def set_title(self, title):\n        self.name = title\n\n    def raise_window(self):\n        self.window.activate_editor(self)\n\n    #### Editor interface ######################################################\n\n    def destroy_control(self):\n        \"\"\"Destroy the toolkit-specific control that represents the part.\"\"\"\n        self._on_window_close()\n        super(TraitsUIEditor, self).destroy_control()\n\n    #### Private interface #####################################################\n\n    def _get_container(self):\n        return self.obj.component\n\n    def _set_container(self, value):\n        self.obj.component = value\n\n    def _get_component(self):\n        return self.obj.component\n\n    def _set_component(self, value):\n        self.obj.component = value\n\n    def _create_top_container(self):\n        plot = ScalyPlot(\n            padding=50,\n            fill_padding=True,\n            bgcolor=self.bgcolor,\n            use_backbuffer=True,\n        )\n        return plot\n\n    def _create_top_img_container(self):\n        plot = ScalyPlot(\n            padding=50,\n            fill_padding=True,\n            bgcolor=self.bgcolor,\n            use_backbuffer=True,\n            default_origin=self.image_default_origin,\n        )\n        return plot\n\n    def _on_window_close(self):\n        if self.session:\n            try:\n                ndx = self.session.windows.index(self)\n                self.session.del_window(ndx)\n            except ValueError:\n                pass\n", "path": "chaco/plugin/plot_editor.py"}], "after_files": [{"content": "from chaco.shell.scaly_plot import ScalyPlot\nfrom enable.component_editor import ComponentEditor\nfrom pyface.workbench.api import TraitsUIEditor\nfrom traits.api import Any, Enum, HasTraits, Property, Str\nfrom traitsui.api import Item, View\n\n\nclass PlotUI(HasTraits):\n    \"\"\"Simple Traits UI proxy for a Chaco plot.\"\"\"\n\n    # The plot.\n    component = Any()\n\n    traits_view = View(\n        Item(\"component\", editor=ComponentEditor(), show_label=False),\n        resizable=True,\n    )\n\n\nclass PlotEditor(TraitsUIEditor):\n    \"\"\"A Workbench Editor showing a Chaco plot for the shell interface.\"\"\"\n\n    bgcolor = Str(\"white\")\n    image_default_origin = Enum(\n        \"bottom left\", \"top left\", \"bottom right\", \"top right\"\n    )\n\n    # The plot.\n    component = Property(Any)\n    container = Property(Any)\n\n    # The PlotData.\n    data = Any()\n\n    # The PlotSession of which we are a part.  We need to know this in order\n    # to notify it of our being closed, etc.\n    session = Any()\n\n    def __init__(\n        self,\n        is_image=False,\n        bgcolor=\"white\",\n        image_default_origin=\"top left\",\n        *args,\n        **kw\n    ):\n\n        super(TraitsUIEditor, self).__init__(**kw)\n\n        # Some defaults which should be overridden by preferences.\n        self.bgcolor = bgcolor\n        self.image_default_origin = image_default_origin\n\n        # Create an empty top-level container\n        if is_image:\n            top_container = self._create_top_img_container()\n        else:\n            top_container = self._create_top_container()\n\n        self.obj = PlotUI(component=top_container)\n\n    #### PlotWindow interface ##################################################\n\n    def get_container(self):\n        return self.obj.component\n\n    def set_container(self, container):\n        self.obj.component = container\n\n    def iconize(self, iconize):\n        \"\"\"Iconizes the window if *iconize* is True.\n\n        Do nothing in this implementation.\n        \"\"\"\n\n    def maximize(self, maximize):\n        \"\"\"If *maximize* is True, maximizes the window size; restores if False.\n\n        Do nothing in this implementation.\n        \"\"\"\n\n    def set_size(self, width, height):\n        pass\n\n    def set_title(self, title):\n        self.name = title\n\n    def raise_window(self):\n        self.window.activate_editor(self)\n\n    #### Editor interface ######################################################\n\n    def destroy_control(self):\n        \"\"\"Destroy the toolkit-specific control that represents the part.\"\"\"\n        self._on_window_close()\n        super(TraitsUIEditor, self).destroy_control()\n\n    #### Private interface #####################################################\n\n    def _get_container(self):\n        return self.obj.component\n\n    def _set_container(self, value):\n        self.obj.component = value\n\n    def _get_component(self):\n        return self.obj.component\n\n    def _set_component(self, value):\n        self.obj.component = value\n\n    def _create_top_container(self):\n        plot = ScalyPlot(\n            padding=50,\n            fill_padding=True,\n            bgcolor=self.bgcolor,\n            use_backbuffer=True,\n        )\n        return plot\n\n    def _create_top_img_container(self):\n        plot = ScalyPlot(\n            padding=50,\n            fill_padding=True,\n            bgcolor=self.bgcolor,\n            use_backbuffer=True,\n            default_origin=self.image_default_origin,\n        )\n        return plot\n\n    def _on_window_close(self):\n        if self.session:\n            try:\n                ndx = self.session.windows.index(self)\n                self.session.del_window(ndx)\n            except ValueError:\n                pass\n", "path": "chaco/plugin/plot_editor.py"}]}