Example #1
0
 def setUp(self):
     for listener, topic in [(self._on_keyword_added, RideUserKeywordAdded),
                             (self._on_keyword_deleted,
                              RideUserKeywordRemoved),
                             (self._on_test_added, RideTestCaseAdded),
                             (self._on_test_deleted, RideTestCaseRemoved)]:
         PUBLISHER.subscribe(listener, topic)
Example #2
0
    def __init__(self, parent, controller, tree):
        GridEditor.__init__(
            self, parent, len(controller.steps) + 5,
            max((controller.max_columns + 1), 5),
            parent.plugin._grid_popup_creator)

        self.settings = parent.plugin.global_settings['Grid']
        self._parent = parent
        self._plugin = parent.plugin
        self._cell_selected = False
        self._colorizer = Colorizer(self, controller)
        self._controller = controller
        self._configure_grid()
        self._updating_namespace = False
        self._controller.datafile_controller.register_for_namespace_updates(
            self._namespace_updated)
        self._tooltips = GridToolTips(self)
        self._marked_cell = None
        self._make_bindings()
        self._write_steps(self._controller)
        self.autosize()
        self._tree = tree
        self._has_been_clicked = False
        self._counter = 0  # Workaround for double delete actions
        self._dcells = None  # Workaround for double delete actions
        self._icells = None  # Workaround for double insert actions
        PUBLISHER.subscribe(self._data_changed, RideItemStepsChanged)
        PUBLISHER.subscribe(self.OnSettingsChanged, RideSettingsChanged)
 def __init__(self, parent, controller, tree):
     try:
         GridEditor.__init__(self, parent,
                             len(controller.steps) + 5,
                             max((controller.max_columns + 1), 5),
                             parent.plugin._grid_popup_creator)
         self._parent = parent
         self._plugin = parent.plugin
         self._cell_selected = False
         self._colorizer = Colorizer(
             self, controller,
             ColorizationSettings(self._plugin.global_settings))
         self._controller = controller
         self._configure_grid()
         PUBLISHER.subscribe(self._data_changed, RideItemStepsChanged)
         PUBLISHER.subscribe(self.OnSettingsChanged, RideSettingsChanged)
         self._updating_namespace = False
         self._controller.datafile_controller.register_for_namespace_updates(
             self._namespace_updated)
         self._tooltips = GridToolTips(self)
         self._marked_cell = None
         self._make_bindings()
         self._write_steps(self._controller)
         self._tree = tree
         self._has_been_clicked = False
         font_size = self._plugin.global_settings.get(
             'font size', _DEFAULT_FONT_SIZE)
         self.SetDefaultCellFont(
             wx.Font(font_size, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL,
                     wx.FONTWEIGHT_NORMAL))
     except Exception, e:
         print 'Exception in initializing KeywordEditor: %s' % e
         raise
Example #4
0
    def __init__(self, parent, controller, tree):
        GridEditor.__init__(
            self, parent, len(controller.steps) + 5,
            max((controller.max_columns + 1), 5),
            parent.plugin._grid_popup_creator)

        self.settings = parent.plugin.global_settings['Grid']
        self._parent = parent
        self._plugin = parent.plugin
        self._cell_selected = False
        self._colorizer = Colorizer(self, controller)
        self._controller = controller
        self._configure_grid()
        self._updating_namespace = False
        self._controller.datafile_controller.register_for_namespace_updates(
            self._namespace_updated)
        self._tooltips = GridToolTips(self)
        self._marked_cell = None
        self._make_bindings()
        self._write_steps(self._controller)
        self._tree = tree
        self._has_been_clicked = False
        self._counter = 0  # Workaround for double delete actions
        self._dcells = None  # Workaround for double delete actions
        self._icells = None  # Workaround for double insert actions
        PUBLISHER.subscribe(self._data_changed, RideItemStepsChanged)
        PUBLISHER.subscribe(self.OnSettingsChanged, RideSettingsChanged)
