summaryrefslogtreecommitdiff
path: root/storage/ndb/src/cw/cpcc-win32/vb6/frmMain.frm
diff options
context:
space:
mode:
Diffstat (limited to 'storage/ndb/src/cw/cpcc-win32/vb6/frmMain.frm')
-rw-r--r--storage/ndb/src/cw/cpcc-win32/vb6/frmMain.frm1207
1 files changed, 1207 insertions, 0 deletions
diff --git a/storage/ndb/src/cw/cpcc-win32/vb6/frmMain.frm b/storage/ndb/src/cw/cpcc-win32/vb6/frmMain.frm
new file mode 100644
index 00000000000..a4bf5b58941
--- /dev/null
+++ b/storage/ndb/src/cw/cpcc-win32/vb6/frmMain.frm
@@ -0,0 +1,1207 @@
+VERSION 5.00
+Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
+Begin VB.Form frmMain
+ Caption = "NdbCPC"
+ ClientHeight = 5955
+ ClientLeft = 2115
+ ClientTop = 2250
+ ClientWidth = 8880
+ LinkTopic = "Form1"
+ ScaleHeight = 5955
+ ScaleWidth = 8880
+ Begin MSComctlLib.ImageList ImageList1
+ Left = 6840
+ Top = 3120
+ _ExtentX = 1005
+ _ExtentY = 1005
+ BackColor = 16777215
+ ImageWidth = 16
+ ImageHeight = 16
+ MaskColor = 12632256
+ _Version = 393216
+ BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628}
+ NumListImages = 11
+ BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628}
+ Picture = "frmMain.frx":0000
+ Key = "close"
+ EndProperty
+ BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628}
+ Picture = "frmMain.frx":27B4
+ Key = "open"
+ EndProperty
+ BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628}
+ Picture = "frmMain.frx":4F68
+ Key = "computer_unknown"
+ EndProperty
+ BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628}
+ Picture = "frmMain.frx":5284
+ Key = "computer_stopped"
+ EndProperty
+ BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628}
+ Picture = "frmMain.frx":55A0
+ Key = "computer_started"
+ EndProperty
+ BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628}
+ Picture = "frmMain.frx":58BC
+ Key = ""
+ EndProperty
+ BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628}
+ Picture = "frmMain.frx":5BD8
+ Key = ""
+ EndProperty
+ BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628}
+ Picture = "frmMain.frx":5EF4
+ Key = ""
+ EndProperty
+ BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628}
+ Picture = "frmMain.frx":6210
+ Key = "db"
+ EndProperty
+ BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628}
+ Picture = "frmMain.frx":652A
+ Key = "computer"
+ EndProperty
+ BeginProperty ListImage11 {2C247F27-8591-11D1-B16A-00C0F0283628}
+ Picture = "frmMain.frx":6844
+ Key = "properties"
+ EndProperty
+ EndProperty
+ End
+ Begin VB.PictureBox picSplitter
+ BackColor = &H00808080&
+ BorderStyle = 0 'None
+ FillColor = &H00808080&
+ Height = 4800
+ Left = 5400
+ ScaleHeight = 2090.126
+ ScaleMode = 0 'User
+ ScaleWidth = 780
+ TabIndex = 6
+ Top = 705
+ Width = 72
+ Visible = 0 'False
+ End
+ Begin MSComctlLib.TreeView tvTreeView
+ Height = 4800
+ Left = 0
+ TabIndex = 5
+ Top = 705
+ Width = 2016
+ _ExtentX = 3545
+ _ExtentY = 8467
+ _Version = 393217
+ HideSelection = 0 'False
+ Indentation = 0
+ LineStyle = 1
+ Sorted = -1 'True
+ Style = 7
+ FullRowSelect = -1 'True
+ ImageList = "ImageList1"
+ Appearance = 1
+ End
+ Begin VB.PictureBox picTitles
+ Align = 1 'Align Top
+ Appearance = 0 'Flat
+ BorderStyle = 0 'None
+ ForeColor = &H80000008&
+ Height = 300
+ Left = 0
+ ScaleHeight = 300
+ ScaleWidth = 8880
+ TabIndex = 2
+ TabStop = 0 'False
+ Top = 420
+ Width = 8880
+ Begin VB.Label lblTitle
+ BorderStyle = 1 'Fixed Single
+ Caption = " ListView:"
+ Height = 270
+ Index = 1
+ Left = 2078
+ TabIndex = 4
+ Tag = " ListView:"
+ Top = 12
+ Width = 3216
+ End
+ Begin VB.Label lblTitle
+ BorderStyle = 1 'Fixed Single
+ Caption = " TreeView:"
+ Height = 270
+ Index = 0
+ Left = 0
+ TabIndex = 3
+ Tag = " TreeView:"
+ Top = 12
+ Width = 2016
+ End
+ End
+ Begin MSComctlLib.Toolbar tbToolBar
+ Align = 1 'Align Top
+ Height = 420
+ Left = 0
+ TabIndex = 1
+ Top = 0
+ Width = 8880
+ _ExtentX = 15663
+ _ExtentY = 741
+ ButtonWidth = 609
+ ButtonHeight = 582
+ Appearance = 1
+ ImageList = "ImageList1"
+ _Version = 393216
+ BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628}
+ NumButtons = 5
+ BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628}
+ Style = 3
+ EndProperty
+ BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628}
+ Key = "Add computer"
+ Object.ToolTipText = "Add computer"
+ ImageKey = "computer"
+ EndProperty
+ BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628}
+ Key = "New database"
+ Object.ToolTipText = "New database"
+ ImageKey = "db"
+ EndProperty
+ BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628}
+ Style = 3
+ EndProperty
+ BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628}
+ Key = "Properties"
+ Object.ToolTipText = "Properties"
+ ImageKey = "properties"
+ EndProperty
+ EndProperty
+ End
+ Begin MSComctlLib.StatusBar sbStatusBar
+ Align = 2 'Align Bottom
+ Height = 270
+ Left = 0
+ TabIndex = 0
+ Top = 5685
+ Width = 8880
+ _ExtentX = 15663
+ _ExtentY = 476
+ _Version = 393216
+ BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628}
+ NumPanels = 3
+ BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628}
+ AutoSize = 1
+ Object.Width = 10028
+ Text = "Status"
+ TextSave = "Status"
+ EndProperty
+ BeginProperty Panel2 {8E3867AB-8586-11D1-B16A-00C0F0283628}
+ Style = 6
+ AutoSize = 2
+ TextSave = "2002-10-15"
+ EndProperty
+ BeginProperty Panel3 {8E3867AB-8586-11D1-B16A-00C0F0283628}
+ Style = 5
+ AutoSize = 2
+ TextSave = "09:44"
+ EndProperty
+ EndProperty
+ End
+ Begin MSComctlLib.ListView lvProcesses
+ Height = 4815
+ Left = 2040
+ TabIndex = 8
+ Top = 720
+ Width = 3255
+ _ExtentX = 5741
+ _ExtentY = 8493
+ Sorted = -1 'True
+ MultiSelect = -1 'True
+ LabelWrap = -1 'True
+ HideSelection = 0 'False
+ AllowReorder = -1 'True
+ FullRowSelect = -1 'True
+ _Version = 393217
+ ForeColor = -2147483640
+ BackColor = -2147483643
+ BorderStyle = 1
+ Appearance = 1
+ NumItems = 6
+ BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628}
+ Key = "Id"
+ Text = "Id"
+ Object.Width = 2540
+ EndProperty
+ BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628}
+ SubItemIndex = 1
+ Key = "Computer"
+ Text = "Computer"
+ Object.Width = 2540
+ EndProperty
+ BeginProperty ColumnHeader(3) {BDD1F052-858B-11D1-B16A-00C0F0283628}
+ SubItemIndex = 2
+ Key = "Database"
+ Text = "Database"
+ Object.Width = 2540
+ EndProperty
+ BeginProperty ColumnHeader(4) {BDD1F052-858B-11D1-B16A-00C0F0283628}
+ SubItemIndex = 3
+ Key = "Name"
+ Text = "Name"
+ Object.Width = 2540
+ EndProperty
+ BeginProperty ColumnHeader(5) {BDD1F052-858B-11D1-B16A-00C0F0283628}
+ SubItemIndex = 4
+ Key = "Status"
+ Text = "Status"
+ Object.Width = 2540
+ EndProperty
+ BeginProperty ColumnHeader(6) {BDD1F052-858B-11D1-B16A-00C0F0283628}
+ SubItemIndex = 5
+ Key = "Owner"
+ Text = "Owner"
+ Object.Width = 2540
+ EndProperty
+ End
+ Begin MSComctlLib.ListView lvComputers
+ Height = 4815
+ Left = 2040
+ TabIndex = 7
+ Top = 720
+ Width = 3255
+ _ExtentX = 5741
+ _ExtentY = 8493
+ Sorted = -1 'True
+ MultiSelect = -1 'True
+ LabelWrap = -1 'True
+ HideSelection = -1 'True
+ AllowReorder = -1 'True
+ FullRowSelect = -1 'True
+ _Version = 393217
+ Icons = "ImageList1"
+ SmallIcons = "ImageList1"
+ ForeColor = -2147483640
+ BackColor = -2147483643
+ BorderStyle = 1
+ Appearance = 1
+ NumItems = 2
+ BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628}
+ Text = "Computer"
+ Object.Width = 2540
+ EndProperty
+ BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628}
+ SubItemIndex = 1
+ Text = "Status"
+ Object.Width = 2540
+ EndProperty
+ End
+ Begin MSComctlLib.ListView lvDatabases
+ Height = 4815
+ Left = 2040
+ TabIndex = 9
+ Top = 720
+ Width = 3255
+ _ExtentX = 5741
+ _ExtentY = 8493
+ View = 3
+ Sorted = -1 'True
+ MultiSelect = -1 'True
+ LabelWrap = -1 'True
+ HideSelection = -1 'True
+ AllowReorder = -1 'True
+ FullRowSelect = -1 'True
+ _Version = 393217
+ Icons = "ImageList1"
+ SmallIcons = "ImageList1"
+ ForeColor = -2147483640
+ BackColor = -2147483643
+ BorderStyle = 1
+ Appearance = 1
+ NumItems = 2
+ BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628}
+ Key = "Database"
+ Text = "Database"
+ Object.Width = 2540
+ EndProperty
+ BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628}
+ SubItemIndex = 1
+ Key = "Status"
+ Text = "Status"
+ Object.Width = 2540
+ EndProperty
+ End
+ Begin VB.Image imgSplitter
+ Height = 4788
+ Left = 1965
+ MousePointer = 9 'Size W E
+ Top = 705
+ Width = 150
+ End
+ Begin VB.Menu mnuFile
+ Caption = "&File"
+ Begin VB.Menu mnuFileOpen
+ Caption = "&Open..."
+ End
+ Begin VB.Menu mnuFileFind
+ Caption = "&Find"
+ End
+ Begin VB.Menu mnuFileBar0
+ Caption = "-"
+ End
+ Begin VB.Menu mnuFileSendTo
+ Caption = "Sen&d to"
+ End
+ Begin VB.Menu mnuFileBar1
+ Caption = "-"
+ End
+ Begin VB.Menu mnuFileNew
+ Caption = "&New"
+ Shortcut = ^N
+ End
+ Begin VB.Menu mnuFileBar2
+ Caption = "-"
+ End
+ Begin VB.Menu mnuFileDelete
+ Caption = "&Delete"
+ End
+ Begin VB.Menu mnuFileRename
+ Caption = "Rena&me"
+ End
+ Begin VB.Menu mnuFileProperties
+ Caption = "Propert&ies"
+ End
+ Begin VB.Menu mnuFileBar3
+ Caption = "-"
+ End
+ Begin VB.Menu mnuFileMRU
+ Caption = ""
+ Index = 1
+ Visible = 0 'False
+ End
+ Begin VB.Menu mnuFileMRU
+ Caption = ""
+ Index = 2
+ Visible = 0 'False
+ End
+ Begin VB.Menu mnuFileMRU
+ Caption = ""
+ Index = 3
+ Visible = 0 'False
+ End
+ Begin VB.Menu mnuFileBar4
+ Caption = "-"
+ Visible = 0 'False
+ End
+ Begin VB.Menu mnuFileBar5
+ Caption = "-"
+ End
+ Begin VB.Menu mnuFileClose
+ Caption = "&Close"
+ End
+ End
+ Begin VB.Menu mnuEdit
+ Caption = "&Edit"
+ Begin VB.Menu mnuEditUndo
+ Caption = "&Undo"
+ End
+ Begin VB.Menu mnuEditBar0
+ Caption = "-"
+ End
+ Begin VB.Menu mnuEditCut
+ Caption = "Cu&t"
+ Shortcut = ^X
+ End
+ Begin VB.Menu mnuEditCopy
+ Caption = "&Copy"
+ Shortcut = ^C
+ End
+ Begin VB.Menu mnuEditPaste
+ Caption = "&Paste"
+ Shortcut = ^V
+ End
+ Begin VB.Menu mnuEditPasteSpecial
+ Caption = "Paste &Special..."
+ End
+ Begin VB.Menu mnuEditBar1
+ Caption = "-"
+ End
+ Begin VB.Menu mnuEditSelectAll
+ Caption = "Select &All"
+ Shortcut = ^A
+ End
+ Begin VB.Menu mnuEditInvertSelection
+ Caption = "&Invert Selection"
+ End
+ End
+ Begin VB.Menu mnuView
+ Caption = "&View"
+ Begin VB.Menu mnuViewToolbar
+ Caption = "&Toolbar"
+ Checked = -1 'True
+ End
+ Begin VB.Menu mnuViewStatusBar
+ Caption = "Status &Bar"
+ Checked = -1 'True
+ End
+ Begin VB.Menu mnuViewBar0
+ Caption = "-"
+ End
+ Begin VB.Menu mnuListViewMode
+ Caption = "Lar&ge Icons"
+ Index = 0
+ End
+ Begin VB.Menu mnuListViewMode
+ Caption = "S&mall Icons"
+ Index = 1
+ End
+ Begin VB.Menu mnuListViewMode
+ Caption = "&List"
+ Index = 2
+ End
+ Begin VB.Menu mnuListViewMode
+ Caption = "&Details"
+ Index = 3
+ End
+ Begin VB.Menu mnuViewBar1
+ Caption = "-"
+ End
+ Begin VB.Menu mnuViewArrangeIcons
+ Caption = "Arrange &Icons"
+ End
+ Begin VB.Menu mnuViewBar2
+ Caption = "-"
+ End
+ Begin VB.Menu mnuViewRefresh
+ Caption = "&Refresh"
+ End
+ Begin VB.Menu mnuViewOptions
+ Caption = "&Options..."
+ End
+ Begin VB.Menu mnuViewWebBrowser
+ Caption = "&Web Browser"
+ End
+ End
+ Begin VB.Menu mnuHelp
+ Caption = "&Help"
+ Begin VB.Menu mnuHelpContents
+ Caption = "&Contents"
+ End
+ Begin VB.Menu mnuHelpSearchForHelpOn
+ Caption = "&Search For Help On..."
+ End
+ Begin VB.Menu mnuHelpBar0
+ Caption = "-"
+ End
+ Begin VB.Menu mnuHelpAbout
+ Caption = "&About "
+ End
+ End
+ Begin VB.Menu mnuPopComputers
+ Caption = ""
+ Visible = 0 'False
+ Begin VB.Menu mnuPopAddComputer
+ Caption = "Add computer"
+ End
+ Begin VB.Menu mnuPop__
+ Caption = "-"
+ End
+ Begin VB.Menu mnuPopSortComputers
+ Caption = "Sorted"
+ End
+ End
+ Begin VB.Menu mnuPopDatabases
+ Caption = ""
+ Visible = 0 'False
+ Begin VB.Menu mnuPopNewDatabase
+ Caption = "New database"
+ End
+ Begin VB.Menu mnuPopSortDatabases0
+ Caption = "-"
+ End
+ Begin VB.Menu mnuPopSortDatabases
+ Caption = "Sorted"
+ End
+ End
+ Begin VB.Menu mnuPopComputer
+ Caption = ""
+ Visible = 0 'False
+ Begin VB.Menu mnuPopComputerName
+ Caption = "ComputerName"
+ Enabled = 0 'False
+ End
+ Begin VB.Menu mnuPopComputer0
+ Caption = "-"
+ End
+ Begin VB.Menu mnuPopConnectComputer
+ Caption = "Connect"
+ End
+ Begin VB.Menu mnuPopDisconnectComputer
+ Caption = "Disconnect"
+ End
+ Begin VB.Menu mnuPopRemoveComputer
+ Caption = "Remove"
+ End
+ Begin VB.Menu mnuComputer1
+ Caption = "-"
+ End
+ Begin VB.Menu mnuPopComputerProperties
+ Caption = "Properties"
+ End
+ End
+End
+Attribute VB_Name = "frmMain"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = False
+Option Explicit
+Private Declare Function OSWinHelp% Lib "user32" Alias "WinHelpA" (ByVal hwnd&, ByVal HelpFile$, ByVal wCommand%, dwData As Any)
+
+Dim mbMoving As Boolean
+Const sglSplitLimit = 500
+Dim m_currentNode As MSComctlLib.Node
+Dim m_currentList As ListView
+
+Dim m_currentView As Integer
+Dim m_computerWidth As Integer
+Dim m_databaseWidth As Integer
+
+Dim m_currentComputer As Computer
+Dim m_currentDatabase As Database_
+
+Private Sub Form_Load()
+ tvTreeView.Nodes.Clear
+ lvComputers.ListItems.Clear
+ lvProcesses.ListItems.Clear
+ lvDatabases.ListItems.Clear
+
+ Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000)
+ Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000)
+ Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500)
+ Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)
+
+ tvTreeView.Nodes.Add , tvwChild, "Computers", "Computers", 1, 2
+ Dim c As Computer
+ For Each c In g_computers
+ addComputer c
+ Next
+
+ Set m_currentNode = tvTreeView.Nodes("Computers")
+ Set m_currentList = lvComputers
+
+ tvTreeView.Nodes.Add , tvwChild, "Databases", "Databases", 1, 2
+ Dim d As Database_
+ For Each d In g_databases
+ AddDatabase d
+ Next
+
+ lvComputers.Visible = True
+ lvProcesses.Visible = False
+ lvDatabases.Visible = False
+ lvComputers.View = lvwReport
+ lvProcesses.View = lvwReport
+ lvDatabases.View = lvwReport
+ m_computerWidth = lvProcesses.ColumnHeaders("Computer").Width
+ m_databaseWidth = lvProcesses.ColumnHeaders("Database").Width
+ lvProcesses.ColumnHeaders("Id").Width = 0
+End Sub
+
+Private Sub setComputer(ByVal f_ip As String)
+ Dim c As Computer
+ Set c = g_computers(f_ip)
+ If c Is Nothing Then
+ MsgBox "Unknown computer: " & f_ip
+ Exit Sub
+ End If
+
+ Set m_currentComputer = c
+
+ lblTitle(1).Caption = "Processes defined on computer: " & c.m_name
+ setProcesses c.m_processes
+
+ If lvProcesses.ColumnHeaders("Computer").Width <> 0 Then
+ m_computerWidth = lvProcesses.ColumnHeaders("Computer").Width
+ lvProcesses.ColumnHeaders("Computer").Width = 0
+ End If
+
+ If lvProcesses.ColumnHeaders("Database").Width = 0 Then
+ lvProcesses.ColumnHeaders("Database").Width = m_databaseWidth
+ End If
+End Sub
+
+Private Sub setDatabase(ByVal f_name As String)
+ Dim c As Database_
+ Set c = g_databases(f_name)
+ If c Is Nothing Then
+ MsgBox "Unknown database: " & f_name
+ Exit Sub
+ End If
+
+ Set m_currentDatabase = c
+
+ lblTitle(1).Caption = "Processes defined for database: " & c.m_name
+ setProcesses c.m_processes
+
+ If lvProcesses.ColumnHeaders("Database").Width <> 0 Then
+ m_databaseWidth = lvProcesses.ColumnHeaders("Database").Width
+ lvProcesses.ColumnHeaders("Database").Width = 0
+ End If
+
+ If lvProcesses.ColumnHeaders("Computer").Width = 0 Then
+ lvProcesses.ColumnHeaders("Computer").Width = m_computerWidth
+ End If
+
+End Sub
+
+Private Sub setProcesses(ByRef c As Collection)
+ lvProcesses.ListItems.Clear
+ Dim p As Process
+ For Each p In c
+ Dim li As ListItem
+ Set li = lvProcesses.ListItems.Add(, "_" & p.m_computer.m_name & "_" & p.m_id, p.m_id)
+ li.SubItems(1) = p.m_computer.m_name
+ li.SubItems(2) = p.m_database
+ li.SubItems(3) = p.m_name
+ li.SubItems(4) = p.m_status
+ li.SubItems(5) = p.m_owner
+ Next
+End Sub
+
+Public Sub addComputer(ByRef c As Computer)
+ Dim icon As Integer
+ Select Case c.m_status
+ Case "No contact"
+ icon = 4
+ Case "Connected"
+ icon = 5
+ Case Else
+ icon = 3
+ End Select
+
+ Dim li As ListItem
+ Set li = lvComputers.ListItems.Add(, "_" & c.m_name, c.m_name, icon, icon)
+ li.SubItems(1) = c.m_status
+
+ tvTreeView.Nodes.Add "Computers", tvwChild, "_" & c.m_name, c.m_name, icon, icon
+End Sub
+
+Public Sub removeComputer(ByRef name As String)
+ lvComputers.ListItems.Remove "_" & name
+ tvTreeView.Nodes.Remove "_" & name
+
+ '
+ ' Check if should remove database
+ Dim c As Computer
+ Set c = g_computers("_" & name)
+ Dim db As Database_
+ Dim dbs As New Collection
+ Dim p As Process
+ For Each p In c.m_processes
+ Set db = g_databases("_" & p.m_database)
+ db.m_processes.Remove "_" & p.m_computer.m_name & "_" & p.m_id
+ If Not Exists(dbs, p.m_database) Then dbs.Add db, p.m_database
+ Next
+
+ For Each db In dbs
+ If db.m_processes.Count = 0 Then
+ g_databases.Remove "_" & db.m_name
+ tvTreeView.Nodes.Remove "_" & db.m_name
+ End If
+ Next
+
+ g_computers.Remove "_" & name
+
+ '
+ ' Check if should remove database
+
+ Dim n As MSComctlLib.Node
+ Set n = tvTreeView.SelectedItem
+ selectNode n
+End Sub
+
+Private Sub AddDatabase(ByRef c As Database_)
+ Dim li As ListItem
+ Set li = lvDatabases.ListItems.Add(, "_" & c.m_name, c.m_name, 9, 9)
+ li.SubItems(1) = c.m_status
+ tvTreeView.Nodes.Add "Databases", tvwChild, "_" & c.m_name, c.m_name, 9, 9
+End Sub
+
+Private Sub Form_Unload(Cancel As Integer)
+ Dim i As Integer
+
+
+ 'close all sub forms
+ For i = Forms.Count - 1 To 1 Step -1
+ Unload Forms(i)
+ Next
+ If Me.WindowState <> vbMinimized Then
+ SaveSetting App.Title, "Settings", "MainLeft", Me.Left
+ SaveSetting App.Title, "Settings", "MainTop", Me.Top
+ SaveSetting App.Title, "Settings", "MainWidth", Me.Width
+ SaveSetting App.Title, "Settings", "MainHeight", Me.Height
+ End If
+End Sub
+
+Private Sub Form_Resize()
+ On Error Resume Next
+ If Me.Width < 3000 Then Me.Width = 3000
+ SizeControls imgSplitter.Left
+End Sub
+
+Private Sub imgSplitter_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
+ With imgSplitter
+ picSplitter.Move .Left, .Top, .Width \ 2, .Height - 20
+ End With
+ picSplitter.Visible = True
+ mbMoving = True
+End Sub
+
+Private Sub imgSplitter_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
+ Dim sglPos As Single
+
+
+ If mbMoving Then
+ sglPos = X + imgSplitter.Left
+ If sglPos < sglSplitLimit Then
+ picSplitter.Left = sglSplitLimit
+ ElseIf sglPos > Me.Width - sglSplitLimit Then
+ picSplitter.Left = Me.Width - sglSplitLimit
+ Else
+ picSplitter.Left = sglPos
+ End If
+ End If
+End Sub
+
+
+Private Sub imgSplitter_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
+ SizeControls picSplitter.Left
+ picSplitter.Visible = False
+ mbMoving = False
+End Sub
+
+
+Private Sub TreeView1_DragDrop(Source As Control, X As Single, Y As Single)
+ If Source = imgSplitter Then
+ SizeControls X
+ End If
+End Sub
+
+
+Sub SizeControls(X As Single)
+ On Error Resume Next
+
+ 'set the width
+ If X < 1500 Then X = 1500
+ If X > (Me.Width - 1500) Then X = Me.Width - 1500
+ tvTreeView.Width = X
+ imgSplitter.Left = X
+
+ Dim t_left, t_width As Integer
+ t_left = X + 40
+ t_width = Me.Width - (tvTreeView.Width + 140)
+
+ lblTitle(0).Width = tvTreeView.Width
+ lblTitle(1).Left = t_left + 20
+ lblTitle(1).Width = t_width - 40
+
+
+ 'set the top
+ If tbToolBar.Visible Then
+ tvTreeView.Top = tbToolBar.Height + picTitles.Height
+ Else
+ tvTreeView.Top = picTitles.Height
+ End If
+
+
+ 'set the height
+ If sbStatusBar.Visible Then
+ tvTreeView.Height = Me.ScaleHeight - (picTitles.Top + picTitles.Height + sbStatusBar.Height)
+ Else
+ tvTreeView.Height = Me.ScaleHeight - (picTitles.Top + picTitles.Height)
+ End If
+
+
+ imgSplitter.Top = tvTreeView.Top
+ imgSplitter.Height = tvTreeView.Height
+
+ setListDimensions t_left, t_width, tvTreeView.Top, tvTreeView.Height
+End Sub
+
+Private Sub setListView(ByVal f_View As Integer)
+ lvComputers.View = f_View
+ lvProcesses.View = f_View
+End Sub
+
+Private Sub setListDimensions(ByVal f_Left As Integer, ByVal f_Width As Integer, ByVal f_Top As Integer, ByVal f_Height As Integer)
+ With lvComputers
+ .Left = f_Left
+ .Width = f_Width
+ .Top = f_Top
+ .Height = f_Height
+ End With
+ With lvProcesses
+ .Left = f_Left
+ .Width = f_Width
+ .Top = f_Top
+ .Height = f_Height
+ End With
+ With lvDatabases
+ .Left = f_Left
+ .Width = f_Width
+ .Top = f_Top
+ .Height = f_Height
+ End With
+End Sub
+
+Private Sub tbToolBar_ButtonClick(ByVal Button As MSComctlLib.Button)
+ On Error Resume Next
+ Select Case Button.Key
+ Case "New database"
+ 'ToDo: Add 'Back' button code.
+ mnuPopNewDatabase_Click
+ Case "Add computer"
+ 'ToDo: Add 'Forward' button code.
+ frmNewComputer.Show vbModal, Me
+ Dim c As Computer
+ For Each c In frmNewComputer.m_hosts
+ addComputer c
+ g_computers.Add c, "_" & c.m_name
+ Next
+ Case "Properties"
+ mnuFileProperties_Click
+ End Select
+End Sub
+
+Private Sub mnuHelpAbout_Click()
+ frmAbout.Show vbModal, Me
+End Sub
+
+Private Sub mnuHelpSearchForHelpOn_Click()
+ Dim nRet As Integer
+
+
+ 'if there is no helpfile for this project display a message to the user
+ 'you can set the HelpFile for your application in the
+ 'Project Properties dialog
+ If Len(App.HelpFile) = 0 Then
+ MsgBox "Unable to display Help Contents. There is no Help associated with this project.", vbInformation, Me.Caption
+ Else
+ On Error Resume Next
+ nRet = OSWinHelp(Me.hwnd, App.HelpFile, 261, 0)
+ If Err Then
+ MsgBox Err.Description
+ End If
+ End If
+
+End Sub
+
+Private Sub mnuHelpContents_Click()
+ Dim nRet As Integer
+
+
+ 'if there is no helpfile for this project display a message to the user
+ 'you can set the HelpFile for your application in the
+ 'Project Properties dialog
+ If Len(App.HelpFile) = 0 Then
+ MsgBox "Unable to display Help Contents. There is no Help associated with this project.", vbInformation, Me.Caption
+ Else
+ On Error Resume Next
+ nRet = OSWinHelp(Me.hwnd, App.HelpFile, 3, 0)
+ If Err Then
+ MsgBox Err.Description
+ End If
+ End If
+
+End Sub
+
+
+Private Sub mnuViewWebBrowser_Click()
+ 'ToDo: Add 'mnuViewWebBrowser_Click' code.
+ MsgBox "Add 'mnuViewWebBrowser_Click' code."
+End Sub
+
+Private Sub mnuViewOptions_Click()
+ frmOptions.Show vbModal, Me
+End Sub
+
+Private Sub mnuViewRefresh_Click()
+ 'ToDo: Add 'mnuViewRefresh_Click' code.
+ MsgBox "Add 'mnuViewRefresh_Click' code."
+End Sub
+
+
+Private Sub mnuViewStatusBar_Click()
+ mnuViewStatusBar.Checked = Not mnuViewStatusBar.Checked
+ sbStatusBar.Visible = mnuViewStatusBar.Checked
+ SizeControls imgSplitter.Left
+End Sub
+
+Private Sub mnuViewToolbar_Click()
+ mnuViewToolbar.Checked = Not mnuViewToolbar.Checked
+ tbToolBar.Visible = mnuViewToolbar.Checked
+ SizeControls imgSplitter.Left
+End Sub
+
+Private Sub mnuEditInvertSelection_Click()
+ 'ToDo: Add 'mnuEditInvertSelection_Click' code.
+ MsgBox "Add 'mnuEditInvertSelection_Click' code."
+End Sub
+
+Private Sub mnuEditSelectAll_Click()
+ 'ToDo: Add 'mnuEditSelectAll_Click' code.
+ MsgBox "Add 'mnuEditSelectAll_Click' code."
+End Sub
+
+Private Sub mnuEditPasteSpecial_Click()
+ 'ToDo: Add 'mnuEditPasteSpecial_Click' code.
+ MsgBox "Add 'mnuEditPasteSpecial_Click' code."
+End Sub
+
+Private Sub mnuEditPaste_Click()
+ 'ToDo: Add 'mnuEditPaste_Click' code.
+ MsgBox "Add 'mnuEditPaste_Click' code."
+End Sub
+
+Private Sub mnuEditCopy_Click()
+ 'ToDo: Add 'mnuEditCopy_Click' code.
+ MsgBox "Add 'mnuEditCopy_Click' code."
+End Sub
+
+Private Sub mnuEditCut_Click()
+ 'ToDo: Add 'mnuEditCut_Click' code.
+ MsgBox "Add 'mnuEditCut_Click' code."
+End Sub
+
+Private Sub mnuEditUndo_Click()
+ 'ToDo: Add 'mnuEditUndo_Click' code.
+ MsgBox "Add 'mnuEditUndo_Click' code."
+End Sub
+
+Private Sub mnuFileClose_Click()
+ 'unload the form
+ Unload Me
+
+End Sub
+
+Private Sub mnuFileProperties_Click()
+ 'ToDo: Add 'mnuFileProperties_Click' code.
+ MsgBox "Add 'mnuFileProperties_Click' code."
+End Sub
+
+Private Sub mnuFileRename_Click()
+ 'ToDo: Add 'mnuFileRename_Click' code.
+ MsgBox "Add 'mnuFileRename_Click' code."
+End Sub
+
+Private Sub mnuFileDelete_Click()
+ 'ToDo: Add 'mnuFileDelete_Click' code.
+ MsgBox "Add 'mnuFileDelete_Click' code."
+End Sub
+
+Private Sub mnuFileNew_Click()
+ 'ToDo: Add 'mnuFileNew_Click' code.
+ MsgBox "Add 'mnuFileNew_Click' code."
+End Sub
+
+Private Sub mnuFileSendTo_Click()
+ 'ToDo: Add 'mnuFileSendTo_Click' code.
+ MsgBox "Add 'mnuFileSendTo_Click' code."
+End Sub
+
+Private Sub mnuFileFind_Click()
+ 'ToDo: Add 'mnuFileFind_Click' code.
+ MsgBox "Add 'mnuFileFind_Click' code."
+End Sub
+
+Private Sub mnuFileOpen_Click()
+ Dim sFile As String
+End Sub
+
+Private Sub mnuPopComputerProperties_Click()
+ mnuFileProperties_Click
+End Sub
+
+Private Sub mnuPopNewDatabase_Click()
+ frmNewDatabase1.Show vbModal, Me
+ frmNewDatabase2.Show vbModal, Me
+ frmNewDatabase3.Show vbModal, Me
+End Sub
+
+Private Sub mnuPopAddComputer_Click()
+ frmNewComputer.Show vbModal, Me
+ Dim c As Computer
+ For Each c In frmNewComputer.m_hosts
+ addComputer c
+ g_computers.Add c, "_" & c.m_name
+ Next
+End Sub
+
+Private Sub mnuPopSortComputers_Click()
+ If m_currentNode.Sorted = True Then
+ mnuPopSortComputers.Checked = False
+ m_currentNode.Sorted = False
+ Else
+ mnuPopSortComputers.Checked = True
+ m_currentNode.Sorted = True
+ End If
+End Sub
+
+Private Sub mnuPopRemoveComputer_Click()
+ Dim res As VbMsgBoxResult
+ Dim str As String
+ str = "Remove computer " & m_currentComputer.m_name
+ res = MsgBox(str, vbOKCancel, str)
+ If res = vbOK Then
+ removeComputer (m_currentComputer.m_name)
+ End If
+End Sub
+
+Private Sub mnuPopSortDatabases_Click()
+ If m_currentNode.Sorted = True Then
+ mnuPopSortDatabases.Checked = False
+ m_currentNode.Sorted = False
+ Else
+ mnuPopSortDatabases.Checked = True
+ m_currentNode.Sorted = True
+ End If
+End Sub
+
+Private Sub tvTreeView_BeforeLabelEdit(Cancel As Integer)
+ Cancel = True
+End Sub
+
+Private Sub tvTreeView_Collapse(ByVal Node As MSComctlLib.Node)
+ 'MsgBox "tvTreeView_Collapse"
+End Sub
+
+Private Sub tvTreeView_Expand(ByVal Node As MSComctlLib.Node)
+ 'MsgBox "tvTreeView_Expand"
+End Sub
+
+Private Sub tvTreeView_NodeClick(ByVal Node As MSComctlLib.Node)
+ selectNode Node
+End Sub
+
+Private Sub tvTreeView_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
+ 'MsgBox "tvTreeView_MouseUp Button: " & Button & " Shift: " & Shift
+ Dim Node As MSComctlLib.Node
+ Dim place As Integer
+
+ Set Node = tvTreeView.HitTest(X, Y)
+ place = selectNode(Node)
+ If Button = vbRightButton Then
+ ShowPopup place
+ End If
+End Sub
+
+Private Function selectNode(ByRef n As MSComctlLib.Node) As Integer
+ Dim list As ListView
+ Dim place As Integer
+
+ If n Is Nothing Then
+ If Not m_currentNode Is Nothing Then
+ place = 1
+ m_currentNode.Selected = False
+ Else
+ place = 2
+ End If
+ Else
+ n.Selected = True
+ If n.Text = "Computers" Then
+ place = 3
+ Set list = lvComputers
+ lblTitle(1).Caption = "Computers"
+ ElseIf n.Text = "Databases" Then
+ place = 4
+ Set list = lvDatabases
+ lblTitle(1).Caption = "Databases"
+ ElseIf n.Parent.Text = "Computers" Then
+ place = 5
+ Set list = lvProcesses
+ setComputer (n.Key)
+ ElseIf n.Parent.Text = "Databases" Then
+ place = 6
+ Set list = lvProcesses
+ setDatabase (n.Key)
+ End If
+
+ If m_currentList.hwnd <> list.hwnd Then
+ m_currentList.Visible = False
+ list.Visible = True
+ Set m_currentList = list
+ End If
+ End If
+ Set m_currentNode = n
+ selectNode = place
+End Function
+
+Private Sub lvComputers_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
+ Dim li As ListItem
+ Set li = lvComputers.HitTest(X, Y)
+ If Button = vbRightButton And Not li Is Nothing Then
+ Dim c As Computer
+ Set m_currentComputer = g_computers(li.Key)
+ ShowPopup 5
+ End If
+End Sub
+
+Private Sub ShowPopup(ByVal place As Integer)
+ Select Case place
+ Case 3
+ PopupMenu mnuPopComputers
+ Case 4
+ PopupMenu mnuPopDatabases
+ Case 5
+ mnuPopComputerName.Caption = m_currentComputer.m_name & ": " & m_currentComputer.m_status
+ Select Case m_currentComputer.m_status
+ Case "Connected"
+ mnuPopConnectComputer.Enabled = False
+ mnuPopDisconnectComputer.Enabled = True
+ Case "Connecting"
+ mnuPopConnectComputer.Enabled = False
+ mnuPopDisconnectComputer.Enabled = True
+ Case "Not connected"
+ mnuPopConnectComputer.Enabled = True
+ mnuPopDisconnectComputer.Enabled = False
+ Case "No contact"
+ mnuPopConnectComputer.Enabled = True
+ mnuPopDisconnectComputer.Enabled = False
+ Case Else
+ mnuPopConnectComputer.Enabled = False
+ mnuPopDisconnectComputer.Enabled = False
+ End Select
+
+ PopupMenu mnuPopComputer, , , , mnuPopComputerName
+ End Select
+End Sub
+
+Private Sub lvComputers_BeforeLabelEdit(Cancel As Integer)
+ Cancel = True
+End Sub
+
+Private Sub lvProcesses_BeforeLabelEdit(Cancel As Integer)
+ Cancel = True
+End Sub
+
+Private Sub lvDatabases_BeforeLabelEdit(Cancel As Integer)
+ Cancel = True
+End Sub
+
+Private Sub ColumnClick(ByRef list As ListView, i As Integer)
+ i = i - 1
+ If list.SortKey = i Then
+ list.SortOrder = 1 - list.SortOrder
+ Else
+ list.SortKey = i
+ End If
+End Sub
+
+Private Sub lvComputers_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
+ ColumnClick lvComputers, ColumnHeader.Index
+End Sub
+
+Private Sub lvProcesses_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
+ ColumnClick lvProcesses, ColumnHeader.Index
+End Sub
+
+Private Sub lvDatabases_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
+ ColumnClick lvDatabases, ColumnHeader.Index
+End Sub
+