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)
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
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
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
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)
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
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)
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
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
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()
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()