mwxlib 0.95.3__py3-none-any.whl → 0.95.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mwxlib might be problematic. Click here for more details.
- mwx/controls.py +19 -7
- mwx/framework.py +12 -9
- mwx/graphman.py +8 -5
- mwx/images.py +17 -84
- mwx/nutshell.py +12 -4
- mwx/plugins/fft_view.py +2 -2
- mwx/plugins/frame_listview.py +2 -2
- mwx/wxwit.py +9 -10
- {mwxlib-0.95.3.dist-info → mwxlib-0.95.5.dist-info}/METADATA +1 -1
- {mwxlib-0.95.3.dist-info → mwxlib-0.95.5.dist-info}/RECORD +13 -13
- {mwxlib-0.95.3.dist-info → mwxlib-0.95.5.dist-info}/LICENSE +0 -0
- {mwxlib-0.95.3.dist-info → mwxlib-0.95.5.dist-info}/WHEEL +0 -0
- {mwxlib-0.95.3.dist-info → mwxlib-0.95.5.dist-info}/top_level.txt +0 -0
mwx/controls.py
CHANGED
|
@@ -896,6 +896,20 @@ class Icon(wx.Bitmap):
|
|
|
896
896
|
bmp = _getBitmap2(*args, **kwargs)
|
|
897
897
|
wx.Bitmap.__init__(self, bmp)
|
|
898
898
|
|
|
899
|
+
@staticmethod
|
|
900
|
+
def bullet(colour, ec=None, size=None, radius=4):
|
|
901
|
+
if not size:
|
|
902
|
+
size = (16,16)
|
|
903
|
+
bmp = wx.Bitmap(size)
|
|
904
|
+
with wx.MemoryDC(bmp) as dc:
|
|
905
|
+
dc.SetBackground(wx.Brush('black'))
|
|
906
|
+
dc.Clear()
|
|
907
|
+
dc.SetPen(wx.Pen(ec, style=wx.PENSTYLE_SOLID))
|
|
908
|
+
dc.SetBrush(wx.Brush(colour, style=wx.BRUSHSTYLE_SOLID))
|
|
909
|
+
dc.DrawCircle(size[0]//2, size[0]//2, radius)
|
|
910
|
+
bmp.SetMaskColour('black')
|
|
911
|
+
return bmp
|
|
912
|
+
|
|
899
913
|
@staticmethod
|
|
900
914
|
def iconify(icon, w, h):
|
|
901
915
|
## if wx.VERSION >= (4,1,0):
|
|
@@ -930,15 +944,14 @@ def _getBitmap1(key, size=None):
|
|
|
930
944
|
return bmp
|
|
931
945
|
|
|
932
946
|
## Note: null (0-shaped) bitmap fails with AssertionError from 4.1.1
|
|
933
|
-
|
|
947
|
+
elif key == '':
|
|
934
948
|
bmp = wx.Bitmap(size or (16,16))
|
|
935
|
-
|
|
936
|
-
dc = wx.MemoryDC(bmp)
|
|
949
|
+
with wx.MemoryDC(bmp) as dc:
|
|
937
950
|
dc.SetBackground(wx.Brush('black'))
|
|
938
951
|
dc.Clear()
|
|
939
|
-
del dc
|
|
940
952
|
bmp.SetMaskColour('black') # return dummy-sized blank bitmap
|
|
941
953
|
return bmp
|
|
954
|
+
|
|
942
955
|
return wx.NullBitmap # The standard wx controls accept this,
|
|
943
956
|
|
|
944
957
|
|
|
@@ -951,9 +964,8 @@ def _getBitmap2(back, fore, size=None, subsize=3/4):
|
|
|
951
964
|
fore = _getBitmap1(fore, subsize)
|
|
952
965
|
x = size[0] - subsize[0]
|
|
953
966
|
y = size[1] - subsize[1]
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
del dc
|
|
967
|
+
with wx.MemoryDC(back) as dc:
|
|
968
|
+
dc.DrawBitmap(fore, x, y, useMask=True)
|
|
957
969
|
return back
|
|
958
970
|
|
|
959
971
|
|
mwx/framework.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#! python3
|
|
2
2
|
"""mwxlib framework.
|
|
3
3
|
"""
|
|
4
|
-
__version__ = "0.95.
|
|
4
|
+
__version__ = "0.95.5"
|
|
5
5
|
__author__ = "Kazuya O'moto <komoto@jeol.co.jp>"
|
|
6
6
|
|
|
7
7
|
from functools import wraps, partial
|
|
@@ -1116,6 +1116,10 @@ class ShellFrame(MiniFrame):
|
|
|
1116
1116
|
self.Log = EditorBook(self, name="Log")
|
|
1117
1117
|
self.Help = EditorBook(self, name="Help")
|
|
1118
1118
|
|
|
1119
|
+
self.Bookshelf = EditorTreeCtrl(self, name="Bookshelf",
|
|
1120
|
+
style=wx.TR_DEFAULT_STYLE|wx.TR_HIDE_ROOT)
|
|
1121
|
+
wx.CallAfter(self.Bookshelf.attach, self)
|
|
1122
|
+
|
|
1119
1123
|
from .wxpdb import Debugger
|
|
1120
1124
|
from .wxwit import Inspector
|
|
1121
1125
|
from .wxmon import EventMonitor
|
|
@@ -1147,15 +1151,11 @@ class ShellFrame(MiniFrame):
|
|
|
1147
1151
|
self.console.Bind(aui.EVT_AUINOTEBOOK_PAGE_CHANGED, self.OnConsolePageChanged)
|
|
1148
1152
|
|
|
1149
1153
|
self.ghost = AuiNotebook(self, size=(600,400))
|
|
1150
|
-
self.ghost.AddPage(self.Scratch, "Scratch")
|
|
1154
|
+
self.ghost.AddPage(self.Scratch, "Scratch", bitmap=Icon('ghost'))
|
|
1151
1155
|
self.ghost.AddPage(self.Log, "Log")
|
|
1152
1156
|
self.ghost.AddPage(self.Help, "Help")
|
|
1153
1157
|
self.ghost.Name = "ghost"
|
|
1154
1158
|
|
|
1155
|
-
self.Bookshelf = EditorTreeCtrl(self, name="Bookshelf",
|
|
1156
|
-
style=wx.TR_DEFAULT_STYLE|wx.TR_HIDE_ROOT)
|
|
1157
|
-
self.Bookshelf.attach(self)
|
|
1158
|
-
|
|
1159
1159
|
self.ghost.AddPage(self.Bookshelf, "Bookshelf", bitmap=Icon('book'))
|
|
1160
1160
|
|
|
1161
1161
|
self.ghost.SetDropTarget(FileDropLoader(self.Scratch))
|
|
@@ -1163,7 +1163,7 @@ class ShellFrame(MiniFrame):
|
|
|
1163
1163
|
self.watcher = AuiNotebook(self, size=(300,200))
|
|
1164
1164
|
self.watcher.AddPage(self.ginfo, "globals")
|
|
1165
1165
|
self.watcher.AddPage(self.linfo, "locals")
|
|
1166
|
-
self.watcher.AddPage(self.monitor, "Monitor", bitmap=Icon('
|
|
1166
|
+
self.watcher.AddPage(self.monitor, "Monitor", bitmap=Icon('tv'))
|
|
1167
1167
|
self.watcher.AddPage(self.inspector, "Inspector", bitmap=Icon('inspect'))
|
|
1168
1168
|
self.watcher.Name = "watcher"
|
|
1169
1169
|
|
|
@@ -1273,14 +1273,17 @@ class ShellFrame(MiniFrame):
|
|
|
1273
1273
|
self.set_hookable(self.Log)
|
|
1274
1274
|
|
|
1275
1275
|
@self.Scratch.define_key('C-j')
|
|
1276
|
-
def eval_line():
|
|
1276
|
+
def eval_line(evt):
|
|
1277
1277
|
shell = self.current_shell
|
|
1278
1278
|
self.Scratch.buffer.py_eval_line(shell.globals, shell.locals)
|
|
1279
|
+
evt.Skip(False)
|
|
1279
1280
|
|
|
1280
1281
|
@self.Scratch.define_key('C-S-j')
|
|
1281
|
-
|
|
1282
|
+
@self.Scratch.define_key('M-j')
|
|
1283
|
+
def eval_buffer(evt):
|
|
1282
1284
|
shell = self.current_shell
|
|
1283
1285
|
self.Scratch.buffer.py_exec_region(shell.globals, shell.locals)
|
|
1286
|
+
evt.Skip(False)
|
|
1284
1287
|
|
|
1285
1288
|
## Session
|
|
1286
1289
|
self.SESSION_FILE = get_rootpath(".debrc")
|
mwx/graphman.py
CHANGED
|
@@ -594,7 +594,7 @@ class MyFileDropLoader(wx.FileDropTarget):
|
|
|
594
594
|
elif ext == '.jssn':
|
|
595
595
|
self.loader.load_session(fn)
|
|
596
596
|
elif ext == '.index':
|
|
597
|
-
self.loader.
|
|
597
|
+
self.loader.load_index(fn, self.view)
|
|
598
598
|
else:
|
|
599
599
|
paths.append(fn) # image file just stacks to be loaded
|
|
600
600
|
if paths:
|
|
@@ -697,10 +697,10 @@ class Frame(mwx.Frame):
|
|
|
697
697
|
(),
|
|
698
698
|
## ("Index", (
|
|
699
699
|
## (mwx.ID_(11), "&Import index\tCtrl+Shift+o", "Import index file", Icon('open'),
|
|
700
|
-
## lambda v: self.
|
|
700
|
+
## lambda v: self.load_index()),
|
|
701
701
|
##
|
|
702
702
|
## (mwx.ID_(12), "&Export index\tCtrl+Shift+s", "Export index file", Icon('saveas'),
|
|
703
|
-
## lambda v: self.
|
|
703
|
+
## lambda v: self.save_index(),
|
|
704
704
|
## lambda v: v.Enable(self.__view.frame is not None)),
|
|
705
705
|
## )),
|
|
706
706
|
("Session", (
|
|
@@ -1401,7 +1401,7 @@ class Frame(mwx.Frame):
|
|
|
1401
1401
|
## --------------------------------
|
|
1402
1402
|
ATTRIBUTESFILE = "results.index"
|
|
1403
1403
|
|
|
1404
|
-
def
|
|
1404
|
+
def load_index(self, filename=None, view=None):
|
|
1405
1405
|
"""Load frames :ref to the Index file.
|
|
1406
1406
|
"""
|
|
1407
1407
|
if not view:
|
|
@@ -1433,7 +1433,7 @@ class Frame(mwx.Frame):
|
|
|
1433
1433
|
print(self.message.read())
|
|
1434
1434
|
return frames
|
|
1435
1435
|
|
|
1436
|
-
def
|
|
1436
|
+
def save_index(self, filename=None, frames=None):
|
|
1437
1437
|
"""Save frames :ref to the Index file.
|
|
1438
1438
|
"""
|
|
1439
1439
|
if not frames:
|
|
@@ -1481,6 +1481,9 @@ class Frame(mwx.Frame):
|
|
|
1481
1481
|
print(self.message.read())
|
|
1482
1482
|
return frames
|
|
1483
1483
|
|
|
1484
|
+
import_index = load_index # for backward compatibility
|
|
1485
|
+
export_index = save_index # for backward compatibility
|
|
1486
|
+
|
|
1484
1487
|
## --------------------------------
|
|
1485
1488
|
## load/save frames and attributes
|
|
1486
1489
|
## --------------------------------
|
mwx/images.py
CHANGED
|
@@ -104,21 +104,6 @@ camera = PyEmbeddedImage(
|
|
|
104
104
|
b'vhvJZFLusf54PC5lMYHI5XKPqa/P6EP3+XyCry4T8E/2BHDoEIdv6fmH92/9Vvz31/gHd9iU'
|
|
105
105
|
b'VZFEDKoAAAAASUVORK5CYII=')
|
|
106
106
|
|
|
107
|
-
#----------------------------------------------------------------------
|
|
108
|
-
card = PyEmbeddedImage(
|
|
109
|
-
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlw'
|
|
110
|
-
b'SFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoA'
|
|
111
|
-
b'AAHcSURBVDiNhZM7a5RBGIWf+W4r0SiGKJgIq7ExsfEChiBCLBQECwsbC3vxH9iLIBbqv9Ay'
|
|
112
|
-
b'CIKFPyAsFkG8rWA0RmOCQTeb3f32S+Y9Fns3H/GFmWbmPDNzzjtOEmemZ+aAq4Dx/wqAt2Y2'
|
|
113
|
-
b'u1Car0QAkq5cujgTBwEECJxaW6UBpXCIgPKnxanlldU5YDbqXz458pzJsa84BoWt1dZc/nkc'
|
|
114
|
-
b'768lS99XLgB0ATJjcuwzM9cfErp1ALIsI02bpGmTZrOJOIRKj3mz6rvgLsBkOBxhPEpa/UDa'
|
|
115
|
-
b'aFCvV6lt/mDjzzeyrMb4sVsEQTjwtN4NBDhHtbLIr+VX1Gp1Go0MFwyzd3icg4WIfftH2w+x'
|
|
116
|
-
b'HIAJSVQqm2ScIxraZuQAJJERxyKJIQnWkDze5wEkFr4cBT0CtzO7Tr1bOoL3vQ1Rx2OT8aJ0'
|
|
117
|
-
b'ipevp3BOqD8JdXwCb45iMccDUwtiviNwba0GICDU1269PjAhE6adJ/eDHGDWizHo6Y3V9Q2S'
|
|
118
|
-
b'OKAQh62R9MaeJKKQhKz93sTbvyYK5I3QbXP78uE877p171kVKScFM2PLQs7euL8rwD+9ieXE'
|
|
119
|
-
b'qC1vnJiY4GP5fe5faF3UUSwW8SZo/1wnidPnpx8g7giG2LUL2hxoAncXSvNP/gJOse/PFpzV'
|
|
120
|
-
b'hQAAAABJRU5ErkJggg==')
|
|
121
|
-
|
|
122
107
|
#----------------------------------------------------------------------
|
|
123
108
|
clip = PyEmbeddedImage(
|
|
124
109
|
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0'
|
|
@@ -150,26 +135,6 @@ clock = PyEmbeddedImage(
|
|
|
150
135
|
b'vqHBv3R3pmbxzgwz4Z+EaTXtwqIogrzjxIJ4QVVV1UyihxgjFv3/K09Bu/lEkBgg5rLZH+fT'
|
|
151
136
|
b'5dvfn7iFAAAAAElFTkSuQmCC')
|
|
152
137
|
|
|
153
|
-
#----------------------------------------------------------------------
|
|
154
|
-
code = PyEmbeddedImage(
|
|
155
|
-
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0'
|
|
156
|
-
b'RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAL2SURBVDjLVdNNaBx1GMfx78zO'
|
|
157
|
-
b'7Lu765qQWIPteqiH+IKCjTmkClIVPHi0pVDSXBT0sGhLUOvJl0OL4AuVBC+CLXpoD1KqweBB'
|
|
158
|
-
b'WFFajOChSTU20q2h6e66nX2Znfm/ejCJ8Qff6+fy8DjWWgCmz9f3AR/cV0pPhtIQSoM0hoEy'
|
|
159
|
-
b'AdAFmoAG2kAL+Bz41mNzRqmJh0fzk689MczO9YUphsIU25EeExK6sebPZo9v/ugfAKo7gZFC'
|
|
160
|
-
b'0gGgflvjOw6eAwkPUr7LvSmXhOviJ+CRsQy7irnyp5fW33e3AC1loWQilIGucAgkdDoRQQRB'
|
|
161
|
-
b'BK0B3OppAF4/e53JSo4HhvzhbSAfBiP7v5pHHZ2mH2kqJ2cZ+uxjwqBPNzb0IstAgAEc3eGn'
|
|
162
|
-
b'a22WrgfrLoA4Ol2eXfrimZw3QDoeYWyRePh0GZ0/RdTu0o8NfWnAwkYn5sPF1Y4WYtoVR44c'
|
|
163
|
-
b'NGH01+iwXzT1FvVj76CApUNVxI2ApNNn77EZUrXviZSDsaB9jRKicv7lxxZdM4jm433jabO0'
|
|
164
|
-
b'Asdn6eTLOC7oQpnfX3gFfrmKnBjnnrmTuFJiLag4RotYA7gmHLyY+LoWmcounBNvYm81cLEk'
|
|
165
|
-
b'gyaVuXdRe+7GuVijPlPFSfpIren1Q6WE6AC42YsXvjy9e//EtdXbyHyKyqszYOH+946TKHiE'
|
|
166
|
-
b'bcOVuXMEUwfI+NDqxahYbCy89awFcAEWhvaKj6YO48WQaDTAcXGbDcIA1k6cQuaKYCHruTTa'
|
|
167
|
-
b'A7SI17eu501Vzw4Bbz84OU6veobvlgW5rubHTy6Q9i2+B8nEvxWysFoPUUJsbANaiKeA535e'
|
|
168
|
-
b'XqM98OjFFqktsXQQyqC0wVhLuVjkpadHudkK0UI0/gOkfPT5Jx/KvHH48f/9gLYgtUUowMLp'
|
|
169
|
-
b'hXWyPnR7IVrK1k5g7WYz4MziMqV8hlIhTSmXophLcUc2SSrpkvJcDk2NkPKg8XcXLeWNbcAo'
|
|
170
|
-
b'da52eWWsdnllN3DXZnduVkwnfT+d9inkMpQKWX69Wv8N+GEL+AdfSH+n2ppttwAAAABJRU5E'
|
|
171
|
-
b'rkJggg==')
|
|
172
|
-
|
|
173
138
|
#----------------------------------------------------------------------
|
|
174
139
|
colour = PyEmbeddedImage(
|
|
175
140
|
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0'
|
|
@@ -244,41 +209,6 @@ core = PyEmbeddedImage(
|
|
|
244
209
|
b'AQgglIQEcp6GhgaDtrY22JmgAAT5HRQOnz9/BqsB5Y2dO3eCNHOAYh8ggOAGgJyKbhgygAUa'
|
|
245
210
|
b'VDMjTBwggMAGTJ48+flvIJCWlpYjlH2RNYMAQIABANLKHICUilYLAAAAAElFTkSuQmCC')
|
|
246
211
|
|
|
247
|
-
#----------------------------------------------------------------------
|
|
248
|
-
edit = PyEmbeddedImage(
|
|
249
|
-
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0'
|
|
250
|
-
b'RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH8SURBVDjLjZPfS1NhGMdXf0VE'
|
|
251
|
-
b'QhDUhdCN4X0IYT8ghIJQM0KoC4vushZddLELKyRhQQkSFIKEGEkUCI2oxVhepG5zi1xbc0u3'
|
|
252
|
-
b'cDs7Z+ec/ezT+x62scmmHvhwDrzP93Pe57znsQE2cR0SdAm6d+GwYL/M1LBVBV35fF4plUqV'
|
|
253
|
-
b'crlMK8Q6TqdzYrukJuiW4Vwuh67rdbLZLJlMhmQyaUnigVlC05f4+dbB0tQplp92DsnwPimQ'
|
|
254
|
-
b'BaZpUigUrLtE0zQURSGVSqHF37DhGkVZeQdagszKLJ7HvZtNAhmuIQWGYaCqKps/ZkivPqCw'
|
|
255
|
-
b'Ps/Gp0cYvjnKUTe+F9fMJoFoo96zfJZ9K+sLpP33qRhujPANtr7dJPhqmO/PBxX3+PljTYLt'
|
|
256
|
-
b'qImPpH13qZge9LUrmLEB1FU7sZd9jJw5MljNthYk/KLnxdFqeAjzdz9Z/z3Ck2fRE36qx9pa'
|
|
257
|
-
b'kAjME1y4Lbb9GTMyTD52GUXsZO3ZadTkL6umrSD4ZZrAezvLH54Q915EjwywtXSH8FQf+t+I'
|
|
258
|
-
b'9V12FLwe6wE1SmjyAi77Qb6Kt3rGe9H+hKzwrgLH9eMUPE4K3gm8jpPMjRwlHfNTLBbr7Cjo'
|
|
259
|
-
b'7znA2NVOXA/PsThzi2wyah1pI+0E/9rNQQsqMtM4CyfE36fLhb2ERa0mB7BR0CElexjnGnL0'
|
|
260
|
-
b'O2T2PyFunSz8jchwAAAAAElFTkSuQmCC')
|
|
261
|
-
|
|
262
|
-
#----------------------------------------------------------------------
|
|
263
|
-
erase = PyEmbeddedImage(
|
|
264
|
-
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0'
|
|
265
|
-
b'RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAMOSURBVHjaYjx66tobAT4e9n//'
|
|
266
|
-
b'/zPAwD8g88ePnwy/f/1mePPuI9Of3//ef/78xYOZheUKExMTw+1bNxkaqjPAagECiIWdjY1b'
|
|
267
|
-
b'U02GgwEJ/Aca9uPXP4a/fxgY7t5/zMDDzcl198Hz/U+evQxlZ2c/gKwWIICYGLAARkZGBqBF'
|
|
268
|
-
b'DIxM/xiYmJkYJCRFGBysdUXUVeV3srKwhPxDOJYBIIBYsBkAkmcEYjY2Fob7Dx4zvHr5koGL'
|
|
269
|
-
b'm4Phz++/bJ8+flj979+/IqB0P0gtQABhdQHYFUxAVwBNERURYvj1j5Hh5YuPDHfuPmZg42Bj'
|
|
270
|
-
b'+PLlQxtMHUAAYXUByHYmoDf+/P7DoGugwfDrBzAwP/9kePf8OQMrKxvDqRNH4WoBAgjhgn9/'
|
|
271
|
-
b'GRiun2JguHmW4R+Q+wfojz+srAxf7t1jYOoqYmDdu46BlYsb6C1WBmZmZrg2gABCuODJLQaG'
|
|
272
|
-
b'4zsYGL5+YPj/6B7DV5sQhv8PbzIITqpiYN+7g4FT7hjDb20zBiYxaWAgI1wLEEAIAySVGRjk'
|
|
273
|
-
b'1RkY9qxjYL45n4H7zFEGpjt3GFgPH2T4LaXE8D6nkYFZRJyBlfEf1JMQABBALDD2DyYg0y6E'
|
|
274
|
-
b'gfHbTwbWFTMY2K9uZmB49Z7ht5YBw7u6qQy/FTUYmL98YQAmJnA0wwBAALHAAuEPMAgYWZkZ'
|
|
275
|
-
b'WJg4GBifvmJgePaageHzDwaGp28ZGIGxwAjyO1AfMyMsoiEAIICY/sFC/vcvBrbFkxnYOysY'
|
|
276
|
-
b'GF5/ZPhrZMHwj1uYgfXsDQZhH1cG9m1AF3FyQW1HuAAggOCxwHJkBwPr1A4GhhdvGH5FJjN8'
|
|
277
|
-
b'XriT4WvvLIb/fPwMzK9eMQgU5zIwvXrB8B8YjcgAIIAQXjBzYmB08mP4L6PC8CulEJwffvv6'
|
|
278
|
-
b'MnxYvZGBq6yA4Wt6FsM/XqBhwLSB7AWAAGKBpWtuQT4GhvbpYClWIP77F5SpgLSLHcOv8+eA'
|
|
279
|
-
b'XvzPwP31FwMLCytKIAIEEMvHT5++tnVO/sPExALNB/+APmQCav4HNuA/NGf8B3P+AzUzMXz5'
|
|
280
|
-
b'BEyWUAAQYABehgBuH0rveAAAAABJRU5ErkJggg==')
|
|
281
|
-
|
|
282
212
|
#----------------------------------------------------------------------
|
|
283
213
|
exit = PyEmbeddedImage(
|
|
284
214
|
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0'
|
|
@@ -437,20 +367,6 @@ load = PyEmbeddedImage(
|
|
|
437
367
|
b'n78wcHADSx8ulhsMHEDMzAiK1m+4qiaAAEINij9/GcAuAcUWKHYYwRmFC1g1tQmIcGd8/f33'
|
|
438
368
|
b'ye/ff7WAEr/AsQjLoWAnQipdWFAABBgAhGIfg4WD5MwAAAAASUVORK5CYII=')
|
|
439
369
|
|
|
440
|
-
#----------------------------------------------------------------------
|
|
441
|
-
memo = PyEmbeddedImage(
|
|
442
|
-
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACEElEQVR4AY2TA5BbUQBFs5mO'
|
|
443
|
-
b'2kFt2xrVtm2bw9pGWNu2ubZt24y+cZtX//X9xjnPKhK9UbNOZzhrOaM5iaoO+z9Z9msvVWXR'
|
|
444
|
-
b'6s9YC4sKIMsyqoqjoyOuXb/KntWeWmJcrFYrBKQEAtsoK8yWMpSZS1FaVozi0iIUlRSgoCgP'
|
|
445
|
-
b'3t5eCAsLw6M9G/gXzRvIjxqqI+80d6j3V0BCBBaruVLJh4/vkR74DW/at0b28ePwGDYYdzo4'
|
|
446
|
-
b'fFIIKNqG0LBQUt0Kx2XtTrzTTEPyzYPwnz8bHm3b4mFdlaQQMAxNJP/VxARSk6QIF3zQTkOB'
|
|
447
|
-
b'2xFIrmvhOq4VHtVR4WZ3h3UKAcuxCAsPU5T84ekVvDs7BfmuhyF+X4iY871xfX1D6LcvBWEV'
|
|
448
|
-
b'Ap7nQCQMS2pCISPeF+81dtjlIETHRYgwdMf1DY1QlBkFwlQQCKKA8PDwXyU/v443pyYi12k/'
|
|
449
|
-
b'gRGs6YJrGxojIyEIgFy5QJIkIgHPcXh9fDRyHPcRGP6nO+P21lbISY+EyWwCgMoFZC5ERETg'
|
|
450
|
-
b'7X0NnC7Mgei8Ep7HOuDaxhb4/O4pomOiYbZWLfibA5sn4u6ugbi9sSGe7h2A0sIM0AwFG2WD'
|
|
451
|
-
b'1WapXsBSJsyf2BOanbORmxQIXuDB/exYhkhAUbaaBGUQWOpvn4ii+FfC2iUsx5CmKgX2lWg1'
|
|
452
|
-
b'mUyoTQhcVFwIrf6slbC1Xc6Kg/xLGML+APJWxIkWy8dWAAAAAElFTkSuQmCC')
|
|
453
|
-
|
|
454
370
|
#----------------------------------------------------------------------
|
|
455
371
|
paste = PyEmbeddedImage(
|
|
456
372
|
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwY'
|
|
@@ -578,6 +494,23 @@ saveall = PyEmbeddedImage(
|
|
|
578
494
|
b'lD3/b0B6tPf2byempRFO127T095JQ6wJFBTcJk7VhCRjYItUT/mgrgxOvWtrPtLdEG8gYdcT'
|
|
579
495
|
b'6gDRGjERWsosrS2TKwbMP78rcth3/gX/0SEvLZFG1QAAAABJRU5ErkJggg==')
|
|
580
496
|
|
|
497
|
+
#----------------------------------------------------------------------
|
|
498
|
+
script = PyEmbeddedImage(
|
|
499
|
+
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0'
|
|
500
|
+
b'RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ+SURBVBgZBcExbFRlAADg7//f'
|
|
501
|
+
b'u7teC3elQEoMgeDkYDQ6oMQQTYyGxMHZuDA6Ypw0cWI20cHJUdl0cJLIiomR6OACGhUCpqGW'
|
|
502
|
+
b'tlzbu/b97/3v9/tCKQVc/e7RRXz+7OrSpUXbW7S9tu8ddv0M+3iCjF1s42v8WAP0XffKi2eO'
|
|
503
|
+
b'Xfro9dMAYJ766SL1092jfDa17DfZgycHfvh7/hau1QB9161PhgE8epoNQlAHqprRIDo3iqoY'
|
|
504
|
+
b'DSpeOjv2zHRl7atfNj6LALltJys1Xc9+CmYtTxtmR8yO2D7kv4MMPr7x0KULK54/NThdA+S2'
|
|
505
|
+
b'XTs+jOYN86MsxqBGVRErKkEV6BHynp//2fXbw9lGDZBTWp+OK7PDzqIpYiyqSMxBFakUVYVS'
|
|
506
|
+
b'2dxrfHHrrz1crQG6lM6vTwZmR0UHhSoHsSBTKeoS9YU8yLrUXfj+w9d2IkBOzfkz05F5KkKk'
|
|
507
|
+
b'CkFERACEQil0TSOnJkMNV67fHNdVHI4GUcpZVFAUZAEExEibs4P5osMeROiadHoUiIEeCgFR'
|
|
508
|
+
b'EAoRBOMB2weNrkmbNz+9UiBCTs1yrVdHqhgIkRL0EOj7QGG5jrZ2D+XUbADEy9dunOpSun7x'
|
|
509
|
+
b'uXMe7xUPNrOd/WyeyKUIoRgOGS8xWWZ7b6FLaROgzim9iXd+vXvf7mHtoCnaXDRtkLpel3t9'
|
|
510
|
+
b'KdamUx+8fcbj7YWc0hZAndv25XffeGH8yfuvAoBcaHOROhS+vLlhecD+wUJu222AOrft/cdP'
|
|
511
|
+
b'Zr65ddfqsbHVyZLVlZHpysjx5aHRMBrV0XuX141qtnb25bb9F6Duu+7b23funb195955nMRJ'
|
|
512
|
+
b'nMAJTJeGg8HS0sBkZWx1suz3Px79iZ8A/gd7ijssEaZF9QAAAABJRU5ErkJggg==')
|
|
513
|
+
|
|
581
514
|
#----------------------------------------------------------------------
|
|
582
515
|
tag = PyEmbeddedImage(
|
|
583
516
|
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0'
|
mwx/nutshell.py
CHANGED
|
@@ -48,8 +48,8 @@ py_where_re = r'> +([^*?"<>|\r\n]+?):([0-9]+)'
|
|
|
48
48
|
py_break_re = r'at ([^*?"<>|\r\n]+?):([0-9]+)'
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
def skip(
|
|
52
|
-
|
|
51
|
+
def skip(evt):
|
|
52
|
+
evt.Skip()
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
def can_edit(f):
|
|
@@ -2214,8 +2214,8 @@ class Nautilus(Shell, EditorInterface):
|
|
|
2214
2214
|
|
|
2215
2215
|
C-up : [0] retrieve previous history
|
|
2216
2216
|
C-down : [0] retrieve next history
|
|
2217
|
-
C-j,
|
|
2218
|
-
C-h,
|
|
2217
|
+
C-j(J), M-j : [0] call tooltip of eval (for the word selected or focused)
|
|
2218
|
+
C-h(H), M-h : [0] call tooltip of help (for the func selected or focused)
|
|
2219
2219
|
TAB : [1] history-comp-mode
|
|
2220
2220
|
M-p : [1] retrieve previous history in comp-mode
|
|
2221
2221
|
M-n : [1] retrieve next history in comp-mode
|
|
@@ -2453,8 +2453,10 @@ class Nautilus(Shell, EditorInterface):
|
|
|
2453
2453
|
'S-insert pressed' : (0, _F(self.Paste)),
|
|
2454
2454
|
'C-S-insert pressed' : (0, _F(self.Paste, rectangle=1)),
|
|
2455
2455
|
'C-j pressed' : (0, self.eval_line),
|
|
2456
|
+
'M-j pressed' : (0, self.exec_region),
|
|
2456
2457
|
'C-S-j pressed' : (0, self.exec_region),
|
|
2457
2458
|
'C-h pressed' : (0, self.call_helpTip),
|
|
2459
|
+
'M-h pressed' : (0, self.call_helpTip2),
|
|
2458
2460
|
'C-S-h pressed' : (0, self.call_helpTip2),
|
|
2459
2461
|
'. pressed' : (2, self.OnEnterDot),
|
|
2460
2462
|
'tab pressed' : (1, self.call_history_comp),
|
|
@@ -2512,8 +2514,10 @@ class Nautilus(Shell, EditorInterface):
|
|
|
2512
2514
|
'*backspace released' : (2, self.call_word_autocomp),
|
|
2513
2515
|
'C-S-backspace pressed' : (2, ),
|
|
2514
2516
|
'C-j pressed' : (2, self.eval_line),
|
|
2517
|
+
'M-j pressed' : (2, self.exec_region),
|
|
2515
2518
|
'C-S-j pressed' : (2, self.exec_region),
|
|
2516
2519
|
'C-h pressed' : (2, self.call_helpTip),
|
|
2520
|
+
'M-h pressed' : (2, self.call_helpTip2),
|
|
2517
2521
|
'C-S-h pressed' : (2, self.call_helpTip2),
|
|
2518
2522
|
'*alt pressed' : (2, ),
|
|
2519
2523
|
'*ctrl pressed' : (2, ),
|
|
@@ -2543,8 +2547,10 @@ class Nautilus(Shell, EditorInterface):
|
|
|
2543
2547
|
'*backspace released' : (3, self.call_apropos_autocomp),
|
|
2544
2548
|
'C-S-backspace pressed' : (3, ),
|
|
2545
2549
|
'C-j pressed' : (3, self.eval_line),
|
|
2550
|
+
'M-j pressed' : (3, self.exec_region),
|
|
2546
2551
|
'C-S-j pressed' : (3, self.exec_region),
|
|
2547
2552
|
'C-h pressed' : (3, self.call_helpTip),
|
|
2553
|
+
'M-h pressed' : (3, self.call_helpTip2),
|
|
2548
2554
|
'C-S-h pressed' : (3, self.call_helpTip2),
|
|
2549
2555
|
'*alt pressed' : (3, ),
|
|
2550
2556
|
'*ctrl pressed' : (3, ),
|
|
@@ -2574,8 +2580,10 @@ class Nautilus(Shell, EditorInterface):
|
|
|
2574
2580
|
'*backspace released' : (4, self.call_text_autocomp),
|
|
2575
2581
|
'C-S-backspace pressed' : (4, ),
|
|
2576
2582
|
'C-j pressed' : (4, self.eval_line),
|
|
2583
|
+
'M-j pressed' : (4, self.exec_region),
|
|
2577
2584
|
'C-S-j pressed' : (4, self.exec_region),
|
|
2578
2585
|
'C-h pressed' : (4, self.call_helpTip),
|
|
2586
|
+
'M-h pressed' : (4, self.call_helpTip2),
|
|
2579
2587
|
'C-S-h pressed' : (4, self.call_helpTip2),
|
|
2580
2588
|
'*alt pressed' : (4, ),
|
|
2581
2589
|
'*ctrl pressed' : (4, ),
|
mwx/plugins/fft_view.py
CHANGED
|
@@ -40,7 +40,7 @@ class Plugin(Layer):
|
|
|
40
40
|
self.parent.define_key('C-S-f', None)
|
|
41
41
|
return Layer.Destroy(self)
|
|
42
42
|
|
|
43
|
-
def newfft(self
|
|
43
|
+
def newfft(self):
|
|
44
44
|
"""New FFT of graph to output."""
|
|
45
45
|
frame = self.graph.frame
|
|
46
46
|
if frame:
|
|
@@ -58,7 +58,7 @@ class Plugin(Layer):
|
|
|
58
58
|
localunit=u)
|
|
59
59
|
self.message("\b done")
|
|
60
60
|
|
|
61
|
-
def newifft(self
|
|
61
|
+
def newifft(self):
|
|
62
62
|
"""New inverse FFT of output to graph."""
|
|
63
63
|
frame = self.output.frame
|
|
64
64
|
if frame:
|
mwx/plugins/frame_listview.py
CHANGED
|
@@ -180,14 +180,14 @@ class CheckList(wx.ListCtrl, ListCtrlAutoWidthMixin, CtrlInterface):
|
|
|
180
180
|
self.Select(j)
|
|
181
181
|
|
|
182
182
|
def OnLoadItems(self, evt):
|
|
183
|
-
self.parent.parent.
|
|
183
|
+
self.parent.parent.load_index(view=self.Target)
|
|
184
184
|
|
|
185
185
|
def OnSaveItems(self, evt):
|
|
186
186
|
frames = self.Target.all_frames
|
|
187
187
|
selected_frames = [frames[j] for j in self.selected_items]
|
|
188
188
|
if selected_frames:
|
|
189
189
|
self.parent.message("Exporting {} frames.".format(len(selected_frames)))
|
|
190
|
-
self.parent.parent.
|
|
190
|
+
self.parent.parent.save_index(frames=selected_frames)
|
|
191
191
|
else:
|
|
192
192
|
self.parent.message("No frame selected.")
|
|
193
193
|
|
mwx/wxwit.py
CHANGED
|
@@ -157,19 +157,10 @@ class Inspector(it.InspectionTree, CtrlInterface):
|
|
|
157
157
|
self.SetFocus()
|
|
158
158
|
obj = self.target
|
|
159
159
|
Menu.Popup(self, [
|
|
160
|
-
(1, "&Dive into the shell", Icon('core'),
|
|
161
|
-
lambda v: dive(obj),
|
|
162
|
-
lambda v: v.Enable(obj is not None)),
|
|
163
|
-
|
|
164
|
-
(2, "&Watch the event", Icon('ghost'),
|
|
165
|
-
lambda v: watch(obj),
|
|
166
|
-
lambda v: v.Enable(obj is not None)),
|
|
167
|
-
|
|
168
|
-
(),
|
|
169
160
|
(8, "&Filling View", miniIcon('ShowFilling'),
|
|
170
161
|
lambda v: filling(obj),
|
|
171
162
|
lambda v: v.Enable(obj is not None)),
|
|
172
|
-
|
|
163
|
+
|
|
173
164
|
(10, "&Inspection Tool", Icon('inspect'),
|
|
174
165
|
lambda v: watchit(obj),
|
|
175
166
|
lambda v: v.Enable(obj is not None)),
|
|
@@ -180,6 +171,14 @@ class Inspector(it.InspectionTree, CtrlInterface):
|
|
|
180
171
|
|
|
181
172
|
(12, "Refresh\tf5", miniIcon('Refresh'),
|
|
182
173
|
lambda v: self.BuildTree(obj)),
|
|
174
|
+
(),
|
|
175
|
+
(2, "&Watch event", Icon('tv'),
|
|
176
|
+
lambda v: watch(obj),
|
|
177
|
+
lambda v: v.Enable(obj is not None)),
|
|
178
|
+
|
|
179
|
+
(1, "&Dive into {!r}".format(obj), Icon('core'),
|
|
180
|
+
lambda v: dive(obj),
|
|
181
|
+
lambda v: v.Enable(obj is not None)),
|
|
183
182
|
])
|
|
184
183
|
|
|
185
184
|
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
mwx/__init__.py,sha256=SNSLQc0IGuE6LDT5mzaAxXRgcH_k6cRVS3gXzFQqdZM,814
|
|
2
2
|
mwx/bookshelf.py,sha256=DAhMQk3_J4rdE50adBMFu5wNz3WdMh_zzJ37O9ncceo,5103
|
|
3
|
-
mwx/controls.py,sha256=
|
|
4
|
-
mwx/framework.py,sha256=
|
|
5
|
-
mwx/graphman.py,sha256=
|
|
6
|
-
mwx/images.py,sha256=
|
|
3
|
+
mwx/controls.py,sha256=mNSDNuIB6BPZxgd2lZXHBFQz7QaIBLy6bZSrD4dp0LI,48161
|
|
4
|
+
mwx/framework.py,sha256=ygT0sB2hCEDB4ObmJCBYka7pWJrGpINmJ3zqopyleWk,75669
|
|
5
|
+
mwx/graphman.py,sha256=OMO2HQGfeCCGON8MwabmhLYsA-YHKueKaepsJkTDP0c,70489
|
|
6
|
+
mwx/images.py,sha256=gyvqW4TLWdJMKmsaWiPiV_PuHJM1GbHgeELERLwGzg8,45291
|
|
7
7
|
mwx/matplot2.py,sha256=nA7RLW1tf5kQfrenFnrAF900DbrpOUldc3SGaJgJKi0,32794
|
|
8
8
|
mwx/matplot2g.py,sha256=faKpuBdp4H_g-HKfRdxV17AwHtXcfRi2F0myE3cjM04,65393
|
|
9
9
|
mwx/matplot2lg.py,sha256=gI_L_GofQrg5TIgZFMgYu8-7IRoe6VCRG3Ub35ChSpQ,27177
|
|
10
10
|
mwx/mgplt.py,sha256=ITzxA97yDwr_35BUk5OqnyskSuKVDbpf2AQCKY1jHTI,5671
|
|
11
|
-
mwx/nutshell.py,sha256=
|
|
11
|
+
mwx/nutshell.py,sha256=ENxoeqSfVaogh2dz43fk3MQaCePKyoz1YzucwiCojxI,137070
|
|
12
12
|
mwx/utilus.py,sha256=Uwj6vbNUUztwOswPG75xtsT2y_PZqh3QiJraxmA9iT0,37401
|
|
13
13
|
mwx/wxmon.py,sha256=6es-jVz9Ht7vZnG7VBJcaNYLHY0PnZtij60SXcZRTeY,12727
|
|
14
14
|
mwx/wxpdb.py,sha256=lLowkkAgMhPFHAfklD7wZHq0qbSMjRxnBFtSajmVgME,19133
|
|
15
15
|
mwx/wxwil.py,sha256=zP1-5Fpi1wpDQU977229zIH6QRuSkkyfuAlNKWjGoGg,5588
|
|
16
|
-
mwx/wxwit.py,sha256=
|
|
16
|
+
mwx/wxwit.py,sha256=yU6XeCCWRBP7CLmpphjT072PfXAL30DNaxoChDX2p0I,7322
|
|
17
17
|
mwx/plugins/__init__.py,sha256=jnJ-Sl9XJ_7BFDslD_r7dsbxsOT57q_IaEriV53XIGY,41
|
|
18
18
|
mwx/plugins/ffmpeg_view.py,sha256=vUYNybIJsF1JGkDzjBgDyBQvDh8e1oKHlEMY5Fwc8L4,9399
|
|
19
|
-
mwx/plugins/fft_view.py,sha256=
|
|
20
|
-
mwx/plugins/frame_listview.py,sha256=
|
|
19
|
+
mwx/plugins/fft_view.py,sha256=HcnBr-y_yFdSfASPRzMLANta4SwSDShd65QWnCU3XhM,2665
|
|
20
|
+
mwx/plugins/frame_listview.py,sha256=RaYOj-YKrpLqhT8TkBRDX1TQnSPv90V185j8OjrWJTs,10108
|
|
21
21
|
mwx/plugins/line_profile.py,sha256=--9NIc3x5EfRB3L59JvD7rzENQHyiYfu7wWJo6AuMkA,820
|
|
22
22
|
mwx/py/__init__.py,sha256=xykgfOytOwNuvXsfkLoumFZSTN-iBsHOjczYXngjmUE,12
|
|
23
23
|
mwx/py/filling.py,sha256=KaHooM32hrGGgqw75Cbt8lAvACwC6RXadob9LGgNnEc,16806
|
|
24
|
-
mwxlib-0.95.
|
|
25
|
-
mwxlib-0.95.
|
|
26
|
-
mwxlib-0.95.
|
|
27
|
-
mwxlib-0.95.
|
|
28
|
-
mwxlib-0.95.
|
|
24
|
+
mwxlib-0.95.5.dist-info/LICENSE,sha256=PGtRKCaTkmUDlBQwpptJAxJtdqxIUtAmdBsaT9nUVkA,1091
|
|
25
|
+
mwxlib-0.95.5.dist-info/METADATA,sha256=VSx9T74u5-4ID0njjolKRXbZSsbYe_UP8HQ9AzCfTQA,1925
|
|
26
|
+
mwxlib-0.95.5.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
27
|
+
mwxlib-0.95.5.dist-info/top_level.txt,sha256=SI1Mh118AstnUFGPNq5aMNKiAnVNmZk1S9Ij-OwAEpY,4
|
|
28
|
+
mwxlib-0.95.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|