serial
CacheObjectSpyCNTs
Default
%Library.TMFormClass
59242,41559
59242,41559
%TMBevel
%TMButton
%TMButton
%TMButton
%Library.Boolean
0
%Library.Boolean
0
%Library.Boolean
0
%Library.String
%Library.String
%Library.TMForm
%TMMenuItem
%TMMenuItem
%TMMenuItem
%TMMenuItem
%TMMenuItem
%TMPanel
%TMPanel
%TMPanel
%TMPanel
%Library.Boolean
0
%TMShape
%TMShape
%TMShape
%TMShape
%TMShape
%TMShape
%TMShape
%Library.String
1
%Library.String
0
%TMMenuItem
%TMLabel
%TMLabel
%TMLabel
%TMLabel
%TMLabel
%TMLabel
%TMLabel
%TMLabel
%TMLabel
%TMLabel
%TMLabel
%TMLabel
%TMLabel
%TMMenuItem
%TMMenuItem
%TMMenuItem
%TMMenuItem
%TMMenuItem
%TMMenuItem
%TMMainMenu
%TMProgressBar
%TMPanel
%TMScrollBox
%TMShape
initvalue:%String
cache
0
%Status
document
literal
Args:%String
cache
0
document
literal
Args:%String
cache
0
document
literal
Args:%String
cache
0
document
literal
cache
0
document
literal
cache
0
document
literal
Value:%Library.String
cache
0
%Library.Status
document
literal
Value:%Library.RegisteredObject
cache
0
%Library.Status
document
literal
Msg:%Library.String
cache
0
document
literal
Show:%Library.Boolean=1
cache
0
document
literal
ClassName:%Library.String
cache
0
document
literal
initvalue:%String
cache
0
MApplication
document
literal
ORef:%Library.String,Reload:%Library.Boolean=0
cache
0
%Library.Boolean
document
literal
initvalue:%String
cache
0
%Library.Status
document
literal
Args:%String
cache
0
document
literal
Args:%String
cache
0
document
literal
Args:%String
cache
0
document
literal
Args:%String
cache
0
document
literal
Args:%String
cache
0
document
literal
ClassName:%Library.String
cache
0
%Library.Boolean
document
literal
ClassName:%Library.String
cache
0
%Library.Boolean
document
literal
MaxLabelWidth) MaxLabelWidth=LabelWidth
Set PropCnt=AllowedPropCnt
Set ..aProperties=PropCnt
If PropCnt=0 Do Quit 1
. Set ..PropertiesLoaded=1
. Do ..FShowMsgBar(0)
. Do MApplication.MessageBox("De klasse '"_ClassName_"' bevat enkel private properties.",..Form.Caption,$$$MBICONINFORMATION)
Set CDef=""
; --- INIT ---
Set MApplication.ScreenCursor=$$$crHourGlass
Set ..sbProperties.Visible="False"
;Interface opbouwen naargelang array
New IntLoop
Set IntLoop=1 ;Voor interface...
For PropLoop=1:1:PropCnt Do
. Set ..pbProgress.Position=(PropLoop*100)\PropCnt
. Do ..FSetMsg("Building property "_PropLoop_"/"_PropCnt_"...")
. Set IntLoop=IntLoop+1
. ;PROPERTY LABEL
. Do CreateLabel(PropLoop,IntLoop)
. ;PROPERTY EDIT
. Do CreateEdit(PropLoop,IntLoop,MaxLabelWidth)
; --- EXIT ---
Set MApplication.ScreenCursor=$$$crDefault
Set ..sbProperties.Visible="True"
Set ..PropertiesLoaded=1
Do ..FShowMsgBar(0)
Quit 1
;==============================================================================
CreateLabel(PropNr,IntNr)
New Label
Set Label=##class(%TMLabel).%New($LB(%this.sbProperties.Address,0))
If IntNr#2=0 Set Label.Left=25
Else Set Label.Left=500
Set Label.Top=((IntNr-(IntNr#2))*12)
Set Label.Caption=..aProperties(PropNr,$$$propName)_":"
Set Label.Tag=PropLoop ;Koppeling naar array...
Set Label.Enabled="False"
If (..aProperties(PropNr,$$$propCollection)'="") || (..aProperties(PropNr,$$$propDatatype)=0) Do
. Set Label.Font.Style=$LB("fsUnderline")
. Set Label.Font.Color=$$$clNavy
. Set Label.Cursor=$$$crHandPoint
. Set Label.ShowHint="True"
. Set Label.OnClick=$LB(%this,"OnLabelClick")
. If ..aProperties(PropNr,$$$propCollection)="" Do //Single value
.. Set Label.Hint="Single value: "_..aProperties(PropNr,$$$propType)
. Else Do
.. Set Label.Hint=..aProperties(PropNr,$$$propCollection)_": "_..aProperties(PropNr,$$$propType)
If ..aProperties(PropNr,$$$propMultiDimensional) Do
. Set Label.Font.Style=$LB("fsUnderline")
. Set Label.Font.Color=$$$clMaroon
. Set Label.Cursor=$$$crHandPoint
. Set Label.OnClick=$LB(%this,"OnLabelMDClick")
Set ..aProperties(PropNr,$$$propObjLabel)=Label
Quit
;==============================================================================
CreateEdit(PropNr,IntNr,MaxLabelWidth)
New Edit
;COMBO (with value items)
If (..aProperties(PropNr,$$$propValueList)'="") && (..aProperties(PropNr,$$$propCollection)="") Do
. Set Edit=##class(UI.Lib.Ctrl.TDAComboBox).%New($LB(%this.sbProperties.Address,0))
. Set Edit.DisplayList=..aProperties(PropNr,$$$propDisplayList)
. Set Edit.ValueList=..aProperties(PropNr,$$$propValueList)
;EDIT
Else Do
. Set Edit=##class(UI.Lib.Ctrl.TDAEdit).%New($LB(%this.sbProperties.Address,0))
. Set Edit.MinLen=..aProperties(PropNr,$$$propMinLen)
. Set Edit.MaxLen=..aProperties(PropNr,$$$propMaxLen)
. Set Edit.Scale=..aProperties(PropNr,$$$propScale)
. Set Edit.Pattern=..aProperties(PropNr,$$$propPattern)
If (..aProperties(PropNr,$$$propCollection)'="") || (..aProperties(PropNr,$$$propDatatype)=0) Do
. Set Edit.ReadOnly="True"
. Set Edit.BaseColor=15461355
. Set Edit.BaseFontColor=$$$clGray
. Set Edit.ShowHint="True"
. Set Edit.Hint="This field shows the object reference, click on the label for further details."
. ;Set Edit.DragMode="dmAutomatic"
. ;Set Edit.Cursor=$$$crHandPoint
. ;Set Edit.OnStartDrag=$LB(%this,"dCOMPEVENTStartDrag")
. ;Set Edit.OnEndDrag=$LB(%this,"dCOMPEVENTEndDrag")
. ;Set Edit.OnDragOver=$LB(%this,"dCOMPEVENTDragOver")
. ;Set Edit.OnDragDrop=$LB(%this,"dCOMPEVENTDragDrop")
If ..aProperties(PropNr,$$$propCollection)="" Do ;Single Value
. Set tmpType=..aProperties(PropNr,$$$propType)
. If tmpType["Integer" Set Edit.AllowedCharSet="csInteger"
. If tmpType["Float" Set Edit.AllowedCharSet="csFloat"
If ..aProperties(PropNr,$$$propMultiDimensional) Do
. Set Edit.Text="(MultiDimensional)"
Else Do
. Set Edit.CoupledProperty=..aProperties(PropNr,$$$propName)
If IntNr#2=0 Set Edit.Left=70+MaxLabelWidth
Else Set Edit.Left=520+MaxLabelWidth
Set Edit.Top=((IntNr-(IntNr#2))*12)-4
Set Edit.Width=250
Set Edit.Tag=PropNr
Set Edit.Enabled="False"
Set Edit.FCoupledORef=0
Set Edit.OnMessage=$LB(%this,"OnMessage")
Set Edit.OnEnter=$LB(%this,"OnEditEnter")
Set Edit.OnExit=$LB(%this,"OnEditExit")
Set ..aProperties(PropNr,$$$propObjEdit)=Edit
Quit
]]>
cache
0
%Library.Boolean
document
literal
ORef:%Library.String
cache
0
%Library.Boolean
document
literal
cache
0
%Library.Boolean
document
literal
Args:%String
cache
0
document
literal
Args:%String
cache
0
document
literal
Args:%String
cache
0
document
literal
cache
0
%Library.Boolean
document
literal
cache
0
%Library.Boolean
document
literal
STRING
Caché Object Spy v5
%Library.CacheSerialState
"%Library.TMFormClass"
Address
Form
CurrentORef
FCurrentORef
FCurrentClass
pnlBottom
pnlTop
btnChooseID
lblClass
lblClassName
MainMenu1
MenuItem1
MenuItem2
MenuItem3
MenuItem4
MenuItem5
MenuItem6
MenuItem7
MenuItem8
Bevel1
Panel1
Shape1
Bevel2
Label1
Label2
Label3
Label4
Label5
Label6
lblHDRClassName
lblHDRId
lblHDRReference
lblId
lblReference
FCurrentClassName
ScrollBox1
sbProperties
PropertiesLoaded
Button1
pnlMsg
lblMsg
Button2
dlgErrorList
Button3
ProgressBar1
pbProgress
Shape2
Shape3
Shape4
Panel2
Panel3
Shape5
Shape6
Shape7
lblHDRPropClassName
lblHDRProperty
lblHDRType
lblPropClassName
lblProperty
lblType
lblCollection
lblHDRCollection
lblHDRPropId
lblPropId
Panel4
Shape8
Shape9
CheckBox1
CheckBox2
CheckBox3
chkPersistent
chkRequired
chkTransient
Shape10
hmiObject
miNew
miOpen
miViaId
miViaORef
mmMain
miLoadORefs
shObjId
miSave
ClassIsDatatype
ClassIsPersistent
ClassIsSystem