Exemplo n.º 1
0
    def onChangeDateTime(self, event, whichCtrl, lastKey):

        try:  # ------ bug in wxDateTimePickerCtrl: m_date not in sync occurs if month not changed
            stdate = self.startDate.GetValue()
        except:
            stdate = self.start_datetime

        sttime = self.startTime.GetValue(as_wxTimeSpan=True)

        #  update all datetime values
        self.start_datetime = gbl.start_datetime = gbl.cfg_dict[
            self.mon_ID]['start_datetime'] = stdate.AddTS(sttime)

        # -------- navigation for date & time controls
        if lastKey == 'Return' and whichCtrl == 'start_date':
            self.startTime.SetFocus()  # done with date, proceed to time
        elif lastKey == 'Return' and whichCtrl == 'start_time':
            self.sourceFPS.SetFocus()  # done with time, proceed to fps
        if lastKey == 'Tab' and whichCtrl == 'start_date':
            EVT_RIGHT = wx.KeyEvent(
                47)  # '/' moves focus to right in datepickerctrl
            self.startDate.HandleAsNavigationKey(EVT_RIGHT)
            self.startDate.Layout()
        elif lastKey == 'Tab' and whichCtrl == 'start_time':
            EVT_RIGHT = wx.KeyEvent(
                47)  # '/' moves focus to right in datepickerctrl
            self.startTime.HandleAsNavigationKey(EVT_RIGHT)

        print('check')
Exemplo n.º 2
0
def emulate_typing(string, ctrlFlag=False, altFlag=False, shiftFlag=False):
    """ emulate_typing the string into the current focused widget """

    success = True

    def set_event_info(event):
        # setup event info for a keypress event
        event.m_keyCode = keyCode
        event.m_rawCode = keyCode
        event.m_shiftDown = char.isupper() or shiftFlag
        event.m_controlDown = event.m_metaDown = ctrlFlag
        event.m_altDown = altFlag
        event.SetEventObject(widget)

    # for each key, check for specials, then try several approaches
    for char in string:
        keyCode = ord(char)
        if keyCode == wx.WXK_RETURN:
            emulate_return()
        elif keyCode == wx.WXK_TAB:
            emulate_tab(shiftFlag=shiftFlag)
        else:
            # in case the focus has changed, get the new focused widget
            widget = wx.Window_FindFocus()
            if widget is None:
                success = False
            else:
                # try calling any bound key handler
                keyPress = wx.KeyEvent(wx.wxEVT_KEY_DOWN)
                set_event_info(keyPress)
                downWorked = widget.ProcessEvent(keyPress)
                keyUp = wx.KeyEvent(wx.wxEVT_KEY_UP)
                set_event_info(keyUp)
                upWorked = widget.ProcessEvent(keyUp)
                if not (downWorked or upWorked):  # key handler worked?
                    # try calling EmulateKeyPress

                    emulateMethod = getattr(widget, 'EmulateKeyPress',
                                            lambda k: False)

                    if (wx.Platform == "__WXMSW__"
                            or not emulateMethod(keyPress)):  # emulate worked?
                        # try calling WriteText
                        writeMethod = getattr(widget, 'WriteText', None)
                        if writeMethod:
                            writeMethod(char)
                        else:
                            success = False  # remember we had a failure
                if success:
                    wx.GetApp().Yield(True)
    return success
Exemplo n.º 3
0
    def on_save_button(self, evt):
        # Send a enter key event to property for update values

        event = wx.KeyEvent(wx.wxEVT_CHAR)
        event.m_keyCode = wx.WXK_RETURN
        self.cmds_pg.GetEventHandler().ProcessEvent(event)

        # make this object the current
        nebulagui.nebula_object = self.object

        # Get redo command

        self.redo = self.__get_redo_command()

        # Get undo command

        self.undo = self.__get_undo_command()

        # new command
        servers.get_command_server().newcommand(str(self.redo), str(self.undo))
        self.draw_state_commands(self.object)

        if self.object.hascommand("beginnewobjectentityclass"):
            servers.get_entity_class_server().setentityclassdirty(
                self.object, True)
        elif self.object.hascommand("getid"):
            servers.get_entity_object_server().setentityobjectdirty(
                self.object, True)

        if self.object.isa("nscenenode"):
            self.object.loadresources()

        self.object.setobjectdirty(True)
