class MenuBarHiddenItemsExample(VerticalLayout):

    def __init__(self):
        super(MenuBarHiddenItemsExample, self).__init__()

        self._menubar = MenuBar()

        menuCommand = MenuCommand(self)

        # Save reference to individual items so we can add sub-menu
        # items to them
        f = self._menubar.addItem('File', None)
        newItem = f.addItem('New', None)
        f.addItem('Open f...', menuCommand)
        f.addSeparator()
        newItem.addItem('File', menuCommand)
        newItem.addItem('Folder', menuCommand)
        newItem.addItem('Project...', menuCommand)
        f.addItem('Close', menuCommand)
        f.addItem('Close All', menuCommand)
        f.addSeparator()
        f.addItem('Save', menuCommand)
        f.addItem('Save As...', menuCommand)
        f.addItem('Save All', menuCommand)

        edit = self._menubar.addItem('Edit', None)
        edit.addItem('Undo', menuCommand)

        redo = edit.addItem('Redo', menuCommand)
        redo.setEnabled(False)

        edit.addSeparator()
        edit.addItem('Cut', menuCommand)
        edit.addItem('Copy', menuCommand)
        edit.addItem('Paste', menuCommand)
        edit.addSeparator()

        find = edit.addItem('Find/Replace', menuCommand)

        # Actions can be added inline as well, of course
        find.addItem('Google Search', SearchCommand(self))
        find.addSeparator()
        find.addItem('Find/Replace...', menuCommand)
        find.addItem('Find Next', menuCommand)
        find.addItem('Find Previous', menuCommand)

        view = self._menubar.addItem('View', None)
        view.addItem('Show/Hide Status Bar', menuCommand)
        view.addItem('Customize Toolbar...', menuCommand)
        view.addSeparator()
        view.addItem('Actual Size', menuCommand)
        view.addItem('Zoom In', menuCommand)
        view.addItem('Zoom Out', menuCommand)

        self.addComponent(self._menubar)
        self.addComponent( Button('Hide File menu', HideListener(f)) )

        l = RedoListener(redo)
        self.addComponent( Button('Enable Edit -> Redo action', l) )
        self.setSpacing(True)
예제 #2
0
class MenuBarWithIconsExample(VerticalLayout):

    def __init__(self):
        super(MenuBarWithIconsExample, self).__init__()

        self._menubar = MenuBar()

        menuCommand = MenuCommand(self)

        # Save reference to individual items so we can add sub-menu items to
        # them
        f = self._menubar.addItem('File', None)
        newItem = f.addItem('New', None)
        f.addItem('Open file...',
                ThemeResource('../runo/icons/16/folder.png'), menuCommand)
        f.addSeparator()
        newItem.addItem('File',
                ThemeResource('../runo/icons/16/document.png'), menuCommand)
        newItem.addItem('Folder',
                ThemeResource('../runo/icons/16/folder.png'), menuCommand)
        newItem.addItem('Project...',
                ThemeResource('../runo/icons/16/globe.png'), menuCommand)
        f.addItem('Close', menuCommand)
        f.addItem('Close All', menuCommand)
        f.addSeparator()
        f.addItem('Save', menuCommand)
        f.addItem('Save As...', menuCommand)
        f.addItem('Save All', menuCommand)

        edit = self._menubar.addItem('Edit', None)
        edit.addItem('Undo', menuCommand)
        edit.addItem('Redo', menuCommand).setEnabled(False)
        edit.addSeparator()
        edit.addItem('Cut', menuCommand)
        edit.addItem('Copy', menuCommand)
        edit.addItem('Paste', menuCommand)

        edit.addSeparator()
        find = edit.addItem('Find/Replace', menuCommand)

        # Actions can be added inline as well, of course
        find.addItem('Google Search', SearchCommand(self))
        find.addSeparator()
        find.addItem('Find/Replace...', menuCommand)
        find.addItem('Find Next', menuCommand)
        find.addItem('Find Previous', menuCommand)

        view = self._menubar.addItem('View',
                ThemeResource('../runo/icons/16/user.png'), None)
        view.addItem('Show/Hide Status Bar', menuCommand)
        view.addItem('Customize Toolbar...', menuCommand)
        view.addSeparator()
        view.addItem('Actual Size', menuCommand)
        view.addItem('Zoom In', menuCommand)
        view.addItem('Zoom Out', menuCommand)

        self.addComponent(self._menubar)
