void ongiveasset(object o, ButtonPressEventArgs args)
        {
            Gtk.TreeModel mod;
            Gtk.TreeIter iter;
            NamePicker np = new NamePicker();
            TreePath[] paths = treeview_inv.Selection.GetSelectedRows(out mod);
            List<InventoryBase> items = new List<InventoryBase>();

            foreach (TreePath path in paths)
            {
                if (mod.GetIter(out iter, path))
                {
                    InventoryBase item = (InventoryBase)mod.GetValue(iter, 3);
                    items.Add(item);
                    if(np.Name=="")
                    {
                        if(item is InventoryItem)
                            np.item_name=((InventoryItem)item).Name;
                    }
                }

            }

            if (paths.Length > 1)
            {
                np.Name += " and " + paths.Length.ToString() + " other items ";
            }

            np.items = items;

            np.UserSel += new NamePicker.UserSelected(ongiveasset2);
            np.Show();
        }
 protected virtual void OnButtonInviteClicked(object sender, System.EventArgs e)
 {
     NamePicker np=new NamePicker();
     List <UUID> roles=new List <UUID>();
     roles.Add(UUID.Zero);
     np.UserSel += delegate (UUID id,UUID asset,string item_name,string user_name,List <InventoryBase> items){MainClass.client.Groups.Invite(this.groupkey,roles,id);};
     np.Show();
 }