Exemplo n.º 4
0
 def OnKeyDown2(self, event):
     ## print event.GetEventType()
     key = event.GetKeyCode()
     controlDown = event.ControlDown()
     if controlDown and key in (wx.WXK_CANCEL, wx.WXK_PAUSE):
         self._kill_me()
     elif not controlDown and key in (wx.WXK_SCROLL, wx.WXK_CANCEL,
                                      wx.WXK_PAUSE):
         self.scroll ^= 1
     elif not self.filter and key in (wx.WXK_UP, wx.WXK_DOWN):
         self.OnHistoryReplace(step={wx.WXK_DOWN: -1, wx.WXK_UP: 1}[key])
     elif controlDown and key in (wx.WXK_RETURN, wx.WXK_NUMPAD_ENTER):
         if not self.filter:
             return self.processLine()
         self.AddText('\n')
         command = self.getcmd()
         self.push(command)
     #todo: add better HOME/END handling
     elif key == wx.WXK_NUMPAD_ENTER:
         #emulate a standard enter keypress
         a = wx.KeyEvent(eventType=wx.wxEVT_KEY_DOWN)
         a.m_keyCode = wx.WXK_RETURN
         for i in ('m_altDown', 'm_controlDown', 'm_metaDown', 'm_rawFlags',
                   'm_scanCode', 'm_shiftDown', 'm_x', 'm_y'):
             setattr(a, i, getattr(event, i))
         wx.PostEvent(self, a)
     else:
         event.Skip()
     if self.filter and __name__ != '__main__':
         self.gotcharacter
Exemplo n.º 5
0
 def clone_key_event(self, event):
     if wx.version().split('.')[:2] > ['2', '8']:
         evt = MyKeyEvent()
         evt.altDown = event.altDown
         evt.controlDown = event.controlDown
         evt.KeyCode = event.KeyCode
         evt.metaDown = event.metaDown
         if wx.Platform == '__WXMSW__':
             evt.RawKeyCode = event.RawKeyCode
             evt.RawKeyFlags = event.RawKeyFlags
         #evt.m_scanCode = event.m_scanCode
         evt.shiftDown = event.shiftDown
         evt.X = event.X
         evt.Y = event.Y
     else:
         evt = wx.KeyEvent()
         evt.m_altDown = event.m_altDown
         evt.m_controlDown = event.m_controlDown
         evt.m_keyCode = event.m_keyCode
         evt.m_metaDown = event.m_metaDown
         if wx.Platform == '__WXMSW__':
             evt.m_rawCode = event.m_rawCode
             evt.m_rawFlags = event.m_rawFlags
         #evt.m_scanCode = event.m_scanCode
         evt.m_shiftDown = event.m_shiftDown
         evt.m_x = event.m_x
         evt.m_y = event.m_y
         evt.SetEventType(event.GetEventType())
         evt.SetId(event.GetId())
     return evt
Exemplo n.º 6
0
    def onOpen(self, event):
        """
		Runs when you try to open a file:\n
			* Lexes and parses the document and loads it into webview.
		"""

        fd = wx.FileDialog(self,
                           "Open...",
                           wildcard="AlmostMarkdown files (*.amd)|*.amd",
                           style=wx.FD_OPEN)

        if fd.ShowModal() == wx.ID_CANCEL:
            return

        pathname = fd.GetPath()
        try:
            f = open(pathname, 'r')
            f.close()
            self.currentAMD = pathname
            self.edit.LoadFile(pathname)
            self.onKeyUp(wx.KeyEvent(wx.wxEVT_NULL))
            tokens = lexer.lex(self.edit.GetValue())
            self.generateHtml(tokens, self.html, self.exeDir)
            self.wv.LoadURL(f"file://{self.html}")
        except IOError:
            wx.LogError("Cannot open the specified file '%s'." % pathname)
