Skip to content

Commit c2ae5d1

Browse files
committed
gmoccapy: add setting for jog button size + right pane width
1 parent a813f28 commit c2ae5d1

2 files changed

Lines changed: 138 additions & 6 deletions

File tree

src/emc/usr_intf/gmoccapy/gmoccapy.glade

Lines changed: 113 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,22 @@
2828
<property name="step-increment">1</property>
2929
<signal name="value-changed" handler="on_adj_height_value_changed" swapped="no"/>
3030
</object>
31+
<object class="GtkAdjustment" id="adj_jog_box_width">
32+
<property name="lower">100</property>
33+
<property name="upper">600</property>
34+
<property name="value">360</property>
35+
<property name="step-increment">1</property>
36+
<property name="page-increment">10</property>
37+
<signal name="value-changed" handler="on_adj_jog_box_width_value_changed" swapped="no"/>
38+
</object>
39+
<object class="GtkAdjustment" id="adj_jog_btn_size">
40+
<property name="lower">24</property>
41+
<property name="upper">64</property>
42+
<property name="value">32</property>
43+
<property name="step-increment">1</property>
44+
<property name="page-increment">10</property>
45+
<signal name="value-changed" handler="on_adj_jog_btn_size_value_changed" swapped="no"/>
46+
</object>
3147
<object class="GtkAdjustment" id="adj_kbd_height">
3248
<property name="lower">150</property>
3349
<property name="upper">500</property>
@@ -1673,10 +1689,9 @@ uncomment selection</property>
16731689
</child>
16741690
<child>
16751691
<object class="GtkButtonBox" id="vbtb_jog_incr">
1676-
<property name="width-request">110</property>
16771692
<property name="visible">True</property>
16781693
<property name="can-focus">False</property>
1679-
<property name="margin-start">5</property>
1694+
<property name="margin-start">8</property>
16801695
<property name="orientation">vertical</property>
16811696
<property name="spacing">3</property>
16821697
<property name="layout-style">expand</property>
@@ -4489,7 +4504,102 @@ clicking on the DRO</property>
44894504
</packing>
44904505
</child>
44914506
<child>
4492-
<placeholder/>
4507+
<object class="GtkFrame" id="frm_jog_settings">
4508+
<property name="visible">True</property>
4509+
<property name="can-focus">False</property>
4510+
<property name="label-xalign">0.5</property>
4511+
<child>
4512+
<!-- n-columns=2 n-rows=2 -->
4513+
<object class="GtkGrid" id="grid_jog_settings">
4514+
<property name="visible">True</property>
4515+
<property name="can-focus">False</property>
4516+
<property name="margin-top">3</property>
4517+
<child>
4518+
<object class="GtkLabel" id="lbl_jog_btn_size">
4519+
<property name="visible">True</property>
4520+
<property name="can-focus">False</property>
4521+
<property name="xpad">5</property>
4522+
<property name="ypad">5</property>
4523+
<property name="label" translatable="yes">Jog button size</property>
4524+
<property name="xalign">0</property>
4525+
</object>
4526+
<packing>
4527+
<property name="left-attach">0</property>
4528+
<property name="top-attach">0</property>
4529+
</packing>
4530+
</child>
4531+
<child>
4532+
<object class="GtkSpinButton" id="spbtn_jog_btn_size">
4533+
<property name="visible">True</property>
4534+
<property name="can-focus">True</property>
4535+
<property name="invisible-char">●</property>
4536+
<property name="width-chars">6</property>
4537+
<property name="max-width-chars">2</property>
4538+
<property name="text" translatable="yes">40</property>
4539+
<property name="xalign">1</property>
4540+
<property name="primary-icon-activatable">False</property>
4541+
<property name="secondary-icon-activatable">False</property>
4542+
<property name="adjustment">adj_jog_btn_size</property>
4543+
<property name="climb-rate">1</property>
4544+
<property name="numeric">True</property>
4545+
<property name="value">32</property>
4546+
</object>
4547+
<packing>
4548+
<property name="left-attach">1</property>
4549+
<property name="top-attach">0</property>
4550+
</packing>
4551+
</child>
4552+
<child>
4553+
<object class="GtkLabel" id="lbl_jog_box_width">
4554+
<property name="visible">True</property>
4555+
<property name="can-focus">False</property>
4556+
<property name="xpad">5</property>
4557+
<property name="ypad">5</property>
4558+
<property name="label" translatable="yes">Width right pane</property>
4559+
<property name="xalign">0</property>
4560+
</object>
4561+
<packing>
4562+
<property name="left-attach">0</property>
4563+
<property name="top-attach">1</property>
4564+
</packing>
4565+
</child>
4566+
<child>
4567+
<object class="GtkSpinButton" id="spbtn_jog_box_width">
4568+
<property name="visible">True</property>
4569+
<property name="can-focus">True</property>
4570+
<property name="invisible-char">●</property>
4571+
<property name="width-chars">6</property>
4572+
<property name="max-width-chars">3</property>
4573+
<property name="text" translatable="yes">30</property>
4574+
<property name="xalign">1</property>
4575+
<property name="primary-icon-activatable">False</property>
4576+
<property name="secondary-icon-activatable">False</property>
4577+
<property name="adjustment">adj_jog_box_width</property>
4578+
<property name="climb-rate">5</property>
4579+
<property name="numeric">True</property>
4580+
<property name="value">360</property>
4581+
</object>
4582+
<packing>
4583+
<property name="left-attach">1</property>
4584+
<property name="top-attach">1</property>
4585+
</packing>
4586+
</child>
4587+
</object>
4588+
</child>
4589+
<child type="label">
4590+
<object class="GtkLabel" id="lbl_frm_jog_settings">
4591+
<property name="visible">True</property>
4592+
<property name="can-focus">False</property>
4593+
<property name="label" translatable="yes">&lt;b&gt;Jog Area&lt;/b&gt;</property>
4594+
<property name="use-markup">True</property>
4595+
</object>
4596+
</child>
4597+
</object>
4598+
<packing>
4599+
<property name="expand">False</property>
4600+
<property name="fill">False</property>
4601+
<property name="position">2</property>
4602+
</packing>
44934603
</child>
44944604
</object>
44954605
<packing>

