public KiNoteForm(VaultNode node) { InitializeComponent(); fTextNode = new VaultTextNode(node); IRevert(null, null); Text = fTextNode.NoteName; }
public void AddNode(VaultNode node, uint parentID) { if (fAgeList.FocusedItem == null) return; VaultNode tag = (VaultNode)fAgeList.FocusedItem.Tag; if (tag.ID == parentID) IAddKiItem(node); }
public void RemoveFolder(VaultNode node) { foreach (ListViewItem lvi in fAgeList.Items) { VaultNode tag = (VaultNode)lvi.Tag; if (tag.ID == node.ID) { lvi.Remove(); break; } } }
public void RemoveNode(VaultNode node) { VaultPlayerInfoNode info = new VaultPlayerInfoNode(node); if (fPlayerToInfo.ContainsKey(info.PlayerID)) fPlayerToInfo.Remove(info.PlayerID); else return; for (int i = 0; i < fDataGridView.Rows.Count; i++) { if (Convert.ToUInt32(fDataGridView.Rows[i].Cells[1].Value) == info.PlayerID) { fDataGridView.Rows.RemoveAt(i); break; } } }
public void AddPlayerInfo(VaultNode node) { VaultPlayerInfoNode info = new VaultPlayerInfoNode(node); if (fPlayerToInfo.ContainsKey(info.PlayerID)) return; Bitmap img = IGetImage(info); string age = (info.Online ? IGetAgeName(info) : String.Empty); fDataGridView.Rows.Add(new object[] { img, info.PlayerID, info.PlayerName, age }); fPlayerToInfo.Add(info.PlayerID, info.BaseNode.ID); //Sort... If no default, use online status if (fDataGridView.SortedColumn != null) fDataGridView.Sort(fDataGridView.SortedColumn, (fDataGridView.SortOrder == SortOrder.Ascending ? ListSortDirection.Ascending : ListSortDirection.Descending)); else fDataGridView.Sort(fOnline, ListSortDirection.Descending); }
public KiImageForm(VaultNode node) { InitializeComponent(); //Maybe I can be convinced to add support for this... //Later... fReplaceButton.Enabled = false; fRevertButton.Enabled = false; fSaveButton.Enabled = false; fImage = new VaultImageNode(node); if (fImage.ImageType != VaultImageNode.ImgType.kNone) { MemoryStream ms = new MemoryStream(fImage.ImageData, 4, fImage.ImageData.Length - 4); fPictureBox.Image = Bitmap.FromStream(ms); } Text = fImage.ImageName; }
public void UpdateNode(VaultNode node) { for (int i = 0; i < fMailList.Items.Count; i++) { VaultNode tag = (VaultNode)fMailList.Items[i].Tag; if (tag.ID == node.ID) { fMailList.Items[i].Tag = node; fMailList.Items[i].Text = IGetTitle(node); //We must resort manually... fMailList.Sort(); break; } } }
public VaultSystemNode(VaultNode node) : base(node) { }
public VaultTextNode(VaultNode node) : base(node) { }
public static VaultNode Parse(byte[] data) { MemoryStream ms = new MemoryStream(data); UruStream s = new UruStream(ms); VaultNode n = new VaultNode(); n.Read(s); s.Close(); ms.Close(); return n; }
public VaultSDLNode(VaultNode node) : base(node) { }
private string IGetTitle(VaultNode node) { switch (node.NodeType) { case ENodeType.kNodeImage: case ENodeType.kNodeTextNote: return node.fString64[0]; case ENodeType.kNodeMarkerList: return node.fText[0]; } return String.Empty; }
private void IRemoveFromPanes(VaultNode node, uint parentID, uint childID) { if (fBaseNodes[EStandardNode.kBuddyListFolder] == parentID) fBuddyCtrl.RemoveNode(node); if (fBaseNodes[EStandardNode.kHoodMembersFolder] == parentID) fNeighborsCtrl.RemoveNode(node); if (fBaseNodes[EStandardNode.kPeopleIKnowAboutFolder] == parentID) fRecentsCtrl.RemoveNode(node); if (fBaseNodes[EStandardNode.kAgeJournalsFolder] == parentID) fKiMailCtrl.RemoveFolder(node); if (node.NodeType == ENodeType.kNodeImage || node.NodeType == ENodeType.kNodeTextNote) fKiMailCtrl.RemoveKiItem(node); }
public VaultMarkerNode(VaultNode node) : base(node) { }
private void IUpdateNode(VaultNode node) { switch (node.NodeType) { case ENodeType.kNodeImage: case ENodeType.kNodeMarkerList: case ENodeType.kNodeTextNote: fKiMailCtrl.UpdateNode(node); break; case ENodeType.kNodePlayerInfo: VaultPlayerInfoNode info = new VaultPlayerInfoNode(node); bool alerted = IDoBuddyUpdate(info, false); IDoNeighborUpdate(info, alerted); fRecentsCtrl.UpdateNode(info); break; } }
public VaultImageNode(VaultNode node) : base(node) { }
public VaultAgeInfoNode(VaultNode node) : base(node) { }
public VaultFolderNode(VaultNode node) : base(node) { }
public VaultChronicleNode(VaultNode node) : base(node) { }
public VaultAgeLinkNode(VaultNode node) : base(node) { }
private void IAddJournalFolder(VaultNode node) { VaultFolderNode age = new VaultFolderNode(node); fParent.LogDebug(String.Format("Got journal [AGE: {0}] [NodeID: {1}]", age.FolderName, age.ID)); ListViewItem folder = new ListViewItem(age.FolderName); folder.Tag = node; if (fParent.GetChildCount(node.ID) == 0 && !fShowEmptyFolders.Checked) fHiddenFolders.Add(folder); else fAgeList.Items.Add(folder); }
private void IAddToPanes(VaultNode node, uint parentID, uint childID) { if (node.NodeType == ENodeType.kNodePlayerInfo) { if (fBaseNodes[EStandardNode.kBuddyListFolder] == parentID) fBuddyCtrl.AddPlayerInfo(node); if (fBaseNodes[EStandardNode.kHoodMembersFolder] == parentID) fNeighborsCtrl.AddPlayerInfo(node); if (fBaseNodes[EStandardNode.kPeopleIKnowAboutFolder] == parentID) fRecentsCtrl.AddPlayerInfo(node); } if (node.NodeType == ENodeType.kNodeImage || node.NodeType == ENodeType.kNodeTextNote) fKiMailCtrl.AddNode(node, parentID); }
private void IAddKiItem(VaultNode node) { if (fAgeList.FocusedItem == null) return; //Callbacks can be evil sometimes... //Make sure that the incoming node is for the CURRENT age VaultNode tag = (VaultNode)fAgeList.FocusedItem.Tag; if (!fParent.HasChild(tag.ID, node.ID)) return; ListViewItem lvi = new ListViewItem(IGetTitle(node)); //String64_1 is pretty much always the title... lvi.Tag = node; switch (node.NodeType) { case ENodeType.kNodeImage: lvi.ImageIndex = (int)Icon.Image; break; case ENodeType.kNodeMarkerList: lvi.ImageIndex = (int)Icon.MarkerList; break; case ENodeType.kNodeTextNote: lvi.ImageIndex = (int)Icon.Text; break; default: //Unhandled Type... Bail out! return; } fMailList.Items.Add(lvi); }
public VaultPlayerInfoListNode(VaultNode node) : base(node) { }
private void ISetTitle(VaultNode node, string text) { switch (node.NodeType) { case ENodeType.kNodeImage: case ENodeType.kNodeTextNote: node.fString64[0] = text; break; case ENodeType.kNodeMarkerList: node.fText[0] = text; break; } }
public VaultPlayerNode(VaultNode node) : base(node) { }
public VaultNodeAccess(VaultNode n) { fBase = n; }
private void IDelayedAgeName(VaultNode node, VaultPlayerInfoNode info) { VaultAgeInfoNode age = new VaultAgeInfoNode(node); string name = String.Empty; if (age.Description == String.Empty) if (age.SequenceNumber == 0) name = String.Format("{0} {1}", age.UserDefinedName, age.InstanceName); else name = String.Format("{0} ({1}) {2}", age.UserDefinedName, age.SequenceNumber, age.InstanceName); else name = age.Description; //Find the player's row int idx = -1; foreach (DataGridViewRow r in fDataGridView.Rows) { if (Convert.ToUInt32(r.Cells[1].Value) == info.PlayerID) { idx = fDataGridView.Rows.IndexOf(r); break; } } //Actually update the entry fDataGridView.Rows[idx].Cells[3].Value = name; }
public VaultNodeAccess(ENodeType type) { fBase = new VaultNode(type); }
private void IAddFolderToPanes(VaultNode node) { if (node.NodeType == ENodeType.kNodePlayerInfoList) { VaultPlayerInfoListNode list = new VaultPlayerInfoListNode(node); //Basic stuff if (list.FolderType == EStandardNode.kBuddyListFolder) fBaseNodes.Add(EStandardNode.kBuddyListFolder, node.ID); if (list.FolderType == EStandardNode.kIgnoreListFolder) fBaseNodes.Add(EStandardNode.kIgnoreListFolder, node.ID); if (list.FolderType == EStandardNode.kPeopleIKnowAboutFolder) fBaseNodes.Add(EStandardNode.kPeopleIKnowAboutFolder, node.ID); //If it's an AgeOwners folder, we have the Neighborhood :) if (list.FolderType == EStandardNode.kAgeOwnersFolder) fBaseNodes.Add(EStandardNode.kHoodMembersFolder, node.ID); } //Search for Neighborhood in the AgesIOwn if (node.NodeType == ENodeType.kNodeAgeInfoList) { VaultAgeInfoListNode ages = new VaultAgeInfoListNode(node); if (ages.FolderType == EStandardNode.kAgesIOwnFolder) { FetchChildren(node.ID, new Action<VaultNode>(IAddFolderToPanes)); } } //Grab the AgeInfo... if (node.NodeType == ENodeType.kNodeAgeLink) FetchChildren(node.ID, new Action<VaultNode>(IAddFolderToPanes)); //See if this is the Neighborhood or Relto if (node.NodeType == ENodeType.kNodeAgeInfo) { VaultAgeInfoNode ageinfo = new VaultAgeInfoNode(node); if (ageinfo.Filename == "Neighborhood") { //Yep! Grab children :) FetchChildren(node.ID, new Action<VaultNode>(IAddFolderToPanes)); } //HACK!!! Change back to PERSONAL asap! if (ageinfo.Filename == "Neighborhood") { //Stash this node! Oh, and YES this is a strange label, but whatev. fBaseNodes.Add(EStandardNode.kAgeInfoNode, ageinfo.ID); } } //Are these KI Mail Folders? if (node.NodeType == ENodeType.kNodeFolder) { VaultFolderNode folder = new VaultFolderNode(node); if (folder.FolderType == EStandardNode.kAgeJournalsFolder) fBaseNodes.Add(EStandardNode.kAgeJournalsFolder, node.ID); if (folder.FolderType == EStandardNode.kInboxFolder) fBaseNodes.Add(EStandardNode.kInboxFolder, node.ID); } //Is this my PlayerInfo? if (node.NodeType == ENodeType.kNodePlayerInfo) { VaultPlayerInfoNode info = new VaultPlayerInfoNode(node); if (info.PlayerID == fActivePlayer) fBaseNodes.Add(EStandardNode.kPlayerInfoNode, info.ID); } //FIXME: This is a strange hack... //Aparently, it causes the selected tab to update. I would say this is spammy though. ITabSelected(null, new TabControlEventArgs(fTabControl.SelectedTab, fTabControl.SelectedIndex, TabControlAction.Selected)); }