class MenuBarCheckableItemsExample(VerticalLayout):

    def __init__(self):
        super(MenuBarCheckableItemsExample, self).__init__()

        self._menubar = MenuBar()

        menuCommand = MenuCommand(self)

        f = self._menubar.addItem('File', None)
        f.addItem('New...', menuCommand)
        f.addItem('Open...', menuCommand)
        f.addSeparator()
        f.addItem('Save', menuCommand)
        f.addSeparator()
        # Save on exit is checkable but we do not want any listener to be
        # called when its state changes
        saveOnExit = f.addItem('Save on exit', None)
        saveOnExit.setCheckable(True)
        saveOnExit.setChecked(True)
        f.addSeparator()
        f.addItem('Exit', menuCommand)

        settings = self._menubar.addItem('Settings', None)
        # These settings are checkable and the listener is called when their
        # state changes
        setting1 = settings.addItem('Allow settings to be changed by all users',
                menuCommand)
        setting1.setCheckable(True)
        setting1.setChecked(True)

        setting2 = settings.addItem('Convert XML files automatically',
                menuCommand)
        setting2.setCheckable(True)

        setting3 = settings.addItem('Convert files automatically',
                menuCommand)
        setting3.setCheckable(True)
        settings.addSeparator()

        # This could be used to show a popup with all the settings for the
        # application
        settings.addItem('More settings...', menuCommand)
        self.addComponent(self._menubar)
예제 #4
0
class MenuBarCheckableItemsExample(VerticalLayout):
    def __init__(self):
        super(MenuBarCheckableItemsExample, self).__init__()

        self._menubar = MenuBar()

        menuCommand = MenuCommand(self)

        f = self._menubar.addItem('File', None)
        f.addItem('New...', menuCommand)
        f.addItem('Open...', menuCommand)
        f.addSeparator()
        f.addItem('Save', menuCommand)
        f.addSeparator()
        # Save on exit is checkable but we do not want any listener to be
        # called when its state changes
        saveOnExit = f.addItem('Save on exit', menuCommand)
        saveOnExit.setCheckable(True)
        saveOnExit.setChecked(True)
        f.addSeparator()
        f.addItem('Exit', menuCommand)

        settings = self._menubar.addItem('Settings', None)
        # These settings are checkable and the listener is called when their
        # state changes
        setting1 = settings.addItem(
            'Allow settings to be changed by all users', menuCommand)
        setting1.setCheckable(True)
        setting1.setChecked(True)

        setting2 = settings.addItem('Convert XML files automatically',
                                    menuCommand)
        setting2.setCheckable(True)

        setting3 = settings.addItem('Convert files automatically', menuCommand)
        setting3.setCheckable(True)
        settings.addSeparator()

        # This could be used to show a popup with all the settings for the
        # application
        settings.addItem('More settings...', menuCommand)
        self.addComponent(self._menubar)
예제 #5
0
class MenuBarTooltipsExample(VerticalLayout):

    def __init__(self):
        super(MenuBarTooltipsExample, self).__init__()

        self._menubar = MenuBar()

        menuCommand = MenuCommand(self)

        # Add tooltip to the menubar itself
        self._menubar.setDescription('Perform some actions by selecting '
                'them from the menus')

        # Save reference to individual items so we can add sub-menu
        # items to them
        f = self._menubar.addItem('File', None)
        f.setDescription('File menu')
        newItem = f.addItem('New', None)
        newItem.setDescription('Add a new..')
        opn = f.addItem('Open file...', menuCommand)
        opn.setDescription('Retrieve a file from the filesystem')
        f.addSeparator()

        item = newItem.addItem('File', menuCommand)
        item.setDescription('Open a file')
        item = newItem.addItem('Folder', menuCommand)
        item.setDescription('Open a folder')
        item = newItem.addItem('Project...', menuCommand)
        item.setDescription('Open a project')
        item = f.addItem('Close', menuCommand)
        item.setDescription('Closes the selected file')
        item = f.addItem('Close All', menuCommand)
        item.setDescription('Closes all files')

        f.addSeparator()
        item = f.addItem('Save', menuCommand)
        item.setDescription('Saves the file')
        item = f.addItem('Save As...', menuCommand)
        item.setDescription('Saves the file with a different name')
        item = f.addItem('Save All', menuCommand)
        item.setDescription('Saves all files')

        edit = self._menubar.addItem('Edit', None)
        edit.setDescription('Edit menu')
        item = edit.addItem('Undo', menuCommand)
        item.setDescription('Reverses recent changes')
        item = edit.addItem('Redo', menuCommand)
        item.setEnabled(False)
        item.setDescription('Redoes undone changed')

        edit.addSeparator()
        item = edit.addItem('Cut', menuCommand)
        item.setDescription('Copies the text to the clipboard and removes it')
        item = edit.addItem('Copy', menuCommand)
        item.setDescription('Copies the text to the clipboard')
        item = edit.addItem('Paste', menuCommand)
        item.setDescription('Copies the contents of the clipboard on to the document')

        edit.addSeparator()
        find = edit.addItem('Find/Replace', menuCommand)
        find.setDescription('Find or Replace text')

        # Actions can be added inline as well, of course
        item = find.addItem('Google Search', SearchCommand(self))
        item.setDescription('Search with Google')

        find.addSeparator()
        item = find.addItem('Find/Replace...', menuCommand)
        item.setDescription('Finds or replaces text')
        item = find.addItem('Find Next', menuCommand)
        item.setDescription('Find the next occurrence')
        item = find.addItem('Find Previous', menuCommand)
        item.setDescription('Find the previous occurrence')

        view = self._menubar.addItem('View', None)
        view.setDescription('View menu')
        item = view.addItem('Show/Hide Status Bar', menuCommand)
        item.setDescription('Toggles the visibility of the Status Bar')
        item = view.addItem('Customize Toolbar...', menuCommand)
        item.setDescription('Add or remove items in the toolbar')

        view.addSeparator()
        item = view.addItem('Actual Size', menuCommand)
        item.setDescription('Resize view to the original size')
        item = view.addItem('Zoom In', menuCommand)
        item.setDescription('Zoom the document in by 10%')
        item = view.addItem('Zoom Out', menuCommand)
        item.setDescription('Zoom the doucment out by 10%')

        self.addComponent(self._menubar)
