Added tooltip processing to the job preferences page.
This commit is contained in:
parent
cfca656d66
commit
a3c4903d9b
|
@ -70,6 +70,9 @@
|
|||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="defaultPostProcessor">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Select one of the post processors as the default.</p></body></html></string>
|
||||
</property>
|
||||
<property name="prefEntry" stdset="0">
|
||||
<string>DefaultPostProcessor</string>
|
||||
</property>
|
||||
|
@ -106,7 +109,14 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QListWidget" name="postProcessorList"/>
|
||||
<widget class="QListWidget" name="postProcessorList">
|
||||
<property name="mouseTracking">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>It doesn't seem there are any post processor scripts installed. Pleas add some into your macro directory and make sure the file name ends with &quot;_post.py&quot;.</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
|
|
@ -34,10 +34,9 @@ class Page:
|
|||
|
||||
self.postProcessorDefaultTooltip = self.form.defaultPostProcessor.toolTip()
|
||||
self.postProcessorArgsDefaultTooltip = self.form.defaultPostProcessorArgs.toolTip()
|
||||
self.tooltip = { }
|
||||
self.processor = { }
|
||||
|
||||
def saveSettings(self):
|
||||
print("saveSettings")
|
||||
processor = str(self.form.defaultPostProcessor.currentText())
|
||||
args = str(self.form.defaultPostProcessorArgs.text())
|
||||
blacklist = []
|
||||
|
@ -48,7 +47,6 @@ class Page:
|
|||
PostProcessor.saveDefaults(processor, args, blacklist)
|
||||
|
||||
def loadSettings(self):
|
||||
print("loadSettings")
|
||||
self.form.defaultPostProcessor.addItem("")
|
||||
blacklist = PostProcessor.blacklist()
|
||||
for processor in PostProcessor.all():
|
||||
|
@ -71,12 +69,34 @@ class Page:
|
|||
self.form.defaultPostProcessorArgs.setText(PostProcessor.defaultArgs())
|
||||
|
||||
self.form.postProcessorList.itemEntered.connect(self.setProcessorListTooltip)
|
||||
self.form.defaultPostProcessor.currentIndexChanged.connect(self.updateDefaultPostProcessorToolTip)
|
||||
|
||||
def getPostProcessor(self, name):
|
||||
if not name in self.processor.keys():
|
||||
processor = PostProcessor.load(name)
|
||||
self.processor[name] = processor
|
||||
return processor
|
||||
return self.processor[name]
|
||||
|
||||
def setPostProcessorTooltip(self, widget, name, default):
|
||||
processor = self.getPostProcessor(name)
|
||||
if processor.tooltip:
|
||||
widget.setToolTip(processor.tooltip)
|
||||
else:
|
||||
widget.setToolTip(default)
|
||||
|
||||
def setProcessorListTooltip(self, item):
|
||||
if not item.text() in self.tooltip.keys():
|
||||
processor = PostProcessor.load(item.text())
|
||||
if processor.tooltip:
|
||||
self.form.postProcessorList.setToolTip(processor.tooltip)
|
||||
else:
|
||||
self.form.postProcessorList.setToolTip('')
|
||||
self.setPostProcessorTooltip(self.form.postProcessorList, item.text(), '')
|
||||
|
||||
def updateDefaultPostProcessorToolTip(self):
|
||||
name = str(self.form.defaultPostProcessor.currentText())
|
||||
if name:
|
||||
self.setPostProcessorTooltip(self.form.defaultPostProcessor, name, self.postProcessorDefaultTooltip)
|
||||
processor = self.getPostProcessor(name)
|
||||
if processor.tooltipArgs:
|
||||
self.form.defaultPostProcessorArgs.setToolTip(processor.tooltipArgs)
|
||||
else:
|
||||
self.form.defaultPostProcessorArgs.setToolTip(self.postProcessorArgsDefaultTooltip)
|
||||
else:
|
||||
self.form.defaultPostProcessor.setToolTip(self.postProcessorDefaultTooltip)
|
||||
self.form.defaultPostProcessorArgs.setToolTip(self.postProcessorArgsDefaultTooltip)
|
||||
|
|
|
@ -26,7 +26,6 @@ TOOLTIP=''' example post for Centroid CNC mill'''
|
|||
import FreeCAD
|
||||
import datetime
|
||||
now = datetime.datetime.now()
|
||||
originfile = FreeCAD.ActiveDocument.FileName
|
||||
import Path, PathScripts
|
||||
from PathScripts import PostUtils
|
||||
|
||||
|
@ -46,7 +45,7 @@ COMMENT= ';' #centroid control comment symbol
|
|||
HEADER = ""
|
||||
HEADER += ";Exported by FreeCAD\n"
|
||||
HEADER += ";Post Processor: " + __name__ +"\n"
|
||||
HEADER += ";CAM file: "+originfile+"\n"
|
||||
HEADER += ";CAM file: %s\n"
|
||||
HEADER += ";Output Time:"+str(now)+"\n"
|
||||
|
||||
TOOLRETURN = '''M5 M25
|
||||
|
@ -89,7 +88,7 @@ def export(selection,filename,argstring):
|
|||
print "No machine found in this selection"
|
||||
|
||||
gcode =''
|
||||
gcode+= HEADER
|
||||
gcode+= HEADER % (FreeCAD.ActiveDocument.FileName)
|
||||
gcode+= SAFETYBLOCK
|
||||
gcode+= UNITS+'\n'
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user