Example #5
0
 def _subscribe_to_messages(self):
     subscriptions = [
         (self._item_changed, RideItem),
         (self._resource_added, RideOpenResource),
         (self._select_resource, RideSelectResource),
         (self._suite_added, RideSuiteAdded),
         (self._keyword_added, RideUserKeywordAdded),
         (self._test_added, RideTestCaseAdded),
         (self._variable_added, RideVariableAdded),
         (self._leaf_item_removed, RideUserKeywordRemoved),
         (self._leaf_item_removed, RideTestCaseRemoved),
         (self._leaf_item_removed, RideVariableRemoved),
         (self._datafile_removed, RideDataFileRemoved),
         (self._datafile_set, RideDataFileSet),
         (self._data_dirty, RideDataChangedToDirty),
         (self._data_undirty, RideDataDirtyCleared),
         (self._variable_moved_up, RideVariableMovedUp),
         (self._variable_moved_down, RideVariableMovedDown),
         (self._variable_updated, RideVariableUpdated),
         (self._filename_changed, RideFileNameChanged),
         (self._testing_started, RideTestExecutionStarted),
         (self._test_result, RideTestRunning),
         (self._test_result, RideTestPaused),
         (self._test_result, RideTestPassed),
         (self._test_result, RideTestFailed),
         (self._handle_import_setting_message, RideImportSetting),
         (self._mark_excludes, RideExcludesChanged),
         (self._mark_excludes, RideIncludesChanged),
     ]
     for listener, topic in subscriptions:
         PUBLISHER.subscribe(listener, topic)
Example #6
0
 def _subscribe_messages(self):
     for listener, topic in [(lambda msg: self.SetStatusText('Saved %s' % msg.path), RideSaved),
                             (lambda msg: self.SetStatusText('Saved all files'), RideSaveAll),
                             (self._set_label, RideTreeSelection),
                             (self._show_validation_error, RideInputValidationError),
                             (self._show_modification_prevented_error, RideModificationPrevented)]:
         PUBLISHER.subscribe(listener, topic)
Example #7
0
 def setUp(self):
     self._steps = None
     self._data = self._create_data()
     self._ctrl = testcase_controller(self, data=self._data)
     PUBLISHER.subscribe(self._test_changed, RideItemStepsChanged)
     self._orig_number_of_steps = len(self._ctrl.steps)
     self._number_of_test_changes = 0
Example #8
0
 def OnClose(self, event):
     if self._allowed_to_exit():
         PUBLISHER.unsubscribe(self._set_label, RideTreeSelection)
         RideClosing().publish()
         self.Destroy()
     else:
         wx.CloseEvent.Veto(event)
Example #9
0
 def OnClose(self, event):
     if self._allowed_to_exit():
         PUBLISHER.unsubscribe(self._set_label, RideTreeSelection)
         RideClosing().publish()
         self.Destroy()
     else:
         wx.CloseEvent.Veto(event)
