示例#1
0
文件: viewer.py 项目: imclab/rx
 def set_dotcode(self, dotcode, zoom=True):
     if self._widget.set_dotcode(dotcode, None):
         self.SetTitle('rxgraph')
         if zoom or self._needs_zoom:
             self._widget.zoom_to_fit()
             self._needs_zoom = False
         self._needs_refresh = True
         wx.PostEvent(self.GetEventHandler(), wx.IdleEvent())
示例#2
0
 def set_dotcode(self, dotcode, zoom=True):
     """Set the xdot view's dotcode and refresh the display."""
     # Set the new dotcode
     if self.widget.set_dotcode(dotcode, None):
         # Re-zoom if necessary
         if zoom or self._needs_zoom:
             self.widget.zoom_to_fit()
             self._needs_zoom = False
         # Set the refresh flag
         self._needs_refresh = True
         wx.PostEvent(self.GetEventHandler(), wx.IdleEvent())
    def set_dotcode(self, dotcode, zoom=True):
        """Set the xdot view's dotcode and refresh the display."""
        # Set the new dotcode
        if self.widget.set_dotcode(dotcode, None):
            self.SetTitle('Smach Viewer')
            # Re-zoom if necessary
            if zoom or self._needs_zoom:
                self.widget.zoom_to_fit()
                self._needs_zoom = False
            # Set the refresh flag
            self._needs_refresh = True
            wx.PostEvent(self.GetEventHandler(), wx.IdleEvent())

        with open("dump.dot", "w+") as dotfile:
            dotfile.write(dotcode)
示例#4
0
    def OnCanvasDraw(self, event):
        self.canvas.SetCurrent()
        glClearColor(1, 1, 1, 1)
        glClear(GL_COLOR_BUFFER_BIT)

        for i in range(25):
            glLoadIdentity()
            glTranslate(
                random.randint(-100, 100) / 100.0,
                random.randint(-100, 100) / 100.0, 0)
            glRotate(random.randint(0, 360), 0, 0, 1)
            glBegin(GL_TRIANGLES)
            glColor(0, 0, 0)
            glVertex(-.15, -.15)
            glVertex(.15, -.15)
            glVertex(0, .15)
            glEnd()

        self.canvas.SwapBuffers()
        wx.IdleEvent().RequestMore()
    def on_validate_module(self, setting_idx, message, level, pipeline_data,
                           idx, settings_hash):
        if settings_hash != self.__pipeline.settings_hash():
            self.__submission_time = 0
            return

        target_item = self.list_ctrl.GetItem(idx, ERROR_COLUMN)
        if level == logging.WARNING:
            ec_value = WARNING
        elif level == logging.ERROR:
            ec_value = ERROR
        else:
            ec_value = OK
        ec_value = get_image_index(ec_value)
        if ec_value != target_item.Image:
            self.set_subitem_image(idx, ERROR_COLUMN, ec_value)
        if self.__first_dirty_module == idx:
            self.__first_dirty_module = min(self.__first_dirty_module + 1,
                                            len(self.__pipeline.modules()))
            self.last_idle_time = 0
            self.__submission_time = 0
            wx.PostEvent(self.__panel, wx.IdleEvent())
示例#6
0
def LeftClick(block):
    """ Simulates a left mouse click on the block or widget """
    mouseEnter = _wx.MouseEvent(_wx.wxEVT_ENTER_WINDOW)
    mouseDown = _wx.MouseEvent(_wx.wxEVT_LEFT_DOWN)
    mouseDown.m_leftDown = True
    mouseUp = _wx.MouseEvent(_wx.wxEVT_LEFT_UP)
    mouseLeave = _wx.MouseEvent(_wx.wxEVT_LEAVE_WINDOW)
    try:
        widget = block.widget
    except AttributeError:
        widget = block
    mouseEnter.SetEventObject(widget)
    mouseDown.SetEventObject(widget)
    mouseUp.SetEventObject(widget)
    mouseLeave.SetEventObject(widget)
    widget.ProcessEvent(mouseEnter)
    widget.ProcessEvent(mouseDown)
    widget.ProcessEvent(mouseUp)
    widget.ProcessEvent(mouseLeave)
    _wx.GetApp().Yield()
    ev = _wx.IdleEvent()
    _wx.GetApp().ProcessEvent(ev)
示例#7
0
 def test_IdleEvent_ctor(self):
     evt = wx.IdleEvent()
示例#8
0
def SendIdleEvent(td, w=None):
    evt=wx.IdleEvent()
    handler=td.get_root_parent().app.GetEventHandler()
    wx.PostEvent(handler, evt)