Exemplo n.º 7
0
        def setMasks():
            for tlw in wx.GetTopLevelWindows():
                if "masksandfiltersDialog" in type(tlw).__name__:
                    dlg = tlw
                    break
            dlg.panel.notebook.SetSelection(0)
            event = wx.KeyEvent(wx.wxEVT_CHAR)
            event.SetKeyCode(wx.WXK_CONTROL_A)
            dlg.panel.masks_list.GetEventHandler().ProcessEvent(event)
            event = wx.KeyEvent(wx.wxEVT_CHAR)
            event.SetKeyCode(wx.WXK_DELETE)
            dlg.panel.masks_list.GetEventHandler().ProcessEvent(event)

            self.addMask(dlg.panel.masks_list, "my mask", "(_disk\\w)$", True)

            event = wx.CommandEvent(wx.wxEVT_COMMAND_BUTTON_CLICKED, wx.ID_OK)
            dlg.panel.masks_list.GetEventHandler().ProcessEvent(event)
Exemplo n.º 8
0
 def OnTextEnter(self, event):
     wx.Control.SetFocus(self)
     wx.Control.SetFocus(self)
     new_event = wx.KeyEvent(wx.wxEVT_KEY_DOWN)
     new_event.SetEventObject(self)
     new_event.SetId(self.GetId())
     new_event.m_keyCode = wx.WXK_RETURN
     wx.PostEvent(self.parent, new_event)
Exemplo n.º 9
0
        def setFilters():
            for tlw in wx.GetTopLevelWindows():
                if "masksandfiltersDialog" in type(tlw).__name__:
                    dlg = tlw
                    break
            dlg.panel.notebook.SetSelection(1)
            event = wx.KeyEvent(wx.wxEVT_CHAR)
            event.SetKeyCode(wx.WXK_CONTROL_A)
            dlg.panel.filters_list.GetEventHandler().ProcessEvent(event)
            event = wx.KeyEvent(wx.wxEVT_CHAR)
            event.SetKeyCode(wx.WXK_DELETE)
            dlg.panel.filters_list.GetEventHandler().ProcessEvent(event)

            self.addFilter(dlg.panel.filters_list, "my filter", "(wire)", "foo", True)
            self.addFilter(dlg.panel.filters_list, "my filter 2", "(^(the)\\b|, the)", " ", True)

            event = wx.CommandEvent(wx.wxEVT_COMMAND_BUTTON_CLICKED, wx.ID_OK)
            dlg.panel.filters_list.GetEventHandler().ProcessEvent(event)
Exemplo n.º 10
0
def PressKey( window, key ):
    
    event = wx.KeyEvent( wx.EVT_KEY_DOWN.typeId )
    
    event.m_keyCode = key
    event.SetEventObject( window )
    event.SetId( window.GetId() )
    
    wx.PostEvent( window, event )
Exemplo n.º 11
0
    def test_textctrl(self):
        mocked_change_handler = MagicMock()
        mocked_enter_handler = MagicMock()
        expected_state = {
            'value': '123',
            'name': 'My Cool Control',
            'style': wx.TE_PROCESS_ENTER,
            'on_change': mocked_change_handler,
            'size': (100, 20)
        }

        app = wx.App()
        component = wsx([
            c.Frame,
            {
                'show': True,
                'size': (999, 999)
            },
            # note: the inner block is required so that the widget's
            # size prop can be honored (without it, it'd get resized to
            # the parent frame's size after `Layout` gets called.
            [c.Block, {}, [c.TextCtrl, {
                **expected_state, 'proportion': 0
            }]]
        ])
        frame = render(component, None)
        instance = frame.Children[0].Children[0]

        try:
            instance.Bind(wx.EVT_TEXT_ENTER, mocked_enter_handler)
        except Exception:
            self.fail("""
                Unexpected failure. 
                Either the test definition has regressed, and it is now missing 
                `wx.TE_PROCESS_ENTER` as a style argument, or the widget dispatcher 
                has regressed and is no longer applying `style` props correctly"""
                      )

        # our props are honored
        self.assertEqual(instance.Name, expected_state['name'])
        self.assertEqual(instance.Value, expected_state['value'])
        self.assertEqual(instance.Size, expected_state['size'])

        # our enter has picked up and installed
        self.assertFalse(mocked_enter_handler.called)
        event = wx.KeyEvent(wx.wxEVT_TEXT_ENTER)
        instance.ProcessEvent(event)
        self.assertTrue(mocked_enter_handler.called)

        # our change handler prop is honored
        self.assertFalse(mocked_change_handler.called)
        event = wx.CommandEvent(wx.wxEVT_TEXT, wx.Window.NewControlId())
        event.SetString('a')
        instance.ProcessEvent(event)
        self.assertTrue(mocked_change_handler.called)