Example #10
0
 def __init__(self, parent, controller, tree):
     try:
         GridEditor.__init__(self, parent, len(controller.steps) + 5,
                             max((controller.max_columns + 1), 5),
                             parent.plugin._grid_popup_creator)
         self._parent = parent
         self._plugin = parent.plugin
         self._cell_selected = False
         self._colorizer = Colorizer(self, controller,
                                     ColorizationSettings(self._plugin.global_settings))
         self._controller = controller
         self._configure_grid()
         PUBLISHER.subscribe(self._data_changed, RideItemStepsChanged)
         PUBLISHER.subscribe(self.OnSettingsChanged, RideSettingsChanged)
         self._updating_namespace = False
         self._controller.datafile_controller.register_for_namespace_updates(self._namespace_updated)
         self._tooltips = GridToolTips(self)
         self._marked_cell = None
         self._make_bindings()
         self._write_steps(self._controller)
         self._tree = tree
         self._has_been_clicked = False
         font_size = self._plugin.global_settings.get('font size', _DEFAULT_FONT_SIZE)
         self.SetDefaultCellFont(wx.Font(font_size, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
     except Exception, e:
         print 'Exception in initializing KeywordEditor: %s' % e
         raise
Example #11
0
 def __init__(self, parent, controller, tree):
     try:
         GridEditor.__init__(
             self,
             parent,
             len(controller.steps) + 5,
             max((controller.max_columns + 1), 5),
             parent.plugin._grid_popup_creator,
         )
         self._parent = parent
         self._plugin = parent.plugin
         self._cell_selected = False
         self._colorizer = Colorizer(self, controller, ColorizationSettings(self._plugin.global_settings))
         self._controller = controller
         self._configure_grid()
         PUBLISHER.subscribe(self._data_changed, RideItemStepsChanged)
         PUBLISHER.subscribe(self.OnSettingsChanged, RideSettingsChanged)
         self._controller.datafile_controller.register_for_namespace_updates(self._namespace_updated)
         self._tooltips = GridToolTips(self)
         self._marked_cell = None
         self._make_bindings()
         self._write_steps(self._controller)
         self._tree = tree
         self._has_been_clicked = False
     except Exception, e:
         print "Exception in initializing KeywordEditor: %s" % e
         raise
Example #12
0
 def setUp(self):
     self._steps = None
     self._data = self._create_data()
     self._ctrl = testcase_controller(self, data=self._data)
     PUBLISHER.subscribe(self._test_changed, RideItemStepsChanged)
     self._orig_number_of_steps = len(self._ctrl.steps)
     self._number_of_test_changes = 0
Example #13
0
 def _subscribe_messages(self):
     for listener, topic in [(lambda msg: self.SetStatusText('Saved %s' % msg.path), RideSaved),
                             (lambda msg: self.SetStatusText('Saved all files'), RideSaveAll),
                             (self._set_label, RideTreeSelection),
                             (self._show_validation_error, RideInputValidationError),
                             (self._show_modification_prevented_error, RideModificationPrevented)]:
         PUBLISHER.subscribe(listener, topic)
Example #14
0
 def enable(self):
     self.register_action(
         ActionInfo('Tools',
                    self.HEADER,
                    self.execute_spec_import,
                    position=83))
     PUBLISHER.subscribe(self.execute_spec_import, RideExecuteSpecXmlImport)
Example #15
0
 def _subscribe_to_messages(self):
     subscriptions = [
         (self._item_changed, RideItem),
         (self._resource_added, RideOpenResource),
         (self._select_resource, RideSelectResource),
         (self._suite_added, RideSuiteAdded),
         (self._keyword_added, RideUserKeywordAdded),
         (self._test_added, RideTestCaseAdded),
         (self._variable_added, RideVariableAdded),
         (self._leaf_item_removed, RideUserKeywordRemoved),
         (self._leaf_item_removed, RideTestCaseRemoved),
         (self._leaf_item_removed, RideVariableRemoved),
         (self._datafile_removed, RideDataFileRemoved),
         (self._datafile_set, RideDataFileSet),
         (self._data_dirty, RideDataChangedToDirty),
         (self._data_undirty, RideDataDirtyCleared),
         (self._variable_moved_up, RideVariableMovedUp),
         (self._variable_moved_down, RideVariableMovedDown),
         (self._variable_updated, RideVariableUpdated),
         (self._filename_changed, RideFileNameChanged),
         (self._testing_started, RideTestExecutionStarted),
         (self._test_result, RideTestRunning),
         (self._test_result, RideTestPassed),
         (self._test_result, RideTestFailed),
         (self._handle_import_setting_message, RideImportSetting),
         (self._mark_excludes, RideExcludesChanged),
         (self._mark_excludes, RideIncludesChanged),
     ]
     for listener, topic in subscriptions:
         PUBLISHER.subscribe(listener, topic)
Example #16
0
 def __init__(self, controller, tree, node, settings):
     _TestOrUserKeywordHandler.__init__(self, controller, tree, node,
                                        settings)
     PUBLISHER.subscribe(
         self.test_selection_changed,
         RideTestSelectedForRunningChanged,
         key=self)  # TODO: unsubscribe when the object is destroyed!
Example #17
0
 def tearDown(self):
     PUBLISHER.unsubscribe_all()
     wx.CallAfter(self.app.ExitMainLoop)
     # self.app.MainLoop()  # With this here, there is no Segmentation fault
     # wx.CallAfter(wx.Exit)
     self.app.Destroy()
     self.app = None
Example #18
0
 def close(self):
     self._colorizer.close()
     self.save()
     PUBLISHER.unsubscribe(self._data_changed, RideItemStepsChanged)
     if self._namespace_updated:
         #Prevent re-entry to unregister method
         self._controller.datafile_controller.unregister_namespace_updates(self._namespace_updated)
     self._namespace_updated = None
Example #19
0
 def __init__(self, settings):
     self._settings = settings
     self._library_manager = None
     self._content_assist_hooks = []
     self._update_listeners = set()
     self._init_caches()
     self._set_pythonpath()
     PUBLISHER.subscribe(self._setting_changed, RideSettingsChanged)
Example #20
0
    def __init__(self):
        self.datafiles = None
        self.componentChangeImpact = dict()
        self.user_def_keyword = dict()
        self.userKeywordObject = list()
        self.threshold = 3

        PUBLISHER.subscribe(self.set_duplicated_detection_threshold, SettingDuplicatedDetectionThreshold)
Example #21
0
 def __init__(self, settings):
     self._settings = settings
     self._library_manager = None
     self._content_assist_hooks = []
     self._update_listeners = set()
     self._init_caches()
     self._set_pythonpath()
     PUBLISHER.subscribe(self._setting_changed, RideSettingsChanged)
Example #22
0
    def unsubscribe(self, listener, *topics):
        """Stops listening to messages with the given ``topics``.

        ``listener`` and ``topics`` have the same meaning as in `subscribe`
        and a listener/topic combination is unsubscribed only when both of them
        match.
        """
        for topic in topics:
            PUBLISHER.unsubscribe(listener, topic)
Example #23
0
 def OnClose(self, event):
     self._application.settings['mainframe size'] = self.GetSizeTuple()
     self._application.settings['mainframe position'] = self.GetPositionTuple()
     if self._allowed_to_exit():
         PUBLISHER.unsubscribe(self._set_label, RideTreeSelection)
         RideClosing().publish()
         self.Destroy()
     else:
         wx.CloseEvent.Veto(event)
Example #24
0
    def publish(self, topic, data):
        """Publishes a message with given topic and client data.

        Purpose of this method is to support inter-plugin communication which
        is not possible to achieve using custom message classes.

        `data` will be passed as an argument to registered listener methods.
        """
        PUBLISHER.publish(topic, data)
Example #25
0
    def unsubscribe(self, listener, *topics):
        """Stops listening to messages with the given ``topics``.

        ``listener`` and ``topics`` have the same meaning as in `subscribe`
        and a listener/topic combination is unsubscribed only when both of them
        match.
        """
        for topic in topics:
            PUBLISHER.unsubscribe(listener, topic, key=self)
Example #26
0
 def OnClose(self, event):
     if self._allowed_to_exit():
         PUBLISHER.unsubscribe(self._set_label, RideTreeSelection)
         RideClosing().publish()
         # deinitialize the frame manager
         self._mgr.UnInit()
         self.Destroy()
     else:
         wx.CloseEvent.Veto(event)
Example #27
0
    def publish(self, topic, data):
        """Publishes a message with given topic and client data.

        Purpose of this method is to support inter-plugin communication which
        is not possible to achieve using custom message classes.

        `data` will be passed as an argument to registered listener methods.
        """
        PUBLISHER.publish(topic, data)
Example #28
0
 def OnClose(self, event):
     self._application.settings['mainframe size'] = self.GetSizeTuple()
     self._application.settings['mainframe position'] = self.GetPositionTuple()
     if self._allowed_to_exit():
         PUBLISHER.unsubscribe(self._set_label, RideTreeSelection)
         RideClosing().publish()
         self.Destroy()
     else:
         wx.CloseEvent.Veto(event)
 def close(self):
     self._colorizer.close()
     self.save()
     PUBLISHER.unsubscribe(self._data_changed, RideItemStepsChanged)
     if self._namespace_updated:
         #Prevent re-entry to unregister method
         self._controller.datafile_controller.unregister_namespace_updates(
             self._namespace_updated)
     self._namespace_updated = None
Example #30
0
 def close(self):
     self._colorizer.close()
     self.save()
     PUBLISHER.unsubscribe_all(self)
     if self._namespace_updated:
         # Prevent re-entry to unregister method
         self._controller.datafile_controller.unregister_namespace_updates(
             self._namespace_updated)
     self._namespace_updated = None
Example #31
0
 def OnClose(self, event):
     if self._allowed_to_exit():
         PUBLISHER.unsubscribe(self._set_label, RideTreeSelection)
         RideClosing().publish()
         # deinitialize the frame manager
         self._mgr.UnInit()
         self.Destroy()
     else:
         wx.CloseEvent.Veto(event)
Example #32
0
 def setUp(self):
     self.test_ctrl, self.namespace = TestCaseControllerWithSteps()
     self._steps_have_changed = False
     self._testcase_settings_have_changed = False
     self._name_has_changed = False
     self._listeners_and_topics = [(self._steps_changed, RideItemStepsChanged),
                                   (self._testcase_settings_changed, RideItemSettingsChanged),
                                   (self._name_changed, RideItemNameChanged)]
     for listener, topic in self._listeners_and_topics:
         PUBLISHER.subscribe(listener, topic)
Example #33
0
 def setUp(self):
     self.test_ctrl, self.namespace = TestCaseControllerWithSteps()
     self._steps_have_changed = False
     self._testcase_settings_have_changed = False
     self._name_has_changed = False
     self._listeners_and_topics = [(self._steps_changed, RideItemStepsChanged),
                                   (self._testcase_settings_changed, RideItemSettingsChanged),
                                   (self._name_changed, RideItemNameChanged)]
     for listener, topic in self._listeners_and_topics:
         PUBLISHER.subscribe(listener, topic)
 def setUp(self):
     class Data(object):
         source = directory = None
     self.ctrl = TestCaseFileController(Data())
     self._has_unsaved_changes = False
     self._saved = False
     self.messages = [(self._changes, RideDataChangedToDirty),
                      (self._cleared, RideDataDirtyCleared)]
     for listener, topic in self.messages:
         PUBLISHER.subscribe(listener, topic)
Example #35
0
 def setUp(self):
     class Data(object):
         source = directory = None
     self.ctrl = TestCaseFileController(Data())
     self._has_unsaved_changes = False
     self._saved = False
     self.messages = [(self._changes, RideDataChangedToDirty),
                      (self._cleared, RideDataDirtyCleared)]
     for listener, topic in self.messages:
         PUBLISHER.subscribe(listener, topic)
Example #36
0
 def setUpClass(cls):
     PUBLISHER.unsubscribe_all()
     cls.ctrl = datafilereader.construct_project(
         datafilereader.SIMPLE_TEST_SUITE_PATH)
     cls.ts1 = datafilereader.get_ctrl_by_name('TestSuite1',
                                               cls.ctrl.datafiles)
     cls.ts2 = datafilereader.get_ctrl_by_name('TestSuite2',
                                               cls.ctrl.datafiles)
     cls.resu = datafilereader.get_ctrl_by_name(
         datafilereader.SIMPLE_TEST_SUITE_RESOURCE_NAME, cls.ctrl.datafiles)
Example #37
0
 def __init__(self, editor, settings):
     self.editor = editor
     self.lexer = None
     self.settings = settings
     if robotframeworklexer:
         self.lexer = robotframeworklexer.RobotFrameworkLexer()
         self._set_styles()
     else:
         self.editor.GetParent().create_syntax_colorization_help()
     PUBLISHER.subscribe(self.OnSettingsChanged, RideSettingsChanged)
Example #38
0
    def subscribe(self, listener, *topics):
        """Start to listen to messages with the given ``topics``.

        See the documentation of the `robotide.publish` module for more
        information about subscribing to messages and the messaging system

        `unsubscribe` and `unsubscribe_all` can be used to stop listening to
        certain or all messages.
        """
        for topic in topics:
            PUBLISHER.subscribe(listener, topic, key=self)
Example #39
0
 def OnClose(self, event):
     if self._allowed_to_exit():
         perspective = self._mgr.SavePerspective()
         self._application.settings.set('AUI Perspective', perspective)
         PUBLISHER.unsubscribe(self._set_label, RideTreeSelection)
         RideClosing().publish()
         # deinitialize the frame manager
         self._mgr.UnInit()
         self.Destroy()
     else:
         wx.CloseEvent.Veto(event)
Example #40
0
    def subscribe(self, listener, *topics):
        """Start to listen to messages with the given ``topics``.

        See the documentation of the `robotide.publish` module for more
        information about subscribing to messages and the messaging system

        `unsubscribe` and `unsubscribe_all` can be used to stop listening to
        certain or all messages.
        """
        for topic in topics:
            PUBLISHER.subscribe(listener, topic)
Example #41
0
 def _subscribe_messages(self):
     for listener, topic in [
         (lambda msg: self.SetStatusText('Saved %s' % msg.path), RideSaved),
         (lambda msg: self.SetStatusText('Saved all files'), RideSaveAll),
         (self._set_label, RideTreeSelection),
         (self._show_validation_error, RideInputValidationError),
         (self._show_modification_prevented_error, RideModificationPrevented),
         (self._load_datafile_finish, RideLoadDatafileFinish),
         (self._generate_specific_graph, GenerateSpecificGraph),
         (self._generate_changed_impact_graph, GenerateChangedImpactGraph)
     ]:
         PUBLISHER.subscribe(listener, topic)
Example #42
0
 def __init__(self, editor, settings, readonly=False):
     self.editor = editor
     self.lexer = None
     self.settings = settings
     self._readonly = readonly
     self._ensure_default_font_is_valid()
     if robotframeworklexer:
         self.lexer = robotframeworklexer.RobotFrameworkLexer()
     else:
         self.editor.GetParent().create_syntax_colorization_help()
     self._set_styles(self._readonly)
     PUBLISHER.subscribe(self.OnSettingsChanged, RideSettingsChanged)
Example #43
0
 def __init__(self, parent, title, data_validator):
     wx.Panel.__init__(self, parent)
     self._syntax_colorization_help_exists = False
     self._data_validator = data_validator
     self._data_validator.set_editor(self)
     self._parent = parent
     self._tab_size = self._parent._app.settings.get(
         'txt number of spaces', 4)
     self._create_ui(title)
     self._data = None
     self._dirty = False
     self._positions = {}
     PUBLISHER.subscribe(self.OnSettingsChanged, RideSettingsChanged)
Example #44
0
    def test_notifies_only_after_transaction_complete(self):
        datas_ok = {'steps': False, 'name': False}

        def name_changed_check_that_steps_have_also(data):
            datas_ok['steps'] = \
                self.test_ctrl.step(2).keyword == UNUSED_KEYWORD_NAME

        def steps_changed_check_that_name_has_also(data):
            datas_ok['name'] = any(True for i in
                                   self.test_ctrl.datafile_controller.keywords
                                   if i.name == UNUSED_KEYWORD_NAME)
        PUBLISHER.subscribe(name_changed_check_that_steps_have_also,
                            RideItemNameChanged)
        PUBLISHER.subscribe(steps_changed_check_that_name_has_also,
                            RideItemStepsChanged)
        try:
            self._rename(USERKEYWORD2_NAME, UNUSED_KEYWORD_NAME, TEST1_NAME,
                         'Steps')
        finally:
            PUBLISHER.unsubscribe(name_changed_check_that_steps_have_also,
                                  RideItemNameChanged)
            PUBLISHER.unsubscribe(steps_changed_check_that_name_has_also,
                                  RideItemStepsChanged)
        assert_true(datas_ok['steps'])
        assert_true(datas_ok['name'])
Example #45
0
    def test_notifies_only_after_transaction_complete(self):
        datas_ok = {'steps': False, 'name': False}

        def name_changed_check_that_steps_have_also(data):
            datas_ok['steps'] = self.test_ctrl.step(
                2).keyword == UNUSED_KEYWORD_NAME

        def steps_changed_check_that_name_has_also(data):
            datas_ok['name'] = any(
                True for i in self.test_ctrl.datafile_controller.keywords
                if i.name == UNUSED_KEYWORD_NAME)

        PUBLISHER.subscribe(name_changed_check_that_steps_have_also,
                            RideItemNameChanged)
        PUBLISHER.subscribe(steps_changed_check_that_name_has_also,
                            RideItemStepsChanged)
        try:
            self._rename(USERKEYWORD2_NAME, UNUSED_KEYWORD_NAME, TEST1_NAME,
                         'Steps')
        finally:
            PUBLISHER.unsubscribe(name_changed_check_that_steps_have_also,
                                  RideItemNameChanged)
            PUBLISHER.unsubscribe(steps_changed_check_that_name_has_also,
                                  RideItemStepsChanged)
        assert_true(datas_ok['steps'])
        assert_true(datas_ok['name'])
Example #46
0
 def __init__(self, parent, tree, controller):
     PUBLISHER.subscribe(
         self._update_vars, 'ride.variable.added', key=self)
     PUBLISHER.subscribe(
         self._update_vars, 'ride.variable.updated', key=self)
     PUBLISHER.subscribe(
         self._update_vars, 'ride.variable.removed', key=self)
     PUBLISHER.subscribe(self._open_variable_dialog, RideOpenVariableDialog)
     _AbstractListEditor.__init__(self, parent, tree, controller)
Example #47
0
 def __init__(self, parent, tree, controller):
     PUBLISHER.subscribe(
         self._update_vars, 'ride.variable.added', key=self)
     PUBLISHER.subscribe(
         self._update_vars, 'ride.variable.updated', key=self)
     PUBLISHER.subscribe(
         self._update_vars, 'ride.variable.removed', key=self)
     PUBLISHER.subscribe(self._open_variable_dialog, RideOpenVariableDialog)
     _AbstractListEditor.__init__(self, parent, tree, controller)
Example #48
0
 def OnClose(self, event):
     if self._allowed_to_exit():
         perspective = self._mgr.SavePerspective()
         self._application.settings.set('AUI Perspective', perspective)
         PUBLISHER.unsubscribe(self._set_label, RideTreeSelection)
         RideClosing().publish()
         # deinitialize the frame manager
         self._mgr.UnInit()
         self._task_bar_icon.Destroy()
         self.Destroy()
         app = wx.GetApp()
         if app is not self._application:
             # other wx app instance created unexpectedly
             # this will cause RIDE app instance cannot invoke ExitMainLoop properly
             self._application.ExitMainLoop()
     else:
         wx.CloseEvent.Veto(event)
Example #49
0
 def __init__(self, parent, title, data_validator):
     wx.Panel.__init__(self, parent)
     self._syntax_colorization_help_exists = False
     self._data_validator = data_validator
     self._data_validator.set_editor(self)
     self._parent = parent
     self._title = title
     self._tab_size = self._parent._app.settings.get(
         'txt number of spaces', 4)
     self._create_ui(title)
     self._data = None
     self._dirty = False
     self._position = None
     self._showing_list = False
     self._tab_open = None
     # self._autocomplete = None
     PUBLISHER.subscribe(self.OnSettingsChanged, RideSettingsChanged)
     PUBLISHER.subscribe(self.OnTabChange, RideNotebookTabChanging)
Example #50
0
File: tree.py Project: abrain/RIDE
 def _subscribe_to_messages(self):
     subscriptions = [
         (self._item_changed, RideItem),
         (self._resource_added, RideOpenResource),
         (self._select_resource, RideSelectResource),
         (self._suite_added, RideSuiteAdded),
         (self._keyword_added, RideUserKeywordAdded),
         (self._test_added, RideTestCaseAdded),
         (self._variable_added, RideVariableAdded),
         (self._leaf_item_removed, RideUserKeywordRemoved),
         (self._leaf_item_removed, RideTestCaseRemoved),
         (self._leaf_item_removed, RideVariableRemoved),
         (self._datafile_removed, RideDataFileRemoved),
         (self._datafile_set, RideDataFileSet),
         (self._data_dirty, RideDataChangedToDirty),
         (self._data_undirty, RideDataDirtyCleared),
         (self._variable_moved_up, RideVariableMovedUp),
         (self._variable_moved_down, RideVariableMovedDown),
         (self._variable_updated, RideVariableUpdated),
         (self._filename_changed, RideFileNameChanged),
     ]
     for listener, topic in subscriptions:
         PUBLISHER.subscribe(listener, topic)
Example #51
0
 def tearDown(self):
     PUBLISHER.unsubscribe(self._test_renamed, RideItemNameChanged)
Example #52
0
 def setUp(self):
     self.ctrl = testcase_controller()
     PUBLISHER.subscribe(self._test_renamed, RideItemNameChanged)
Example #53
0
File: mocks.py Project: tbener/RIDE
 def unsubscribe(self):
     PUBLISHER.unsubscribe(self._listener, self._topic, self)
Example #54
0
File: mocks.py Project: tbener/RIDE
 def __init__(self, topic):
     PUBLISHER.subscribe(self._listener, topic, self)
     self._topic = topic
     self.data = []
     self.outer_listener = lambda message: 0
Example #55
0
 def tearDown(self):
     for listener, topic in self.messages:
         PUBLISHER.unsubscribe(listener, topic)
     if os.path.exists('path'):
         shutil.rmtree('path')
Example #56
0
 def setUp(self):
     PUBLISHER.subscribe(self._file_name_changed, RideFileNameChanged, "TestRenameTestCaseFile")
     PUBLISHER.subscribe(self._file_name_error, RideInputValidationError, "TestRenameTestCaseFile")
     self._clean_test_files(["quux.txt","some.txt"])
Example #57
0
 def tearDown(self):
     self._clean_test_files()
     PUBLISHER.unsubscribe_all("TestRenameTestCaseFile")
Example #58
0
 def _create_test_selection_controller(self):
     tsc = TestSelectionController()
     PUBLISHER.subscribe(tsc.clear_all, RideOpenSuite)
     PUBLISHER.subscribe(tsc.clear_all, RideNewProject)
     return tsc