Beispiel #1
0
 def _register_actions(self):
     run_action_info = ActionInfo("Tools",
                                  "Run Tests",
                                  self.OnRun,
                                  None,
                                  "F8",
                                  ImageProvider().TOOLBAR_PLAY,
                                  "Run the selected tests",
                                  position=10)
     self._run_action = self.register_action(run_action_info)
     run_action_debug = ActionInfo("Tools",
                                   "Run Tests with Debug",
                                   self.OnRunDebug,
                                   None,
                                   "F9",
                                   getBugIconBitmap(),
                                   "Run the selected tests with Debug",
                                   position=8)
     self._run_action = self.register_action(run_action_debug)
     stop_action_info = ActionInfo("Tools",
                                   "Stop Test Run",
                                   self.OnStop,
                                   None,
                                   "CtrlCmd-F8",
                                   ImageProvider().TOOLBAR_STOP,
                                   "Stop a running test",
                                   position=11)
     self._stop_action = self.register_action(stop_action_info)
Beispiel #2
0
 def enable(self):
     action = ActionInfo('Tools', 'Search Keywords', self.OnSearch,
                         shortcut='F5',
                         doc='Search keywords from libraries and resources',
                         icon=ImageProvider().KW_SEARCH_ICON,
                         position=51)
     self.register_action(action)
     self.register_search_action('Search Keywords', self.show_search_for, ImageProvider().KW_SEARCH_ICON)
     self.subscribe(self.mark_dirty, RideOpenSuite, RideOpenResource,
                    RideImportSetting, RideUserKeyword, RideNewProject)
     self._dialog = KeywordSearchDialog(self.frame, self)
     self.tree.register_context_menu_hook(self._search_resource)
 def enable(self):
     self.register_action(
         ActionInfo('Tools',
                    self.HEADER,
                    self.show_empty_search,
                    shortcut='F3',
                    doc=self.__doc__,
                    icon=ImageProvider().TEST_SEARCH_ICON,
                    position=50))
     self.register_search_action(self.HEADER,
                                 self.show_search_for,
                                 ImageProvider().TEST_SEARCH_ICON,
                                 default=True)
     self.subscribe(self.show_tag_search, RideOpenTagSearch)
     self._dialog = None
Beispiel #4
0
 def _create_switch_button(self, panel):
     sizer = self._vertical_sizer()
     img = ImageProvider().SWITCH_FIELDS_ICON
     button = wx.BitmapButton(panel, -1, img, pos=(10, 20))
     self.Bind(wx.EVT_BUTTON, self.OnSwitchFields, button)
     sizer.Add(button)
     return sizer
 def _create_image_list(self):
     images = ImageList(16, 16)
     provider = ImageProvider()
     images.add(provider.TESTCASEIMG)
     images.add(provider.KEYWORDIMG)
     images.add(provider.DATAFILEIMG)
     images.add(provider.DATADIRIMG)
     self._images = images
Beispiel #6
0
 def _get_icon(self):
     if not self._icon_source:
         return None
     if isinstance(self._icon_source, str):
         if self._icon_source.startswith("CUSTOM_"):
             return ImageProvider().get_image_by_name(self._icon_source[len("CUSTOM_"):])
         return wx.ArtProvider.GetBitmap(getattr(wx, self._icon_source),
                                         wx.ART_TOOLBAR, (16, 16))
     return self._icon_source
Beispiel #7
0
 def _register_actions(self):
     run_action_info = ActionInfo("Tools",
                                  "Run Tests",
                                  self.OnRun,
                                  None,
                                  "F8",
                                  ImageProvider().TOOLBAR_PLAY,
                                  "Run the selected tests",
                                  position=10)
     self._run_action = self.register_action(run_action_info)
     stop_action_info = ActionInfo("Tools",
                                   "Stop Test Run",
                                   self.OnStop,
                                   None,
                                   "CtrlCmd-F8",
                                   ImageProvider().TOOLBAR_STOP,
                                   "Stop a running test",
                                   position=11)
     self._stop_action = self.register_action(stop_action_info)
