Is there an equivalent of SampleQuickstart for vision?

Doesn't show you what they look like on a page, but for "every property every [1]component" takes:

from com.inductiveautomation.ignition.common.beans import BeanInfoFactory
from java.lang import Class

classpath = "com.inductiveautomation.factorypmi.application.components"
components = [
	"PMITextField",
	"PMINumericTextField",
	"PMISpinner",
	"PMIFormattedTextField",
	"PMIPasswordField",
	"PMITextArea",
	"PMIComboBox",
	"PMISlider",
	"LanguageSelector",
	"PMIButton",
	"PMI2StateButton",
	"PMINStateButton",
	"PMIControlButton",
	"PMIMomentaryButton2",
	"PMIToggleButton",
	"PMICheckBox",
	"PMIRadioButton",
	"tabstrip.PMITabStrip",
	"PMILabel",
	"PMINumericLabel",
	"PMIMultiStateIndicator",
	"PMIDigitalDisplay",
	"MovingAnalogIndicator",
	"PMIImage",
	"PMIProgressBar",
	"PMICylindricalTank",
	"PMIFillLevelIndicator",
	"LinearScale",
	"PMIBarcode",
	"PMIMeter",
	"PMICompass",
	"PMIThermometer",
	"PMIIPCamViewer",
	"PMITable",
	"VisionAdvancedTable",
	"PMIList",
	"PMITreeView",
	"PMICommentsPanel2",
	"TagBrowseTree",
	"PMIEasyChart",
	"PMIChart",
	"SparklineChart",
	"PMIBarChart",
	"RadarChart2",
	"statuschart.PMIStatusChart",
	"PMIPieChart",
	"PMIBoxWhiskerChart",
	"EquipmentScheduleView",
	"PMIGanttChart",
	"PMIDateTimeSelector",
	"PMIDateTimePopupSelector",
	"PMIDateRange",
	"PMIDayView",
	"PMIWeekView",
	"PMIMonthView",
	"UserManagementPanel",
	"ScheduleManagementPanel",
	"AlarmStatusTable",
	"AlarmJournalTable",
	"BasicContainer",
	"TemplateRepeater",
	"TemplateCanvas",
	"PMIPaintableCanvas",
	"PMILine",
	"PMIPipe",
	"PMIPipeJoint",
	"PMISoundComponent",
	"PMITimer",
	"PMISignalGenerator",
]

for component in components:
	classname = classpath + "." + component
	c = Class.forName(classpath + "." + component)
	bi = BeanInfoFactory.getBeanInfo(c)
	print classname
	for pd in bi.propertyDescriptors:
		print '  ', pd.name
		
#	print "methods"
#	for md in bi.methodDescriptors:
#		print md
		
	break # there's a lot, comment if you want them all

e.x.

>>> 
com.inductiveautomation.factorypmi.application.components.PMITextField
   border
   bounds
   commitOnFocusLost
   componentEnabled
   cursorCode
   dataQuality
   deferUpdates
   dynamicProps
   editable
   editableBackground
   font
   foreground
   horizontalAlignment
   keyboardName
   maxChars
   name
   nonEditableBackground
   preferredSize
   protectedMode
   quality
   rejectUpdatesDuringEdit
   styles
   text
   toolTipText
   touchscreenMode
   visible

The PropertyDescriptor objects are pretty rich and also contain descriptions, categories, etc.


  1. (Vision module provided, supported ↩︎

2 Likes