src/emc/usr_intf/gmoccapy/gmoccapy.py

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -647,6 +647,13 @@ def _get_pref_data(self):
647647
# Activate the recently open tab page
648648
self.widgets.ntb_tool_and_code_info.set_current_page(self.prefs.getpref("info_tab_page", 0, int))
649649

650+
self.jog_btn_size = self.prefs.getpref("jog_btn_size", 48, int)
651+
self.widgets.adj_jog_btn_size.set_value(self.jog_btn_size)
652+
653+
jog_box_width = self.prefs.getpref("jog_box_width", 360, int)
654+
self.widgets.adj_jog_box_width.set_value(jog_box_width)
655+
self.widgets.vbx_jog.set_size_request(jog_box_width, -1)
656+
650657
###############################################################################
651658
## create widgets dynamically ##
652659
###############################################################################
@@ -1315,8 +1322,7 @@ def _make_jog_button(self):
13151322
btn.set_property("tooltip-text", _("Press to jog axis {0}".format(axis)))
13161323
# Set name to assign CSS
13171324
self.widgets.vbx_jog_button.set_property("name", "jog_buttons")
1318-
btn.set_size_request(48,48)
1319-
1325+
btn.set_size_request(self.jog_btn_size, self.jog_btn_size)
13201326
self.jog_button_dic[name] = btn
13211327

13221328
def _make_joints_button(self):
@@ -1334,7 +1340,7 @@ def _make_joints_button(self):
13341340
btn.connect("pressed", self._on_btn_jog_pressed, name)
13351341
btn.connect("released", self._on_btn_jog_released, name)
13361342
btn.set_property("tooltip-text", _("Press to jog joint {0}".format(joint)))
1337-
btn.set_size_request(48,48)
1343+
btn.set_size_request(self.jog_btn_size, self.jog_btn_size)
13381344

13391345
self.joints_button_dic[name] = btn
13401346

@@ -5185,6 +5191,22 @@ def on_adj_height_value_changed(self, widget, data=None):
51855191
self.prefs.putpref("height", value, float)
51865192
self.height = value
51875193
self.widgets.window1.resize(self.width, value)
5194+
5195+
def on_adj_jog_btn_size_value_changed(self, widget, data=None):
5196+
if not self.initialized:
5197+
return
5198+
self.jog_btn_size = int(widget.get_value())
5199+
self.prefs.putpref("jog_btn_size", self.jog_btn_size, int)
5200+
self._make_jog_button()
5201+
for button in self.widgets.grid_jog_btn_axes.get_children():
5202+
button.set_size_request(self.jog_btn_size, self.jog_btn_size)
5203+
5204+
def on_adj_jog_box_width_value_changed(self, widget, data=None):
5205+
if not self.initialized:
5206+
return
5207+
value = int(widget.get_value())
5208+
self.widgets.vbx_jog.set_size_request(value, -1)
5209+
self.prefs.putpref("jog_box_width", value, int)
51885210

51895211
def on_adj_kbd_height_value_changed(self, widget, data=None):
51905212
if not self.initialized:

0 commit comments

Comments
 (0)