示例#1
0
 /// <summary>
 /// Announce closing of a context menu.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnContentMenuClosing(object sender, METAboltContextMenuStrip.ContextMenuEventArgs e)
 {
     lock (e.Menu)
     {
         control.talker.SayMore("Menu closed.", Talk.BeepType.Close);
         menuStrip = null;
     }
 }
示例#2
0
        /// <summary>
        /// Announce the opening of a context menu
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnContentMenuOpened(object sender, METAboltContextMenuStrip.ContextMenuEventArgs e)
        {
            lock (e.Menu)
            {
                menuStrip = e.Menu;
                menuFor   = string.Empty;
                id        = OpenMetaverse.UUID.Zero;

                // Figure out what this menu applies to.
                if (menuStrip.Selection is string)
                {
                    menuFor = (string)menuStrip.Selection;
                }
                else if (menuStrip.Selection is ListViewItem)
                {
                    ListViewItem lv = menuStrip.Selection as ListViewItem;
                    menuFor = lv.Text;
                }
                else if (menuStrip.Selection is OpenMetaverse.InventoryItem)
                {
                    // Something in Inventory.
                    menuFor = ((OpenMetaverse.InventoryItem)(menuStrip.Selection)).Name;
                }
                else if (menuStrip.Selection is OpenMetaverse.FriendInfo)
                {
                    // A Friend.
                    OpenMetaverse.FriendInfo f = menuStrip.Selection as OpenMetaverse.FriendInfo;
                    menuFor = f.Name;
                }
                else if (menuStrip.Selection is OpenMetaverse.Primitive)
                {
                    // Something in the Objects list.
                    OpenMetaverse.Primitive p = menuStrip.Selection as OpenMetaverse.Primitive;
                    if (p.Properties != null)
                    {
                        menuFor = p.Properties.Name;
                    }
                    else
                    {
                        menuFor = "Loading object";
                    }
                }

                // Remove parenthesized distance, etc
                int lParen = menuFor.IndexOf('(');
                if (lParen > 0)
                {
                    menuFor = menuFor.Substring(0, lParen);
                }

                // Stop reading old choices if moving fast.
                control.talker.Flush();
                control.talker.SayMore(menuFor + " menu.", Talk.BeepType.Open);
            }
        }
示例#3
0
        private void OnContentMenuItemClicked(object sender, METAboltContextMenuStrip.ContextMenuEventArgs e)
        {
            if (!e.MenuItem.Enabled)
            {
                control.talker.SayMore(e.MenuItem.Text + " is disabled.", Talk.BeepType.Bad);
                return;
            }

            control.talker.Flush();
            control.talker.SayMore("Doing " + e.MenuItem.Text, Talk.BeepType.Good);
        }
示例#4
0
        private void OnContentMenuItemSelected(object sender, METAboltContextMenuStrip.ContextMenuEventArgs e)
        {
            lock (e.Menu)
            {
                if (e.MenuItem == null)
                {
                    return;
                }

                if (e.MenuItem.Enabled)
                {
                    control.talker.SayMore(e.MenuItem.Text);
                }
                else
                {
                    control.talker.SayMore("Disabled " + e.MenuItem.Text);
                }
            }
        }