def OnSettingChange(self, e): for panel in self.panelList: idx = self.panelList.index(panel) for k in panel.paramCtrls.keys(): self.pluginConfig[idx]['params'][k] = panel.paramCtrls[k].GetValue() pluginInfo.setPostProcessPluginConfig(self.pluginConfig) self.callback()
def OnSettingChange(self, e): changed_panel = e.GetEventObject().GetParent() panelChildren = changed_panel.GetSizer().GetChildren() for panelChild in panelChildren: panelWidget = panelChild.GetWindow() # The only disabled textctrl by line is the one containing the height info if isinstance(panelWidget, wx.TextCtrl) and not panelWidget.IsEnabled(): height_value = 0 try: height_value = float( e.GetEventObject().GetValue()) * float( profile.getProfileSettingFloat('layer_height')) except: print "Invalid user value in pause input: '%s'" % e.GetEventObject( ).GetValue() if (e.IsCommandEvent()): panelWidget.SetValue(str(height_value) + ' mm') for panel in self.panelList: idx = self.panelList.index(panel) for k in panel.paramCtrls.keys(): self.pluginConfig[idx]['params'][k] = panel.paramCtrls[ k].GetValue() pluginInfo.setPostProcessPluginConfig(self.pluginConfig) self.callback()
def OnSettingChange(self, e): for panel in self.panelList: idx = self.panelList.index(panel) for k in panel.paramCtrls.keys(): self.pluginConfig[idx]['params'][k] = panel.paramCtrls[ k].GetValue() pluginInfo.setPostProcessPluginConfig(self.pluginConfig) self.callback()
def OnAdd(self, e): if self.listbox.GetSelection() < 0: wx.MessageBox(_("You need to select a plugin before you can add anything."), _("Error: no plugin selected"), wx.OK | wx.ICON_INFORMATION) return p = self.pluginList[self.listbox.GetSelection()] newConfig = {'filename': p.getFilename(), 'params': {}} if not self._buildPluginPanel(newConfig): return self.pluginConfig.append(newConfig) pluginInfo.setPostProcessPluginConfig(self.pluginConfig) self.callback()
def OnSettingChange(self, e): for panel in self.panelList: idx = self.panelList.index(panel) for k in panel.paramCtrls.keys(): if panel.paramCtrls[k] == e.GetEventObject(): if type(panel.paramCtrls[k].GetValue()) == bool: self.pluginConfig[idx]['params'][k] = int(panel.paramCtrls[k].GetValue()) else: self.pluginConfig[idx]['params'][k] = panel.paramCtrls[k].GetValue() pluginInfo.setPostProcessPluginConfig(self.pluginConfig) self.callback()
def OnAddLayer(self, e): scene = self.GetParent().GetParent().GetParent().GetParent().scene if scene.viewMode == 'normal': pauseLevelLayer = 2 else: pauseLevelLayer = scene._engineResultView.layerSelect.getValue() newConfig = {'filename': self.plugin.getFilename(), 'params': { 'pauseLevelLayer': str(pauseLevelLayer) }} if not self._buildPluginPanel(newConfig): return self.pluginConfig.append(newConfig) pluginInfo.setPostProcessPluginConfig(self.pluginConfig) self.callback()
def OnAddHeight(self, e): scene = self.GetParent().GetParent().GetParent().GetParent().scene if scene.viewMode == 'normal': pauseLevel = 5.0 else: pauseLevel = scene._engineResultView.layerSelect.getValue() * float(profile.getProfileSettingFloat('layer_height')) newConfig = {'filename': self.plugin.getFilename(), 'params': { 'pauseLevel': str(pauseLevel) }} if not self._buildPluginPanel(newConfig): return self.pluginConfig.append(newConfig) pluginInfo.setPostProcessPluginConfig(self.pluginConfig) self.callback()
def __init__(self, parent, callback): wx.Panel.__init__(self, parent, -1) #Plugin page self.plugin = pluginInfo.getPlugin("postprocess", 'pauseAtZ-ByDagoma.py') self.callback = callback pluginInfo.setPostProcessPluginConfig() sizer = wx.GridBagSizer(1, 1) self.SetSizer(sizer) lPauseTitle = wx.StaticText(self, -1, _("Add a pause")) # (92, 27) is the default size of a TextCtrl and (80, 17) is the default size of a StaticText addLayerButton = wx.Button(self, id=-1, label="+", style=wx.BU_EXACTFIT) addLayerButtonToolTip = wx.ToolTip(_("Add a pause at the layer selected in the 3D view")) addLayerButton.SetToolTip(addLayerButtonToolTip) sb = wx.StaticBox(self) boxsizer = wx.StaticBoxSizer(sb, wx.VERTICAL) boxsizer.SetMinSize(wx.Size(0, 170)) self.pluginEnabledPanel = scrolledpanel.ScrolledPanel(self) self.pluginEnabledPanel.SetupScrolling(False, True) sizer.Add(boxsizer, pos=(0,0), span=(1,1), flag=wx.EXPAND) mysizer = wx.GridBagSizer(2, 4) mysizer.Add(lPauseTitle, pos=(0,0), span=(1,2), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) mysizer.Add(addLayerButton, pos=(0,2), span=(1,2), flag=wx.ALIGN_LEFT) #mysizer.Add(hPauseTitle, pos=(0,2), span=(1,1), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) #mysizer.Add(addHeightButton, pos=(0,3), span=(1,1), flag=wx.ALIGN_LEFT) mysizer.Add(wx.StaticLine(self), pos=(1,0), span=(1,4), flag=wx.EXPAND|wx.ALL, border=3) mysizer.AddGrowableCol(0) mysizer.AddGrowableCol(1) mysizer.AddGrowableCol(2) mysizer.AddGrowableCol(3) boxsizer.Add(mysizer, 0, flag=wx.EXPAND) boxsizer.Add(self.pluginEnabledPanel, 1, flag=wx.EXPAND) self.boxsizer = boxsizer sizer.AddGrowableCol(0) sizer = wx.BoxSizer(wx.VERTICAL) self.pluginEnabledPanel.SetSizer(sizer) #self.Bind(wx.EVT_BUTTON, self.OnAddHeight, addHeightButton) self.Bind(wx.EVT_BUTTON, self.OnAddLayer, addLayerButton) self.panelList = [] self.updateProfileToControls()
def OnAddLayer(self, e): scene = self.GetParent().GetParent().GetParent().GetParent().scene if scene.viewMode == 'normal': pauseLevelLayer = 2 else: pauseLevelLayer = scene._engineResultView.layerSelect.getValue() newConfig = { 'filename': self.plugin.getFilename(), 'params': { 'pauseLevelLayer': str(pauseLevelLayer) } } if not self._buildPluginPanel(newConfig): return self.pluginConfig.append(newConfig) pluginInfo.setPostProcessPluginConfig(self.pluginConfig) self.callback()
def OnAddHeight(self, e): scene = self.GetParent().GetParent().GetParent().GetParent().scene if scene.viewMode == 'normal': pauseLevel = 5.0 else: pauseLevel = scene._engineResultView.layerSelect.getValue( ) * float(profile.getProfileSettingFloat('layer_height')) newConfig = { 'filename': self.plugin.getFilename(), 'params': { 'pauseLevel': str(pauseLevel) } } if not self._buildPluginPanel(newConfig): return self.pluginConfig.append(newConfig) pluginInfo.setPostProcessPluginConfig(self.pluginConfig) self.callback()
def OnRem(self, e): panel = e.GetEventObject().GetParent() sizer = self.pluginEnabledPanel.GetSizer() idx = self.panelList.index(panel) panel.Show(False) for p in self.panelList: sizer.Detach(p) self.panelList.pop(idx) for p in self.panelList: sizer.Add(p, flag=wx.EXPAND) self.pluginEnabledPanel.Layout() self.pluginEnabledPanel.SetSize((1, 1)) self.Layout() self.pluginConfig.pop(idx) pluginInfo.setPostProcessPluginConfig(self.pluginConfig) self.callback()
def OnRem(self, e): panel = e.GetEventObject().GetParent() sizer = self.pluginEnabledPanel.GetSizer() idx = self.panelList.index(panel) panel.Show(False) for p in self.panelList: sizer.Detach(p) self.panelList.pop(idx) for p in self.panelList: sizer.Add(p, flag=wx.EXPAND) self.pluginEnabledPanel.Layout() self.pluginEnabledPanel.SetSize((1,1)) self.Layout() self.pluginConfig.pop(idx) pluginInfo.setPostProcessPluginConfig(self.pluginConfig) self.callback()
def OnSettingChange(self, e): changed_panel = e.GetEventObject().GetParent() panelChildren = changed_panel.GetSizer().GetChildren() for panelChild in panelChildren: panelWidget = panelChild.GetWindow() # The only disabled textctrl by line is the one containing the height info if isinstance(panelWidget, wx.TextCtrl) and not panelWidget.IsEnabled(): height_value = 0 try: height_value = float(e.GetEventObject().GetValue()) * float(profile.getProfileSettingFloat('layer_height')) except: print "Invalid user value in pause input: '%s'" % e.GetEventObject().GetValue() if(e.IsCommandEvent()): panelWidget.SetValue(str(height_value) + ' mm') for panel in self.panelList: idx = self.panelList.index(panel) for k in panel.paramCtrls.keys(): self.pluginConfig[idx]['params'][k] = panel.paramCtrls[k].GetValue() pluginInfo.setPostProcessPluginConfig(self.pluginConfig) self.callback()
def __init__(self, parent, callback): wx.Panel.__init__(self, parent, -1) #Plugin page self.plugin = pluginInfo.getPlugin("postprocess", 'pauseAtZ-ByDagoma.py') self.callback = callback pluginInfo.setPostProcessPluginConfig() sizer = wx.GridBagSizer(1, 1) self.SetSizer(sizer) lPauseTitle = wx.StaticText( self, -1, _("Add a pause") ) # (92, 27) is the default size of a TextCtrl and (80, 17) is the default size of a StaticText addLayerButton = wx.Button(self, id=-1, label="+", style=wx.BU_EXACTFIT) addLayerButtonToolTip = wx.ToolTip( _("Add a pause at the layer selected in the 3D view")) addLayerButton.SetToolTip(addLayerButtonToolTip) sb = wx.StaticBox(self) boxsizer = wx.StaticBoxSizer(sb, wx.VERTICAL) boxsizer.SetMinSize(wx.Size(0, 170)) self.pluginEnabledPanel = scrolledpanel.ScrolledPanel(self) self.pluginEnabledPanel.SetupScrolling(False, True) sizer.Add(boxsizer, pos=(0, 0), span=(1, 1), flag=wx.EXPAND) mysizer = wx.GridBagSizer(2, 4) mysizer.Add(lPauseTitle, pos=(0, 0), span=(1, 2), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) mysizer.Add(addLayerButton, pos=(0, 2), span=(1, 2), flag=wx.ALIGN_LEFT) #mysizer.Add(hPauseTitle, pos=(0,2), span=(1,1), flag=wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) #mysizer.Add(addHeightButton, pos=(0,3), span=(1,1), flag=wx.ALIGN_LEFT) mysizer.Add(wx.StaticLine(self), pos=(1, 0), span=(1, 4), flag=wx.EXPAND | wx.ALL, border=3) mysizer.AddGrowableCol(0) mysizer.AddGrowableCol(1) mysizer.AddGrowableCol(2) mysizer.AddGrowableCol(3) boxsizer.Add(mysizer, 0, flag=wx.EXPAND) boxsizer.Add(self.pluginEnabledPanel, 1, flag=wx.EXPAND) self.boxsizer = boxsizer sizer.AddGrowableCol(0) sizer = wx.BoxSizer(wx.VERTICAL) self.pluginEnabledPanel.SetSizer(sizer) #self.Bind(wx.EVT_BUTTON, self.OnAddHeight, addHeightButton) self.Bind(wx.EVT_BUTTON, self.OnAddLayer, addLayerButton) self.panelList = [] self.updateProfileToControls()