MCPcopy Create free account
hub / github.com/Image-Py/imagepy / CanvasPanel

Class CanvasPanel

imagepy/ui/canvasframe.py:15–118  ·  view source on GitHub ↗

CanvasFrame: derived from the wx.core.Frame

Source from the content-addressed store, hash-verified

13import weakref
14
15class CanvasPanel(wx.Panel):
16 """CanvasFrame: derived from the wx.core.Frame"""
17 ## TODO: Main frame ???
18 def __init__(self, parent=None):
19 wx.Frame.__init__ ( self, parent)
20
21 #self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_3DLIGHT ) )
22
23 self.SetSizeHints( wx.Size( 560,-1 ), wx.DefaultSize )
24 WindowsManager.add(self)
25
26 self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )
27 self.SetBackgroundColour( wx.Colour( 255, 255, 255 ) )
28
29 sizer = wx.BoxSizer( wx.VERTICAL )
30 self.txt_info = wx.StaticText( self, wx.ID_ANY,
31 '500*500 pixels 173k',
32 wx.DefaultPosition, wx.DefaultSize, 0 )
33 self.txt_info.Wrap( -1 )
34 sizer.Add( self.txt_info, 0, wx.ALL, 0 )
35
36 self.canvas = Canvas(self)
37 self.canvas.set_handler(self.set_info)
38 self.handle = None
39 sizer.Add( self.canvas, 1, wx.EXPAND |wx.ALL, 0 )
40
41 self.page = wx.ScrollBar( self, wx.ID_ANY,
42 wx.DefaultPosition, wx.DefaultSize, wx.SB_HORIZONTAL)
43
44 self.page.SetScrollbar(0,0,0,0, refresh=True)
45 sizer.Add( self.page, 0, wx.ALL|wx.EXPAND, 0 )
46 self.page.Hide()
47 self.SetSizer(sizer)
48 self.Layout()
49 self.Bind(wx.EVT_SCROLL, self.on_scroll)
50
51 # panel.Bind(wx.EVT_CHAR, self.OnKeyDown)
52 self.opage = 0
53 #self.Fit()
54
55 #self.SetAcceleratorTable(IPy.curapp.shortcut)
56
57 '''
58 def SetTitle(self, title):
59 parent = self.GetParent()
60 if not IPy.aui: parent.SetTitle(title)
61 else: parent.SetPageText(parent.GetPageIndex(self), title)
62 #print(dir(parent)) #parent.DeletePage(parent.GetPageIndex(self))
63 '''
64
65 def set_handler(self, handle=None):
66 self.handle = handle
67
68 def set_info(self, ips, resize=False):
69 stk = 'stack' if ips.is3d else 'list'
70 label='{}/{}; {} {}x{} pixels; {}; {} M'.format(ips.cur+1, ips.get_nslices(),
71 stk if ips.get_nslices()>1 else '',ips.size[0], ips.size[1],
72 ips.imgtype, round(ips.get_nbytes()/1024.0/1024.0, 2))

Callers 2

showipsFunction · 0.85
__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected