simulator: add button to toggle crosshair (#3616)

pull/3620/head dev-build-kaalleen-simulator-background
Kaalleen 2025-03-29 05:23:49 +00:00 zatwierdzone przez GitHub
rodzic fdd308fde1
commit dd63ef0935
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
6 zmienionych plików z 78 dodań i 1 usunięć

BIN
icons/cursor.png 100644

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 1.5 KiB

64
icons/cursor.svg 100644
Wyświetl plik

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="256"
height="256"
viewBox="0 0 256 256"
id="svg8375"
version="1.1"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
sodipodi:docname="cursor.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs8377" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.1965384"
inkscape:cx="154.56138"
inkscape:cy="137.94432"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="mm"
inkscape:window-width="1920"
inkscape:window-height="1131"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<metadata
id="metadata8380">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
d="M 210.6054,116.73562 Q 216.02899,116.73562 216.02899,122.1592 V 137.17837 Q 216.02899,142.60196 210.6054,142.60196 H 143.01916 Q 140.93317,142.60196 140.93317,144.68795 V 210.60539 Q 140.93317,216.02898 135.50958,216.02898 H 120.49042 Q 115.06683,216.02898 115.06683,210.60539 V 144.68795 Q 115.06683,142.60196 112.98084,142.60196 H 45.394597 Q 39.97101,142.60196 39.97101,137.17837 V 122.1592 Q 39.97101,116.73562 45.394597,116.73562 H 112.98084 Q 115.06683,116.73562 115.06683,114.64962 V 45.394588 Q 115.06683,39.971 120.49042,39.971 H 135.50958 Q 140.93317,39.971 140.93317,45.394588 V 114.64962 Q 140.93317,116.73562 143.01916,116.73562 Z"
id="text1"
style="font-size:417.199px;font-family:Barlow;-inkscape-font-specification:Barlow;text-align:center;letter-spacing:2.03385px;word-spacing:0px;text-anchor:middle;stroke-width:2.13543;stroke-linejoin:round"
aria-label="+" />
</g>
</svg>

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 2.5 KiB

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 1.4 KiB

Wyświetl plik

@ -200,7 +200,7 @@ class DrawingPanel(wx.Panel):
last_stitch = stitches[-1]
break
if last_stitch:
if last_stitch and self.view_panel.btnCursor.GetValue():
self.draw_crosshair(last_stitch[0], last_stitch[1], canvas, transform)
canvas.EndLayer()

Wyświetl plik

@ -33,6 +33,7 @@ class ViewPanel(ScrolledPanel):
self.stop_button_status = global_settings['stop_button_status']
self.color_change_button_status = global_settings['color_change_button_status']
self.toggle_page_button_status = global_settings['toggle_page_button_status']
self.display_crosshair_status = global_settings['display_crosshair']
self.btnNpp = wx.BitmapToggleButton(self, -1, style=self.button_style)
self.btnNpp.SetBitmap(self.control_panel.load_icon('npp'))
@ -77,6 +78,12 @@ class ViewPanel(ScrolledPanel):
self.btnBackgroundColor.SetToolTip(_("Change background color"))
self.btnBackgroundColor.Bind(wx.EVT_COLOURPICKER_CHANGED, self.on_update_background_color)
self.btnCursor = wx.BitmapToggleButton(self, -1, style=self.button_style)
self.btnCursor.SetToolTip(_('Show crosshair'))
self.btnCursor.SetBitmap(self.control_panel.load_icon('cursor'))
self.btnCursor.SetValue(self.display_crosshair_status)
self.btnCursor.Bind(wx.EVT_TOGGLEBUTTON, self.on_cursor_button)
if not self.detach_callback:
self.btnPage = wx.BitmapToggleButton(self, -1, style=self.button_style)
self.btnPage.Bind(wx.EVT_TOGGLEBUTTON, self.toggle_page)
@ -122,6 +129,7 @@ class ViewPanel(ScrolledPanel):
settings_sizer = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, _("Settings")), wx.VERTICAL)
settings_inner_sizer = wx.BoxSizer(wx.VERTICAL)
settings_inner_sizer.Add(self.btnBackgroundColor, 0, wx.EXPAND | wx.ALL, 2)
settings_inner_sizer.Add(self.btnCursor, 0, wx.EXPAND | wx.ALL, 2)
if not self.detach_callback:
settings_inner_sizer.Add(self.btnPage, 0, wx.EXPAND | wx.ALL, 2)
settings_inner_sizer.Add(self.btnSettings, 0, wx.EXPAND | wx.ALL, 2)
@ -152,6 +160,10 @@ class ViewPanel(ScrolledPanel):
self.drawing_panel.Refresh()
global_settings['npp_button_status'] = self.btnNpp.GetValue()
def on_cursor_button(self, event):
self.drawing_panel.Refresh()
global_settings['display_crosshair'] = self.btnCursor.GetValue()
def toggle_page(self, event):
debug.log("toggle page")
value = self.btnPage.GetValue()

Wyświetl plik

@ -26,6 +26,7 @@ DEFAULT_SETTINGS = {
"stop_button_status": False,
"color_change_button_status": False,
"toggle_page_button_status": True,
"display_crosshair": True,
# apply palette
"last_applied_palette": "",
# sew stack editor