Beispiel #8
0
 def _build_runner_toolbar(self):
     toolbar = wx.ToolBar(self.panel, wx.ID_ANY,
                          style=wx.TB_HORIZONTAL | wx.TB_HORZ_TEXT)
     toolbar.AddTool(ID_RUN, "Start", ImageProvider().TOOLBAR_PLAY,wx.NullBitmap,
                     wx.ITEM_NORMAL, shortHelp="Start robot", longHelp="Start running the "
                                                                       "robot test suite")
     toolbar.AddTool(ID_RUNDEBUG, "Debug", getBugIconBitmap(), wx.NullBitmap,
                     wx.ITEM_NORMAL, shortHelp="Start robot", longHelp="Start running the "
                                                                       "robot test suite with "
                                                                       "DEBUG loglevel")
     toolbar.AddTool(ID_STOP, "Stop", ImageProvider().TOOLBAR_STOP, wx.NullBitmap,
                     wx.ITEM_NORMAL, shortHelp="Stop a running test", longHelp="Stop a "
                                                                               "running test")
     toolbar.AddTool(ID_PAUSE, "Pause", ImageProvider().TOOLBAR_PAUSE, wx.NullBitmap,
                     wx.ITEM_NORMAL, shortHelp="Pause test execution", longHelp="Pause test "
                                                                                "execution")
     toolbar.AddTool(ID_CONTINUE, "Continue", ImageProvider().TOOLBAR_CONTINUE, wx.NullBitmap,
                     wx.ITEM_NORMAL, shortHelp="Continue test execution", longHelp="Continue "
                                                                                   "test "
                                                                                   "execution")
     toolbar.AddTool(ID_STEP_NEXT, "Next", ImageProvider().TOOLBAR_NEXT, wx.NullBitmap,
                     wx.ITEM_NORMAL, shortHelp="Step next", longHelp="Step next")
     toolbar.AddTool(ID_STEP_OVER, "Step over", ImageProvider().TOOLBAR_NEXT, wx.NullBitmap,
                     wx.ITEM_NORMAL, shortHelp="Step over", longHelp="Step over")
     toolbar.Realize()
     self._bind_runner_toolbar_events(toolbar)
     return toolbar
Beispiel #9
0
 def _init_ui(self):
     splitter = wx.SplitterWindow(self, style=wx.SP_LIVE_UPDATE)
     self.notebook = NoteBook(splitter, self._application)
     mb = MenuBar(self)
     self.toolbar = ToolBar(self)
     self.actions = ActionRegisterer(mb, self.toolbar,
                                     ShortcutRegistry(self))
     self.tree = Tree(splitter, self.actions, self._application.settings)
     self.actions.register_actions(ActionInfoCollection(_menudata, self, self.tree))
     mb.take_menu_bar_into_use()
     splitter.SetMinimumPaneSize(100)
     splitter.SplitVertically(self.tree, self.notebook, 300)
     self.CreateStatusBar()
     self.SetIcons(ImageProvider().PROGICONS)
Beispiel #10
0
    def __init__(self, application, controller):
        size = application.settings.get('mainframe size', (1100, 700))
        wx.Frame.__init__(self,
                          parent=None,
                          id=wx.ID_ANY,
                          title='RIDE',
                          pos=application.settings.get('mainframe position',
                                                       (50, 30)),
                          size=size,
                          style=wx.DEFAULT_FRAME_STYLE | wx.SUNKEN_BORDER)

        # set Left to Right direction (while we don't have localization)
        self.SetLayoutDirection(wx.Layout_LeftToRight)
        # self.SetLayoutDirection(wx.Layout_RightToLeft)

        self._mgr = aui.AuiManager()

        # tell AuiManager to manage this frame
        self._mgr.SetManagedWindow(self)

        self.SetMinSize(wx.Size(400, 300))

        self.ensure_on_screen()
        if application.settings.get('mainframe maximized', False):
            self.Maximize()
        self._application = application
        self._controller = controller
        self._image_provider = ImageProvider()
        self._init_ui()
        self._task_bar_icon = RIDETaskBarIcon(self._image_provider)
        self._plugin_manager = PluginManager(self.notebook)
        self._review_dialog = None
        self._view_all_tags_dialog = None
        self._current_external_dir = None
        self.Bind(wx.EVT_CLOSE, self.OnClose)
        self.Bind(wx.EVT_SIZE, self.OnSize)
        self.Bind(wx.EVT_MOVE, self.OnMove)
        self.Bind(wx.EVT_MAXIMIZE, self.OnMaximize)
        self.Bind(wx.EVT_DIRCTRL_FILEACTIVATED, self.OnOpenFile)
        self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnMenuOpenFile)
        self._subscribe_messages()
        wx.CallAfter(self.actions.register_tools)  # DEBUG