예제 #6
0
class MenuBarTooltipsExample(VerticalLayout):
    def __init__(self):
        super(MenuBarTooltipsExample, self).__init__()

        self._menubar = MenuBar()

        menuCommand = MenuCommand(self)

        # Add tooltip to the menubar itself
        self._menubar.setDescription('Perform some actions by selecting '
                                     'them from the menus')

        # Save reference to individual items so we can add sub-menu
        # items to them
        f = self._menubar.addItem('File', None)
        f.setDescription('File menu')
        newItem = f.addItem('New', None)
        newItem.setDescription('Add a new..')
        opn = f.addItem('Open file...', menuCommand)
        opn.setDescription('Retrieve a file from the filesystem')
        f.addSeparator()

        item = newItem.addItem('File', menuCommand)
        item.setDescription('Open a file')
        item = newItem.addItem('Folder', menuCommand)
        item.setDescription('Open a folder')
        item = newItem.addItem('Project...', menuCommand)
        item.setDescription('Open a project')
        item = f.addItem('Close', menuCommand)
        item.setDescription('Closes the selected file')
        item = f.addItem('Close All', menuCommand)
        item.setDescription('Closes all files')

        f.addSeparator()
        item = f.addItem('Save', menuCommand)
        item.setDescription('Saves the file')
        item = f.addItem('Save As...', menuCommand)
        item.setDescription('Saves the file with a different name')
        item = f.addItem('Save All', menuCommand)
        item.setDescription('Saves all files')

        edit = self._menubar.addItem('Edit', None)
        edit.setDescription('Edit menu')
        item = edit.addItem('Undo', menuCommand)
        item.setDescription('Reverses recent changes')
        item = edit.addItem('Redo', menuCommand)
        item.setEnabled(False)
        item.setDescription('Redoes undone changed')

        edit.addSeparator()
        item = edit.addItem('Cut', menuCommand)
        item.setDescription('Copies the text to the clipboard and removes it')
        item = edit.addItem('Copy', menuCommand)
        item.setDescription('Copies the text to the clipboard')
        item = edit.addItem('Paste', menuCommand)
        item.setDescription(
            'Copies the contents of the clipboard on to the document')

        edit.addSeparator()
        find = edit.addItem('Find/Replace', menuCommand)
        find.setDescription('Find or Replace text')

        # Actions can be added inline as well, of course
        item = find.addItem('Google Search', SearchCommand(self))
        item.setDescription('Search with Google')

        find.addSeparator()
        item = find.addItem('Find/Replace...', menuCommand)
        item.setDescription('Finds or replaces text')
        item = find.addItem('Find Next', menuCommand)
        item.setDescription('Find the next occurrence')
        item = find.addItem('Find Previous', menuCommand)
        item.setDescription('Find the previous occurrence')

        view = self._menubar.addItem('View', None)
        view.setDescription('View menu')
        item = view.addItem('Show/Hide Status Bar', menuCommand)
        item.setDescription('Toggles the visibility of the Status Bar')
        item = view.addItem('Customize Toolbar...', menuCommand)
        item.setDescription('Add or remove items in the toolbar')

        view.addSeparator()
        item = view.addItem('Actual Size', menuCommand)
        item.setDescription('Resize view to the original size')
        item = view.addItem('Zoom In', menuCommand)
        item.setDescription('Zoom the document in by 10%')
        item = view.addItem('Zoom Out', menuCommand)
        item.setDescription('Zoom the doucment out by 10%')

        self.addComponent(self._menubar)