Exemplo n.º 12
0
def mockKeyEvent(keycode):
    """
    Manually bypassing the setters as they don'y allow
    the non wx.wxXXX event variants by default.
    The internal WX post/prcess machinery doesn't handle key
    codes well for some reason, thus has to be mocked and
    manually passed to the relevant handler.
    """
    event = wx.KeyEvent()
    event.KeyCode = keycode
    return event
Exemplo n.º 13
0
 def write(self, text, **kws):
     if self.output is None:
         self.write_sys(text)
     else:
         self.output.SetInsertionPointEnd()
         pos0 = self.output.GetLastPosition()
         self.output.WriteText(text)
         pos1 = self.output.GetLastPosition()
         self.output.SetStyle(pos0, pos1, self.textstyle)
         self.output.EmulateKeyPress(wx.KeyEvent())
         self.input.SetFocus()
Exemplo n.º 14
0
    def test_pickchoice(self):
        sourcesDir = os.path.abspath(
            os.path.join(os.path.dirname(__file__), "./data/sources"))
        self.frame.panel.AddSourcesFromDir(sourcesDir)
        choicesDir = os.path.abspath(
            os.path.join(os.path.dirname(__file__), "./data/choices"))
        self.frame.panel.AddChoicesFromDir(choicesDir)

        for each in self.button_panel.GetChildren():
            if each.GetLabel() == "Best match":
                btn = each
                break

        event = wx.CommandEvent(wx.wxEVT_COMMAND_BUTTON_CLICKED, btn.GetId())
        btn.GetEventHandler().ProcessEvent(event)

        lst = self.frame.panel.list_ctrl
        item = -1
        item = lst.GetNextItem(item)
        self.passed = False

        def Pick():
            if self.passed:
                return
            for dlg in lst.GetChildren():
                if isinstance(dlg, main_listctrl.PickCandidate):
                    dlg.text.SetValue("volutaria tubuliflora")
                    event = wx.CommandEvent(wx.wxEVT_TEXT_ENTER,
                                            dlg.text.GetId())
                    dlg.text.GetEventHandler().ProcessEvent(event)
                    self.assertEqual(
                        [
                            "Abutilon à feuilles marbrées.txt",
                            "35",
                            "Volutaria tubuliflora.txt",
                            "Volutaria tubuliflora.txt",
                            "1",
                            "User choice",
                            "True",
                        ],
                        [
                            lst.GetItemText(item, col)
                            for col in range(0, len(config.default_columns))
                        ],
                    )
                    self.passed = True

        lst.Select(item)
        event = wx.KeyEvent(wx.wxEVT_CHAR)
        event.SetKeyCode(wx.WXK_CONTROL_P)
        wx.CallAfter(Pick)
        lst.GetEventHandler().ProcessEvent(event)
        wx.Yield()
        self.assertEqual(self.passed, True)
Exemplo n.º 15
0
    def on_execute_button(self, evt):
        # Send a enter key event to property for update values

        event =  wx.KeyEvent(wx.wxEVT_CHAR)
        event.m_keyCode = wx.WXK_RETURN
        self.cmds_pg.GetEventHandler().ProcessEvent(event)

        if self.inspector == "xml":
            xmlinspector.execute(self)
        else:
            savecmdsinspector.execute(self)
Exemplo n.º 16
0
def emulate_return(block=None):
    """ Simulates a return-key event in the given block """
    try:
        if block:
            widget = block.widget
        else:
            widget = wx.Window_FindFocus()
    except AttributeError:
        return False
    else:
        # return-key down
        ret_d = wx.KeyEvent(wx.wxEVT_KEY_DOWN)
        ret_d.m_keyCode = wx.WXK_RETURN
        ret_d.SetEventObject(widget)
        # return-key up
        ret_up = wx.KeyEvent(wx.wxEVT_KEY_UP)
        ret_up.m_keyCode = wx.WXK_RETURN
        ret_up.SetEventObject(widget)
        # text updated event
        tu = wx.CommandEvent(wx.wxEVT_COMMAND_TEXT_UPDATED)
        tu.SetEventObject(widget)
        # kill focus event
        kf = wx.FocusEvent(wx.wxEVT_KILL_FOCUS)
        kf.SetEventObject(widget)
        # Text enter
        ent = wx.CommandEvent(wx.wxEVT_COMMAND_TEXT_ENTER)
        ent.SetEventObject(widget)

        #work around for mac bug
        if widget is not None:
            widget.ProcessEvent(tu)  #for start/end time and location field
        #work around for canvasItem
        if widget is not None:
            widget.ProcessEvent(kf)  #for canvasItem title
            # events processing

            widget.ProcessEvent(ret_d)
            widget.ProcessEvent(ret_up)
        # Give Yield & Idle to the App
        idle()
        return True
