mwxlib 1.4.6__py3-none-any.whl → 1.4.8__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 +46 -27
- mwx/framework.py +1 -1
- mwx/graphman.py +11 -14
- mwx/images.py +16 -0
- mwx/nutshell.py +11 -11
- {mwxlib-1.4.6.dist-info → mwxlib-1.4.8.dist-info}/METADATA +2 -2
- {mwxlib-1.4.6.dist-info → mwxlib-1.4.8.dist-info}/RECORD +9 -9
- {mwxlib-1.4.6.dist-info → mwxlib-1.4.8.dist-info}/WHEEL +1 -1
- {mwxlib-1.4.6.dist-info → mwxlib-1.4.8.dist-info}/top_level.txt +0 -0
mwx/controls.py
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"""mwxlib param controller and wx custom controls.
|
|
3
3
|
"""
|
|
4
4
|
from itertools import chain
|
|
5
|
+
import inspect
|
|
5
6
|
import wx
|
|
6
7
|
import wx.lib.platebtn as pb
|
|
7
8
|
import wx.lib.scrolledpanel as scrolled
|
|
@@ -68,7 +69,8 @@ class Param:
|
|
|
68
69
|
'overflow' : [],
|
|
69
70
|
'underflow' : [],
|
|
70
71
|
})
|
|
71
|
-
self._tooltip = _Tip(handler.__doc__,
|
|
72
|
+
self._tooltip = _Tip(handler.__doc__,
|
|
73
|
+
updater.__doc__)
|
|
72
74
|
|
|
73
75
|
def __str__(self, v=None):
|
|
74
76
|
if v is None:
|
|
@@ -293,7 +295,6 @@ class Knob(wx.Panel):
|
|
|
293
295
|
style : style of label
|
|
294
296
|
None -> static text (default)
|
|
295
297
|
button -> label with flat button
|
|
296
|
-
chkbox -> label with checkbox
|
|
297
298
|
checkbox -> label with checkbox
|
|
298
299
|
cw : width of control
|
|
299
300
|
lw : width of label
|
|
@@ -313,6 +314,15 @@ class Knob(wx.Panel):
|
|
|
313
314
|
self.update_range()
|
|
314
315
|
self.update_ctrl()
|
|
315
316
|
|
|
317
|
+
@property
|
|
318
|
+
def button(self):
|
|
319
|
+
if isinstance(self._label, pb.PlateButton):
|
|
320
|
+
return self._label
|
|
321
|
+
|
|
322
|
+
@property
|
|
323
|
+
def control(self):
|
|
324
|
+
return self._ctrl
|
|
325
|
+
|
|
316
326
|
def __init__(self, parent, param, type=None,
|
|
317
327
|
style=None, cw=-1, lw=-1, tw=-1, h=22, **kwargs):
|
|
318
328
|
wx.Panel.__init__(self, parent, **kwargs)
|
|
@@ -335,9 +345,11 @@ class Knob(wx.Panel):
|
|
|
335
345
|
label = self.__par.name + ' '
|
|
336
346
|
|
|
337
347
|
if style == 'chkbox' or style == 'checkbox':
|
|
348
|
+
## Keep margin for the checkbox: lw += 16
|
|
338
349
|
self._label = wx.CheckBox(self, label=label, size=(lw,-1))
|
|
339
350
|
self._label.Bind(wx.EVT_CHECKBOX, self.OnCheck)
|
|
340
351
|
elif style == 'button':
|
|
352
|
+
## Keep margin for the button: lw += 16
|
|
341
353
|
self._label = pb.PlateButton(self, label=label, size=(lw,-1),
|
|
342
354
|
style=pb.PB_STYLE_DEFAULT|pb.PB_STYLE_SQUARE)
|
|
343
355
|
self._label.Bind(wx.EVT_BUTTON, self.OnPress)
|
|
@@ -668,17 +680,18 @@ class KnobCtrlPanel(scrolled.ScrolledPanel):
|
|
|
668
680
|
|
|
669
681
|
self.Sizer.Add(sizer, expand>1, p | wx.ALL, border)
|
|
670
682
|
|
|
671
|
-
## Register
|
|
672
|
-
def _flatiter(
|
|
673
|
-
for c in
|
|
683
|
+
## Register objects and parameter groups
|
|
684
|
+
def _flatiter(objects):
|
|
685
|
+
for c in objects:
|
|
674
686
|
if isinstance(c, tuple):
|
|
675
687
|
yield from _flatiter(c)
|
|
676
688
|
elif isinstance(c, wx.Object):
|
|
677
689
|
yield c
|
|
678
690
|
self.__groups.append(list(_flatiter(objs)))
|
|
679
691
|
|
|
680
|
-
|
|
681
|
-
|
|
692
|
+
## Parameters : Knob.param or widgets that have a `value`.
|
|
693
|
+
def _variter(objects):
|
|
694
|
+
for c in objects:
|
|
682
695
|
if isinstance(c, Knob):
|
|
683
696
|
yield c.param
|
|
684
697
|
elif hasattr(c, 'value'):
|
|
@@ -689,6 +702,8 @@ class KnobCtrlPanel(scrolled.ScrolledPanel):
|
|
|
689
702
|
self.show(-1, visible)
|
|
690
703
|
self.fold(-1, not show)
|
|
691
704
|
self.Sizer.Fit(self)
|
|
705
|
+
|
|
706
|
+
return self.__groups[-1]
|
|
692
707
|
|
|
693
708
|
## --------------------------------
|
|
694
709
|
## 外部入出力/クリップボード通信
|
|
@@ -860,8 +875,8 @@ class Icon(wx.Bitmap):
|
|
|
860
875
|
'!!!' : wx.ART_ERROR,
|
|
861
876
|
'+' : wx.ART_PLUS,
|
|
862
877
|
'-' : wx.ART_MINUS,
|
|
863
|
-
'x' : wx.ART_DELETE,
|
|
864
|
-
't' : wx.ART_TICK_MARK,
|
|
878
|
+
## 'x' : wx.ART_DELETE,
|
|
879
|
+
## 't' : wx.ART_TICK_MARK,
|
|
865
880
|
'~' : wx.ART_GO_HOME,
|
|
866
881
|
'undo' : wx.ART_UNDO,
|
|
867
882
|
'redo' : wx.ART_REDO,
|
|
@@ -901,18 +916,17 @@ class Icon(wx.Bitmap):
|
|
|
901
916
|
except Exception:
|
|
902
917
|
art = Icon.provided_arts.get(key)
|
|
903
918
|
bmp = wx.ArtProvider.GetBitmap(art or key, wx.ART_OTHER, size)
|
|
919
|
+
## Note: The result could be a zero-shaped bitmap.
|
|
904
920
|
return bmp
|
|
905
|
-
|
|
906
|
-
## Note: null (0-shaped) bitmap fails with AssertionError from 4.1.1
|
|
907
921
|
elif key == '':
|
|
922
|
+
## Note: A zero-shaped bitmap fails with AssertionError since 4.1.1
|
|
908
923
|
bmp = wx.Bitmap(size)
|
|
909
924
|
with wx.MemoryDC(bmp) as dc:
|
|
910
925
|
dc.SetBackground(wx.Brush('black'))
|
|
911
926
|
dc.Clear()
|
|
912
927
|
bmp.SetMaskColour('black') # return dummy-sized blank bitmap
|
|
913
928
|
return bmp
|
|
914
|
-
|
|
915
|
-
return wx.NullBitmap # The standard wx controls accept this,
|
|
929
|
+
return wx.NullBitmap # The standard wx controls accept this.
|
|
916
930
|
|
|
917
931
|
@staticmethod
|
|
918
932
|
def _getBitmap2(back, fore, size=None, subsize=3/4):
|
|
@@ -922,6 +936,8 @@ class Icon(wx.Bitmap):
|
|
|
922
936
|
subsize = wx.Size(size) * subsize
|
|
923
937
|
back = Icon._getBitmap1(back, size)
|
|
924
938
|
fore = Icon._getBitmap1(fore, subsize)
|
|
939
|
+
if back.Size == (0, 0) or fore.Size == (0, 0):
|
|
940
|
+
return back
|
|
925
941
|
x = size[0] - subsize[0]
|
|
926
942
|
y = size[1] - subsize[1]
|
|
927
943
|
with wx.MemoryDC(back) as dc:
|
|
@@ -975,8 +991,7 @@ class ClassicButton(wx.Button):
|
|
|
975
991
|
|
|
976
992
|
if handler:
|
|
977
993
|
self.Bind(wx.EVT_BUTTON, _F(handler))
|
|
978
|
-
|
|
979
|
-
self.SetToolTip(_Tip(handler.__doc__))
|
|
994
|
+
self.SetToolTip(_Tip(handler.__doc__))
|
|
980
995
|
if icon:
|
|
981
996
|
self.SetBitmap(Icon(icon))
|
|
982
997
|
|
|
@@ -996,8 +1011,7 @@ class Button(pb.PlateButton):
|
|
|
996
1011
|
|
|
997
1012
|
if handler:
|
|
998
1013
|
self.Bind(wx.EVT_BUTTON, _F(handler))
|
|
999
|
-
|
|
1000
|
-
self.SetToolTip(_Tip(handler.__doc__))
|
|
1014
|
+
self.SetToolTip(_Tip(handler.__doc__))
|
|
1001
1015
|
if icon:
|
|
1002
1016
|
self.SetBitmap(Icon(icon))
|
|
1003
1017
|
|
|
@@ -1029,8 +1043,7 @@ class ToggleButton(wx.ToggleButton):
|
|
|
1029
1043
|
|
|
1030
1044
|
if handler:
|
|
1031
1045
|
self.Bind(wx.EVT_TOGGLEBUTTON, _F(handler))
|
|
1032
|
-
|
|
1033
|
-
self.SetToolTip(_Tip(handler.__doc__))
|
|
1046
|
+
self.SetToolTip(_Tip(handler.__doc__))
|
|
1034
1047
|
if icon:
|
|
1035
1048
|
try:
|
|
1036
1049
|
self.SetBitmap(Icon(icon[0]))
|
|
@@ -1058,19 +1071,20 @@ class TextBox(wx.Control):
|
|
|
1058
1071
|
|
|
1059
1072
|
value = Value #: internal use only
|
|
1060
1073
|
|
|
1074
|
+
button = property(lambda self: self._btn)
|
|
1075
|
+
control = property(lambda self: self._ctrl)
|
|
1076
|
+
|
|
1061
1077
|
def __init__(self, parent, label='', handler=None, updater=None,
|
|
1062
1078
|
icon=None, readonly=False, size=(-1,-1), **kwargs):
|
|
1063
1079
|
wx.Control.__init__(self, parent, size=size, style=wx.BORDER_NONE)
|
|
1064
1080
|
|
|
1065
1081
|
kwargs['style'] = (kwargs.get('style', 0)
|
|
1066
|
-
|
|
1067
|
-
|
|
1082
|
+
| wx.TE_PROCESS_ENTER
|
|
1083
|
+
| (wx.TE_READONLY if readonly else 0))
|
|
1068
1084
|
|
|
1069
1085
|
self._ctrl = wx.TextCtrl(self, **kwargs)
|
|
1070
1086
|
self._btn = Button(self, label, None, icon,
|
|
1071
1087
|
size=(-1,-1) if label or icon else (0,0))
|
|
1072
|
-
self._ctrl.SetToolTip(_Tip(handler.__doc__))
|
|
1073
|
-
self._btn.SetToolTip(_Tip(updater.__doc__))
|
|
1074
1088
|
|
|
1075
1089
|
self.SetSizer(
|
|
1076
1090
|
pack(self, (
|
|
@@ -1081,9 +1095,11 @@ class TextBox(wx.Control):
|
|
|
1081
1095
|
if handler:
|
|
1082
1096
|
self._handler = _F(handler)
|
|
1083
1097
|
self._ctrl.Bind(wx.EVT_TEXT_ENTER, lambda v: self._handler(self))
|
|
1098
|
+
self._ctrl.SetToolTip(_Tip(handler.__doc__))
|
|
1084
1099
|
if updater:
|
|
1085
1100
|
self._updater = _F(updater)
|
|
1086
1101
|
self._btn.Bind(wx.EVT_BUTTON, lambda v: self._updater(self))
|
|
1102
|
+
self._btn.SetToolTip(_Tip(updater.__doc__))
|
|
1087
1103
|
|
|
1088
1104
|
self.Bind(wx.EVT_NAVIGATION_KEY, self.OnNavKey)
|
|
1089
1105
|
|
|
@@ -1134,19 +1150,20 @@ class Choice(wx.Control):
|
|
|
1134
1150
|
lambda self,v: self._ctrl.SetItems(v),
|
|
1135
1151
|
doc="combobox items:list")
|
|
1136
1152
|
|
|
1153
|
+
button = property(lambda self: self._btn)
|
|
1154
|
+
control = property(lambda self: self._ctrl)
|
|
1155
|
+
|
|
1137
1156
|
def __init__(self, parent, label='', handler=None, updater=None,
|
|
1138
1157
|
icon=None, readonly=False, size=(-1,-1), **kwargs):
|
|
1139
1158
|
wx.Control.__init__(self, parent, size=size, style=wx.BORDER_NONE)
|
|
1140
1159
|
|
|
1141
1160
|
kwargs['style'] = (kwargs.get('style', 0)
|
|
1142
|
-
|
|
1143
|
-
|
|
1161
|
+
| wx.TE_PROCESS_ENTER
|
|
1162
|
+
| (wx.CB_READONLY if readonly else 0))
|
|
1144
1163
|
|
|
1145
1164
|
self._ctrl = wx.ComboBox(self, **kwargs)
|
|
1146
1165
|
self._btn = Button(self, label, None, icon,
|
|
1147
1166
|
size=(-1,-1) if label or icon else (0,0))
|
|
1148
|
-
self._ctrl.SetToolTip(_Tip(handler.__doc__))
|
|
1149
|
-
self._btn.SetToolTip(_Tip(updater.__doc__))
|
|
1150
1167
|
|
|
1151
1168
|
self.SetSizer(
|
|
1152
1169
|
pack(self, (
|
|
@@ -1158,10 +1175,12 @@ class Choice(wx.Control):
|
|
|
1158
1175
|
self._handler = _F(handler)
|
|
1159
1176
|
self._ctrl.Bind(wx.EVT_TEXT_ENTER, lambda v: self._handler(self))
|
|
1160
1177
|
self._ctrl.Bind(wx.EVT_COMBOBOX, lambda v: self._handler(self))
|
|
1178
|
+
self._ctrl.SetToolTip(_Tip(handler.__doc__))
|
|
1161
1179
|
self._ctrl.Bind(wx.EVT_TEXT_ENTER, self.OnTextEnter)
|
|
1162
1180
|
if updater:
|
|
1163
1181
|
self._updater = _F(updater)
|
|
1164
1182
|
self._btn.Bind(wx.EVT_BUTTON, lambda v: self._updater(self))
|
|
1183
|
+
self._btn.SetToolTip(_Tip(updater.__doc__))
|
|
1165
1184
|
|
|
1166
1185
|
self.Bind(wx.EVT_NAVIGATION_KEY, self.OnNavKey)
|
|
1167
1186
|
|
mwx/framework.py
CHANGED
mwx/graphman.py
CHANGED
|
@@ -381,10 +381,10 @@ class LayerInterface(CtrlInterface):
|
|
|
381
381
|
lambda v: reset_params(v, checked_only=wx.GetKeyState(wx.WXK_SHIFT)),
|
|
382
382
|
lambda v: v.Enable(bool(self.parameters))),
|
|
383
383
|
(),
|
|
384
|
-
(wx.ID_EDIT, "&Edit module", "Edit module", Icon('pen'),
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
384
|
+
## (wx.ID_EDIT, "&Edit module", "Edit module", Icon('pen'),
|
|
385
|
+
## lambda v: self.parent.edit_plug(self.__module__),
|
|
386
|
+
## lambda v: v.Enable(self.editable)),
|
|
387
|
+
##
|
|
388
388
|
(mwx.ID_(201), "&Reload module", "Reload module", Icon('load'),
|
|
389
389
|
lambda v: self.parent.reload_plug(self.__module__),
|
|
390
390
|
lambda v: v.Enable(self.reloadable
|
|
@@ -843,9 +843,6 @@ class Frame(mwx.Frame):
|
|
|
843
843
|
|
|
844
844
|
## Accepts DnD
|
|
845
845
|
self.SetDropTarget(MyFileDropLoader(self.graph, self))
|
|
846
|
-
|
|
847
|
-
## Script editor for plugins (external call)
|
|
848
|
-
EDITOR = "notepad"
|
|
849
846
|
|
|
850
847
|
SYNC_SWITCH = True
|
|
851
848
|
|
|
@@ -1339,13 +1336,13 @@ class Frame(mwx.Frame):
|
|
|
1339
1336
|
if shell.target is plug:
|
|
1340
1337
|
shell.handler('shell_activated', shell)
|
|
1341
1338
|
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1339
|
+
## Script editor for plugins (external call)
|
|
1340
|
+
## EDITOR = "notepad"
|
|
1341
|
+
##
|
|
1342
|
+
## @ignore(ResourceWarning)
|
|
1343
|
+
## def edit_plug(self, name):
|
|
1344
|
+
## plug = self.get_plug(name)
|
|
1345
|
+
## Popen([self.EDITOR, inspect.getmodule(plug).__file__])
|
|
1349
1346
|
|
|
1350
1347
|
def inspect_plug(self, name):
|
|
1351
1348
|
"""Dive into the process to inspect plugs in the shell.
|
mwx/images.py
CHANGED
|
@@ -652,6 +652,22 @@ w = PyEmbeddedImage(
|
|
|
652
652
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWfIwBngDGCYAAAAASUVO'
|
|
653
653
|
b'RK5CYII=')
|
|
654
654
|
|
|
655
|
+
#----------------------------------------------------------------------
|
|
656
|
+
x = PyEmbeddedImage(
|
|
657
|
+
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0'
|
|
658
|
+
b'RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIhSURBVDjLlZPrThNRFIWJicmJ'
|
|
659
|
+
b'z6BWiYbIkYDEG0JbBiitDQgm0PuFXqSAtKXtpE2hNuoPTXwSnwtExd6w0pl2OtPlrphKLSXh'
|
|
660
|
+
b'x07OZM769qy19wwAGLhM1ddC184+d18QMzoq3lfsD3LZ7Y3XbE5DL6Atzuyilc5Ciyd7IHVf'
|
|
661
|
+
b'gNcDYTQ2tvDr5crn6uLSvX+Av2Lk36FFpSVENDe3OxDZu8apO5rROJDLo30+Nlvj5RnTlVNA'
|
|
662
|
+
b'Ks1aCVFr7b4BPn6Cls21AWgEQlz2+Dl1h7IdA+i97A/geP65WhbmrnZZ0GIJpr6OqZqYAd5/'
|
|
663
|
+
b'gJpKox4Mg7pD2YoC2b0/54rJQuJZdm6Izcgma4TW1WZ0h+y8BfbyJMwBmSxkjw+VObNanp5h'
|
|
664
|
+
b'/adwGhaTXF4NWbLj9gEONyCmUZmd10pGgf1/vwcgOT3tUQE0DdicwIod2EmSbwsKE1P8QoDk'
|
|
665
|
+
b'cHPJ5YESjgBJkYQpIEZ2KEB51Y6y3ojvY+P8XEDN7uKS0w0ltA7QGCWHCxSWWpwyaCeLy0Bk'
|
|
666
|
+
b'A7UXyyg8fIzDoWHeBaDN4tQdSvAVdU1Aok+nsNTipIEVnkywo/FHatVkBoIhnFisOBoZxcGt'
|
|
667
|
+
b'Qd4B0GYJNZsDSiAEadUBCkstPtN3Avs2Msa+Dt9XfxoFSNYF/Bh9gP0bOqHLAm2WUF1YQskw'
|
|
668
|
+
b'rVFYPWkf3h1iXwbvqGfFPSGW9Eah8HSS9fuZDnS32f71m8KFY7xs/QZyu6TH2+2+FAAAAABJ'
|
|
669
|
+
b'RU5ErkJggg==')
|
|
670
|
+
|
|
655
671
|
#----------------------------------------------------------------------
|
|
656
672
|
xo = PyEmbeddedImage(
|
|
657
673
|
b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAADAFBMVEWywNxcVlwcHhwUEhQE'
|
mwx/nutshell.py
CHANGED
|
@@ -912,15 +912,15 @@ class EditorInterface(AutoCompInterfaceMixin, CtrlInterface):
|
|
|
912
912
|
def expr_at_caret(self):
|
|
913
913
|
"""A syntax unit (expression) at the caret-line."""
|
|
914
914
|
p = q = self.cpos
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
if
|
|
915
|
+
lst = self.get_style(p-1)
|
|
916
|
+
rst = self.get_style(p)
|
|
917
|
+
if lst == rst == 'moji': # inside string
|
|
918
918
|
## styles = {'moji'}
|
|
919
919
|
return ''
|
|
920
|
-
elif
|
|
920
|
+
elif lst == 'suji' or rst == 'suji':
|
|
921
921
|
styles = {'suji'}
|
|
922
|
-
elif
|
|
923
|
-
or
|
|
922
|
+
elif lst in ('word', 'dot', 'moji', 'rparen')\
|
|
923
|
+
or rst in ('word', 'dot', 'moji', 'lparen'):
|
|
924
924
|
styles = {'word', 'dot', 'moji', 'paren'}
|
|
925
925
|
else:
|
|
926
926
|
return ''
|
|
@@ -1998,9 +1998,9 @@ class Buffer(EditorInterface, EditWindow):
|
|
|
1998
1998
|
|
|
1999
1999
|
def OnEnterDot(self, evt):
|
|
2000
2000
|
p = self.cpos
|
|
2001
|
-
|
|
2001
|
+
lst = self.get_style(p-1)
|
|
2002
2002
|
rst = self.get_style(p)
|
|
2003
|
-
if
|
|
2003
|
+
if lst not in ('moji', 'word', 'rparen') or rst == 'word':
|
|
2004
2004
|
self.handler('quit', evt) # don't enter autocomp
|
|
2005
2005
|
evt.Skip()
|
|
2006
2006
|
|
|
@@ -3119,13 +3119,13 @@ class Nautilus(EditorInterface, Shell):
|
|
|
3119
3119
|
self.handler('quit', evt)
|
|
3120
3120
|
return
|
|
3121
3121
|
p = self.cpos
|
|
3122
|
-
|
|
3122
|
+
lst = self.get_style(p-1)
|
|
3123
3123
|
rst = self.get_style(p)
|
|
3124
3124
|
if p == self.bolc:
|
|
3125
3125
|
self.ReplaceSelection('self') # replace [.] --> [self.]
|
|
3126
|
-
elif
|
|
3126
|
+
elif lst in ('space', 'sep', 'lparen'):
|
|
3127
3127
|
self.ReplaceSelection('self')
|
|
3128
|
-
elif
|
|
3128
|
+
elif lst not in ('moji', 'word', 'rparen') or rst == 'word':
|
|
3129
3129
|
self.handler('quit', evt) # don't enter autocomp
|
|
3130
3130
|
evt.Skip()
|
|
3131
3131
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
mwx/__init__.py,sha256=pS7ZG8QKRypiFFiaWAq_opBB6I_1viZ0zUMk2TbjzE0,667
|
|
2
2
|
mwx/bookshelf.py,sha256=MXjrm_ryRGHvOFKu8wb10qz_oka70xW2yFbYjBMYfns,8140
|
|
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=_YYcSn2X4sgWOfHiOtBoPCMWtr9ZCfd5QM0O84cPtio,49421
|
|
4
|
+
mwx/framework.py,sha256=Qxxi5ximgB4l-I2cWTMTKYFRD0j-uXKP0M5FVj3-_W8,76830
|
|
5
|
+
mwx/graphman.py,sha256=anyTeJUTuqL1JnPdw7eJA5spbZQiCxBDCkd8GuUX8eI,70601
|
|
6
|
+
mwx/images.py,sha256=Kkfy9QI_hMtwShSjUS4-ZpC_EkVuah_XhpBOR4wAKkM,49792
|
|
7
7
|
mwx/matplot2.py,sha256=Htwegq6N5G7oKSRCuajik5Dixd93i8PKVbkL7Azy99M,33150
|
|
8
8
|
mwx/matplot2g.py,sha256=4BBHlvfhg1796hu1nTCsTA82YRkZhwUnfcHCBf5ZGO8,65083
|
|
9
9
|
mwx/matplot2lg.py,sha256=cb0EZXivccDQu4oFj5ddSUF9pEE4f5UuFJJK2ELItww,27404
|
|
10
10
|
mwx/mgplt.py,sha256=8mXbHpCmm7lz3XbAxOg7IVC7DaSGBEby1UfTlMl9kjk,5604
|
|
11
|
-
mwx/nutshell.py,sha256=
|
|
11
|
+
mwx/nutshell.py,sha256=_qUA89Xu7PZKbDO5XjMSfXfwj9MiNOGJjWi-pdrfYAA,141900
|
|
12
12
|
mwx/testsuite.py,sha256=Zk75onPSEn2tf0swS3l-vIn6yTXGB7allIyvJsPHj20,1229
|
|
13
13
|
mwx/utilus.py,sha256=ObXYWsDVn5DmjvwVQgP2HGAhrdxlDrwL7g9pMCDbU7U,38127
|
|
14
14
|
mwx/wxmon.py,sha256=yzWqrbY6LzpfRwQeytYUeqFhFuLVm_XEvrVAL_k0HBQ,12756
|
|
@@ -22,7 +22,7 @@ mwx/plugins/frame_listview.py,sha256=gowjQ-ARNonMkDSXkQgPKq4U9YBJ-vQ0jK2krBVOdCs
|
|
|
22
22
|
mwx/plugins/line_profile.py,sha256=zzm6_7lnAnNepLbh07ordp3nRWDFQJtu719ZVjrVf8s,819
|
|
23
23
|
mwx/py/__init__.py,sha256=xykgfOytOwNuvXsfkLoumFZSTN-iBsHOjczYXngjmUE,12
|
|
24
24
|
mwx/py/filling.py,sha256=fumUG1F5M9TL-Dfqni4G85uk7TmvnUunTbdcPDV0vfo,16857
|
|
25
|
-
mwxlib-1.4.
|
|
26
|
-
mwxlib-1.4.
|
|
27
|
-
mwxlib-1.4.
|
|
28
|
-
mwxlib-1.4.
|
|
25
|
+
mwxlib-1.4.8.dist-info/METADATA,sha256=6dosmSNJ_AVOVaurY8hLbmyxKhMIiCn7rzWdbQmP0zU,7433
|
|
26
|
+
mwxlib-1.4.8.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
27
|
+
mwxlib-1.4.8.dist-info/top_level.txt,sha256=SI1Mh118AstnUFGPNq5aMNKiAnVNmZk1S9Ij-OwAEpY,4
|
|
28
|
+
mwxlib-1.4.8.dist-info/RECORD,,
|
|
File without changes
|