Is there an equivalent of SampleQuickstart for vision?

SampleQuickstart has a set of pages with examples of every perspective component, is there an equivalent for vision?

Nope.

Is the end goal some kind of programmatic validation/verification? There's a fair number of deprecated, no-longer-able-to-be-created Vision components, for instance.

No, just a 'here's what every component looks like on page and what params it takes', in a form a little bit easier to parse than a webpage

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