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.
(Vision module provided, supported âŠī¸
2 Likes