Beispiel #11
0
 def _build_runner_toolbar(self):
     toolbar = wx.ToolBar(self.panel,
                          wx.ID_ANY,
                          style=wx.TB_HORIZONTAL | wx.TB_HORZ_TEXT)
     # DEBUG wxPhoenix toolbar.AddLabelTool(
     self.MyAddTool(toolbar,
                    ID_RUN,
                    "Start",
                    ImageProvider().TOOLBAR_PLAY,
                    shortHelp="Start robot",
                    longHelp="Start running the robot test suite")
     self.MyAddTool(toolbar,
                    ID_STOP,
                    "Stop",
                    ImageProvider().TOOLBAR_STOP,
                    shortHelp="Stop a running test",
                    longHelp="Stop a running test")
     self.MyAddTool(toolbar,
                    ID_PAUSE,
                    "Pause",
                    ImageProvider().TOOLBAR_PAUSE,
                    shortHelp="Pause test execution",
                    longHelp="Pause test execution")
     self.MyAddTool(toolbar,
                    ID_CONTINUE,
                    "Continue",
                    ImageProvider().TOOLBAR_CONTINUE,
                    shortHelp="Continue test execution",
                    longHelp="Continue test execution")
     self.MyAddTool(toolbar,
                    ID_STEP_NEXT,
                    "Next",
                    ImageProvider().TOOLBAR_NEXT,
                    shortHelp="Step next",
                    longHelp="Step next")
     self.MyAddTool(toolbar,
                    ID_STEP_OVER,
                    "Step over",
                    ImageProvider().TOOLBAR_NEXT,
                    shortHelp="Step over",
                    longHelp="Step over")
     toolbar.Realize()
     self._bind_runner_toolbar_events(toolbar)
     return toolbar
Beispiel #12
0
    def _init_ui(self):
        # self._mgr.AddPane(wx.Panel(self), aui.AuiPaneInfo().CenterPane())
        ##### self.splitter = wx.SplitterWindow(self, style=wx.SP_LIVE_UPDATE)
        # self._mgr.AddPane(wx.Panel(self), aui.AuiPaneInfo().CenterPane())
        # set up default notebook style
        self._notebook_style = aui.AUI_NB_DEFAULT_STYLE | \
                               aui.AUI_NB_TAB_EXTERNAL_MOVE | wx.NO_BORDER
        # TODO self._notebook_theme = 0 (allow to select themes for notebooks)
        # self.notebook = NoteBook(self.splitter, self._application,
        #                         self._notebook_style)
        self.notebook = NoteBook(self, self._application, self._notebook_style)
        self._mgr.AddPane(
            self.notebook,
            aui.AuiPaneInfo().Name("notebook_editors").CenterPane().PaneBorder(
                False))
        ################ Test
        # self._mgr.AddPane(self.CreateTextCtrl(),
        #                   aui.AuiPaneInfo().Name("text_content").
        #                   CenterPane().Hide().MinimizeButton(True))
        #
        # self._mgr.AddPane(self.CreateHTMLCtrl(),
        #                   aui.AuiPaneInfo().Name("html_content").
        #                   CenterPane().Hide().MinimizeButton(True))
        #
        # self._mgr.AddPane(self.CreateNotebook(),
        #                   aui.AuiPaneInfo().Name("notebook_content").
        #                   CenterPane().PaneBorder(False))
        ####################
        # self._mgr.AddPane(self.CreateSizeReportCtrl(), aui.AuiPaneInfo().
        #                   Name("test1").Caption(
        #     "Pane Caption").Top().MinimizeButton(True))

        mb = MenuBar(self)
        self.toolbar = ToolBar(self)
        self.toolbar.SetMinSize(wx.Size(100, 60))
        # self.SetToolBar(self.toolbar.GetToolBar())
        self._mgr.AddPane(
            self.toolbar,
            aui.AuiPaneInfo().Name("maintoolbar").ToolbarPane().Top())
        self.actions = ActionRegisterer(self._mgr, mb, self.toolbar,
                                        ShortcutRegistry(self))
        """
        ##### Test
        tb3 = self.testToolbar()

        self._mgr.AddPane(tb3,
                          aui.AuiPaneInfo().Name("tb3").Caption("Toolbar 3").
                          ToolbarPane().Top().Row(1).Position(1))
        
        ##### End Test
        """
        # Tree is always created here
        self.tree = Tree(self, self.actions, self._application.settings)
        self.tree.SetMinSize(wx.Size(120, 200))
        # TreePlugin will manage showing the Tree
        self.actions.register_actions(
            ActionInfoCollection(_menudata, self, self.tree))
        ###### File explorer panel is always created here
        self.filemgr = FileExplorer(self, self._controller)
        self.filemgr.SetMinSize(wx.Size(120, 200))

        mb.take_menu_bar_into_use()
        self.CreateStatusBar()
        self.SetIcons(ImageProvider().PROGICONS)
        # tell the manager to "commit" all the changes just made
        self._mgr.Update()
