Skip to content

Commit

Permalink
Merge pull request #2444 from meerk40t/inspection-fixes
Browse files Browse the repository at this point in the history
Inspection fixes #2
  • Loading branch information
jpirnay committed Feb 1, 2024
2 parents bb889c4 + 9b42b00 commit fb89ee8
Show file tree
Hide file tree
Showing 5 changed files with 91 additions and 108 deletions.
89 changes: 46 additions & 43 deletions meerk40t/device/gui/defaultactions.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,10 @@ def __init__(self, *args, context=None, **kwds):
self.button_add_prepend = wx.Button(self, wx.ID_ANY, _("Add to Job Start"))
self.button_add_append = wx.Button(self, wx.ID_ANY, _("Add to Job End"))

self.prepend_list = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_LIST)
self.prepend_list = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_LIST|wx.LC_SINGLE_SEL)
self.text_param_prepend = wx.TextCtrl(self, wx.ID_ANY)

self.append_list = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_LIST)
self.append_list = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_LIST|wx.LC_SINGLE_SEL)
self.text_param_append = wx.TextCtrl(self, wx.ID_ANY)
self.button_del_prepend = wx.StaticBitmap(self, wx.ID_ANY, size=iconsize)
self.button_up_prepend = wx.StaticBitmap(self, wx.ID_ANY, size=iconsize)
Expand Down Expand Up @@ -260,16 +260,11 @@ def on_text_append(self, event):

def prepend_move_up(self, event):
idx2 = self.prepend_list.GetFirstSelected()
if idx2 > len(self.prepend_ops):
idx1 = -1
idx1 = idx2 - 1
if (
idx1 < 0
or idx2 < 0
or idx1 >= len(self.prepend_ops)
or idx2 >= len(self.prepend_ops)
):
# Either invalid or the first, so can't be moved up
if idx2 <= 0 or idx2 >= len(self.prepend_ops):
return
# Previous Element
idx1 = idx2 - 1
swap = self.prepend_ops[idx1][0]
self.prepend_ops[idx1][0] = self.prepend_ops[idx2][0]
self.prepend_ops[idx2][0] = swap
Expand All @@ -285,16 +280,11 @@ def prepend_move_up(self, event):

def prepend_move_down(self, event):
idx2 = self.prepend_list.GetFirstSelected()
if idx2 > len(self.prepend_ops):
idx1 = -1
idx1 = idx2 + 1
if (
idx1 < 0
or idx2 < 0
or idx1 >= len(self.prepend_ops)
or idx2 >= len(self.prepend_ops)
):
# Either invalid or the last, so can't be moved down
if idx2 < 0 or idx2 >= len(self.prepend_ops) - 1:
return
# Next element
idx1 = idx2 + 1
swap = self.prepend_ops[idx1][0]
self.prepend_ops[idx1][0] = self.prepend_ops[idx2][0]
self.prepend_ops[idx2][0] = swap
Expand All @@ -310,16 +300,11 @@ def prepend_move_down(self, event):

def append_move_up(self, event):
idx2 = self.append_list.GetFirstSelected()
if idx2 > len(self.append_ops):
idx1 = -1
idx1 = idx2 - 1
if (
idx1 < 0
or idx2 < 0
or idx1 >= len(self.append_ops)
or idx2 >= len(self.append_ops)
):
# Either invalid or the first, so can't be moved up
if idx2 <= 0 or idx2 >= len(self.append_ops):
return
# Previous Element
idx1 = idx2 - 1
swap = self.append_ops[idx1][0]
self.append_ops[idx1][0] = self.append_ops[idx2][0]
self.append_ops[idx2][0] = swap
Expand All @@ -335,8 +320,10 @@ def append_move_up(self, event):

