Cluster Analysis
DendroGenUI.cls
'This class creates a Cluster Analysis command for use in the context menu of a feature layer.
Option Explicit
Implements ICommand
Private m_pApp As IApplication
Private m_pMXDoc As IMxDocument
Private m_pFeatLayer As IFeatureLayer
Private m_pForm As frmMakeDendro
Private Property Get ICommand_Bitmap() As esriCore.OLE_HANDLE
End Property
Private Property Get ICommand_Caption() As String
ICommand_Caption = "Cluster Analysis"
End Property
Private Property Get ICommand_Category() As String
ICommand_Category = "Analysis Samples"
End Property
Private Property Get ICommand_Checked() As Boolean
End Property
Private Property Get ICommand_Enabled() As Boolean
Dim pUnKnown As IUnknown
' enable if command is in a feature layer context menu
ICommand_Enabled = False
Set pUnKnown = m_pMXDoc.ContextItem
If TypeOf pUnKnown Is IFeatureLayer Then
Set m_pFeatLayer = pUnKnown
ICommand_Enabled = True
End If
End Property
Private Property Get ICommand_HelpContextID() As Long
End Property
Private Property Get ICommand_HelpFile() As String
End Property
Private Property Get ICommand_Message() As String
ICommand_Message = "Performs cluster analysis and creates a dendrogram"
End Property
Private Property Get ICommand_Name() As String
ICommand_Name = "Visualization_Dendrogram"
End Property
Private Sub ICommand_OnClick()
Set m_pForm.SourceLayer = m_pFeatLayer
Set m_pForm.MxDocument = m_pMXDoc
m_pForm.Show vbModal
End Sub
Private Sub ICommand_OnCreate(ByVal hook As Object)
Set m_pApp = hook
Set m_pMXDoc = m_pApp.Document
Set m_pForm = New frmMakeDendro
End Sub
Private Property Get ICommand_Tooltip() As String
ICommand_Tooltip = "Performs cluster analysis and creates a dendrogram"
End Property