private void Inventory_OnInventoryItemCopied(InventoryBase item) { if (InvokeRequired) { if (!instance.MonoRuntime || IsHandleCreated) { BeginInvoke(new MethodInvoker(() => Inventory_OnInventoryItemCopied(item))); } return; } if (null == item) { return; } instance.TabConsole.DisplayNotificationInChat( string.Format("{0} saved to inventory", item.Name), ChatBufferTextStyle.Invisible); tlblStatus.Text = "Saved"; if (item is InventoryNotecard) { Notecard nc = new Notecard(instance, (InventoryNotecard)item) { pnlKeepDiscard = { Visible = true } }; nc.ShowDetached(); } }
void UpdateItemInfo(InventoryItem item) { foreach (Control c in pnlDetail.Controls) { c.Dispose(); } pnlDetail.Controls.Clear(); pnlItemProperties.Tag = item; if (item == null) { pnlItemProperties.Visible = false; return; } pnlItemProperties.Visible = true; btnProfile.Enabled = true; txtItemName.Text = item.Name; txtItemDescription.Text = item.Description; txtCreator.AgentID = item.CreatorID; txtCreator.Tag = item.CreatorID; txtCreated.Text = item.CreationDate.ToString(); if (item.AssetUUID != UUID.Zero) { txtAssetID.Text = item.AssetUUID.ToString(); } else { txtAssetID.Text = String.Empty; } Permissions p = item.Permissions; cbOwnerModify.Checked = (p.OwnerMask & PermissionMask.Modify) != 0; cbOwnerCopy.Checked = (p.OwnerMask & PermissionMask.Copy) != 0; cbOwnerTransfer.Checked = (p.OwnerMask & PermissionMask.Transfer) != 0; cbNextOwnModify.CheckedChanged -= cbNextOwnerUpdate_CheckedChanged; cbNextOwnCopy.CheckedChanged -= cbNextOwnerUpdate_CheckedChanged; cbNextOwnTransfer.CheckedChanged -= cbNextOwnerUpdate_CheckedChanged; cbNextOwnModify.Checked = (p.NextOwnerMask & PermissionMask.Modify) != 0; cbNextOwnCopy.Checked = (p.NextOwnerMask & PermissionMask.Copy) != 0; cbNextOwnTransfer.Checked = (p.NextOwnerMask & PermissionMask.Transfer) != 0; cbNextOwnModify.CheckedChanged += cbNextOwnerUpdate_CheckedChanged; cbNextOwnCopy.CheckedChanged += cbNextOwnerUpdate_CheckedChanged; cbNextOwnTransfer.CheckedChanged += cbNextOwnerUpdate_CheckedChanged; switch (item.AssetType) { case AssetType.Texture: SLImageHandler image = new SLImageHandler(instance, item.AssetUUID, item.Name, IsFullPerm(item)); image.Dock = DockStyle.Fill; pnlDetail.Controls.Add(image); break; case AssetType.Notecard: Notecard note = new Notecard(instance, (InventoryNotecard)item); note.Dock = DockStyle.Fill; note.TabIndex = 3; note.TabStop = true; pnlDetail.Controls.Add(note); note.rtbContent.Focus(); break; case AssetType.Landmark: Landmark landmark = new Landmark(instance, (InventoryLandmark)item); landmark.Dock = DockStyle.Fill; pnlDetail.Controls.Add(landmark); break; case AssetType.LSLText: ScriptEditor script = new ScriptEditor(instance, (InventoryLSL)item); script.Dock = DockStyle.Fill; script.TabIndex = 3; script.TabStop = true; pnlDetail.Controls.Add(script); break; case AssetType.Gesture: Guesture gesture = new Guesture(instance, (InventoryGesture)item); gesture.Dock = DockStyle.Fill; pnlDetail.Controls.Add(gesture); break; } tabsInventory.SelectedTab = tabDetail; }
void invTree_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { if (invTree.SelectedNode.Tag is InventoryItem) { InventoryItem item = invTree.SelectedNode.Tag as InventoryItem; switch (item.AssetType) { case AssetType.Landmark: instance.TabConsole.DisplayNotificationInChat("Teleporting to " + item.Name); client.Self.RequestTeleport(item.AssetUUID); break; case AssetType.Gesture: client.Self.PlayGesture(item.AssetUUID); break; case AssetType.Notecard: Notecard note = new Notecard(instance, (InventoryNotecard)item); note.Dock = DockStyle.Fill; note.ShowDetached(); break; case AssetType.LSLText: ScriptEditor script = new ScriptEditor(instance, (InventoryLSL)item); script.Dock = DockStyle.Fill; script.ShowDetached(); break; } } }
void invTree_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { if (invTree.SelectedNode.Tag is InventoryItem) { InventoryItem item = invTree.SelectedNode.Tag as InventoryItem; item = instance.COF.RealInventoryItem(item); switch (item.AssetType) { case AssetType.Landmark: instance.TabConsole.DisplayNotificationInChat("Teleporting to " + item.Name); client.Self.RequestTeleport(item.AssetUUID); break; case AssetType.Gesture: client.Self.PlayGesture(item.AssetUUID); break; case AssetType.Notecard: Notecard note = new Notecard(instance, (InventoryNotecard)item); note.Dock = DockStyle.Fill; note.ShowDetached(); break; case AssetType.LSLText: ScriptEditor script = new ScriptEditor(instance, (InventoryLSL)item); script.Dock = DockStyle.Fill; script.ShowDetached(); break; case AssetType.Object: if (IsAttached(item)) { instance.COF.Detach(item); } else { instance.COF.Attach(item, AttachmentPoint.Default, true); } break; case AssetType.Bodypart: case AssetType.Clothing: if (IsWorn(item)) { if (item.AssetType == AssetType.Clothing) { instance.COF.RemoveFromOutfit(item); } } else { instance.COF.AddToOutfit(item, true); } break; } } }
private void Inventory_OnInventoryItemCopied(InventoryBase item) { if (InvokeRequired) { if (!instance.MonoRuntime || IsHandleCreated) BeginInvoke(new MethodInvoker(() => Inventory_OnInventoryItemCopied(item))); return; } if (null == item) return; instance.TabConsole.DisplayNotificationInChat( string.Format("{0} saved to inventory", item.Name), ChatBufferTextStyle.Invisible); tlblStatus.Text = "Saved"; if (item is InventoryNotecard) { Notecard nc = new Notecard(instance, (InventoryNotecard)item); nc.pnlKeepDiscard.Visible = true; nc.ShowDetached(); } }