Пример #1
0
 public static DataViewState Save(DataView view)
 {
     DataViewState result = new DataViewState();
     TreeNode node = view.StructTreeView.SelectedNode;
     while(node != null)
     {
         result._selectedIndices.Insert(0, node.Index);
         node = node.Parent;
     }
     return result;
 }
Пример #2
0
        public MainForm()
        {
            InitializeComponent();
            _dataView = new DataView();
            _dataView.CellSelected += _dataView_OnCellSelected;
            _dataView.Dock = DockStyle.Fill;
            splitContainer2.Panel2.Controls.Add(_dataView);

            Application.AddMessageFilter(new WheelMessageFilter());
            string lastStrsFile = _settings.LastStrsFile;
            if (lastStrsFile != null && lastStrsFile.Length > 0)
                LoadStructsFile(lastStrsFile);
            _structEditControl.Document.DocumentChanged += delegate { _structuresModified = true; };
            _dataView.HexDump.StatusTextChanged += (sender, e) => tslSelection.Text = e.Text;

            RestoreFormPosition();
            _settingsLoaded = true;
        }
Пример #3
0
 public void Restore(DataView view)
 {
     if (_selectedIndices.Count > 0)
     {
         TreeNodeCollection nodeCollection = view.StructTreeView.Nodes;
         TreeNode node;
         TreeNode nodeToSelect = null;
         foreach(int index in _selectedIndices)
         {
             node = LoadNode(nodeCollection, index);
             if (node == null) break;
             nodeToSelect = node;
             node.Expand();
             nodeCollection = node.Nodes;
         }
         view.StructTreeView.SelectedNode = nodeToSelect;
     }
 }