Exemplo n.º 17
0
 def addMask(self, lst, name, regexp, active):
     event = wx.KeyEvent(wx.wxEVT_CHAR)
     event.SetKeyCode(wx.WXK_CONTROL_M)
     lst.GetEventHandler().ProcessEvent(event)
     row_id = lst.GetItemCount() - 1
     lst.SetItem(row_id, 1, name)
     lst.SetItem(row_id, 2, regexp)
     event = wx.ListEvent(wx.wxEVT_LIST_END_LABEL_EDIT)
     event.SetIndex(row_id)
     event.SetColumn(2)
     lst.GetEventHandler().ProcessEvent(event)
     lst.CheckItem(row_id, active)
Exemplo n.º 18
0
    def EventMouseWheel(self, event):

        if self._text_ctrl.GetValue() == '' and len(self._dropdown_list) == 0:

            if event.GetWheelRotation() > 0:
                id = ClientCaches.MENU_EVENT_ID_TO_ACTION_CACHE.GetTemporaryId(
                    'select_up')
            else:
                id = ClientCaches.MENU_EVENT_ID_TO_ACTION_CACHE.GetTemporaryId(
                    'select_down')

            new_event = wx.CommandEvent(
                commandType=wx.wxEVT_COMMAND_MENU_SELECTED, winid=id)

            self.ProcessEvent(new_event)

        else:

            if event.CmdDown():

                key_event = wx.KeyEvent(wx.EVT_CHAR_HOOK.typeId)

                if event.GetWheelRotation() > 0:

                    key_event.m_keyCode = wx.WXK_UP

                else:

                    key_event.m_keyCode = wx.WXK_DOWN

                self._dropdown_list.ProcessEvent(key_event)

            else:

                # for some reason, the scrolledwindow list doesn't process scroll events properly when in a popupwindow
                # so let's just tell it to scroll manually

                (start_x, start_y) = self._dropdown_list.GetViewStart()

                if event.GetWheelRotation() > 0:
                    self._dropdown_list.Scroll(-1, start_y - 3)
                else:
                    self._dropdown_list.Scroll(-1, start_y + 3)

                if event.GetWheelRotation() > 0:
                    command_type = wx.wxEVT_SCROLLWIN_LINEUP
                else:
                    command_type = wx.wxEVT_SCROLLWIN_LINEDOWN

                wx.PostEvent(self, wx.ScrollWinEvent(command_type))
Exemplo n.º 19
0
def test_plot_topo_butterfly():
    "Test plot.TopoButterfly"
    ds = datasets.get_uts(utsnd=True)

    # single row
    p = plot.TopoButterfly('utsnd', ds=ds)
    p.set_time(0.2)
    # t keypress on topomap
    x, y = p.topo_axes[0].transAxes.transform((.5, .5))
    event = KeyEvent('test', p.canvas, 't', x, y, wx.KeyEvent())
    p._on_key_press(event)
    p.close()

    p = plot.TopoButterfly('utsnd', ds=ds, vmax=0.2, w=6)
    p.close()

    # multiple rows
    p = plot.TopoButterfly('utsnd', 'A%B', ds=ds, w=6)
    if not IS_WINDOWS:
        assert (*p.figure.get_size_inches(), ) == (6, 12)
    # t keypress on topomaps
    for ax in p.topo_axes:
        x, y = ax.transAxes.transform((.5, .5))
        event = KeyEvent('test', p.canvas, 't', x, y, wx.KeyEvent())
        p._on_key_press(event)
    p.close()

    p = plot.TopoButterfly('utsnd', mark=[1, 2], ds=ds)
    p.close()

    p = plot.TopoButterfly('utsnd', mark=['1', '2'], ds=ds)
    p.set_vlim(2)
    assert p.get_vlim() == (-2.0, 2.0)
    p.set_ylim(-1, 1)
    assert p.get_ylim() == (-1.0, 1.0)
    p.close()
