From dc54135db5534c8b84b428a500ab4ce57bc9fc75 Mon Sep 17 00:00:00 2001 From: daid Date: Fri, 4 May 2012 12:39:23 +0200 Subject: [PATCH] Fixed bug where tooltip was still shown when pressing open/save button on project planner. Added toolbar buttons for add/remove object in project planner. Added move up/down buttons to project planner. --- Cura/gui/projectPlanner.py | 40 ++++++++++++++++++++++++++++++++-- Cura/gui/toolbarUtil.py | 7 +++++- Cura/images/move-down.png | Bin 0 -> 623 bytes Cura/images/move-up.png | Bin 0 -> 672 bytes Cura/images/object-add.png | Bin 0 -> 926 bytes Cura/images/object-remove.png | Bin 0 -> 941 bytes 6 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 Cura/images/move-down.png create mode 100644 Cura/images/move-up.png create mode 100644 Cura/images/object-add.png create mode 100644 Cura/images/object-remove.png diff --git a/Cura/gui/projectPlanner.py b/Cura/gui/projectPlanner.py index 97b9bbc8..2095042f 100644 --- a/Cura/gui/projectPlanner.py +++ b/Cura/gui/projectPlanner.py @@ -61,6 +61,13 @@ class projectPlanner(wx.Frame): toolbarUtil.NormalButton(self.toolbar, self.OnQuit, 'exit.png', 'Close project planner') self.toolbar.Realize() + + self.toolbar2 = toolbarUtil.Toolbar(self) + toolbarUtil.NormalButton(self.toolbar2, self.OnAddModel, 'object-add.png', 'Add model') + toolbarUtil.NormalButton(self.toolbar2, self.OnRemModel, 'object-remove.png', 'Remove model') + toolbarUtil.NormalButton(self.toolbar2, self.OnMoveUp, 'move-up.png', 'Move model up in print list') + toolbarUtil.NormalButton(self.toolbar2, self.OnMoveDown, 'move-down.png', 'Move model down in print list') + self.toolbar2.Realize() sizer = wx.GridBagSizer(2,2) self.SetSizer(sizer) @@ -71,7 +78,8 @@ class projectPlanner(wx.Frame): self.sliceButton = wx.Button(self, -1, "Slice") self.autoPlaceButton = wx.Button(self, -1, "Auto Place") - sizer.Add(self.toolbar, (0,0), span=(1,3), flag=wx.EXPAND) + sizer.Add(self.toolbar, (0,0), span=(1,1), flag=wx.EXPAND) + sizer.Add(self.toolbar2, (0,1), span=(1,2), flag=wx.EXPAND) sizer.Add(self.preview, (1,0), span=(4,1), flag=wx.EXPAND) sizer.Add(self.listbox, (1,1), span=(1,2), flag=wx.EXPAND) sizer.Add(self.addButton, (2,1), span=(1,1)) @@ -169,6 +177,7 @@ class projectPlanner(wx.Frame): item.swapYZ = cp.get(section, 'swapYZ') == 'True' if cp.has_option(section, 'extruder'): item.extuder = int(cp.get(section, 'extruder'))-1 + self.updateModelTransform(item) i += 1 self.list.append(item) @@ -231,9 +240,36 @@ class projectPlanner(wx.Frame): elif len(self.list) > 0: self.listbox.SetSelection(len(self.list) - 1) self.selection = None - self.OnListSelect(None) self.preview.Refresh() + def OnMoveUp(self, e): + if self.selection == None: + return + i = self.listbox.GetSelection() + if i == 0: + return + self.list.remove(self.selection) + self.list.insert(i-1, self.selection) + self._updateListbox() + self.preview.Refresh() + + def OnMoveDown(self, e): + if self.selection == None: + return + i = self.listbox.GetSelection() + if i == len(self.list) - 1: + return + self.list.remove(self.selection) + self.list.insert(i+1, self.selection) + self._updateListbox() + self.preview.Refresh() + + def _updateListbox(self): + self.listbox.Clear() + for item in self.list: + self.listbox.AppendAndEnsureVisible(os.path.split(item.filename)[1]) + self.listbox.SetSelection(self.list.index(self.selection)) + def OnAutoPlace(self, e): bestAllowedSize = int(self.machineSize.y) bestArea = self._doAutoPlace(bestAllowedSize) diff --git a/Cura/gui/toolbarUtil.py b/Cura/gui/toolbarUtil.py index eba0a0b0..1ec088ef 100644 --- a/Cura/gui/toolbarUtil.py +++ b/Cura/gui/toolbarUtil.py @@ -180,6 +180,7 @@ class NormalButton(buttons.GenBitmapButton): super(NormalButton, self).__init__(parent, id, self.bitmap, size=size) self.helpText = helpText + self.callback = callback self.SetBezelWidth(1) self.SetUseFocusIndicator(False) @@ -187,10 +188,14 @@ class NormalButton(buttons.GenBitmapButton): self.Bind(wx.EVT_ENTER_WINDOW, self.OnMouseEnter) self.Bind(wx.EVT_LEAVE_WINDOW, self.OnMouseLeave) - self.Bind(wx.EVT_BUTTON, callback) + self.Bind(wx.EVT_BUTTON, self.OnButton) parent.AddControl(self) + def OnButton(self, event): + self.GetParent().OnPopupHide(event) + self.callback(event) + def OnMouseEnter(self, event): self.GetParent().OnPopupDisplay(event) event.Skip() diff --git a/Cura/images/move-down.png b/Cura/images/move-down.png new file mode 100644 index 0000000000000000000000000000000000000000..5891219e49603b6409d5479247ef1fa8a8cf71c2 GIT binary patch literal 623 zcmV-#0+9WQP)9KeakxIdTpje7cQjq<2c!^ z`Zm_SltDZPAt&#frRYyLt2KB&-G(%{q(iVQLTLEmE7;x%Q2E-zMx_cKcr*5=`6qt_ zJ8$Qx>E38HYSm`*8wpg%DHAF6Ak@qu=tdr9ZV&@0hK{|pLTM+EAS1zES!j~^>gMV) zSJgD~g*+^)fTA^sp+W%}T|?#b>p<{m+*@08kigJI_+;7}FTlfl=m%yDpG=!Ydu;Nd zxN@f?(x%l?jNxPW8<>{Ae&FyaVOl4ItmVe>FR)CpL^X>&_z8O)@9BsigdhL_002ov JPDHLkV1jC@76SkP literal 0 HcmV?d00001 diff --git a/Cura/images/move-up.png b/Cura/images/move-up.png new file mode 100644 index 0000000000000000000000000000000000000000..b3d9cef97e16ca46909765c0a67091c97908660b GIT binary patch literal 672 zcmV;R0$=@!P)0b000McNliru*9;vE5edJ)+6{olpPkPT$sbOg93kgUk5S3}N14Mj zJ9`2QPnU^Q!($^(CTVNfnvCJd_^zB_{%mUB`TqliV3)SpD2)!M;I1`LS5+JxL^j zO~OgoFbrKmJg8}SpP#!u{Y2f#ZY)Tn8ycjY)X_29v1zB_c}-ACQP&!9y++%+cK|hQ zcVTYU5iEd=eDJ6R!6Ub4fC}%BEHs50WXy+95J(Yr%Kip{H}1g9jtZOr0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iye& z3Kj{5dFFNi00SOLL_t(I%XO1WXk2v|#ea8Z?#$d|CYeqjd6+al+DHthjm4D)1u;@= zVrwl}5vo=wv7oq6M7nShDHIhcK3am-owzI|kopRQHjo4t%HWhtSMUHRYaUfy} zN!AyB$g1dBHS)>BFOA&1BVcBz*H+b6ROH=oQ}>R#wnKQtkd0r(4tQCe{gGRLO)RR& zM=J7F=c}WIe*v+f-fl!s1UBvNs%v|J;HI6RW!%&(3nTqBw?Brbs)bT6!OH9enZ)#% z8uQ_vV^=R&v7z2`h#c9n^F=Ed?Vy-Ru#uR?l(JNEaROF}`j!Wwn8F*{jwcu<9iL%k zc7l9r@mrr7dAarJ&#g)(Nj5%$l+y%q3G(SU>7`{JIs6&6Qw_NVG&hHpo?&xi2ena{ z9K3PJry@DUs`Up0grnOjB(6~vjSz`CIOL(Y2*wY^Whg9>kB^aE7$tb$LDWdjry?ML z<;SjV#SVliu8t$wRctR<`FZdt<@hBs>07u?1pEQC;-Vt>)CdZI0WE&Yw!yjc zORT3{p6_a;r$iLv?dkrd5 z^7b8Qc_O>EbiWhYiXCdYT`s3UE1+dYuZ+>xKgCazDXRCvdiifg2j=8+TmCPDdjzyv3XMXi2fudJk zgZsZT{d#&=yBc|4MGimk+oB`O2xb zZWVbCkv%GMy6ePzL(AKt*UCYM_{qfA!0Q120HrdU_LO0@pa1{>07*qoM6N<$f`@9d ADF6Tf literal 0 HcmV?d00001 diff --git a/Cura/images/object-remove.png b/Cura/images/object-remove.png new file mode 100644 index 0000000000000000000000000000000000000000..064e523caa1f55d66615dd4f4237f49790697909 GIT binary patch literal 941 zcmV;e15*5nP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iye& z3KtQK4o_hK00S*aL_t(I%XO1)OwVlwjFIu$*nB5#yd z?<#hd7x_E-ZAwLZ)R7N2y*zOJjsa7B&8Dipq9TU_6%Ey8q1_aSLn=0c>2a}Oeb3En zqcbYy7yyD-#uVQQTum{HLm*hma{MxDg2faEefUU2W(J%>$jrg=Ea}(H0vLsuMH?|a0Wu3eBdG;0M{jZHlVe0@7irw?<3M8x-;L)v-eWO+eTY3fgI>nJ zY`B?EUsX*_s3tF|CVoD)Qp7B14VV4_M!qF3eB}>(nVUpT`vrlQ?~vj_7addTm!#ed@2-2Ymi}G5r;* z=9L6!j&MyW2amo*=&60IL?Re|KVldxj9lc?=`red_{ZJiIE_oQLv2^4e>fa`@agJ` zx<*`qhaqiYU~uimGLGYr85_f6nn)%?I+5Uy0!d5QmbuSc` zZ)xPC&M#->uCIzaMI7d$QE3bQ^LEq!!NndupnLnfD;K3A+CQIhmX1i?i{L P00000NkvXXu0mjfo5Z`6 literal 0 HcmV?d00001 -- 2.30.2