Ejemplo n.º 1
0
        public SearchUI(IPluginHost host, AddOn.SearchUIAddOn searchUIAddOn)
        {
            CBItem item;

            _searchUIAddOn = searchUIAddOn;
            _host          = host;

            InitializeComponent();

            _emptyContextMenu = new MetroFramework.Controls.MetroContextMenu(this.components);

            this.Shown += SearchUI_Shown;

            CbScanMethod.Items.Clear();
            CbScanDataType.Items.Clear();

            // Setup data type and method combo boxes
            foreach (ISearchMethod sm in host.SearchMethods)
            {
                if (sm.Mode == Types.SearchMode.First || sm.Mode == Types.SearchMode.Both)
                {
                    item = new UI.CBItem(sm);
                    this.CbScanMethod.Items.Add(item);
                    _cbScanMethodToolTips.Add(sm, item.ToTooltip());
                }
            }

            foreach (ISearchType st in host.SearchTypes)
            {
                item = new UI.CBItem(st);
                this.CbScanDataType.Items.Add(item);
                _cbScanDataTypeToolTips.Add(st, item.ToTooltip());
            }
        }
Ejemplo n.º 2
0
        private void UpdateSearchMethods(Types.SearchMode mode)
        {
            CBItem oldItem = CbScanMethod.SelectedIndex < 0 ? null : (CBItem)CbScanMethod.SelectedItem;
            CBItem item;

            CbScanMethod.BeginUpdate();
            CbScanMethod.SuspendLayout();
            CbScanMethod.Items.Clear();
            _isUserInput = false;

            // Setup method combo boxes
            foreach (ISearchMethod sm in _host.SearchMethods)
            {
                if (sm.Mode == mode || sm.Mode == Types.SearchMode.Both)
                {
                    item = new UI.CBItem(sm);
                    this.CbScanMethod.Items.Add(item);
                    if (!_cbScanMethodToolTips.Keys.Contains(sm))
                    {
                        _cbScanMethodToolTips.Add(sm, item.ToTooltip());
                    }

                    if (oldItem != null && oldItem.Plugin == item.Plugin)
                    {
                        CbScanMethod.SelectedIndex = CbScanMethod.Items.Count - 1;

                        // Update Search Data Types
                        UpdateSearchTypes(sm);
                    }
                }
            }

            _isUserInput = true;
            CbScanMethod.ResumeLayout(true);
            CbScanMethod.EndUpdate();
        }