def append_move_down(self, event):
idx2 = self.append_list.GetFirstSelected()
if idx2 > len(self.append_ops):
idx1 = -1
# Either invalid or the last, so can't be moved down
if idx2 < 0 or idx2 >= len(self.append_ops) - 1:
return
# Next element
idx1 = idx2 + 1
if (
idx1 < 0
Expand Down Expand Up @@ -396,24 +383,40 @@ def append_single_click(self, event):

### Routines for addition of new entries
def add_prepend_option(self, event):
idx = self.option_list.GetFirstSelected()
if idx < 0 or idx >= len(self.standards):
ct = self.option_list.GetSelectedItemCount()
if ct <= 0:
return
operation = self.standards[idx][1]
content = self.text_param_option.GetValue()
entry = [operation, content]
self.prepend_ops.append(entry)
idx = self.option_list.GetFirstSelected()
while 0 <= idx < len(self.standards):
operation = self.standards[idx][1]
if ct == 1:
# Only one, so we take the displayed and potentially changed parameter
content = self.text_param_option.GetValue()
else:
# More than one, so we take the default as parameter
content = self.standards[idx][2]
entry = [operation, content]
self.prepend_ops.append(entry)
idx = self.option_list.GetNextSelected(idx)
self.save_data()
self.fill_prepend_list()

def add_append_option(self, event):
idx = self.option_list.GetFirstSelected()
if idx < 0 or idx >= len(self.standards):
ct = self.option_list.GetSelectedItemCount()
if ct <= 0:
return
operation = self.standards[idx][1]
content = self.text_param_option.GetValue()
entry = [operation, content]
self.append_ops.append(entry)
idx = self.option_list.GetFirstSelected()
while 0 <= idx < len(self.standards):
operation = self.standards[idx][1]
if ct == 1:
# Only one, so we take the displayed and potentially changed parameter
content = self.text_param_option.GetValue()
else:
# More than one, so we take the default as parameter
content = self.standards[idx][2]
entry = [operation, content]
self.append_ops.append(entry)
idx = self.option_list.GetNextSelected(idx)
self.save_data()
self.fill_append_list()

Expand Down
21 changes: 0 additions & 21 deletions meerk40t/extra/hershey.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,13 +166,6 @@ def get_font_information(self, full_file_name):
return None

def _get_full_info(self, short):
if not isinstance(short, str):
# That's strange...
# print(f"gfi, Short is a {type(short).__name__}: {short}")
if isinstance(short, (list, tuple)):
short = short[0]
else:
return None
s_lower = short.lower()
p = self.available_fonts()
for info in p:
Expand All @@ -189,13 +182,6 @@ def is_system_font(self, short):
return True

def face_to_full_name(self, short):
if not isinstance(short, str):
# That's strange...
# print(f"f2f, Short is a {type(short).__name__}: {short}")
if isinstance(short, (list, tuple)):
short = short[0]
else:
return None
s_lower = short.lower()
p = self.available_fonts()
for info in p:
Expand All @@ -213,13 +199,6 @@ def full_name(self, short):
return None

def short_name(self, fullname):
if not isinstance(fullname, str):
# That's strange...
# print(f"2n, fullname is a {type(fullname).__name__}: {fullname}")
if isinstance(fullname, (list, tuple)):
short = fullname[0]
else:
return None
return basename(fullname)

@lru_cache(maxsize=128)
Expand Down
1 change: 0 additions & 1 deletion meerk40t/gui/hersheymanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,6 @@ def getbitmap(geom, icon_size, as_stroke=False):
self.list_glyphs.SetItem(item, 3, str(e))
okay = False
# path contains now the geometry...
okay = True
if okay:
geo = path.geometry
# print (f"Length {geo.index} after rendering: {ord(c)} / '{hexa}'")
Expand Down
86 changes: 44 additions & 42 deletions meerk40t/gui/wxmtree.py
Original file line number Diff line number Diff line change
Expand Up @@ -1090,44 +1090,46 @@ def set_expanded(self, node, level):
if not result:
self.was_already_expanded.append(chk)

def parse_tree(self, startnode, level):
if startnode is None:
return
cookie = 0
try:
pnode, cookie = self.wxtree.GetFirstChild(startnode)
except:
return
while pnode.IsOk():
txt = self.wxtree.GetItemText(pnode)
# That is not working as advertised...
state = self.wxtree.IsExpanded(pnode)
state = False # otherwise every thing gets expanded...
if state:
self.was_already_expanded.append(f"{level}-{txt}")
self.parse_tree(pnode, level + 1)
pnode, cookie = self.wxtree.GetNextChild(startnode, cookie)

def restore_tree(self, startnode, level):
if startnode is None:
return
cookie = 0
try:
pnode, cookie = self.wxtree.GetFirstChild(startnode)
except:
return
while pnode.IsOk():
txt = self.wxtree.GetItemText(pnode)
chk = f"{level}-{txt}"
for elem in self.was_already_expanded:
if chk == elem:
self.wxtree.ExpandAllChildren(pnode)
break
self.parse_tree(pnode, level + 1)
pnode, cookie = self.wxtree.GetNextChild(startnode, cookie)

def reset_expanded(self):
self.was_already_expanded = []
# These routines were supposed to save and restore the expanded state of the tree
# But that did not work out as intended....
#
# def parse_tree(self, startnode, level):
# if startnode is None:
# return
# cookie = 0
# try:
# pnode, cookie = self.wxtree.GetFirstChild(startnode)
# except:
# return
# while pnode.IsOk():
# txt = self.wxtree.GetItemText(pnode)
# # That is not working as advertised...
# state = self.wxtree.IsExpanded(pnode)
# if state:
# self.was_already_expanded.append(f"{level}-{txt}")
# self.parse_tree(pnode, level + 1)
# pnode, cookie = self.wxtree.GetNextChild(startnode, cookie)

# def restore_tree(self, startnode, level):
# if startnode is None:
# return
# cookie = 0
# try:
# pnode, cookie = self.wxtree.GetFirstChild(startnode)
# except:
# return
# while pnode.IsOk():
# txt = self.wxtree.GetItemText(pnode)
# chk = f"{level}-{txt}"
# for elem in self.was_already_expanded:
# if chk == elem:
# self.wxtree.ExpandAllChildren(pnode)
# break
# self.parse_tree(pnode, level + 1)
# pnode, cookie = self.wxtree.GetNextChild(startnode, cookie)
#
# def reset_expanded(self):
# self.was_already_expanded = []

def rebuild_tree(self, source):
"""
Expand All @@ -1139,16 +1141,16 @@ def rebuild_tree(self, source):
# let's try to remember which branches were expanded:
self.context.elements.set_start_time("rebuild_tree")
self.freeze_tree(True)
#
self.reset_expanded()

# self.reset_expanded()

# Safety net - if we have too many elements it will
# take too long to create all preview icons...
count = self.elements.count_elems() + self.elements.count_op()
self._too_big = bool(count > 1000)
# print(f"Was too big?! {count} -> {self._too_big}")

self.parse_tree(self.wxtree.GetRootItem(), 0)
# self.parse_tree(self.wxtree.GetRootItem(), 0)
# Rebuild tree destroys the emphasis, so let's store it...
emphasized_list = list(self.elements.elems(emphasized=True))
elemtree = self.elements._tree
Expand Down Expand Up @@ -1221,7 +1223,7 @@ def rebuild_tree(self, source):
# Restore emphasis
for e in emphasized_list:
e.emphasized = True
self.restore_tree(self.wxtree.GetRootItem(), 0)
# self.restore_tree(self.wxtree.GetRootItem(), 0)
self.freeze_tree(False)
self.context.elements.set_end_time("rebuild_tree", display=True)
# print(f"Rebuild done for {source}")
Expand Down
2 changes: 1 addition & 1 deletion meerk40t/tools/geomstr.py
Original file line number Diff line number Diff line change
Expand Up @@ -2530,7 +2530,7 @@ def segment_type(self, e=None, line=None):
if infor == TYPE_ARC:
return "arc"
if infor == TYPE_POINT:
return "arc"
return "point"
if infor == TYPE_VERTEX:
return "vertex"
if infor == TYPE_END:
Expand Down

0 comments on commit fb89ee8

Please sign in to comment.