public void LoadSpecialWindows() { TreeNode newNode = null; TreeNode subNode = null; int nodeNum = 0; string nodeName = ""; Windows.Window specialWindow = null; if (_specialWindows == null) _specialWindows = new WindowHelper.Windows.WindowList(); else _specialWindows.Clear(); for (int i = 0; i <= 5; i++) { switch (i) { //Define WIN_MAPPER 1 //Define WIN_BROWSER 2 //Define WIN_LAYOUT 3 //Define WIN_GRAPH 4 //Define WIN_BUTTONPAD 19 //Define WIN_TOOLBAR 25 //Define WIN_CART_LEGEND 27 //Define WIN_3DMAP 28 //Define WIN_ADORNMENT 32 //Define WIN_HELP 1001 //Define WIN_MAPBASIC 1002 //Define WIN_MESSAGE 1003 //Define WIN_RULER 1007 //Define WIN_INFO 1008 //Define WIN_LEGEND 1009 //Define WIN_STATISTICS 1010 //Define WIN_MAPINFO 1011 case 0: specialWindow = new WindowHelper.Windows.Window(1008); break; case 1: specialWindow = new WindowHelper.Windows.Window(1009); break; case 2: specialWindow = new WindowHelper.Windows.Window(1002); break; case 3: specialWindow = new WindowHelper.Windows.Window(1003); break; case 4: specialWindow = new WindowHelper.Windows.Window(1007); break; case 5: specialWindow = new WindowHelper.Windows.Window(1010); break; } //MessageBox.Show(specialWindow.Title); _specialWindows.Add(specialWindow); specialWindow = null; } newNode = new TreeNode(); nodeName = Controller.GetResItemStr("LST_WINDOWS_SPECIAL"); newNode.Tag = _specialWindows; newNode.ImageIndex = 1; newNode.SelectedImageIndex = 1; newNode.Text = nodeName; newNode.Name = nodeName; newNode.ToolTipText = nodeName; _treeViewSpecialWindows.Nodes.Add(newNode); newNode.Expand(); //Adding the special windows to the tree foreach (Windows.Window window in _specialWindows) { nodeNum++; subNode = new TreeNode(); subNode.ImageIndex = 1; subNode.SelectedImageIndex = 1; subNode.Tag = window; nodeName = string.Format("{0}", window.Title); subNode.Text = nodeName; subNode.Name = nodeName; subNode.ToolTipText = nodeName; newNode.Nodes.Add(subNode); subNode = null; } }
//----------------------------------------------------------------- private bool AddToOrUpdateInWindowLists(Windows.Window window) { bool refreshDialog = false; if (_windowsList == null) _windowsList = new WindowHelper.Windows.WindowList(); if (_mapperWindows == null) _mapperWindows = new WindowHelper.Windows.WindowList(); if (_browserWindows == null) _browserWindows = new WindowHelper.Windows.WindowList(); if (_layoutWindows == null) _layoutWindows = new WindowHelper.Windows.WindowList(); if (_legendWindows == null) _legendWindows = new WindowHelper.Windows.WindowList(); //Let's see if this window alread exists in the list of all windows int index = GetWindowIndex(_windowsList, window); if (index == -1) { AddToWindowLists(window); refreshDialog = true; } else { if (UpdateInWindowLists(window) == true) refreshDialog = true; } return refreshDialog; }
//----------------------------------------------------------------- public void CreateWindowList(int[] windowIDs, string[] windowNames, int[] windowTypes) { if (windowIDs.Length == 0) return; if (_windowsList != null) { _mapperWindows.Clear(); _browserWindows.Clear(); _layoutWindows.Clear(); _legendWindows.Clear(); _windowsList.Clear(); } else { _windowsList = new WindowHelper.Windows.WindowList(); _mapperWindows = new WindowHelper.Windows.WindowList(); _browserWindows = new WindowHelper.Windows.WindowList(); _layoutWindows = new WindowHelper.Windows.WindowList(); _legendWindows = new WindowHelper.Windows.WindowList(); } Windows.Window window = null; for (int i = 0; i < windowIDs.Length; i++) { window = new WindowHelper.Windows.Window(windowIDs[i], windowNames[i], windowTypes[i]); AddToWindowLists(window); } RefreshWindowsList(); }