def BindEvents(self):
self.Bind(wx.EVT_PAINT, self.OnPaint)
self.Bind(wx.EVT_ERASE_BACKGROUND, lambda e: None)
self.Bind(wx.EVT_RIGHT_DOWN, self.OnButtonDown)
self.Bind(wx.EVT_LEFT_DOWN, self.OnButtonDown)
self.Bind(wx.EVT_MIDDLE_DOWN, self.OnButtonDown)
self.Bind(wx.EVT_RIGHT_UP, self.OnButtonUp)
self.Bind(wx.EVT_LEFT_UP, self.OnButtonUp)
self.Bind(wx.EVT_MIDDLE_UP, self.OnButtonUp)
self.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel)
self.Bind(wx.EVT_MOTION, self.OnMotion)
self.Bind(wx.EVT_ENTER_WINDOW, self.OnEnter)
self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeave)
self.Bind(wx.EVT_CHAR, self.OnKeyDown)
self.Bind(wx.EVT_KEY_UP, self.OnKeyUp)
if wx.Platform == "__WXGTK__":
# wxGTK requires that the window be created before you can
# set its shape, so delay the call to SetWindowShape until
# this event.
self.Bind(wx.EVT_WINDOW_CREATE, self.OnWindowCreate)
else:
# On wxMSW and wxMac the window has already been created.
self.Bind(wx.EVT_SIZE, self.OnSize)
if _useCapture and hasattr(wx, 'EVT_MOUSE_CAPTURE_LOST'):
self.Bind(wx.EVT_MOUSE_CAPTURE_LOST, self.OnMouseCaptureLost)
python类EVT_PAINT的实例源码
def __init__(self,title):
super(Frame,self).__init__(None,-1,title,style=wx.DEFAULT_FRAME_STYLE^wx.MAXIMIZE_BOX^wx.RESIZE_BORDER)
self.colors = {0:(204,192,179),2:(238, 228, 218),4:(237, 224, 200),8:(242, 177, 121),16:(245, 149, 99),32:(246, 124, 95),64:(246, 94, 59),128:(237, 207, 114),256:(237, 207, 114),512:(237, 207, 114),1024:(237, 207, 114),2048:(237, 207, 114),4096:(237, 207, 114),8192:(237, 207, 114),16384:(237, 207, 114),32768:(237, 207, 114),65536:(237, 207, 114),131072:(237, 207, 114),262144:(237, 207, 114),524288:(237, 207, 114),1048576:(237, 207, 114),2097152:(237, 207, 114),4194304:(237, 207, 114),8388608:(237, 207, 114),16777216:(237, 207, 114)}#?????????
self.setIcon()
self.initGame()
self.initBuffer()
panel = wx.Panel(self) #??????
#------????
panel.Bind(wx.EVT_KEY_DOWN,self.onKeyDown)
panel.SetFocus() #?????
self.Bind(wx.EVT_SIZE,self.onSize) #use wx.BufferedPaintDC
self.Bind(wx.EVT_PAINT,self.onPaint)
self.Bind(wx.EVT_CLOSE,self.onClose) #????
#------
self.SetClientSize((505,720)) #??????
self.Center() #?????
self.Show()
def __init__(self, parent, manager=None):
attribList = attribs = (glcanvas.WX_GL_RGBA, glcanvas.WX_GL_DOUBLEBUFFER, glcanvas.WX_GL_DEPTH_SIZE, 24)
glcanvas.GLCanvas.__init__(self, parent, -1, attribList=attribList)
self.init = False
self.context = glcanvas.GLContext(self)
self.manager = self.manager = Manager() if manager is None else manager
self.size = None
self.SetBackgroundStyle(wx.BG_STYLE_PAINT)
self.Bind(wx.EVT_SIZE, self.OnSize)
self.Bind(wx.EVT_PAINT, self.OnPaint)
self.Bind(wx.EVT_LEFT_DOWN, self.OnMouseDown)
self.Bind(wx.EVT_LEFT_UP, self.OnMouseUp)
self.Bind(wx.EVT_MOTION, self.OnMouseMotion)
self.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel)
self.lastx, self.lasty = None, None
self.update = True
#print('init===========')
def __init__(self, parent, bracket):
self.bracket = bracket
self.oldx = None
self.oldy = None
self.ax = 0
self.ay = 0
self.bx = 0
self.by = 0
self.extimg = None
wx.Panel.__init__(self, parent)
self.x = 0
self.y = 0
self.updatebracketimg()
self.Bind(wx.EVT_PAINT, self.paint)
self.Bind(wx.EVT_MOUSE_EVENTS, self.mouse)
self.Bind(wx.EVT_ERASE_BACKGROUND, self.none)
def __init__(self):
wx.ScrolledWindow.__init__(self)
self.Bind(wx.EVT_PAINT, self.OnPaint)
self.Bind(wx.EVT_SIZE, self.OnResized)
self.Bind(wx.EVT_SCROLLWIN, self.OnScrolled)
# OnCreate required to avoid crashing wx in xrc creation
self.Bind(wx.EVT_WINDOW_CREATE, self.OnCreate)
# Disable physical scrolling - refresh entire display on each scroll event.
self.EnableScrolling(False, False)
# This line enables double-buffered painting for reduced flicker.
self.SetBackgroundStyle(wx.BG_STYLE_PAINT)
# The previous scroll action (for maintaining viewport during resizes).
self.prev_scroll = None
self.layout = HexViewLayout()
wxPython_Wallpaper.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def __init__(self, parent):
glcanvas.GLCanvas.__init__(self, parent, -1)
self.context = glcanvas.GLContext(self)
self.init = False
# Cube 3D start rotation
self.last_X = self.x = 30
self.last_Y = self.y = 30
self.Bind(wx.EVT_SIZE, self.sizeCallback)
self.Bind(wx.EVT_PAINT, self.paintCallback)
self.Bind(wx.EVT_LEFT_DOWN, self.mouseDownCallback)
self.Bind(wx.EVT_LEFT_UP, self.mouseUpCallback)
self.Bind(wx.EVT_MOTION, self.mouseMotionCallback)
wxPython_OpenGL_GUI.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 20
收藏 0
点赞 0
评论 0
def __init__(self, parent):
glcanvas.GLCanvas.__init__(self, parent, -1)
self.context = glcanvas.GLContext(self)
self.init = False
# Cube 3D start rotation
self.last_X = self.x = 30
self.last_Y = self.y = 30
self.Bind(wx.EVT_SIZE, self.sizeCallback)
self.Bind(wx.EVT_PAINT, self.paintCallback)
self.Bind(wx.EVT_LEFT_DOWN, self.mouseDownCallback)
self.Bind(wx.EVT_LEFT_UP, self.mouseUpCallback)
self.Bind(wx.EVT_MOTION, self.mouseMotionCallback)
import_OpenGL_cube_and_cone.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 18
收藏 0
点赞 0
评论 0
def __init__(self, parent):
glcanvas.GLCanvas.__init__(self, parent, -1)
self.init = False
self.context = glcanvas.GLContext(self) # <== this was missing when I wrote the book in 2015...
# initial mouse position
self.lastx = self.x = 30
self.lasty = self.y = 30
self.size = None
self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)
self.Bind(wx.EVT_SIZE, self.OnSize)
self.Bind(wx.EVT_PAINT, self.OnPaint)
self.Bind(wx.EVT_LEFT_DOWN, self.OnMouseDown)
self.Bind(wx.EVT_LEFT_UP, self.OnMouseUp)
self.Bind(wx.EVT_MOTION, self.OnMouseMotion)
wxPython_Wallpaper_simple.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 19
收藏 0
点赞 0
评论 0
def __init__(self, parent):
glcanvas.GLCanvas.__init__(self, parent, -1)
self.context = glcanvas.GLContext(self)
self.init = False
# Cube 3D start rotation
self.last_X = self.x = 30
self.last_Y = self.y = 30
self.Bind(wx.EVT_SIZE, self.sizeCallback)
self.Bind(wx.EVT_PAINT, self.paintCallback)
self.Bind(wx.EVT_LEFT_DOWN, self.mouseDownCallback)
self.Bind(wx.EVT_LEFT_UP, self.mouseUpCallback)
self.Bind(wx.EVT_MOTION, self.mouseMotionCallback)
def __init__(self, parent, obj=None, mouse_callback=None, select_callback=None):
wx.Panel.__init__(self, parent)
self.SetBackgroundStyle(wx.BG_STYLE_CUSTOM)
self.Bind(wx.EVT_PAINT, self.OnPaint)
self.Bind(wx.EVT_LEFT_DOWN, self.OnMouseDown)
self.Bind(wx.EVT_LEFT_UP, self.OnMouseUp)
self.Bind(wx.EVT_RIGHT_DOWN, self.OnRightDown)
self.Bind(wx.EVT_RIGHT_UP, self.OnMouseUp)
self.Bind(wx.EVT_MOTION, self.OnMotion)
self.Bind(wx.EVT_SIZE, self.OnSize)
self.refresh_from_selection = False
self.background_bitmap = None
self.obj = obj
self.selstart = self.selend = self.movepos = None
self.moveSelection = False
self.createSelection = False
self.begin = 0
if self.obj is not None:
self.chnls = len(self.obj)
self.end = self.obj.getDur(False)
else:
self.chnls = 1
self.end = 1.0
self.img = [[]]
self.mouse_callback = mouse_callback
self.select_callback = select_callback
if sys.platform == "win32" or sys.platform.startswith("linux"):
self.dcref = wx.BufferedPaintDC
else:
self.dcref = wx.PaintDC
self.setImage()
#FL 02/10/2017
self.playCursorPos = 0
def init_gl(self):
print('creating Frame')
self.window = wx.Frame ( parent=None, id=wx.ID_ANY, title=self.title,
style=wx.DEFAULT_FRAME_STYLE|wx.WS_EX_PROCESS_IDLE )
print('creating GLCanvas')
self.canvas = glcanvas.GLCanvas ( self.window, glcanvas.WX_GL_RGBA )
print('creating GLContext')
self.context = glcanvas.GLContext(self.canvas)
self.canvas.SetFocus()
self.window.SetSize ( (self.renderer.window_size[0], self.renderer.window_size[1]) )
print('showing Frame')
self.window.Show(True)
print('calling SetTopWindow')
self.SetTopWindow(self.window)
self.Bind ( wx.EVT_CHAR, self.OnChar )
self.canvas.Bind ( wx.EVT_SIZE, self.OnCanvasSize )
self.canvas.Bind ( wx.EVT_PAINT, self.OnCanvasPaint )
wx.IdleEvent.SetMode ( wx.IDLE_PROCESS_SPECIFIED )
self.Bind ( wx.EVT_IDLE, self.OnIdle )
print('making context current')
self.canvas.SetCurrent ( self.context )
self.renderer.init_gl()
def __init__(self, parent, background='black', style=0, *args, **kwargs):
"""Initialize a new DrawablePanel.
Args:
parent: wx parent object.
style: Style arguments passed the the wx.Panel base class.
The wx.NO_FULL_REPAINT_ON_RESIZE argument is added
to the given style arguments.
args, kwargs: Additional arguments passed to the wx.Panel
base class.
"""
wx.Panel.__init__(self, parent=parent, style=style | wx.NO_FULL_REPAINT_ON_RESIZE,
*args, **kwargs)
self.background = background
self.lastSize = (0,0)
# initial resize creates initial drawing
# buffer and triggers first draw
self.resize()
self.Bind(wx.EVT_PAINT, self.repaint)
self.Bind(wx.EVT_SIZE, self.resize)
def __init__(self, parent):
attribs = (glcanvas.WX_GL_RGBA, glcanvas.WX_GL_DOUBLEBUFFER, glcanvas.WX_GL_DEPTH_SIZE, 24)
glcanvas.GLCanvas.__init__(self, parent, -1, attribList = attribs)
self.context = glcanvas.GLContext(self)
self.parent = parent
#Camera state variables
self.size = self.GetClientSize()
#self.camera = MouseSphericalCamera(self.size.x, self.size.y)
self.camera = MousePolarCamera(self.size.width, self.size.height)
#Main state variables
self.MousePos = [0, 0]
self.bbox = BBox3D()
#Face mesh variables and manipulation variables
self.mesh = None
self.meshCentroid = None
self.displayMeshFaces = True
self.displayMeshEdges = False
self.displayMeshVertices = True
self.displayVertexNormals = False
self.displayFaceNormals = False
self.useLighting = True
self.useTexture = False
self.GLinitialized = False
#GL-related events
wx.EVT_ERASE_BACKGROUND(self, self.processEraseBackgroundEvent)
wx.EVT_SIZE(self, self.processSizeEvent)
wx.EVT_PAINT(self, self.processPaintEvent)
#Mouse Events
wx.EVT_LEFT_DOWN(self, self.MouseDown)
wx.EVT_LEFT_UP(self, self.MouseUp)
wx.EVT_RIGHT_DOWN(self, self.MouseDown)
wx.EVT_RIGHT_UP(self, self.MouseUp)
wx.EVT_MIDDLE_DOWN(self, self.MouseDown)
wx.EVT_MIDDLE_UP(self, self.MouseUp)
wx.EVT_MOTION(self, self.MouseMotion)
def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.NO_BORDER):
wx.Panel.__init__(self, parent, id=id, pos=pos, size=size, style=style)
self.Viewport = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.NO_BORDER)
self.Scrollbar = wx.ScrollBar(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SB_VERTICAL)
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.Add(self.Viewport, 1, wx.EXPAND, 0)
sizer.Add(self.Scrollbar, 0, wx.EXPAND, 0)
self.SetSizer(sizer)
self.Layout()
sizer.Fit(self)
self._presenter = Presenter.from_window(self.Viewport.GetHandle(), config.SCALE)
self._graphics = None
self._font = None
self._entities = None
self._selected_index = -1
self.Viewport.Bind(wx.EVT_PAINT, self.paint)
self.Viewport.Bind(wx.EVT_SIZE, self.resize)
self.Viewport.Bind(wx.EVT_MOUSEWHEEL, self.mouse_wheel)
self.Viewport.Bind(wx.EVT_LEFT_DOWN, self.mouse_left_down)
self.Scrollbar.Bind(wx.EVT_SCROLL, self.scroll)
def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.NO_BORDER):
wx.Panel.__init__(self, parent, id=id, pos=pos, size=size, style=style)
self.Viewport = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.NO_BORDER)
self.Scrollbar = wx.ScrollBar(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SB_VERTICAL)
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.Add(self.Viewport, 1, wx.EXPAND, 0)
sizer.Add(self.Scrollbar, 0, wx.EXPAND, 0)
self.SetSizer(sizer)
self.Layout()
sizer.Fit(self)
self.Scrollbar.SetScrollbar(0, 0, 0, 0)
self._presenter = Presenter.from_window(self.Viewport.GetHandle(), config.SCALE)
self._camera = Camera(0, 0, 0, 0)
self._tilemap = None
self._tileset = None
self._select_start = None
self._select_end = None
self._show_collision = False
self.Viewport.Bind(wx.EVT_PAINT, self.paint)
self.Viewport.Bind(wx.EVT_SIZE, self.resize)
self.Viewport.Bind(wx.EVT_MOUSEWHEEL, self.mouse_wheel)
self.Viewport.Bind(wx.EVT_LEFT_DOWN, self.mouse_left_down)
self.Viewport.Bind(wx.EVT_LEFT_UP, self.mouse_left_up)
self.Viewport.Bind(wx.EVT_MOTION, self.mouse_move)
self.Scrollbar.Bind(wx.EVT_SCROLL, self.scroll)
def __init__(self, parent, size):
wx.Panel.__init__(self, parent, size=size)
self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
self.Bind(wx.EVT_MOTION, self.OnMotion)
self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)
self.Bind(wx.EVT_PAINT, self.OnPaint)
self.Bind(wx.EVT_SIZE, self.OnResize)
self.ThumbPosition = 0. # -1 <= ThumbPosition <= 1
self.ThumbScrollingStartPos = None
def __init__(self, parent, tip, restricted=True):
"""
Constructor
@param parent: Parent window
@param tip: Tip text (may be multiline)
@param restricted: Tool tip must follow size restriction in line and
characters number defined (default True)
"""
wx.PopupWindow.__init__(self, parent)
self.Restricted = restricted
self.SetBackgroundStyle(wx.BG_STYLE_CUSTOM)
self.SetTip(tip)
# Initialize text font style
self.Font = wx.Font(
faces["size"],
wx.SWISS,
wx.NORMAL,
wx.NORMAL,
faceName=faces["mono"])
self.Bind(wx.EVT_PAINT, self.OnPaint)
def __init__(self, parent, window, items=[]):
"""
Constructor
@param parent: Parent wx.Window of DebugVariableText
@param window: Reference to the Debug Variable Panel
@param items: List of DebugVariableItem displayed by Viewer
"""
DebugVariableViewer.__init__(self, window, items)
wx.Panel.__init__(self, parent)
# Set panel background colour
self.SetBackgroundColour(wx.WHITE)
# Define panel drop target
self.SetDropTarget(DebugVariableTextDropTarget(self, window))
# Bind events
self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
self.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick)
self.Bind(wx.EVT_ENTER_WINDOW, self.OnEnter)
self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeave)
self.Bind(wx.EVT_SIZE, self.OnResize)
self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)
self.Bind(wx.EVT_PAINT, self.OnPaint)
# Define panel min size for parent sizer layout
self.SetMinSize(wx.Size(0, 25))
# Add buttons to Viewer
for bitmap, callback in [("force", self.OnForceButton),
("release", self.OnReleaseButton),
("delete_graph", self.OnCloseButton)]:
self.Buttons.append(GraphButton(0, 0, bitmap, callback))
def __init__(self, parent ):
wx.Panel.__init__ ( self, parent, id = wx.ID_ANY,
pos = wx.DefaultPosition, size = wx.Size(256,81),
style = wx.TAB_TRAVERSAL )
self.init_buf()
self.his = None
self.update = False
self.x1, self.x2 = 0, 255
self.Bind(wx.EVT_SIZE, self.on_size)
self.Bind(wx.EVT_IDLE, self.on_idle)
self.Bind(wx.EVT_PAINT, self.on_paint)
def bindEvents(self):
for event, handler in [ \
(wx.EVT_SIZE, self.on_size),
(wx.EVT_MOUSE_EVENTS, self.on_mouseevent), # Draw
(wx.EVT_IDLE, self.on_idle),
(wx.EVT_PAINT, self.on_paint)]: # Start drawing]:
self.Bind(event, handler)
def __init__(self, parent):
wx.Panel.__init__ ( self, parent, id = wx.ID_ANY,
pos = wx.DefaultPosition, size = wx.Size(256,80),
style = wx.SIMPLE_BORDER|wx.TAB_TRAVERSAL )
self.init_buf()
self.data, self.extent = [], [0,0,1,1]
self.set_title_label('Graph', 'X-unit', 'Y-unit')
self.update = False
self.SetBackgroundColour( wx.Colour( 255, 255, 255 ) )
self.Bind(wx.EVT_SIZE, self.on_size)
self.Bind(wx.EVT_PAINT, self.on_paint)
self.Bind(wx.EVT_IDLE, self.on_idle)
self.Bind(wx.EVT_MOTION, self.on_move )
def __init__(self, parent):
attribs = (glcanvas.WX_GL_RGBA, glcanvas.WX_GL_DOUBLEBUFFER, glcanvas.WX_GL_DEPTH_SIZE, 24)
glcanvas.GLCanvas.__init__(self, parent, -1, attribList = attribs)
self.context = glcanvas.GLContext(self)
self.parent = parent
#Camera state variables
self.size = self.GetClientSize()
#self.camera = MouseSphericalCamera(self.size.x, self.size.y)
self.camera = MousePolarCamera(self.size.width, self.size.height)
#Main state variables
self.MousePos = [0, 0]
self.bbox = BBox3D()
#Face mesh variables and manipulation variables
self.mesh = None
self.meshCentroid = None
self.displayMeshFaces = True
self.displayMeshEdges = False
self.displayMeshVertices = True
self.displayVertexNormals = False
self.displayFaceNormals = False
self.useLighting = True
self.useTexture = False
self.GLinitialized = False
#GL-related events
wx.EVT_ERASE_BACKGROUND(self, self.processEraseBackgroundEvent)
wx.EVT_SIZE(self, self.processSizeEvent)
wx.EVT_PAINT(self, self.processPaintEvent)
#Mouse Events
wx.EVT_LEFT_DOWN(self, self.MouseDown)
wx.EVT_LEFT_UP(self, self.MouseUp)
wx.EVT_RIGHT_DOWN(self, self.MouseDown)
wx.EVT_RIGHT_UP(self, self.MouseUp)
wx.EVT_MIDDLE_DOWN(self, self.MouseDown)
wx.EVT_MIDDLE_UP(self, self.MouseUp)
wx.EVT_MOTION(self, self.MouseMotion)
def __init__( self, parent, camera, socketclient ):
wx.Panel.__init__( self, parent, id=wx.ID_ANY, style=wx.SIMPLE_BORDER )
self.Camera = camera
self.SocketClient = socketclient
self.Bind( wx.EVT_PAINT, self.OnPaint )
self.Bind( wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground )
self.SetSize( CAMERA_SIZE )
def __init__(
self, parent=None, id=-1, pos=wx.DefaultPosition,
size=wx.DefaultSize,
style=wx.TAB_TRAVERSAL|wx.NO_BORDER|wx.FULL_REPAINT_ON_RESIZE,
name='SquareMap', model = None,
adapter = None,
labels = True, # set to True to draw textual labels within the boxes
highlight = True, # set to False to turn of highlighting
padding = 2, # amount to reduce the children's box from the parent's box
):
super( SquareMap, self ).__init__(
parent, id, pos, size, style, name
)
self.model = model
self.padding = padding
self.labels = labels
self.highlight = highlight
self.selectedNode = None
self.highlightedNode = None
self.Bind( wx.EVT_PAINT, self.OnPaint)
self.Bind( wx.EVT_SIZE, self.OnSize )
if highlight:
self.Bind( wx.EVT_MOTION, self.OnMouse )
self.Bind( wx.EVT_LEFT_UP, self.OnClickRelease )
self.Bind( wx.EVT_LEFT_DCLICK, self.OnDoubleClick )
self.Bind( wx.EVT_KEY_UP, self.OnKeyUp )
self.hot_map = []
self.adapter = adapter or DefaultAdapter()
self.DEFAULT_PEN = wx.Pen( wx.BLACK, 1, wx.SOLID )
self.SELECTED_PEN = wx.Pen( wx.WHITE, 2, wx.SOLID )
self.OnSize(None)
def process_change_selection(self):
self._selected = not self._selected
if self._selected:
self.create_selection()
self.refresh_selection()
self.Bind(wx.EVT_PAINT, self.on_paint_selection)
else:
self.Unbind(wx.EVT_PAINT, handler=self.on_paint_selection)
self.destroy_selection()
def __init__(self, parent, title=None, color=None, fontsize=10):
height = float(28)/DPI
fig = Figure(figsize=(1, height), dpi=DPI)
super(PlotLabelTitle, self).__init__(parent, -1, fig)
#self.figure.set_facecolor(self._COLOR)
#(0.5, loc, "%g" % loc, ha='center',
# va='center', fontsize=10
# )
#
'''
extent = [0.0, 0.0, 1.0, 1.0]
ax = create_and_prepare_axes(fig, extent)
#ax.
line = matplotlib.lines.Line2D([0.0, 1.0], [0.5, 0.5])
ax.add_line(line) '''
#
#'''
l = matplotlib.lines.Line2D([0.0, 1.0], [0.05, 0.05])
l.set_linewidth(1)
l.set_color('black')
fig._set_artist_props(l)
fig.lines.append(l)
l._remove_method = lambda h: self.lines.remove(h)
fig.stale = True
#'''
#rect = 0, 1.0, 1.0, 1.0
#fig.add_axes(rect)
#fig.add_axes(rect, frameon=False, facecolor='g')
self._text = self.figure.text(0.5, 0.5, '', ha='center', va='center')
self.update(title, color, fontsize)
self.mpl_connect('button_press_event', self._on_press)
#self.Bind(wx.EVT_PAINT, self.on_paint)
#def on_paint(self, event):
# print 'PlotLabelTitle.on_paint'
# event.Skip()
def __init__(self, parent, pos=(0,0), size=(100,100), numSpeakers=2):
wx.Panel.__init__(self, parent, pos=pos, size=size)
self.SetBackgroundStyle(wx.BG_STYLE_CUSTOM)
self.audio = vars.getVars("Audio")
self.pos = None
self.size = size
self.currentCircle = None
self.currentSpeaker = None
self.isAList = False
self.catch = False
self.catchSpeaker = False
self.shift = False
self.alt = False
self.s = False
self.numSpeakers = numSpeakers # FL 29/05/17
#OSC Variables
self.incs = [0, 0, 0, 0]
self.absPos = [0, 0, 0, 0] # FL 04/09/2017
self.mode2 = False # FL 04/09/2017
# Creation des cercles/sources
self.blueCircle = Source(self.size[0]*BLUE_START[0], self.size[1]*BLUE_START[1], CIRCLE_RADIUS)
self.redCircle = Source(self.size[0]*RED_START[0], self.size[1]*RED_START[1], CIRCLE_RADIUS)
speakers = []
for i in range(self.numSpeakers):
setup = vars.getVars("Speakers_setup")
x, y = self.size[0]*setup[i][0], self.size[1]*setup[i][1] #FL 02/09/2017
speakers.append(Speaker(x, y, SPEAKER_RADIUS))
vars.setVars("Speakers", speakers)
# print vars.getVars("Speakers")[0].c
self.speakerAdjusted() # FL 29/05/17
# méthode pour les controles
self.Bind(wx.EVT_PAINT, self.onPaint)
self.Bind(wx.EVT_LEFT_DOWN, self.onLeftDown)
self.Bind(wx.EVT_LEFT_UP, self.onLeftUp)
self.Bind(wx.EVT_RIGHT_DOWN, self.onRightDown)
self.Bind(wx.EVT_MOTION, self.onMotion)
self.Bind(wx.EVT_KEY_DOWN, self.onKeyDown)
self.Bind(wx.EVT_KEY_UP, self.onKeyUp)
self.on_timer()
def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize,
style=0, agwStyle=0, name="ImageContainer"):
"""
Default class constructor.
:param `parent`: parent window. Must not be ``None``;
:param `id`: window identifier. A value of -1 indicates a default value;
:param `pos`: the control position. A value of (-1, -1) indicates a default position,
chosen by either the windowing system or wxPython, depending on platform;
:param `size`: the control size. A value of (-1, -1) indicates a default size,
chosen by either the windowing system or wxPython, depending on platform;
:param `style`: the underlying :class:`Panel` window style;
:param `agwStyle`: the AGW-specific window style. This can be a combination of the
following bits:
=========================== =========== ==================================================
Window Styles Hex Value Description
=========================== =========== ==================================================
``INB_BOTTOM`` 0x1 Place labels below the page area. Available only for :class:`FlatImageBook`.
``INB_LEFT`` 0x2 Place labels on the left side. Available only for :class:`FlatImageBook`.
``INB_RIGHT`` 0x4 Place labels on the right side.
``INB_TOP`` 0x8 Place labels above the page area.
``INB_BORDER`` 0x10 Draws a border around :class:`LabelBook` or :class:`FlatImageBook`.
``INB_SHOW_ONLY_TEXT`` 0x20 Shows only text labels and no images. Available only for :class:`LabelBook`.
``INB_SHOW_ONLY_IMAGES`` 0x40 Shows only tab images and no label texts. Available only for :class:`LabelBook`.
``INB_FIT_BUTTON`` 0x80 Displays a pin button to show/hide the book control.
``INB_DRAW_SHADOW`` 0x100 Draw shadows below the book tabs. Available only for :class:`LabelBook`.
``INB_USE_PIN_BUTTON`` 0x200 Displays a pin button to show/hide the book control.
``INB_GRADIENT_BACKGROUND`` 0x400 Draws a gradient shading on the tabs background. Available only for :class:`LabelBook`.
``INB_WEB_HILITE`` 0x800 On mouse hovering, tabs behave like html hyperlinks. Available only for :class:`LabelBook`.
``INB_NO_RESIZE`` 0x1000 Don't allow resizing of the tab area.
``INB_FIT_LABELTEXT`` 0x2000 Will fit the tab area to the longest text (or text+image if you have images) in all the tabs.
``INB_BOLD_TAB_SELECTION`` 0x4000 Show the selected tab text using a bold font.
=========================== =========== ==================================================
:param `name`: the window name.
"""
ImageContainerBase.__init__(self, parent, id, pos, size, style, agwStyle, name)
self.Bind(wx.EVT_PAINT, self.OnPaint)
self.Bind(wx.EVT_SIZE, self.OnSize)
self.Bind(wx.EVT_LEFT_DOWN, self.OnMouseLeftDown)
self.Bind(wx.EVT_LEFT_UP, self.OnMouseLeftUp)
self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)
self.Bind(wx.EVT_MOTION, self.OnMouseMove)
self.Bind(wx.EVT_LEAVE_WINDOW, self.OnMouseLeaveWindow)
def __init__(
self, parent=None, id=-1, pos=wx.DefaultPosition,
size=wx.DefaultSize,
style=wx.TAB_TRAVERSAL|wx.NO_BORDER|wx.FULL_REPAINT_ON_RESIZE,
name='SquareMap', model = None,
adapter = None,
labels = True,
highlight = True,
padding = 2,
margin = 0,
square_style = False,
):
"""Initialise the SquareMap
adapter -- a DefaultAdapter or same-interface instance providing SquareMap data api
labels -- set to True (default) to draw textual labels within the boxes
highlight -- set to True (default) to highlight nodes on mouse-over
padding -- spacing within each square and its children (within the square's border)
margin -- spacing around each square (on all sides)
square_style -- use a more-recursive, less-linear, more "square" layout style which
works better on objects with large numbers of children, such as Meliae memory
dumps, works fine on profile views as well, but the layout is less obvious wrt
what node is "next" "previous" etc.
"""
super( SquareMap, self ).__init__(
parent, id, pos, size, style, name
)
self.model = model
self.padding = padding
self.square_style = square_style
self.margin = margin
self.labels = labels
self.highlight = highlight
self.selectedNode = None
self.highlightedNode = None
self._buffer = wx.Bitmap(20, 20) # Have a default buffer ready
self.Bind( wx.EVT_PAINT, self.OnPaint)
self.Bind( wx.EVT_SIZE, self.OnSize )
if highlight:
self.Bind( wx.EVT_MOTION, self.OnMouse )
self.Bind( wx.EVT_LEFT_UP, self.OnClickRelease )
self.Bind( wx.EVT_LEFT_DCLICK, self.OnDoubleClick )
self.Bind( wx.EVT_KEY_UP, self.OnKeyUp )
self.hot_map = []
self.adapter = adapter or DefaultAdapter()
self.DEFAULT_PEN = wx.Pen( wx.BLACK, 1, wx.SOLID )
self.SELECTED_PEN = wx.Pen( wx.WHITE, 2, wx.SOLID )
self.OnSize(None)
def __init__(self, parent, title):
"""Create the pydicom image example's main frame window."""
wx.Frame.__init__(self, parent, id=-1, title="", pos=wx.DefaultPosition,
size=wx.Size(w=1024, h=768),
style=wx.DEFAULT_FRAME_STYLE | wx.SUNKEN_BORDER | wx.CLIP_CHILDREN)
# --------------------------------------------------------
# Set up the menubar.
# --------------------------------------------------------
self.mainmenu = wx.MenuBar()
# Make the 'File' menu.
menu = wx.Menu()
item = menu.Append(wx.ID_ANY, '&Open', 'Open file for editing')
self.Bind(wx.EVT_MENU, self.OnFileOpen, item)
item = menu.Append(wx.ID_ANY, 'E&xit', 'Exit Program')
self.Bind(wx.EVT_MENU, self.OnFileExit, item)
self.mainmenu.Append(menu, '&File')
# Attach the menu bar to the window.
self.SetMenuBar(self.mainmenu)
# --------------------------------------------------------
# Set up the main splitter window.
# --------------------------------------------------------
self.mainSplitter = wx.SplitterWindow(self, style=wx.NO_3D | wx.SP_3D)
self.mainSplitter.SetMinimumPaneSize(1)
# -------------------------------------------------------------
# Create the folderTreeView on the left.
# -------------------------------------------------------------
self.dsTreeView = wx.TreeCtrl(self.mainSplitter, style=wx.TR_LINES_AT_ROOT | wx.TR_HAS_BUTTONS)
# --------------------------------------------------------
# Create the ImageView on the right pane.
# --------------------------------------------------------
self.imView = wx.Panel(self.mainSplitter, style=wx.VSCROLL | wx.HSCROLL | wx.CLIP_CHILDREN)
self.imView.Bind(wx.EVT_PAINT, self.OnPaint)
self.imView.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)
self.imView.Bind(wx.EVT_SIZE, self.OnSize)
# --------------------------------------------------------
# Install the splitter panes.
# --------------------------------------------------------
self.mainSplitter.SplitVertically(self.dsTreeView, self.imView)
self.mainSplitter.SetSashPosition(300, True)
# --------------------------------------------------------
# Initialize some values
# --------------------------------------------------------
self.dcmdsRoot = False
self.foldersRoot = False
self.loadCentered = True
self.bitmap = None
self.Show(True)