Пример #1
0
        public void RefreshOpcodes(bool pReselect)
        {
            SessionForm session  = DockPanel.ActiveDocument as SessionForm;
            Opcode      selected = pReselect && session != null && mOpcodeCombo.SelectedIndex >= 0 && session.Opcodes.Count > mOpcodeCombo.SelectedIndex ? session.Opcodes[mOpcodeCombo.SelectedIndex] : null;

            mOpcodeCombo.Items.Clear();
            if (session == null)
            {
                return;
            }
            session.UpdateOpcodeList();
            foreach (Opcode op in session.Opcodes)
            {
                Definition definition = Config.Instance.GetDefinition(session.Build, session.Locale, op.Outbound, op.Header);
                int        addedIndex = mOpcodeCombo.Items.Add(string.Format("{0} 0x{1:X4} {2}", (op.Outbound ? "Outbound  " : "Inbound   "), op.Header, definition == null || string.IsNullOrEmpty(definition.Name) ? "" : definition.Name));

                if (selected != null && selected.Outbound == op.Outbound && selected.Header == op.Header)
                {
                    mOpcodeCombo.SelectedIndex = addedIndex;
                }
            }
        }
        public void RefreshOpcodes(bool pReselect)
        {
            SessionForm         session  = DockPanel.ActiveDocument as SessionForm;
            Pair <bool, ushort> selected = pReselect && session != null && mOpcodeCombo.SelectedIndex >= 0 ? session.Opcodes[mOpcodeCombo.SelectedIndex] : null;

            mOpcodeCombo.Items.Clear();
            if (session == null)
            {
                return;
            }
            session.UpdateOpcodeList();
            foreach (Pair <bool, ushort> kv in session.Opcodes)
            {
                Definition definition = Config.Instance.GetDefinition(session.Build, session.Locale, kv.First, kv.Second);
                int        addedIndex = mOpcodeCombo.Items.Add(string.Format("{0} 0x{1:X4} {2}", (kv.First ? "Outbound  " : "Inbound   "), kv.Second, definition == null || string.IsNullOrEmpty(definition.Name) ? "" : definition.Name));

                if (selected != null && selected.First == kv.First && selected.Second == kv.Second)
                {
                    mOpcodeCombo.SelectedIndex = addedIndex;
                }
            }
        }