Exemplo n.º 20
0
 def OnChar(self, event):
     #print event.GetKeyCode()
     if event.GetKeyCode() == wx.WXK_TAB:
         wx.Control.SetFocus(self)
         new_event = wx.KeyEvent(wx.wxEVT_KEY_DOWN)
         new_event.SetEventObject(self)
         new_event.SetId(self.GetId())
         new_event.m_keyCode = wx.WXK_TAB
         wx.PostEvent(self.parent, new_event)
     elif event.GetKeyCode() == wx.WXK_UP:
         self.step(dir_up=True)
     elif event.GetKeyCode() == wx.WXK_DOWN:
         self.step(dir_up=False)
     else:
         event.Skip()
Exemplo n.º 21
0
 def clone_key_event(self, event):
     evt = wx.KeyEvent()
     evt.m_altDown = event.m_altDown
     evt.m_controlDown = event.m_controlDown
     evt.m_keyCode = event.m_keyCode
     evt.m_metaDown = event.m_metaDown
     if wx.Platform == '__WXMSW__':
         evt.m_rawCode = event.m_rawCode
         evt.m_rawFlags = event.m_rawFlags
     evt.m_scanCode = event.m_scanCode
     evt.m_shiftDown = event.m_shiftDown
     evt.m_x = event.m_x
     evt.m_y = event.m_y
     evt.SetEventType(event.GetEventType())
     evt.SetId(event.GetId())
     return evt
Exemplo n.º 22
0
def Type(string, ctrlFlag=False, altFlag=False, shiftFlag=False):
    """ Types the string into the current focused widget, returns True if successful """
    stringSuccess = True
    for char in string:
        try:
            keyPressMethod = _wx.Window_FindFocus().EmulateKeyPress
        except AttributeError:
            return False
        else:
            keyCode = ord(char)  # returns ASCII value of char
            keyPress = _wx.KeyEvent(_wx.wxEVT_KEY_DOWN)
            keyPress.m_keyCode = keyCode
            keyPress.m_shiftDown = char.isupper() or shiftFlag
            keyPress.m_controlDown = keyPress.m_metaDown = ctrlFlag
            keyPress.m_altDown = altFlag
            charSuccess = keyPressMethod(keyPress)
            stringSuccess = stringSuccess and charSuccess
    return stringSuccess
Exemplo n.º 23
0
    def OnKeyDownStripNewlineModifiers(event):
        if event.KeyCode == wx.WXK_RETURN and event.Modifiers:

            e = wx.KeyEvent(wx.EVT_CHAR)
            e.m_keyCode = event.m_keyCode
            e.m_rawCode = event.m_rawCode
            e.m_rawFlags = event.m_rawFlags
            e.m_scanCode = event.m_scanCode
            e.m_controlDown = False
            e.m_altDown = False
            e.m_metaDown = False
            e.m_shiftDown = False

            tc.WriteText('\n')

            tc.ProcessEvent(e)
        else:
            event.Skip()
