-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCWMessageAdd.vb
More file actions
94 lines (87 loc) · 3.37 KB
/
CWMessageAdd.vb
File metadata and controls
94 lines (87 loc) · 3.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Imports JJTrace
Public Class CWMessageAdd
Private Const addTitle As String = "Add a CW Message"
Private Const updateTitle As String = "Update this CW Message"
Private Const alreadyDefined As String = "This key is already defined."
Private Const mustHaveText As String = "You must specify a key, a label, and some text."
''' <summary>
''' set TheItem to indicate an update.
''' Set to Nothing to indicate an add.
''' </summary>
''' <value>a MessageItem object</value>
''' <returns>a MessageItem object</returns>
Friend Property TheItem As CWMessages.MessageItem
Private newItem As CWMessages.MessageItem
Private isUpdate As Boolean
Private wasActive As Boolean
Private Sub CWMessageForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
DialogResult = Windows.Forms.DialogResult.None
wasActive = False
If TheItem Is Nothing Then
' It's an add.
Text = addTitle
isUpdate = False
clearItem()
Else
' It's an update
Text = updateTitle
KeyTextBox.Text = KeyString(TheItem.key)
MessageTextBox.Text = TheItem.message
LabelTextBox.Text = TheItem.Label
isUpdate = True
' A key has been specified.
keySpecified = True
newItem = New CWMessages.MessageItem(TheItem.key, TheItem.message, TheItem.Label)
End If
End Sub
Private Sub clearItem()
newItem = New CWMessages.MessageItem
keySpecified = False
KeyTextBox.Text = ""
MessageTextBox.Text = ""
LabelTextBox.Text = ""
End Sub
Private keySpecified As Boolean
Private Sub KeyTextBox_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles KeyTextBox.KeyDown
' Quit if preliminary press or a tab.
If (e.KeyCode = Keys.Tab) Or (e.KeyCode = Keys.Alt) Or _
(e.KeyCode = Keys.Shift) Or (e.KeyCode = Keys.Control) Then
Return
End If
Dim k As Keys = (e.KeyCode Or e.Modifiers)
e.SuppressKeyPress = True
' Allow no-key.
If k = Keys.Delete Then
k = Keys.None
Else
' Check for a dup
If Commands.lookup(k) IsNot Nothing Then
MsgBox(alreadyDefined)
Return
End If
End If
KeyTextBox.Text = KeyString(k)
newItem.key = k
keySpecified = True
End Sub
Private Sub OkButton_Click(sender As System.Object, e As System.EventArgs) Handles OkButton.Click
' Must have a key and some text
If (Not keySpecified) Or (MessageTextBox.Text = "") Or (LabelTextBox.Text = "") Then
MsgBox(mustHaveText)
Else
newItem.Label = LabelTextBox.Text
newItem.message = MessageTextBox.Text
TheItem = newItem
DialogResult = Windows.Forms.DialogResult.OK
End If
End Sub
Private Sub CnclButton_Click(sender As System.Object, e As System.EventArgs) Handles CnclButton.Click
DialogResult = Windows.Forms.DialogResult.Cancel
End Sub
Private Sub CWMessageAdd_Activated(sender As System.Object, e As System.EventArgs) Handles MyBase.Activated
If Not wasActive Then
wasActive = True
LabelTextBox.Focus()
End If
End Sub
End Class