def perform( self, event):
        """ Perform the action. """

        window  = event.window
        manager = window.workbench.user_perspective_manager

        # Get the new name.
        upn = UserPerspectiveName(name=window.active_perspective.name)
        if upn.edit_traits(view='rename_view').result:
            manager.rename(window.active_perspective, upn.name.strip())

        return
    def perform(self, event):
        """ Perform the action. """

        window = event.window
        manager = window.workbench.user_perspective_manager

        # Get the new name.
        upn = UserPerspectiveName(name=window.active_perspective.name)
        if upn.edit_traits(view='rename_view').result:
            manager.rename(window.active_perspective, upn.name.strip())

        return
    def perform(self, event):
        """ Peform the action. """

        window = event.window
        manager = window.workbench.user_perspective_manager

        # Get the details of the new perspective.
        upn = UserPerspectiveName(name='User Perspective %d' % manager.next_id)
        if upn.edit_traits(view='new_view').result:
            # Create a new (and empty) user perspective.
            perspective = manager.create_perspective(upn.name.strip(),
                                                     upn.show_editor_area)

            # Add it to the window...
            window.perspectives.append(perspective)

            # ... and make it the active perspective.
            window.active_perspective = perspective

        return
    def perform(self, event):
        """ Perform the action. """

        window  = event.window
        manager = window.workbench.user_perspective_manager

        # Get the name of the new perspective.
        upn = UserPerspectiveName(name=window.active_perspective.name)
        if upn.edit_traits(view='save_as_view').result:
            # Make a clone of the active perspective, but give it the new name.
            perspective = manager.clone_perspective(
                 window, window.active_perspective, name=upn.name.strip()
            )

            # Add it to the window...
            window.perspectives.append(perspective)

            # ... and make it the active perspective.
            window.active_perspective = perspective

        return
    def perform(self, event):
        """ Perform the action. """

        window = event.window
        manager = window.workbench.user_perspective_manager

        # Get the name of the new perspective.
        upn = UserPerspectiveName(name=window.active_perspective.name)
        if upn.edit_traits(view='save_as_view').result:
            # Make a clone of the active perspective, but give it the new name.
            perspective = manager.clone_perspective(window,
                                                    window.active_perspective,
                                                    name=upn.name.strip())

            # Add it to the window...
            window.perspectives.append(perspective)

            # ... and make it the active perspective.
            window.active_perspective = perspective

        return
    def perform(self, event):
        """ Peform the action. """

        window  = event.window
        manager = window.workbench.user_perspective_manager

        # Get the details of the new perspective.
        upn = UserPerspectiveName(name='User Perspective %d' % manager.next_id)
        if upn.edit_traits(view='new_view').result:
            # Create a new (and empty) user perspective.
            perspective = manager.create_perspective(
                upn.name.strip(), upn.show_editor_area
            )

            # Add it to the window...
            window.perspectives.append(perspective)

            # ... and make it the active perspective.
            window.active_perspective = perspective

        return