meerk40t 0.9.2000__py2.py3-none-any.whl → 0.9.3001__py2.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.
- meerk40t/balormk/balor_params.py +1 -43
- meerk40t/balormk/controller.py +1 -41
- meerk40t/balormk/device.py +16 -22
- meerk40t/balormk/driver.py +4 -4
- meerk40t/balormk/gui/balorconfig.py +2 -2
- meerk40t/balormk/gui/balorcontroller.py +13 -5
- meerk40t/balormk/gui/baloroperationproperties.py +0 -46
- meerk40t/balormk/gui/gui.py +17 -17
- meerk40t/camera/gui/camerapanel.py +18 -11
- meerk40t/core/cutcode/rastercut.py +3 -1
- meerk40t/core/cutplan.py +145 -14
- meerk40t/core/elements/clipboard.py +18 -9
- meerk40t/core/elements/element_treeops.py +320 -180
- meerk40t/core/elements/element_types.py +7 -2
- meerk40t/core/elements/elements.py +53 -27
- meerk40t/core/elements/geometry.py +8 -0
- meerk40t/core/elements/offset_clpr.py +129 -4
- meerk40t/core/elements/offset_mk.py +3 -1
- meerk40t/core/elements/shapes.py +28 -25
- meerk40t/core/laserjob.py +7 -0
- meerk40t/core/node/bootstrap.py +4 -0
- meerk40t/core/node/effect_hatch.py +85 -96
- meerk40t/core/node/effect_wobble.py +309 -0
- meerk40t/core/node/elem_image.py +49 -19
- meerk40t/core/node/elem_line.py +60 -0
- meerk40t/core/node/elem_rect.py +5 -3
- meerk40t/core/node/image_processed.py +766 -0
- meerk40t/core/node/image_raster.py +113 -0
- meerk40t/core/node/node.py +120 -1
- meerk40t/core/node/op_cut.py +2 -8
- meerk40t/core/node/op_dots.py +0 -8
- meerk40t/core/node/op_engrave.py +2 -18
- meerk40t/core/node/op_image.py +22 -35
- meerk40t/core/node/op_raster.py +0 -9
- meerk40t/core/planner.py +32 -2
- meerk40t/core/svg_io.py +699 -461
- meerk40t/core/treeop.py +191 -0
- meerk40t/core/undos.py +15 -1
- meerk40t/core/units.py +14 -4
- meerk40t/device/dummydevice.py +3 -2
- meerk40t/device/gui/defaultactions.py +43 -55
- meerk40t/device/gui/formatterpanel.py +58 -49
- meerk40t/device/gui/warningpanel.py +12 -12
- meerk40t/device/mixins.py +13 -0
- meerk40t/dxf/dxf_io.py +9 -5
- meerk40t/extra/ezd.py +28 -26
- meerk40t/extra/imageactions.py +300 -308
- meerk40t/extra/lbrn.py +19 -2
- meerk40t/fill/fills.py +6 -6
- meerk40t/fill/patternfill.py +1061 -1061
- meerk40t/fill/patterns.py +2 -6
- meerk40t/grbl/controller.py +168 -52
- meerk40t/grbl/device.py +23 -18
- meerk40t/grbl/driver.py +39 -0
- meerk40t/grbl/emulator.py +79 -19
- meerk40t/grbl/gcodejob.py +10 -0
- meerk40t/grbl/gui/grblconfiguration.py +2 -2
- meerk40t/grbl/gui/grblcontroller.py +24 -8
- meerk40t/grbl/gui/grblhardwareconfig.py +153 -0
- meerk40t/grbl/gui/gui.py +17 -14
- meerk40t/grbl/mock_connection.py +15 -34
- meerk40t/grbl/plugin.py +0 -4
- meerk40t/grbl/serial_connection.py +2 -1
- meerk40t/gui/about.py +8 -5
- meerk40t/gui/alignment.py +10 -6
- meerk40t/gui/basicops.py +27 -17
- meerk40t/gui/bufferview.py +2 -2
- meerk40t/gui/choicepropertypanel.py +101 -13
- meerk40t/gui/consolepanel.py +12 -9
- meerk40t/gui/devicepanel.py +38 -25
- meerk40t/gui/executejob.py +6 -4
- meerk40t/gui/help_assets/help_assets.py +13 -10
- meerk40t/gui/hersheymanager.py +8 -6
- meerk40t/gui/icons.py +1951 -3065
- meerk40t/gui/imagesplitter.py +14 -7
- meerk40t/gui/keymap.py +3 -3
- meerk40t/gui/laserpanel.py +151 -84
- meerk40t/gui/laserrender.py +61 -70
- meerk40t/gui/lasertoolpanel.py +8 -7
- meerk40t/gui/materialtest.py +3 -3
- meerk40t/gui/mkdebug.py +254 -1
- meerk40t/gui/navigationpanels.py +321 -180
- meerk40t/gui/notes.py +3 -3
- meerk40t/gui/opassignment.py +12 -12
- meerk40t/gui/operation_info.py +13 -13
- meerk40t/gui/plugin.py +5 -0
- meerk40t/gui/position.py +20 -18
- meerk40t/gui/preferences.py +21 -6
- meerk40t/gui/propertypanels/attributes.py +70 -22
- meerk40t/gui/propertypanels/blobproperty.py +2 -2
- meerk40t/gui/propertypanels/consoleproperty.py +2 -2
- meerk40t/gui/propertypanels/groupproperties.py +3 -3
- meerk40t/gui/propertypanels/hatchproperty.py +11 -18
- meerk40t/gui/propertypanels/imageproperty.py +4 -3
- meerk40t/gui/propertypanels/opbranchproperties.py +1 -1
- meerk40t/gui/propertypanels/pathproperty.py +2 -2
- meerk40t/gui/propertypanels/pointproperty.py +2 -2
- meerk40t/gui/propertypanels/propertywindow.py +4 -4
- meerk40t/gui/propertypanels/textproperty.py +3 -3
- meerk40t/gui/propertypanels/wobbleproperty.py +204 -0
- meerk40t/gui/ribbon.py +367 -259
- meerk40t/gui/scene/scene.py +31 -5
- meerk40t/gui/scenewidgets/elementswidget.py +12 -4
- meerk40t/gui/scenewidgets/gridwidget.py +2 -2
- meerk40t/gui/scenewidgets/laserpathwidget.py +7 -2
- meerk40t/gui/scenewidgets/machineoriginwidget.py +6 -2
- meerk40t/gui/scenewidgets/relocatewidget.py +1 -1
- meerk40t/gui/scenewidgets/reticlewidget.py +9 -0
- meerk40t/gui/scenewidgets/selectionwidget.py +12 -7
- meerk40t/gui/simpleui.py +95 -8
- meerk40t/gui/simulation.py +44 -36
- meerk40t/gui/spoolerpanel.py +124 -26
- meerk40t/gui/statusbarwidgets/defaultoperations.py +18 -6
- meerk40t/gui/statusbarwidgets/infowidget.py +2 -2
- meerk40t/gui/statusbarwidgets/opassignwidget.py +12 -12
- meerk40t/gui/statusbarwidgets/shapepropwidget.py +45 -18
- meerk40t/gui/statusbarwidgets/statusbar.py +11 -4
- meerk40t/gui/themes.py +78 -0
- meerk40t/gui/toolwidgets/toolcircle.py +2 -1
- meerk40t/gui/toolwidgets/toolellipse.py +2 -1
- meerk40t/gui/toolwidgets/toolimagecut.py +132 -0
- meerk40t/gui/toolwidgets/toolline.py +144 -0
- meerk40t/gui/toolwidgets/toolnodeedit.py +72 -145
- meerk40t/gui/toolwidgets/toolpoint.py +1 -1
- meerk40t/gui/toolwidgets/toolpolygon.py +8 -55
- meerk40t/gui/toolwidgets/toolrect.py +2 -1
- meerk40t/gui/usbconnect.py +2 -2
- meerk40t/gui/utilitywidgets/cyclocycloidwidget.py +2 -2
- meerk40t/gui/utilitywidgets/harmonograph.py +7 -7
- meerk40t/gui/utilitywidgets/scalewidget.py +1 -1
- meerk40t/gui/wordlisteditor.py +33 -18
- meerk40t/gui/wxmeerk40t.py +166 -66
- meerk40t/gui/wxmmain.py +236 -157
- meerk40t/gui/wxmribbon.py +49 -25
- meerk40t/gui/wxmscene.py +49 -38
- meerk40t/gui/wxmtree.py +216 -85
- meerk40t/gui/wxutils.py +62 -4
- meerk40t/image/imagetools.py +443 -15
- meerk40t/internal_plugins.py +2 -10
- meerk40t/kernel/kernel.py +12 -4
- meerk40t/lihuiyu/controller.py +7 -7
- meerk40t/lihuiyu/device.py +3 -1
- meerk40t/lihuiyu/driver.py +3 -0
- meerk40t/lihuiyu/gui/gui.py +8 -8
- meerk40t/lihuiyu/gui/lhyaccelgui.py +2 -2
- meerk40t/lihuiyu/gui/lhycontrollergui.py +73 -27
- meerk40t/lihuiyu/gui/lhydrivergui.py +2 -2
- meerk40t/lihuiyu/gui/tcpcontroller.py +22 -9
- meerk40t/main.py +6 -1
- meerk40t/moshi/controller.py +5 -5
- meerk40t/moshi/device.py +5 -2
- meerk40t/moshi/driver.py +4 -0
- meerk40t/moshi/gui/gui.py +8 -8
- meerk40t/moshi/gui/moshicontrollergui.py +24 -8
- meerk40t/moshi/gui/moshidrivergui.py +2 -2
- meerk40t/newly/controller.py +2 -0
- meerk40t/newly/device.py +9 -2
- meerk40t/newly/driver.py +4 -0
- meerk40t/newly/gui/gui.py +16 -17
- meerk40t/newly/gui/newlyconfig.py +2 -2
- meerk40t/newly/gui/newlycontroller.py +13 -5
- meerk40t/rotary/gui/gui.py +2 -2
- meerk40t/rotary/gui/rotarysettings.py +2 -2
- meerk40t/ruida/device.py +3 -0
- meerk40t/ruida/driver.py +4 -0
- meerk40t/ruida/gui/gui.py +6 -6
- meerk40t/ruida/gui/ruidaconfig.py +2 -2
- meerk40t/ruida/gui/ruidacontroller.py +13 -5
- meerk40t/svgelements.py +9 -9
- meerk40t/tools/geomstr.py +849 -153
- meerk40t/tools/kerftest.py +8 -4
- meerk40t/tools/livinghinges.py +15 -8
- {meerk40t-0.9.2000.dist-info → meerk40t-0.9.3001.dist-info}/METADATA +21 -16
- {meerk40t-0.9.2000.dist-info → meerk40t-0.9.3001.dist-info}/RECORD +185 -177
- {meerk40t-0.9.2000.dist-info → meerk40t-0.9.3001.dist-info}/entry_points.txt +0 -1
- test/test_core_elements.py +8 -24
- test/test_file_svg.py +88 -0
- test/test_fill.py +9 -9
- test/test_geomstr.py +258 -8
- test/test_kernel.py +4 -0
- test/test_tools_rasterplotter.py +29 -0
- meerk40t/extra/embroider.py +0 -56
- meerk40t/extra/pathoptimize.py +0 -249
- {meerk40t-0.9.2000.dist-info → meerk40t-0.9.3001.dist-info}/LICENSE +0 -0
- {meerk40t-0.9.2000.dist-info → meerk40t-0.9.3001.dist-info}/WHEEL +0 -0
- {meerk40t-0.9.2000.dist-info → meerk40t-0.9.3001.dist-info}/top_level.txt +0 -0
- {meerk40t-0.9.2000.dist-info → meerk40t-0.9.3001.dist-info}/zip-safe +0 -0
meerk40t/gui/wxmribbon.py
CHANGED
@@ -29,11 +29,11 @@ from wx import aui
|
|
29
29
|
from meerk40t.gui.icons import (
|
30
30
|
STD_ICON_SIZE,
|
31
31
|
get_default_icon_size,
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
32
|
+
icon_add_new,
|
33
|
+
icon_trash,
|
34
|
+
icons8_down,
|
35
|
+
icons8_opened_folder,
|
36
|
+
icons8_up,
|
37
37
|
)
|
38
38
|
from meerk40t.gui.ribbon import RibbonBarPanel
|
39
39
|
from meerk40t.gui.wxutils import StaticBoxSizer, dip_size
|
@@ -141,8 +141,9 @@ class MKRibbonBarPanel(RibbonBarPanel):
|
|
141
141
|
self.storage = Settings(self.context.kernel.name, f"ribbon_{identifier}.cfg")
|
142
142
|
self.storage.read_configuration()
|
143
143
|
|
144
|
+
self.allow_labels = bool(show_labels is None or show_labels)
|
144
145
|
# Layout properties.
|
145
|
-
if
|
146
|
+
if self.allow_labels:
|
146
147
|
self.toggle_show_labels(context.setting(bool, "ribbon_show_labels", True))
|
147
148
|
|
148
149
|
self._pages = []
|
@@ -158,19 +159,29 @@ class MKRibbonBarPanel(RibbonBarPanel):
|
|
158
159
|
"label": "Tools", # Label
|
159
160
|
"panels": [ # Panels to include
|
160
161
|
{
|
161
|
-
"id": "
|
162
|
-
"label": "
|
162
|
+
"id": "select",
|
163
|
+
"label": "Select + Edit",
|
163
164
|
"seq": 1,
|
164
165
|
},
|
165
166
|
{
|
166
|
-
"id": "
|
167
|
-
"label": "
|
167
|
+
"id": "lasercontrol",
|
168
|
+
"label": "Laser",
|
168
169
|
"seq": 2,
|
169
170
|
},
|
171
|
+
{
|
172
|
+
"id": "tool",
|
173
|
+
"label": "Create",
|
174
|
+
"seq": 3,
|
175
|
+
},
|
176
|
+
{
|
177
|
+
"id": "extended_tools",
|
178
|
+
"label": "Extended Tools",
|
179
|
+
"seq": 4,
|
180
|
+
},
|
170
181
|
{
|
171
182
|
"id": "group",
|
172
183
|
"label": "Group",
|
173
|
-
"seq":
|
184
|
+
"seq": 5,
|
174
185
|
},
|
175
186
|
],
|
176
187
|
"seq": 1, # Sequence
|
@@ -366,6 +377,7 @@ class MKRibbonBarPanel(RibbonBarPanel):
|
|
366
377
|
|
367
378
|
def restart(self):
|
368
379
|
self.storage.read_configuration()
|
380
|
+
self.art.establish_colors()
|
369
381
|
self.pages = []
|
370
382
|
self.set_default_pages()
|
371
383
|
# Define Ribbon.
|
@@ -392,7 +404,8 @@ class MKRibbonBarPanel(RibbonBarPanel):
|
|
392
404
|
|
393
405
|
@signal_listener("ribbon_show_labels")
|
394
406
|
def on_show_labels_change(self, origin, value, *args):
|
395
|
-
self.
|
407
|
+
if self.allow_labels:
|
408
|
+
self.toggle_show_labels(value)
|
396
409
|
|
397
410
|
@lookup_listener("button/basicediting")
|
398
411
|
def set_editing_buttons(self, new_values, old_values):
|
@@ -438,10 +451,18 @@ class MKRibbonBarPanel(RibbonBarPanel):
|
|
438
451
|
def set_align_buttons(self, new_values, old_values):
|
439
452
|
self.set_panel_buttons("align", new_values)
|
440
453
|
|
454
|
+
@lookup_listener("button/select")
|
455
|
+
def set_select_buttons(self, new_values, old_values):
|
456
|
+
self.set_panel_buttons("select", new_values)
|
457
|
+
|
441
458
|
@lookup_listener("button/tool")
|
442
459
|
def set_tool_buttons(self, new_values, old_values):
|
443
460
|
self.set_panel_buttons("tool", new_values)
|
444
461
|
|
462
|
+
@lookup_listener("button/lasercontrol")
|
463
|
+
def set_lasercontrol_buttons(self, new_values, old_values):
|
464
|
+
self.set_panel_buttons("lasercontrol", new_values)
|
465
|
+
|
445
466
|
@lookup_listener("button/extended_tools")
|
446
467
|
def set_tool_extended_buttons(self, new_values, old_values):
|
447
468
|
self.set_panel_buttons("extended_tools", new_values)
|
@@ -454,6 +475,10 @@ class MKRibbonBarPanel(RibbonBarPanel):
|
|
454
475
|
def on_emphasis_change(self, origin, *args):
|
455
476
|
self.apply_enable_rules()
|
456
477
|
|
478
|
+
@signal_listener("undoredo")
|
479
|
+
def on_undostate_change(self, origin, *args):
|
480
|
+
self.apply_enable_rules()
|
481
|
+
|
457
482
|
@signal_listener("selected")
|
458
483
|
def on_selected_change(self, origin, node=None, *args):
|
459
484
|
self.apply_enable_rules()
|
@@ -497,7 +522,7 @@ class MKRibbonBarPanel(RibbonBarPanel):
|
|
497
522
|
name_id,
|
498
523
|
wx.ID_ANY,
|
499
524
|
label,
|
500
|
-
|
525
|
+
icons8_opened_folder.GetBitmap(resize=16),
|
501
526
|
)
|
502
527
|
entry["_object"] = page
|
503
528
|
for pentry in sorted(panel_list, key=lambda d: d["seq"]):
|
@@ -508,7 +533,7 @@ class MKRibbonBarPanel(RibbonBarPanel):
|
|
508
533
|
parent=page,
|
509
534
|
id=wx.ID_ANY,
|
510
535
|
label=p_label,
|
511
|
-
icon=
|
536
|
+
icon=icons8_opened_folder.GetBitmap(),
|
512
537
|
)
|
513
538
|
pentry["_object"] = panel
|
514
539
|
|
@@ -601,15 +626,15 @@ class RibbonEditor(wx.Panel):
|
|
601
626
|
self.button_down_page = wx.StaticBitmap(
|
602
627
|
self, wx.ID_ANY, size=dip_size(self, 30, 20)
|
603
628
|
)
|
629
|
+
testsize = dip_size(self, 20, 20)
|
630
|
+
iconsize = testsize[0]
|
604
631
|
self.button_add_page.SetBitmap(
|
605
|
-
|
632
|
+
icon_add_new.GetBitmap(resize=iconsize, buffer=1)
|
606
633
|
)
|
607
|
-
self.button_del_page.SetBitmap(
|
608
|
-
|
609
|
-
)
|
610
|
-
self.button_up_page.SetBitmap(icons8_up_50.GetBitmap(resize=STD_ICON_SIZE / 2))
|
634
|
+
self.button_del_page.SetBitmap(icon_trash.GetBitmap(resize=iconsize, buffer=1))
|
635
|
+
self.button_up_page.SetBitmap(icons8_up.GetBitmap(resize=iconsize, buffer=1))
|
611
636
|
self.button_down_page.SetBitmap(
|
612
|
-
|
637
|
+
icons8_down.GetBitmap(resize=iconsize, buffer=1)
|
613
638
|
)
|
614
639
|
|
615
640
|
self.button_del_panel = wx.StaticBitmap(
|
@@ -621,12 +646,10 @@ class RibbonEditor(wx.Panel):
|
|
621
646
|
self.button_down_panel = wx.StaticBitmap(
|
622
647
|
self, wx.ID_ANY, size=dip_size(self, 30, 30)
|
623
648
|
)
|
624
|
-
self.button_del_panel.SetBitmap(
|
625
|
-
|
626
|
-
)
|
627
|
-
self.button_up_panel.SetBitmap(icons8_up_50.GetBitmap(resize=STD_ICON_SIZE / 2))
|
649
|
+
self.button_del_panel.SetBitmap(icon_trash.GetBitmap(resize=iconsize, buffer=1))
|
650
|
+
self.button_up_panel.SetBitmap(icons8_up.GetBitmap(resize=iconsize, buffer=1))
|
628
651
|
self.button_down_panel.SetBitmap(
|
629
|
-
|
652
|
+
icons8_down.GetBitmap(resize=iconsize, buffer=1)
|
630
653
|
)
|
631
654
|
|
632
655
|
self.list_options = wx.ListBox(self, wx.ID_ANY, style=wx.LB_SINGLE)
|
@@ -824,6 +847,7 @@ class RibbonEditor(wx.Panel):
|
|
824
847
|
self.ribbon_identifier = rlist[idx]
|
825
848
|
rib = self.current_ribbon()
|
826
849
|
self.check_labels.SetValue(rib.art.show_labels)
|
850
|
+
self.check_labels.Enable(rib.allow_labels)
|
827
851
|
self.fill_pages(reload=True)
|
828
852
|
|
829
853
|
def on_move_page_up(self, event):
|
meerk40t/gui/wxmscene.py
CHANGED
@@ -11,9 +11,9 @@ from meerk40t.core.units import UNITS_PER_PIXEL, Length
|
|
11
11
|
from meerk40t.gui.icons import (
|
12
12
|
STD_ICON_SIZE,
|
13
13
|
icon_meerk40t,
|
14
|
-
|
14
|
+
icons8_menu,
|
15
15
|
icons8_r_white,
|
16
|
-
|
16
|
+
icons8_text,
|
17
17
|
)
|
18
18
|
from meerk40t.gui.laserrender import DRAW_MODE_BACKGROUND, DRAW_MODE_GUIDES, LaserRender
|
19
19
|
from meerk40t.gui.mwindow import MWindow
|
@@ -34,6 +34,8 @@ from meerk40t.gui.toolwidgets.toolcircle import CircleTool
|
|
34
34
|
from meerk40t.gui.toolwidgets.toolcontainer import ToolContainer
|
35
35
|
from meerk40t.gui.toolwidgets.tooldraw import DrawTool
|
36
36
|
from meerk40t.gui.toolwidgets.toolellipse import EllipseTool
|
37
|
+
from meerk40t.gui.toolwidgets.toolimagecut import ImageCutTool
|
38
|
+
from meerk40t.gui.toolwidgets.toolline import LineTool
|
37
39
|
from meerk40t.gui.toolwidgets.toollinetext import LineTextTool
|
38
40
|
from meerk40t.gui.toolwidgets.toolmeasure import MeasureTool
|
39
41
|
from meerk40t.gui.toolwidgets.toolnodeedit import EditTool
|
@@ -207,6 +209,7 @@ class MeerK40tScenePanel(wx.Panel):
|
|
207
209
|
|
208
210
|
context.register("tool/draw", DrawTool)
|
209
211
|
context.register("tool/rect", RectTool)
|
212
|
+
context.register("tool/line", LineTool)
|
210
213
|
context.register("tool/polyline", PolylineTool)
|
211
214
|
context.register("tool/polygon", PolygonTool)
|
212
215
|
context.register("tool/point", PointTool)
|
@@ -222,6 +225,7 @@ class MeerK40tScenePanel(wx.Panel):
|
|
222
225
|
context.register("tool/placement", PlacementTool)
|
223
226
|
context.register("tool/nodemove", NodeMoveTool)
|
224
227
|
context.register("tool/parameter", ParameterTool)
|
228
|
+
context.register("tool/imagecut", ImageCutTool)
|
225
229
|
|
226
230
|
bsize_normal = STD_ICON_SIZE
|
227
231
|
|
@@ -237,7 +241,7 @@ class MeerK40tScenePanel(wx.Panel):
|
|
237
241
|
"button/tools/Linetext",
|
238
242
|
{
|
239
243
|
"label": _("Vector Text"),
|
240
|
-
"icon":
|
244
|
+
"icon": icons8_text,
|
241
245
|
"tip": _("Add a vector text element"),
|
242
246
|
"action": lambda v: proxy_linetext(),
|
243
247
|
"group": "tool",
|
@@ -280,34 +284,34 @@ class MeerK40tScenePanel(wx.Panel):
|
|
280
284
|
pass
|
281
285
|
dlg.Destroy()
|
282
286
|
|
283
|
-
@context.console_command("tool_menu", hidden=True)
|
284
|
-
def tool_menu(channel, _, **kwgs):
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
287
|
+
# @context.console_command("tool_menu", hidden=True)
|
288
|
+
# def tool_menu(channel, _, **kwgs):
|
289
|
+
# orgx = 5
|
290
|
+
# orgy = 5
|
291
|
+
# # Are guides drawn?
|
292
|
+
# if self.context.draw_mode & DRAW_MODE_GUIDES == 0:
|
293
|
+
# orgx += 25
|
294
|
+
# orgy += 25
|
295
|
+
# if self._tool_widget is not None:
|
296
|
+
# visible = self._tool_widget.visible
|
297
|
+
# self._tool_widget.show(not visible)
|
298
|
+
# self.widget_scene.request_refresh()
|
299
|
+
|
300
|
+
# if self._tool_widget is None:
|
301
|
+
# self._tool_widget = ToggleWidget(
|
302
|
+
# self.widget_scene,
|
303
|
+
# orgx,
|
304
|
+
# orgy,
|
305
|
+
# orgx + 25,
|
306
|
+
# orgy + 25,
|
307
|
+
# icons8_menu.GetBitmap(use_theme=False),
|
308
|
+
# "button/tool",
|
309
|
+
# )
|
310
|
+
# self.widget_scene.widget_root.interface_widget.add_widget(
|
311
|
+
# -1,
|
312
|
+
# self._tool_widget,
|
313
|
+
# )
|
314
|
+
# channel(_("Added tool widget to interface"))
|
311
315
|
|
312
316
|
@context.console_command("seek_bar", hidden=True)
|
313
317
|
def seek_bar(channel, _, **kwgs):
|
@@ -422,8 +426,8 @@ class MeerK40tScenePanel(wx.Panel):
|
|
422
426
|
)
|
423
427
|
select_values = (
|
424
428
|
(
|
425
|
-
context.lookup("button/
|
426
|
-
"button/
|
429
|
+
context.lookup("button/select/Scene"),
|
430
|
+
"button/select/Scene",
|
427
431
|
"Select",
|
428
432
|
),
|
429
433
|
)
|
@@ -1290,12 +1294,19 @@ class MeerK40tScenePanel(wx.Panel):
|
|
1290
1294
|
def on_close(self, event):
|
1291
1295
|
self.save_magnets()
|
1292
1296
|
|
1297
|
+
@signal_listener("pause")
|
1293
1298
|
@signal_listener("pipe;running")
|
1294
|
-
def on_driver_mode(self, origin,
|
1295
|
-
|
1296
|
-
|
1297
|
-
|
1298
|
-
self.
|
1299
|
+
def on_driver_mode(self, origin, *args):
|
1300
|
+
# pipe running has (state) as args
|
1301
|
+
new_color = None
|
1302
|
+
try:
|
1303
|
+
if self.context.device.driver.paused:
|
1304
|
+
new_color = self.context.themes.get("pause_bg")
|
1305
|
+
elif self.context.device.laser_status == "active":
|
1306
|
+
new_color = self.context.themes.get("stop_bg")
|
1307
|
+
except AttributeError:
|
1308
|
+
pass
|
1309
|
+
self.widget_scene.overrule_background = new_color
|
1299
1310
|
self.widget_scene.request_refresh_for_animation()
|
1300
1311
|
|
1301
1312
|
@signal_listener("background")
|