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/navigationpanels.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import platform
|
2
|
+
from copy import copy
|
2
3
|
from math import isinf
|
3
4
|
from time import time
|
4
5
|
|
@@ -11,39 +12,39 @@ from meerk40t.gui.icons import (
|
|
11
12
|
STD_ICON_SIZE,
|
12
13
|
EmptyIcon,
|
13
14
|
get_default_icon_size,
|
15
|
+
icon_circled_1,
|
14
16
|
icon_corner1,
|
15
17
|
icon_corner2,
|
16
18
|
icon_corner3,
|
17
19
|
icon_corner4,
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
20
|
+
icon_fence_closed,
|
21
|
+
icon_fence_open,
|
22
|
+
icons8_caret_down,
|
23
|
+
icons8_caret_left,
|
24
|
+
icons8_caret_right,
|
25
|
+
icons8_caret_up,
|
26
|
+
icons8_center_of_gravity,
|
27
|
+
icons8_compress,
|
28
|
+
icons8_delete,
|
22
29
|
icons8_down,
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
icons8_home_filled_50,
|
29
|
-
icons8_laser_beam_52,
|
30
|
+
icons8_down_left,
|
31
|
+
icons8_down_right,
|
32
|
+
icons8_enlarge,
|
33
|
+
icons8_home_filled,
|
34
|
+
icons8_laser_beam,
|
30
35
|
icons8_left,
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
icons8_padlock_50,
|
36
|
-
icons8_pentagon_50,
|
37
|
-
icons8_pentagon_square_50,
|
36
|
+
icons8_lock,
|
37
|
+
icons8_move,
|
38
|
+
icons8_pentagon,
|
39
|
+
icons8_pentagon_squared,
|
38
40
|
icons8_right,
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
icons8up,
|
41
|
+
icons8_rotate_left,
|
42
|
+
icons8_rotate_right,
|
43
|
+
icons8_square_border,
|
44
|
+
icons8_unlock,
|
45
|
+
icons8_up,
|
46
|
+
icons8_up_left,
|
47
|
+
icons8_up_right,
|
47
48
|
)
|
48
49
|
from meerk40t.gui.mwindow import MWindow
|
49
50
|
from meerk40t.gui.position import PositionPanel
|
@@ -55,7 +56,7 @@ _ = wx.GetTranslation
|
|
55
56
|
|
56
57
|
|
57
58
|
def register_panel_navigation(window, context):
|
58
|
-
|
59
|
+
dragpanel = Drag(window, wx.ID_ANY, context=context)
|
59
60
|
iconsize = get_default_icon_size()
|
60
61
|
if platform.system() == "Windows":
|
61
62
|
dx = 24
|
@@ -76,12 +77,18 @@ def register_panel_navigation(window, context):
|
|
76
77
|
.Hide()
|
77
78
|
)
|
78
79
|
pane.dock_proportion = 3 * iconsize + dx
|
79
|
-
pane.control =
|
80
|
+
pane.control = dragpanel
|
81
|
+
|
82
|
+
def on_drag_resize(event):
|
83
|
+
panelsize = event.GetSize()
|
84
|
+
dragpanel.set_icons(dimension=panelsize)
|
85
|
+
|
86
|
+
dragpanel.Bind(wx.EVT_SIZE, on_drag_resize)
|
80
87
|
pane.submenu = "_20_" + _("Navigation")
|
81
88
|
|
82
89
|
window.on_pane_create(pane)
|
83
90
|
context.register("pane/drag", pane)
|
84
|
-
|
91
|
+
jogpanel = Jog(window, wx.ID_ANY, context=context)
|
85
92
|
pane = (
|
86
93
|
aui.AuiPaneInfo()
|
87
94
|
.Right()
|
@@ -95,7 +102,13 @@ def register_panel_navigation(window, context):
|
|
95
102
|
.CaptionVisible(not context.pane_lock)
|
96
103
|
)
|
97
104
|
pane.dock_proportion = 3 * iconsize + dx
|
98
|
-
pane.control =
|
105
|
+
pane.control = jogpanel
|
106
|
+
|
107
|
+
def on_jog_resize(event):
|
108
|
+
panelsize = event.GetSize()
|
109
|
+
jogpanel.set_icons(dimension=panelsize)
|
110
|
+
|
111
|
+
jogpanel.Bind(wx.EVT_SIZE, on_jog_resize)
|
99
112
|
pane.submenu = "_20_" + _("Navigation")
|
100
113
|
|
101
114
|
window.on_pane_create(pane)
|
@@ -373,50 +386,29 @@ class TimerButtons:
|
|
373
386
|
|
374
387
|
|
375
388
|
class Drag(wx.Panel):
|
376
|
-
def __init__(self, *args, context=None,
|
389
|
+
def __init__(self, *args, context=None, **kwds):
|
377
390
|
# begin wxGlade: Drag.__init__
|
378
391
|
kwds["style"] = kwds.get("style", 0) | wx.TAB_TRAVERSAL
|
379
392
|
wx.Panel.__init__(self, *args, **kwds)
|
380
393
|
self.context = context
|
381
|
-
self.
|
382
|
-
|
383
|
-
)
|
384
|
-
self.button_align_drag_up = wx.BitmapButton(
|
385
|
-
|
386
|
-
)
|
387
|
-
self.
|
388
|
-
|
389
|
-
)
|
390
|
-
self.
|
391
|
-
|
392
|
-
)
|
393
|
-
self.
|
394
|
-
|
395
|
-
)
|
396
|
-
self.button_align_drag_right = wx.BitmapButton(
|
397
|
-
self, wx.ID_ANY, icons8_right.GetBitmap(resize=icon_size)
|
398
|
-
)
|
399
|
-
self.button_align_corner_bottom_left = wx.BitmapButton(
|
400
|
-
self, wx.ID_ANY, icon_corner4.GetBitmap(resize=icon_size)
|
401
|
-
)
|
402
|
-
self.button_align_drag_down = wx.BitmapButton(
|
403
|
-
self, wx.ID_ANY, icons8_down.GetBitmap(resize=icon_size)
|
404
|
-
)
|
405
|
-
self.button_align_corner_bottom_right = wx.BitmapButton(
|
406
|
-
self, wx.ID_ANY, icon_corner3.GetBitmap(resize=icon_size)
|
407
|
-
)
|
408
|
-
self.button_align_first_position = wx.BitmapButton(
|
409
|
-
self, wx.ID_ANY, icons8_level_1_50.GetBitmap(resize=icon_size)
|
410
|
-
)
|
411
|
-
self.button_align_trace_hull = wx.BitmapButton(
|
412
|
-
self, wx.ID_ANY, icons8_pentagon_50.GetBitmap(resize=icon_size)
|
413
|
-
)
|
414
|
-
self.button_align_trace_quick = wx.BitmapButton(
|
415
|
-
self, wx.ID_ANY, icons8_pentagon_square_50.GetBitmap(resize=icon_size)
|
416
|
-
)
|
394
|
+
self.icon_size = None
|
395
|
+
self.resolution = 5
|
396
|
+
self.button_align_corner_top_left = wx.BitmapButton(self, wx.ID_ANY)
|
397
|
+
self.button_align_drag_up = wx.BitmapButton(self, wx.ID_ANY)
|
398
|
+
self.button_align_corner_top_right = wx.BitmapButton(self, wx.ID_ANY)
|
399
|
+
self.button_align_drag_left = wx.BitmapButton(self, wx.ID_ANY)
|
400
|
+
self.button_align_center = wx.BitmapButton(self, wx.ID_ANY)
|
401
|
+
self.button_align_drag_right = wx.BitmapButton(self, wx.ID_ANY)
|
402
|
+
self.button_align_corner_bottom_left = wx.BitmapButton(self, wx.ID_ANY)
|
403
|
+
self.button_align_drag_down = wx.BitmapButton(self, wx.ID_ANY)
|
404
|
+
self.button_align_corner_bottom_right = wx.BitmapButton(self, wx.ID_ANY)
|
405
|
+
self.button_align_first_position = wx.BitmapButton(self, wx.ID_ANY)
|
406
|
+
self.button_align_trace_hull = wx.BitmapButton(self, wx.ID_ANY)
|
407
|
+
self.button_align_trace_quick = wx.BitmapButton(self, wx.ID_ANY)
|
417
408
|
self.bg_color = self.button_align_corner_top_left.BackgroundColour
|
418
409
|
self.__set_properties()
|
419
410
|
self.__do_layout()
|
411
|
+
# self.set_icons(iconsize=25)
|
420
412
|
|
421
413
|
self.timer = TimerButtons(self)
|
422
414
|
self.timer.add_button(self.button_align_drag_left, self.drag_left)
|
@@ -474,6 +466,9 @@ class Drag(wx.Panel):
|
|
474
466
|
wx.EVT_RIGHT_DOWN, self.on_button_lock_br
|
475
467
|
)
|
476
468
|
self.button_align_center.Bind(wx.EVT_RIGHT_DOWN, self.on_button_lock_center)
|
469
|
+
self.button_align_first_position.Bind(
|
470
|
+
wx.EVT_BUTTON, self.on_button_align_first_position
|
471
|
+
)
|
477
472
|
|
478
473
|
# end wxGlade
|
479
474
|
self.elements = None
|
@@ -553,6 +548,7 @@ class Drag(wx.Panel):
|
|
553
548
|
|
554
549
|
def __do_layout(self):
|
555
550
|
# begin wxGlade: Drag.__do_layout
|
551
|
+
self.navigation_sizer = wx.BoxSizer(wx.VERTICAL)
|
556
552
|
align_sizer = wx.FlexGridSizer(4, 3, 0, 0)
|
557
553
|
align_sizer.Add(self.button_align_corner_top_left, 0, 0, 0)
|
558
554
|
align_sizer.Add(self.button_align_drag_up, 0, 0, 0)
|
@@ -566,11 +562,67 @@ class Drag(wx.Panel):
|
|
566
562
|
align_sizer.Add(self.button_align_first_position, 0, 0, 0)
|
567
563
|
align_sizer.Add(self.button_align_trace_hull, 0, 0, 0)
|
568
564
|
align_sizer.Add(self.button_align_trace_quick, 0, 0, 0)
|
569
|
-
self.
|
570
|
-
|
565
|
+
self.navigation_sizer.Add(align_sizer, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
|
566
|
+
self.SetSizer(self.navigation_sizer)
|
567
|
+
self.navigation_sizer.Fit(self)
|
571
568
|
self.Layout()
|
572
569
|
# end wxGlade
|
573
570
|
|
571
|
+
def set_icons(self, iconsize=None, dimension=None):
|
572
|
+
if iconsize is None and dimension is not None:
|
573
|
+
dim_x = int(dimension[0] / 3) - 8
|
574
|
+
dim_y = int(dimension[1] / 4) - 8
|
575
|
+
iconsize = max(15, min(dim_x, dim_y))
|
576
|
+
self.icon_size = iconsize
|
577
|
+
self.button_align_corner_top_left.SetBitmap(
|
578
|
+
icon_corner1.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
579
|
+
)
|
580
|
+
self.button_align_drag_up.SetBitmap(
|
581
|
+
icons8_caret_up.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
582
|
+
)
|
583
|
+
self.button_align_corner_top_right.SetBitmap(
|
584
|
+
icon_corner2.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
585
|
+
)
|
586
|
+
self.button_align_drag_left.SetBitmap(
|
587
|
+
icons8_caret_left.GetBitmap(
|
588
|
+
resize=self.icon_size, resolution=self.resolution
|
589
|
+
)
|
590
|
+
)
|
591
|
+
self.button_align_center.SetBitmap(
|
592
|
+
icons8_square_border.GetBitmap(
|
593
|
+
resize=self.icon_size, resolution=self.resolution
|
594
|
+
)
|
595
|
+
)
|
596
|
+
self.button_align_drag_right.SetBitmap(
|
597
|
+
icons8_caret_right.GetBitmap(
|
598
|
+
resize=self.icon_size, resolution=self.resolution
|
599
|
+
)
|
600
|
+
)
|
601
|
+
self.button_align_corner_bottom_left.SetBitmap(
|
602
|
+
icon_corner4.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
603
|
+
)
|
604
|
+
self.button_align_drag_down.SetBitmap(
|
605
|
+
icons8_caret_down.GetBitmap(
|
606
|
+
resize=self.icon_size, resolution=self.resolution
|
607
|
+
)
|
608
|
+
)
|
609
|
+
self.button_align_corner_bottom_right.SetBitmap(
|
610
|
+
icon_corner3.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
611
|
+
)
|
612
|
+
self.button_align_first_position.SetBitmap(
|
613
|
+
icon_circled_1.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
614
|
+
)
|
615
|
+
self.button_align_trace_hull.SetBitmap(
|
616
|
+
icons8_pentagon.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
617
|
+
)
|
618
|
+
self.button_align_trace_quick.SetBitmap(
|
619
|
+
icons8_pentagon_squared.GetBitmap(
|
620
|
+
resize=self.icon_size, resolution=self.resolution
|
621
|
+
)
|
622
|
+
)
|
623
|
+
self.navigation_sizer.Layout()
|
624
|
+
self.Layout()
|
625
|
+
|
574
626
|
@property
|
575
627
|
def lockmode(self):
|
576
628
|
return self._current_lockmode
|
@@ -723,22 +775,38 @@ class Drag(wx.Panel):
|
|
723
775
|
self.context(f"move_relative {nx} {ny}\ntranslate {nx} {ny}\n")
|
724
776
|
|
725
777
|
def on_button_align_first_position(self, event=None):
|
778
|
+
first_node = None
|
726
779
|
elements = self.context.elements
|
727
780
|
e = list(elements.elems(emphasized=True))
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
781
|
+
if len(e) == 0:
|
782
|
+
for n in elements.elems():
|
783
|
+
first_node = n
|
784
|
+
break
|
785
|
+
else:
|
786
|
+
first_node = e[0]
|
787
|
+
if first_node is None:
|
788
|
+
return
|
789
|
+
if hasattr(first_node, "as_geometry"):
|
790
|
+
g = first_node.as_geometry()
|
791
|
+
pt = g.first_point
|
792
|
+
pos = (pt.real, pt.imag)
|
793
|
+
# try:
|
794
|
+
# g = first_node.as_geometry()
|
795
|
+
# pos = g.first_point
|
796
|
+
# except (IndexError, AttributeError):
|
797
|
+
# return
|
734
798
|
elif first_node.type == "elem image":
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
|
799
|
+
pos = (
|
800
|
+
first_node.matrix.value_trans_x(),
|
801
|
+
first_node.matrix.value_trans_y(),
|
802
|
+
)
|
803
|
+
# try:
|
804
|
+
# pos = (
|
805
|
+
# first_node.matrix.value_trans_x(),
|
806
|
+
# first_node.matrix.value_trans_y(),
|
807
|
+
# )
|
808
|
+
# except (IndexError, AttributeError):
|
809
|
+
# return
|
742
810
|
else:
|
743
811
|
return
|
744
812
|
self.context(
|
@@ -820,7 +888,7 @@ class Drag(wx.Panel):
|
|
820
888
|
|
821
889
|
|
822
890
|
class Jog(wx.Panel):
|
823
|
-
def __init__(self, *args, context=None,
|
891
|
+
def __init__(self, *args, context=None, **kwds):
|
824
892
|
# begin wxGlade: Jog.__init__
|
825
893
|
kwds["style"] = kwds.get("style", 0) | wx.TAB_TRAVERSAL
|
826
894
|
|
@@ -829,42 +897,20 @@ class Jog(wx.Panel):
|
|
829
897
|
context.setting(float, "button_repeat", 0.5)
|
830
898
|
context.setting(bool, "button_accelerate", True)
|
831
899
|
context.setting(str, "jog_amount", "10mm")
|
832
|
-
self.
|
833
|
-
|
834
|
-
)
|
835
|
-
self.button_navigate_up = wx.BitmapButton(
|
836
|
-
|
837
|
-
)
|
838
|
-
self.
|
839
|
-
|
840
|
-
)
|
841
|
-
self.
|
842
|
-
|
843
|
-
)
|
844
|
-
self.
|
845
|
-
|
846
|
-
)
|
847
|
-
self.button_navigate_right = wx.BitmapButton(
|
848
|
-
self, wx.ID_ANY, icons8_right_50.GetBitmap(resize=icon_size)
|
849
|
-
)
|
850
|
-
self.button_navigate_down_left = wx.BitmapButton(
|
851
|
-
self, wx.ID_ANY, icons8_down_left_50.GetBitmap(resize=icon_size)
|
852
|
-
)
|
853
|
-
self.button_navigate_down = wx.BitmapButton(
|
854
|
-
self, wx.ID_ANY, icons8_down_50.GetBitmap(resize=icon_size)
|
855
|
-
)
|
856
|
-
self.button_navigate_down_right = wx.BitmapButton(
|
857
|
-
self, wx.ID_ANY, icons8_down_right_50.GetBitmap(resize=icon_size)
|
858
|
-
)
|
859
|
-
self.button_navigate_unlock = wx.BitmapButton(
|
860
|
-
self, wx.ID_ANY, icons8_padlock_50.GetBitmap(resize=icon_size)
|
861
|
-
)
|
862
|
-
self.button_navigate_lock = wx.BitmapButton(
|
863
|
-
self, wx.ID_ANY, icons8_lock_50.GetBitmap(resize=icon_size)
|
864
|
-
)
|
865
|
-
self.button_confine = wx.BitmapButton(
|
866
|
-
self, wx.ID_ANY, icons8_constraint_50.GetBitmap(resize=icon_size)
|
867
|
-
)
|
900
|
+
self.icon_size = None
|
901
|
+
self.resolution = 5
|
902
|
+
self.button_navigate_up_left = wx.BitmapButton(self, wx.ID_ANY)
|
903
|
+
self.button_navigate_up = wx.BitmapButton(self, wx.ID_ANY)
|
904
|
+
self.button_navigate_up_right = wx.BitmapButton(self, wx.ID_ANY)
|
905
|
+
self.button_navigate_left = wx.BitmapButton(self, wx.ID_ANY)
|
906
|
+
self.button_navigate_home = wx.BitmapButton(self, wx.ID_ANY)
|
907
|
+
self.button_navigate_right = wx.BitmapButton(self, wx.ID_ANY)
|
908
|
+
self.button_navigate_down_left = wx.BitmapButton(self, wx.ID_ANY)
|
909
|
+
self.button_navigate_down = wx.BitmapButton(self, wx.ID_ANY)
|
910
|
+
self.button_navigate_down_right = wx.BitmapButton(self, wx.ID_ANY)
|
911
|
+
self.button_navigate_unlock = wx.BitmapButton(self, wx.ID_ANY)
|
912
|
+
self.button_navigate_lock = wx.BitmapButton(self, wx.ID_ANY)
|
913
|
+
self.button_confine = wx.BitmapButton(self, wx.ID_ANY)
|
868
914
|
self.__set_properties()
|
869
915
|
self.__do_layout()
|
870
916
|
|
@@ -943,23 +989,77 @@ class Jog(wx.Panel):
|
|
943
989
|
|
944
990
|
def __do_layout(self):
|
945
991
|
# begin wxGlade: Jog.__do_layout
|
946
|
-
navigation_sizer = wx.
|
947
|
-
|
948
|
-
|
949
|
-
|
950
|
-
|
951
|
-
|
952
|
-
|
953
|
-
|
954
|
-
|
955
|
-
|
956
|
-
|
957
|
-
|
958
|
-
|
959
|
-
self.
|
960
|
-
navigation_sizer.
|
992
|
+
self.navigation_sizer = wx.BoxSizer(wx.VERTICAL)
|
993
|
+
button_sizer = wx.FlexGridSizer(4, 3, 0, 0)
|
994
|
+
button_sizer.Add(self.button_navigate_up_left, 0, 0, 0)
|
995
|
+
button_sizer.Add(self.button_navigate_up, 0, 0, 0)
|
996
|
+
button_sizer.Add(self.button_navigate_up_right, 0, 0, 0)
|
997
|
+
button_sizer.Add(self.button_navigate_left, 0, 0, 0)
|
998
|
+
button_sizer.Add(self.button_navigate_home, 0, 0, 0)
|
999
|
+
button_sizer.Add(self.button_navigate_right, 0, 0, 0)
|
1000
|
+
button_sizer.Add(self.button_navigate_down_left, 0, 0, 0)
|
1001
|
+
button_sizer.Add(self.button_navigate_down, 0, 0, 0)
|
1002
|
+
button_sizer.Add(self.button_navigate_down_right, 0, 0, 0)
|
1003
|
+
button_sizer.Add(self.button_navigate_unlock, 0, 0, 0)
|
1004
|
+
button_sizer.Add(self.button_confine, 0, 0, 0)
|
1005
|
+
button_sizer.Add(self.button_navigate_lock, 0, 0, 0)
|
1006
|
+
self.navigation_sizer.Add(button_sizer, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
|
1007
|
+
self.SetSizer(self.navigation_sizer)
|
1008
|
+
self.navigation_sizer.Fit(self)
|
1009
|
+
self.Layout()
|
1010
|
+
|
1011
|
+
def set_icons(self, iconsize=None, dimension=None):
|
1012
|
+
if iconsize is None and dimension is not None:
|
1013
|
+
dim_x = int(dimension[0] / 3) - 8
|
1014
|
+
dim_y = int(dimension[1] / 4) - 8
|
1015
|
+
iconsize = max(15, min(dim_x, dim_y))
|
1016
|
+
self.icon_size = iconsize
|
1017
|
+
self.button_navigate_up_left.SetBitmap(
|
1018
|
+
icons8_up_left.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
1019
|
+
)
|
1020
|
+
self.button_navigate_up.SetBitmap(
|
1021
|
+
icons8_up.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
1022
|
+
)
|
1023
|
+
self.button_navigate_up_right.SetBitmap(
|
1024
|
+
icons8_up_right.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
1025
|
+
)
|
1026
|
+
self.button_navigate_left.SetBitmap(
|
1027
|
+
icons8_left.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
1028
|
+
)
|
1029
|
+
self.button_navigate_home.SetBitmap(
|
1030
|
+
icons8_home_filled.GetBitmap(
|
1031
|
+
resize=self.icon_size, resolution=self.resolution
|
1032
|
+
)
|
1033
|
+
)
|
1034
|
+
self.button_navigate_right.SetBitmap(
|
1035
|
+
icons8_right.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
1036
|
+
)
|
1037
|
+
self.button_navigate_down_left.SetBitmap(
|
1038
|
+
icons8_down_left.GetBitmap(
|
1039
|
+
resize=self.icon_size, resolution=self.resolution
|
1040
|
+
)
|
1041
|
+
)
|
1042
|
+
self.button_navigate_down.SetBitmap(
|
1043
|
+
icons8_down.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
1044
|
+
)
|
1045
|
+
self.button_navigate_down_right.SetBitmap(
|
1046
|
+
icons8_down_right.GetBitmap(
|
1047
|
+
resize=self.icon_size, resolution=self.resolution
|
1048
|
+
)
|
1049
|
+
)
|
1050
|
+
self.button_navigate_unlock.SetBitmap(
|
1051
|
+
icons8_unlock.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
1052
|
+
)
|
1053
|
+
self.button_navigate_lock.SetBitmap(
|
1054
|
+
icons8_lock.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
1055
|
+
)
|
1056
|
+
self.button_confine.SetBitmap(
|
1057
|
+
icon_fence_closed.GetBitmap(
|
1058
|
+
resize=self.icon_size, resolution=self.resolution
|
1059
|
+
)
|
1060
|
+
)
|
1061
|
+
self.navigation_sizer.Layout()
|
961
1062
|
self.Layout()
|
962
|
-
# end wxGlade
|
963
1063
|
|
964
1064
|
def jog_left(self):
|
965
1065
|
p1 = f"-{self.context.jog_amount}"
|
@@ -1017,13 +1117,21 @@ class Jog(wx.Panel):
|
|
1017
1117
|
|
1018
1118
|
_confined = value
|
1019
1119
|
if value == 0:
|
1020
|
-
self.button_confine.SetBitmap(
|
1120
|
+
self.button_confine.SetBitmap(
|
1121
|
+
icon_fence_open.GetBitmap(
|
1122
|
+
resize=self.icon_size, resolution=self.resolution
|
1123
|
+
)
|
1124
|
+
)
|
1021
1125
|
self.button_confine.SetToolTip(
|
1022
1126
|
_("Caution: allow laser movement outside bed size")
|
1023
1127
|
)
|
1024
1128
|
# self.context("confine 0")
|
1025
1129
|
else:
|
1026
|
-
self.button_confine.SetBitmap(
|
1130
|
+
self.button_confine.SetBitmap(
|
1131
|
+
icon_fence_closed.GetBitmap(
|
1132
|
+
resize=self.icon_size, resolution=self.resolution
|
1133
|
+
)
|
1134
|
+
)
|
1027
1135
|
self.button_confine.SetToolTip(_("Limit laser movement to bed size"))
|
1028
1136
|
# self.context("confine 1")
|
1029
1137
|
|
@@ -1116,8 +1224,9 @@ class MovePanel(wx.Panel):
|
|
1116
1224
|
kwds["style"] = kwds.get("style", 0) | wx.TAB_TRAVERSAL
|
1117
1225
|
wx.Panel.__init__(self, *args, **kwds)
|
1118
1226
|
self.context = context
|
1227
|
+
iconsize = 0.5 * get_default_icon_size()
|
1119
1228
|
self.button_navigate_move_to = wx.BitmapButton(
|
1120
|
-
self, wx.ID_ANY,
|
1229
|
+
self, wx.ID_ANY, icons8_center_of_gravity.GetBitmap(resize=iconsize)
|
1121
1230
|
)
|
1122
1231
|
units = self.context.units_name
|
1123
1232
|
if units in ("inch", "inches"):
|
@@ -1370,8 +1479,9 @@ class PulsePanel(wx.Panel):
|
|
1370
1479
|
kwds["style"] = kwds.get("style", 0) | wx.TAB_TRAVERSAL
|
1371
1480
|
wx.Panel.__init__(self, *args, **kwds)
|
1372
1481
|
self.context = context
|
1482
|
+
iconsize = 0.5 * get_default_icon_size()
|
1373
1483
|
self.button_navigate_pulse = wx.BitmapButton(
|
1374
|
-
self, wx.ID_ANY,
|
1484
|
+
self, wx.ID_ANY, icons8_laser_beam.GetBitmap(resize=iconsize)
|
1375
1485
|
)
|
1376
1486
|
self.spin_pulse_duration = wx.SpinCtrl(
|
1377
1487
|
self, wx.ID_ANY, style=wx.TE_PROCESS_ENTER, value="50", min=1, max=1000
|
@@ -1437,7 +1547,7 @@ class PulsePanel(wx.Panel):
|
|
1437
1547
|
# self, wx.ID_ANY, _("Object Dimensions"), wx.HORIZONTAL
|
1438
1548
|
# )
|
1439
1549
|
# self.button_navigate_resize = wx.BitmapButton(
|
1440
|
-
# self, wx.ID_ANY,
|
1550
|
+
# self, wx.ID_ANY, icons8_compress.GetBitmap(resize=32)
|
1441
1551
|
# )
|
1442
1552
|
# self.label_9 = wx.StaticText(self, wx.ID_ANY, _("Width:"))
|
1443
1553
|
# self.label_10 = wx.StaticText(self, wx.ID_ANY, _("Height:"))
|
@@ -1459,8 +1569,8 @@ class PulsePanel(wx.Panel):
|
|
1459
1569
|
# nonzero=True,
|
1460
1570
|
# )
|
1461
1571
|
# self.btn_lock_ratio = wx.ToggleButton(self, wx.ID_ANY, "")
|
1462
|
-
# self.bitmap_locked =
|
1463
|
-
# self.bitmap_unlocked =
|
1572
|
+
# self.bitmap_locked = icons8_lock.GetBitmap(resize=STD_ICON_SIZE/2, use_theme=False)
|
1573
|
+
# self.bitmap_unlocked = icons8_unlock.GetBitmap(resize=STD_ICON_SIZE/2, use_theme=False)
|
1464
1574
|
|
1465
1575
|
# # No change of fields during input
|
1466
1576
|
# # self.text_height.execute_action_on_change = False
|
@@ -1672,33 +1782,17 @@ class Transform(wx.Panel):
|
|
1672
1782
|
kwds["style"] = kwds.get("style", 0) | wx.TAB_TRAVERSAL
|
1673
1783
|
wx.Panel.__init__(self, *args, **kwds)
|
1674
1784
|
self.context = context
|
1675
|
-
self.
|
1676
|
-
|
1677
|
-
)
|
1678
|
-
self.button_translate_up = wx.BitmapButton(
|
1679
|
-
|
1680
|
-
)
|
1681
|
-
self.
|
1682
|
-
|
1683
|
-
)
|
1684
|
-
self.
|
1685
|
-
|
1686
|
-
)
|
1687
|
-
self.button_reset = wx.BitmapButton(
|
1688
|
-
self, wx.ID_ANY, icons8_delete_50.GetBitmap()
|
1689
|
-
)
|
1690
|
-
self.button_translate_right = wx.BitmapButton(
|
1691
|
-
self, wx.ID_ANY, icons8_right_50.GetBitmap()
|
1692
|
-
)
|
1693
|
-
self.button_rotate_ccw = wx.BitmapButton(
|
1694
|
-
self, wx.ID_ANY, icons8_rotate_left_50.GetBitmap()
|
1695
|
-
)
|
1696
|
-
self.button_translate_down = wx.BitmapButton(
|
1697
|
-
self, wx.ID_ANY, icons8_down_50.GetBitmap()
|
1698
|
-
)
|
1699
|
-
self.button_rotate_cw = wx.BitmapButton(
|
1700
|
-
self, wx.ID_ANY, icons8_rotate_right_50.GetBitmap()
|
1701
|
-
)
|
1785
|
+
self.icon_size = None
|
1786
|
+
self.resolution = 5
|
1787
|
+
self.button_scale_down = wx.BitmapButton(self, wx.ID_ANY)
|
1788
|
+
self.button_translate_up = wx.BitmapButton(self, wx.ID_ANY)
|
1789
|
+
self.button_scale_up = wx.BitmapButton(self, wx.ID_ANY)
|
1790
|
+
self.button_translate_left = wx.BitmapButton(self, wx.ID_ANY)
|
1791
|
+
self.button_reset = wx.BitmapButton(self, wx.ID_ANY)
|
1792
|
+
self.button_translate_right = wx.BitmapButton(self, wx.ID_ANY)
|
1793
|
+
self.button_rotate_ccw = wx.BitmapButton(self, wx.ID_ANY)
|
1794
|
+
self.button_translate_down = wx.BitmapButton(self, wx.ID_ANY)
|
1795
|
+
self.button_rotate_cw = wx.BitmapButton(self, wx.ID_ANY)
|
1702
1796
|
self.text_a = TextCtrl(
|
1703
1797
|
self,
|
1704
1798
|
wx.ID_ANY,
|
@@ -1912,6 +2006,45 @@ class Transform(wx.Panel):
|
|
1912
2006
|
self.Layout()
|
1913
2007
|
# end wxGlade
|
1914
2008
|
|
2009
|
+
def set_icons(self, iconsize=None, dimension=None):
|
2010
|
+
if iconsize is None and dimension is not None:
|
2011
|
+
dim_x = int(dimension[0] / 3) - 8
|
2012
|
+
dim_y = int(dimension[1] / 4) - 8
|
2013
|
+
iconsize = max(15, min(dim_x, dim_y))
|
2014
|
+
self.icon_size = iconsize
|
2015
|
+
self.button_scale_down.SetBitmap(
|
2016
|
+
icons8_compress.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
2017
|
+
)
|
2018
|
+
self.button_translate_up.SetBitmap(
|
2019
|
+
icons8_up.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
2020
|
+
)
|
2021
|
+
self.button_scale_up.SetBitmap(
|
2022
|
+
icons8_enlarge.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
2023
|
+
)
|
2024
|
+
self.button_translate_left.SetBitmap(
|
2025
|
+
icons8_left.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
2026
|
+
)
|
2027
|
+
self.button_reset.SetBitmap(
|
2028
|
+
icons8_delete.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
2029
|
+
)
|
2030
|
+
self.button_translate_right.SetBitmap(
|
2031
|
+
icons8_right.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
2032
|
+
)
|
2033
|
+
self.button_rotate_ccw.SetBitmap(
|
2034
|
+
icons8_rotate_left.GetBitmap(
|
2035
|
+
resize=self.icon_size, resolution=self.resolution
|
2036
|
+
)
|
2037
|
+
)
|
2038
|
+
self.button_translate_down.SetBitmap(
|
2039
|
+
icons8_down.GetBitmap(resize=self.icon_size, resolution=self.resolution)
|
2040
|
+
)
|
2041
|
+
self.button_rotate_cw.SetBitmap(
|
2042
|
+
icons8_rotate_right.GetBitmap(
|
2043
|
+
resize=self.icon_size, resolution=self.resolution
|
2044
|
+
)
|
2045
|
+
)
|
2046
|
+
self.Layout()
|
2047
|
+
|
1915
2048
|
def pane_show(self, *args):
|
1916
2049
|
self.context.listen("emphasized", self.on_emphasized_elements_changed)
|
1917
2050
|
self.context.listen("modified", self.on_modified_element)
|
@@ -2235,15 +2368,15 @@ class NavigationPanel(wx.Panel):
|
|
2235
2368
|
jogdistancepanel = JogDistancePanel(self, wx.ID_ANY, context=self.context)
|
2236
2369
|
main_sizer.Add(jogdistancepanel, 0, wx.EXPAND, 0)
|
2237
2370
|
|
2238
|
-
|
2239
|
-
main_panels_sizer.Add(
|
2371
|
+
jogpanel = Jog(self, wx.ID_ANY, context=self.context)
|
2372
|
+
main_panels_sizer.Add(jogpanel, 1, wx.EXPAND, 0)
|
2240
2373
|
|
2241
|
-
|
2242
|
-
main_panels_sizer.Add(
|
2374
|
+
dragpanel = Drag(self, wx.ID_ANY, context=self.context)
|
2375
|
+
main_panels_sizer.Add(dragpanel, 1, wx.EXPAND, 0)
|
2243
2376
|
|
2244
2377
|
transformpanel = Transform(self, wx.ID_ANY, context=self.context)
|
2245
2378
|
|
2246
|
-
main_panels_sizer.Add(transformpanel,
|
2379
|
+
main_panels_sizer.Add(transformpanel, 1, wx.EXPAND, 0)
|
2247
2380
|
main_sizer.Add(main_panels_sizer, 0, wx.EXPAND, 0)
|
2248
2381
|
|
2249
2382
|
short_pulse = PulsePanel(self, wx.ID_ANY, context=self.context)
|
@@ -2260,14 +2393,22 @@ class NavigationPanel(wx.Panel):
|
|
2260
2393
|
self.Layout()
|
2261
2394
|
self.panels = [
|
2262
2395
|
jogdistancepanel,
|
2263
|
-
|
2264
|
-
|
2396
|
+
jogpanel,
|
2397
|
+
dragpanel,
|
2265
2398
|
transformpanel,
|
2266
2399
|
short_pulse,
|
2267
2400
|
move_panel,
|
2268
2401
|
size_panel,
|
2269
2402
|
]
|
2270
|
-
|
2403
|
+
self.Bind(wx.EVT_SIZE, self.on_resize)
|
2404
|
+
|
2405
|
+
def on_resize(self, event):
|
2406
|
+
wb_size = event.GetSize()
|
2407
|
+
panel_size = (wb_size[0] / 3, wb_size[1])
|
2408
|
+
for panel in self.panels:
|
2409
|
+
if hasattr(panel, "set_icons"):
|
2410
|
+
panel.set_icons(dimension=panel_size)
|
2411
|
+
self.Layout()
|
2271
2412
|
|
2272
2413
|
def pane_show(self):
|
2273
2414
|
for p in self.panels:
|
@@ -2290,13 +2431,13 @@ class Navigation(MWindow):
|
|
2290
2431
|
|
2291
2432
|
self.panel = NavigationPanel(self, wx.ID_ANY, context=self.context)
|
2292
2433
|
self.add_module_delegate(self.panel)
|
2293
|
-
iconsize = get_default_icon_size()
|
2434
|
+
iconsize = int(0.75 * get_default_icon_size())
|
2294
2435
|
minw = (3 + 3 + 3) * iconsize + 150
|
2295
2436
|
minh = (4 + 1) * iconsize + 170
|
2296
2437
|
super().SetSizeHints(minW=minw, minH=minh)
|
2297
2438
|
|
2298
2439
|
_icon = wx.NullIcon
|
2299
|
-
_icon.CopyFromBitmap(
|
2440
|
+
_icon.CopyFromBitmap(icons8_move.GetBitmap())
|
2300
2441
|
self.SetIcon(_icon)
|
2301
2442
|
# begin wxGlade: Navigation.__set_properties
|
2302
2443
|
self.SetTitle(_("Navigation"))
|
@@ -2308,7 +2449,7 @@ class Navigation(MWindow):
|
|
2308
2449
|
"button/preparation/Navigation",
|
2309
2450
|
{
|
2310
2451
|
"label": _("Navigation"),
|
2311
|
-
"icon":
|
2452
|
+
"icon": icons8_move,
|
2312
2453
|
"tip": _("Opens Navigation Window"),
|
2313
2454
|
"action": lambda v: kernel.console("window toggle Navigation\n"),
|
2314
2455
|
"priority": 1,
|