Beispiel #13
0
    def _init_ui(self):
        # self._mgr.AddPane(wx.Panel(self), aui.AuiPaneInfo().CenterPane())
        ##### self.splitter = wx.SplitterWindow(self, style=wx.SP_LIVE_UPDATE)
        # self._mgr.AddPane(wx.Panel(self), aui.AuiPaneInfo().CenterPane())
        # set up default notebook style
        self._notebook_style = aui.AUI_NB_DEFAULT_STYLE | \
                               aui.AUI_NB_TAB_EXTERNAL_MOVE | wx.NO_BORDER
        # TODO self._notebook_theme = 0 (allow to select themes for notebooks)
        # self.notebook = NoteBook(self.splitter, self._application,
        #                         self._notebook_style)
        self.notebook = NoteBook(self, self._application, self._notebook_style)
        self._mgr.AddPane(
            self.notebook,
            aui.AuiPaneInfo().Name("notebook_editors").CenterPane().PaneBorder(
                False))
        ################ Test
        # self._mgr.AddPane(self.CreateTextCtrl(),
        #                   aui.AuiPaneInfo().Name("text_content").
        #                   CenterPane().Hide().MinimizeButton(True))
        #
        # self._mgr.AddPane(self.CreateHTMLCtrl(),
        #                   aui.AuiPaneInfo().Name("html_content").
        #                   CenterPane().Hide().MinimizeButton(True))
        #
        # self._mgr.AddPane(self.CreateNotebook(),
        #                   aui.AuiPaneInfo().Name("notebook_content").
        #                   CenterPane().PaneBorder(False))
        ####################
        # self._mgr.AddPane(self.CreateSizeReportCtrl(), aui.AuiPaneInfo().
        #                   Name("test1").Caption(
        #     "Pane Caption").Top().MinimizeButton(True))

        mb = MenuBar(self)
        self.toolbar = ToolBar(self)
        self.toolbar.SetMinSize(wx.Size(100, 60))
        # self.SetToolBar(self.toolbar.GetToolBar())
        self._mgr.AddPane(
            self.toolbar,
            aui.AuiPaneInfo().Name("maintoolbar").ToolbarPane().Top())
        self.actions = ActionRegisterer(self._mgr, mb, self.toolbar,
                                        ShortcutRegistry(self))
        """
        ##### Test
        tb3 = self.testToolbar()

        self._mgr.AddPane(tb3,
                          aui.AuiPaneInfo().Name("tb3").Caption("Toolbar 3").
                          ToolbarPane().Top().Row(1).Position(1))
        
        ##### End Test
        """
        # self._mgr.AddPane(self.CreateTreeControl(),
        #                  aui.AuiPaneInfo().Name("tree_content").
        #                  CenterPane().Hide().MinimizeButton(True))
        ###### self.tree = Tree(self.splitter, self.actions, self._application.settings)
        self.tree = Tree(self, self.actions, self._application.settings)
        #self.tree.SetMinSize(wx.Size(100, 200))
        self.tree.SetMinSize(wx.Size(120, 200))
        self._mgr.AddPane(
            self.tree,
            aui.AuiPaneInfo().Name("tree_content").Caption(
                "Test Suites").LeftDockable(True).CloseButton(False))
        # MaximizeButton(True).MinimizeButton(True))
        self.actions.register_actions(
            ActionInfoCollection(_menudata, self, self.tree))
        ###### File explorer pane
        self.filemgr = wx.GenericDirCtrl(self,
                                         -1,
                                         size=(200, 225),
                                         style=wx.DIRCTRL_3D_INTERNAL)
        self.filemgr.SetMinSize(wx.Size(120, 200))
        # wx.CallAfter(self.filemgr.SetPath(self.tree.get_selected_datafile()))
        self._mgr.AddPane(
            self.filemgr,
            aui.AuiPaneInfo().Name("file_manager").Caption(
                "Files").LeftDockable(True).CloseButton(True))

        mb.take_menu_bar_into_use()
        #### self.splitter.SetMinimumPaneSize(100)
        #### self.splitter.SplitVertically(self.tree, self.notebook, 300)
        self.CreateStatusBar()
        self.SetIcons(ImageProvider().PROGICONS)
        # tell the manager to "commit" all the changes just made
        self._mgr.Update()