public TagBlockReallocator(ReflexiveData block)
 {
     _block         = block;
     _originalCount = block.Length;
     InitializeComponent();
     DwmDropShadow.DropShadowToWindow(this);
     InitBlockInformation();
 }
        public void LeaveReflexive()
        {
            if (_currentReflexive == null)
            {
                throw new InvalidOperationException("Not in a reflexive");
            }

            _reflexives.RemoveAt(_reflexives.Count - 1);
            _currentReflexive = _reflexives.Count > 0 ? _reflexives[_reflexives.Count - 1] : null;
        }
Exemplo n.º 3
0
        // Thread-safe
        private void SelectResult(SearchResult result)
        {
            ReflexiveData reflexive = result.Reflexive;

            if (reflexive != null)
            {
                _flattener.ForceVisible(reflexive);
            }
            SelectField(result.ListField);
        }
Exemplo n.º 4
0
        public static int?Show(ICacheFile cache, ReflexiveData data)
        {
            App.AssemblyStorage.AssemblySettings.HomeWindow.ShowMask();
            var dialog = new TagBlockReallocator(data)
            {
                Owner = App.AssemblyStorage.AssemblySettings.HomeWindow,
                WindowStartupLocation = WindowStartupLocation.CenterOwner
            };

            dialog.ShowDialog();
            App.AssemblyStorage.AssemblySettings.HomeWindow.HideMask();
            return(dialog.NewCount);
        }
        public bool EnterReflexive(string name, uint offset, bool visible, uint entrySize, int align, bool sort, uint pluginLine)
        {
            if (visible || _showInvisibles)
            {
                var data = new ReflexiveData(name, offset, 0, entrySize, align, sort, pluginLine, _metaArea);
                AddValue(data);

                _reflexives.Add(data);
                Reflexives.Add(data);
                _currentReflexive = data;
                return(true);
            }
            return(false);
        }
Exemplo n.º 6
0
 private void MetaFilterer_CollectResult(MetaField foundField, MetaField listField, ReflexiveData parent)
 {
     _resultIndices[listField] = _searchResults.Count;
     _searchResults.Add(new SearchResult(foundField, listField, parent));
 }
Exemplo n.º 7
0
 /// <summary>
 ///     Constructs a new search result holder.
 /// </summary>
 /// <param name="foundField">The field that was found and highlighted.</param>
 /// <param name="listField">
 ///     The top-level field in the field list. For reflexive entries, this is the topmost wrapper
 ///     field, otherwise, this may be the same as foundField.
 /// </param>
 /// <param name="parent">The reflexive that the field is in. Can be null.</param>
 public SearchResult(MetaField foundField, MetaField listField, ReflexiveData parent)
 {
     ListField = listField;
     Field     = foundField;
     Reflexive = parent;
 }