Exemplo n.º 24
0
    def testEditing(self):
        rowIndex = 1
        primaryColumnIndex = self.objectListView.GetPrimaryColumnIndex()
        self.objectListView.cellEditMode = ObjectListView.CELLEDIT_F2ONLY
        # self.objectListView.SortBy(primaryColumnIndex+1)

        originalName = self.objectListView[rowIndex].name
        self.assertEqual(
            self.objectListView.GetItem(rowIndex,
                                        primaryColumnIndex).GetText(),
            originalName)
        self.objectListView.DeselectAll()
        self.objectListView.SetItemState(
            rowIndex, wx.LIST_STATE_SELECTED | wx.LIST_STATE_FOCUSED,
            wx.LIST_STATE_SELECTED | wx.LIST_STATE_FOCUSED)

        # Fake an F2, change the value of the edit, and then fake a Return to
        # commit the change
        evt = wx.KeyEvent(wx.EVT_CHAR.evtType[0])
        evt.m_keyCode = wx.WXK_F2
        self.objectListView._HandleChar(evt)
        self.objectListView.StartCellEdit(rowIndex, primaryColumnIndex)
        self.objectListView.cellEditor.SetValue("new name for X")
        self.objectListView.FinishCellEdit()
        evt.m_keyCode = wx.WXK_RETURN
        self.objectListView._HandleChar(evt)
        self.assertEqual(
            self.objectListView.GetItem(rowIndex,
                                        primaryColumnIndex).GetText(),
            "new name for X")

        # Put the original value back
        evt.m_keyCode = wx.WXK_F2
        self.objectListView._HandleChar(evt)
        self.objectListView.StartCellEdit(rowIndex, primaryColumnIndex)
        self.objectListView.cellEditor.SetValue(originalName)
        self.objectListView.FinishCellEdit()
        evt.m_keyCode = wx.WXK_RETURN
        self.objectListView._HandleChar(evt)
        self.assertEqual(
            self.objectListView.GetItem(rowIndex,
                                        primaryColumnIndex).GetText(),
            originalName)
Exemplo n.º 25
0
    def OnButton(self, evt):
        """Handles events from the buttons on the bar
        @param evt: Event that called this handler

        """
        e_id = evt.GetId()
        if e_id == ID_CLOSE_BUTTON:
            self.Hide()
        elif e_id in [ID_SEARCH_NEXT, ID_SEARCH_PRE]:
            search = self.FindWindowById(ID_SEARCH_CTRL)
            if search != None:
                evt = wx.KeyEvent(wx.wxEVT_KEY_UP)
                evt.m_keyCode = wx.WXK_RETURN
                if e_id == ID_SEARCH_PRE:
                    evt.m_shiftDown = True
                else:
                    evt.m_shiftDown = False
                wx.PostEvent(search, evt)
        else:
            evt.Skip()
Exemplo n.º 26
0
    def test_resetmatch(self):
        sourcesDir = os.path.abspath(
            os.path.join(os.path.dirname(__file__), "./data/sources"))
        self.frame.panel.AddSourcesFromDir(sourcesDir)
        choicesDir = os.path.abspath(
            os.path.join(os.path.dirname(__file__), "./data/choices"))
        self.frame.panel.AddChoicesFromDir(choicesDir)

        for each in self.button_panel.GetChildren():
            if each.GetLabel() == "Best match":
                btn = each
                break

        event = wx.CommandEvent(wx.wxEVT_COMMAND_BUTTON_CLICKED, btn.GetId())
        btn.GetEventHandler().ProcessEvent(event)

        lst = self.frame.panel.list_ctrl
        item = -1
        item1 = lst.GetNextItem(item)
        lst.Select(item1)
        item2 = lst.GetNextItem(item1)
        lst.Select(item2)
        event = wx.KeyEvent(wx.wxEVT_CHAR)
        event.SetKeyCode(wx.WXK_CONTROL_R)
        lst.GetEventHandler().ProcessEvent(event)
        self.assertEqual(
            ["Abutilon à feuilles marbrées.txt", "", "", "", "", "", "True"],
            [
                lst.GetItemText(item1, col)
                for col in range(0, len(config.default_columns))
            ],
        )
        self.assertEqual(
            ["Acanthe à feuilles molles.txt", "", "", "", "", "", "True"],
            [
                lst.GetItemText(item2, col)
                for col in range(0, len(config.default_columns))
            ],
        )
Exemplo n.º 27
0
 def test_KeyEvent_GetUnicodeKey(self):
     evt = wx.KeyEvent()
     unikey = evt.GetUnicodeKey()
     self.assertTrue(isinstance(unikey, int))
Exemplo n.º 28
0
 def test_KeyEvent_ctor(self):
     evt = wx.KeyEvent()
Exemplo n.º 29
0
 def test_KeyEvent_SetRawKeyCode(self):
     evt = wx.KeyEvent()
     value = wx.WXK_ADD
     evt.SetRawKeyCode(value)
     self.assertTrue(evt.GetRawKeyCode() == value)
Exemplo n.º 30
0
 def test_KeyEvent_SetRawKeyFlags(self):
     evt = wx.KeyEvent()
     value = 3
     evt.SetRawKeyFlags(value)
     self.assertTrue(evt.GetRawKeyFlags() == value)