prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Remove "PopupablePlot"
  `PopupablePlot` was introduced in the commit https://github.com/enthought/chaco/commit/4af154cec6f678862ba7e695ae62d681312b50e8#diff-c93657842da48caff25acdb9de9f919f9c04b5301d0fafc28598c9fdeee829f8 but it is not clear why it exists or who uses it.
  
  --- 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/ui/popupable_plot.py`
  Content:
  ```
  1 # Enthought library imports
  2 from traits.api import List
  3 from chaco.plot import Plot
  4 from chaco.plot_containers import VPlotContainer
  5 from chaco.tools.pan_tool import PanTool
  6 from chaco.tools.zoom_tool import ZoomTool
  7 from chaco.ui.plot_window import PlotWindow
  8 
  9 from traitsui.wx.constants import WindowColor
  10 
  11 
  12 class PopupablePlot(Plot):
  13     """A Plot class that pops up in a new window on double click"""
  14 
  15     # FIXME: It would be nice to queue up other types of commands and settings
  16     command_queue = List()
  17 
  18     def normal_left_dclick(self, event):
  19         plot = Plot(self.data)
  20         for data, kw in self.command_queue:
  21             plot.plot(data, **kw)
  22             plot.title = self.title
  23 
  24         plot.title = self.title
  25         container = VPlotContainer(bgcolor=WindowColor)
  26         container.add(plot)
  27         plot.tools.append(PanTool(plot))
  28         plot.overlays.append(ZoomTool(plot))
  29         window = PlotWindow(plot=container)
  30         window.edit_traits(kind="live", parent=event.window.control)
  31 
  32     def plot(self, data, **kw):
  33         """Queue up the plot commands"""
  34         self.command_queue.append((data, kw))
  35         super().plot(data, **kw)
  36
  ```
  --- 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()
  
  ```
  
golden_diff: diff --git a/chaco/ui/popupable_plot.py b/chaco/ui/popupable_plot.py
  deleted file mode 100644
  --- a/chaco/ui/popupable_plot.py
  +++ /dev/null
  @@ -1,35 +0,0 @@
  -# Enthought library imports
  -from traits.api import List
  -from chaco.plot import Plot
  -from chaco.plot_containers import VPlotContainer
  -from chaco.tools.pan_tool import PanTool
  -from chaco.tools.zoom_tool import ZoomTool
  -from chaco.ui.plot_window import PlotWindow
  -
  -from traitsui.wx.constants import WindowColor
  -
  -
  -class PopupablePlot(Plot):
  -    """A Plot class that pops up in a new window on double click"""
  -
  -    # FIXME: It would be nice to queue up other types of commands and settings
  -    command_queue = List()
  -
  -    def normal_left_dclick(self, event):
  -        plot = Plot(self.data)
  -        for data, kw in self.command_queue:
  -            plot.plot(data, **kw)
  -            plot.title = self.title
  -
  -        plot.title = self.title
  -        container = VPlotContainer(bgcolor=WindowColor)
  -        container.add(plot)
  -        plot.tools.append(PanTool(plot))
  -        plot.overlays.append(ZoomTool(plot))
  -        window = PlotWindow(plot=container)
  -        window.edit_traits(kind="live", parent=event.window.control)
  -
  -    def plot(self, data, **kw):
  -        """Queue up the plot commands"""
  -        self.command_queue.append((data, kw))
  -        super().plot(data, **kw)
  
verification_info: {"golden_diff": "diff --git a/chaco/ui/popupable_plot.py b/chaco/ui/popupable_plot.py\ndeleted file mode 100644\n--- a/chaco/ui/popupable_plot.py\n+++ /dev/null\n@@ -1,35 +0,0 @@\n-# Enthought library imports\n-from traits.api import List\n-from chaco.plot import Plot\n-from chaco.plot_containers import VPlotContainer\n-from chaco.tools.pan_tool import PanTool\n-from chaco.tools.zoom_tool import ZoomTool\n-from chaco.ui.plot_window import PlotWindow\n-\n-from traitsui.wx.constants import WindowColor\n-\n-\n-class PopupablePlot(Plot):\n-    \"\"\"A Plot class that pops up in a new window on double click\"\"\"\n-\n-    # FIXME: It would be nice to queue up other types of commands and settings\n-    command_queue = List()\n-\n-    def normal_left_dclick(self, event):\n-        plot = Plot(self.data)\n-        for data, kw in self.command_queue:\n-            plot.plot(data, **kw)\n-            plot.title = self.title\n-\n-        plot.title = self.title\n-        container = VPlotContainer(bgcolor=WindowColor)\n-        container.add(plot)\n-        plot.tools.append(PanTool(plot))\n-        plot.overlays.append(ZoomTool(plot))\n-        window = PlotWindow(plot=container)\n-        window.edit_traits(kind=\"live\", parent=event.window.control)\n-\n-    def plot(self, data, **kw):\n-        \"\"\"Queue up the plot commands\"\"\"\n-        self.command_queue.append((data, kw))\n-        super().plot(data, **kw)\n", "issue": "Remove \"PopupablePlot\"\n`PopupablePlot` was introduced in the commit https://github.com/enthought/chaco/commit/4af154cec6f678862ba7e695ae62d681312b50e8#diff-c93657842da48caff25acdb9de9f919f9c04b5301d0fafc28598c9fdeee829f8 but it is not clear why it exists or who uses it.\n", "before_files": [{"content": "# Enthought library imports\nfrom traits.api import List\nfrom chaco.plot import Plot\nfrom chaco.plot_containers import VPlotContainer\nfrom chaco.tools.pan_tool import PanTool\nfrom chaco.tools.zoom_tool import ZoomTool\nfrom chaco.ui.plot_window import PlotWindow\n\nfrom traitsui.wx.constants import WindowColor\n\n\nclass PopupablePlot(Plot):\n    \"\"\"A Plot class that pops up in a new window on double click\"\"\"\n\n    # FIXME: It would be nice to queue up other types of commands and settings\n    command_queue = List()\n\n    def normal_left_dclick(self, event):\n        plot = Plot(self.data)\n        for data, kw in self.command_queue:\n            plot.plot(data, **kw)\n            plot.title = self.title\n\n        plot.title = self.title\n        container = VPlotContainer(bgcolor=WindowColor)\n        container.add(plot)\n        plot.tools.append(PanTool(plot))\n        plot.overlays.append(ZoomTool(plot))\n        window = PlotWindow(plot=container)\n        window.edit_traits(kind=\"live\", parent=event.window.control)\n\n    def plot(self, data, **kw):\n        \"\"\"Queue up the plot commands\"\"\"\n        self.command_queue.append((data, kw))\n        super().plot(data, **kw)\n", "path": "chaco/ui/popupable_plot.py"}], "after_files": [{"content": null, "path": "chaco/ui/popupable_plot.py"}]}