You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
163 lines
5.8 KiB
163 lines
5.8 KiB
Public Class frmStrukturSelect
|
|
|
|
|
|
Dim m_selectiontype As TKB.VV.Lifecycle.clslifeCycle.SelectionType
|
|
Property SelectionType As TKB.VV.Lifecycle.clslifeCycle.SelectionType
|
|
Get
|
|
Return m_selectiontype
|
|
End Get
|
|
Set(value As TKB.VV.Lifecycle.clslifeCycle.SelectionType)
|
|
m_selectiontype = value
|
|
End Set
|
|
End Property
|
|
|
|
Dim m_MultiSingle As TKB.VV.Lifecycle.clslifeCycle.SingleMultiSelectionType
|
|
Property MultiSingle As TKB.VV.Lifecycle.clslifeCycle.SingleMultiSelectionType
|
|
Get
|
|
Return m_MultiSingle
|
|
End Get
|
|
Set(value As TKB.VV.Lifecycle.clslifeCycle.SingleMultiSelectionType)
|
|
m_MultiSingle = value
|
|
End Set
|
|
End Property
|
|
|
|
Dim m_singlenode As Integer
|
|
Property SingleNode As Integer
|
|
Get
|
|
Return m_singlenode
|
|
End Get
|
|
Set(value As Integer)
|
|
m_singlenode = value
|
|
End Set
|
|
End Property
|
|
|
|
Public CheckedNodes As List(Of String) = New List(Of String)
|
|
Dim clslc As New TKB.VV.Lifecycle.clslifeCycle
|
|
Dim SourceNode As Integer = 0
|
|
|
|
Sub New()
|
|
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
|
|
End Sub
|
|
|
|
Sub New(ByVal SelType As TKB.VV.Lifecycle.clslifeCycle.SelectionType, ByVal SingleMulti As TKB.VV.Lifecycle.clslifeCycle.SingleMultiSelectionType, Optional Currentnode As Integer = 0)
|
|
|
|
InitializeComponent()
|
|
Me.SelectionType = SelType
|
|
Me.m_MultiSingle = SingleMulti
|
|
Me.SourceNode = Currentnode
|
|
|
|
End Sub
|
|
Private Sub frmStrukturSelect_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
If MultiSingle = TKB.VV.Lifecycle.clslifeCycle.SingleMultiSelectionType.MultiSelection Then
|
|
clslc.Load_Treestrukutr(Me.TreeStruktur, TKB.VV.Lifecycle.clslifeCycle.SelectionType.nur_eingesetzt, False, True, 0)
|
|
Else
|
|
clslc.Load_Treestrukutr(Me.TreeStruktur, TKB.VV.Lifecycle.clslifeCycle.SelectionType.nur_eingesetzt, False, False, 1)
|
|
End If
|
|
Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
|
|
Me.TreeStruktur.ExpandAll()
|
|
'Me.CheckedNodes.Clear()
|
|
For Each s As String In Me.CheckedNodes
|
|
Dim tn As New DevComponents.AdvTree.Node
|
|
tn = clslc.FindNode_string(Me.TreeStruktur.Nodes, 0, s)
|
|
tn.Checked = True
|
|
Next
|
|
Try
|
|
|
|
Dim tn As New DevComponents.AdvTree.Node
|
|
tn = clslc.FindNode(Me.TreeStruktur.Nodes, SourceNode, SourceNode)
|
|
tn.Remove()
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub TreeStruktur_BeforeCheck(sender As Object, e As DevComponents.AdvTree.AdvTreeCellBeforeCheckEventArgs) Handles TreeStruktur.BeforeCheck
|
|
|
|
'If Me.SelectionType = 1 Then
|
|
' 'MsgBox(Me.TreeStruktur.CheckedNodes.Count)
|
|
|
|
' Dim Allnodes As List(Of String) = New List(Of String)
|
|
' Dim subnodes As List(Of String) = New List(Of String)
|
|
' Dim i As Integer
|
|
|
|
' For Each n As DevComponents.AdvTree.Node In Me.TreeStruktur.SelectedNodes
|
|
' subnodes = GetChildren(n)
|
|
' For i = 0 To subnodes.Count - 1
|
|
' AllNodes.Add(subnodes(i))
|
|
' Next
|
|
' AllNodes.Add(n.Tag)
|
|
' Next
|
|
' For i = Allnodes.Count - 1 To 0 Step -1
|
|
' Dim tn As New DevComponents.AdvTree.Node
|
|
' tn = clslc.FindNode(Me.TreeStruktur.Nodes, Allnodes(i), Allnodes(i))
|
|
' tn.Checked = False
|
|
' Next
|
|
'End If
|
|
|
|
End Sub
|
|
|
|
|
|
Function GetChildren(parentNode As DevComponents.AdvTree.Node) As List(Of String)
|
|
Dim nodes As List(Of String) = New List(Of String)
|
|
GetAllChildren(parentNode, nodes)
|
|
Return nodes
|
|
End Function
|
|
|
|
Sub GetAllChildren(parentNode As DevComponents.AdvTree.Node, nodes As List(Of String))
|
|
For Each childNode As DevComponents.AdvTree.Node In parentNode.Nodes
|
|
nodes.Add(childNode.Tag)
|
|
GetAllChildren(childNode, nodes)
|
|
Next
|
|
End Sub
|
|
Private Shared Iterator Function AllNodes(ByVal nodes As DevComponents.AdvTree.NodeCollection) As IEnumerable
|
|
For i As Integer = 0 To nodes.Count - 1
|
|
Dim node As DevComponents.AdvTree.Node = nodes(i)
|
|
Yield node
|
|
If node.Nodes.Count > 0 Then
|
|
Try
|
|
For Each item As DevComponents.AdvTree.Node In AllNodes(node.Nodes)
|
|
Yield item
|
|
Next item
|
|
Catch
|
|
End Try
|
|
|
|
End If
|
|
Next i
|
|
End Function
|
|
|
|
|
|
Private Sub TreeStruktur_DoubleClick(sender As Object, e As EventArgs) Handles TreeStruktur.DoubleClick
|
|
If MultiSingle = TKB.VV.Lifecycle.clslifeCycle.SingleMultiSelectionType.SingleSelection And clslc.IstStruktur(Me.TreeStruktur.SelectedNode.Tag) = False Then
|
|
Me.SingleNode = Me.TreeStruktur.SelectedNode.Tag
|
|
Me.DialogResult = Windows.Forms.DialogResult.OK
|
|
Me.Close()
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub TreeStruktur_NodeClick(sender As Object, e As DevComponents.AdvTree.TreeNodeMouseEventArgs) Handles TreeStruktur.NodeClick
|
|
If Me.TreeStruktur.SelectedNode.Checked = True Then
|
|
Me.CheckedNodes.Add(Me.TreeStruktur.SelectedNode.Text)
|
|
Else
|
|
For i As Integer = CheckedNodes.Count - 1 To 0 Step -1
|
|
If CheckedNodes(i) = Me.TreeStruktur.SelectedNode.Text Then
|
|
CheckedNodes.Remove(i)
|
|
Exit Sub
|
|
End If
|
|
Next
|
|
End If
|
|
End Sub
|
|
End Class |