Horizon – Diff between revs 1 and 8
?pathlinks?
Rev 1 | Rev 8 | |||
---|---|---|---|---|
1 | using System; |
1 | using System; |
|
2 | using System.Windows.Forms; |
2 | using System.Windows.Forms; |
|
3 | using Be.Windows.Forms; |
3 | using Be.Windows.Forms; |
|
4 | using Horizon.Database; |
4 | using Horizon.Database; |
|
5 | using Horizon.Utilities; |
5 | using Horizon.Utilities; |
|
6 | |
6 | |
|
7 | namespace Horizon.Snapshots |
7 | namespace Horizon.Snapshots |
|
8 | { |
8 | { |
|
9 | public partial class HexViewForm : Form |
9 | public partial class HexViewForm : Form |
|
10 | { |
10 | { |
|
11 | #region Public Events & Delegates |
11 | #region Public Events & Delegates |
|
12 | |
12 | |
|
13 | public event EventHandler<SaveDataEventArgs> SaveData; |
13 | public event EventHandler<SaveDataEventArgs> SaveData; |
|
14 | |
14 | |
|
15 | #endregion |
15 | #endregion |
|
16 | |
16 | |
|
17 | #region Public Methods |
17 | #region Public Methods |
|
18 | |
18 | |
|
19 | public void UpdateData(byte[] data) |
19 | public void UpdateData(byte[] data) |
|
20 | { |
20 | { |
|
21 | hexBox1.InvokeIfRequired(hexBox => |
21 | hexBox1.InvokeIfRequired(hexBox => |
|
22 | { |
22 | { |
|
23 | _originalData = (byte[])data.Clone(); |
23 | _originalData = (byte[])data.Clone(); |
|
24 | |
24 | |
|
25 | _dynamicByteProvider = new DynamicByteProvider(data); |
25 | _dynamicByteProvider = new DynamicByteProvider(data); |
|
26 | hexBox.ByteProvider = _dynamicByteProvider; |
26 | hexBox.ByteProvider = _dynamicByteProvider; |
|
27 | hexBox.Refresh(); |
27 | hexBox.Refresh(); |
|
28 | }); |
28 | }); |
|
29 | } |
29 | } |
|
30 | |
30 | |
|
31 | #endregion |
31 | #endregion |
|
32 | |
32 | |
|
33 | #region Private Delegates, Events, Enums, Properties, Indexers and Fields |
33 | #region Private Delegates, Events, Enums, Properties, Indexers and Fields |
|
34 | |
34 | |
|
35 | private readonly SnapshotDatabase _snapshotDatabase; |
35 | private readonly SnapshotDatabase _snapshotDatabase; |
|
36 | |
36 | |
|
37 | private DynamicByteProvider _dynamicByteProvider; |
37 | private DynamicByteProvider _dynamicByteProvider; |
|
38 | |
38 | |
|
39 | private string _hash; |
39 | private string _hash; |
|
40 | |
40 | |
|
41 | private byte[] _originalData; |
41 | private byte[] _originalData; |
|
42 | |
42 | |
|
43 | #endregion |
43 | #endregion |
|
44 | |
44 | |
|
45 | #region Constructors, Destructors and Finalizers |
45 | #region Constructors, Destructors and Finalizers |
|
46 | |
46 | |
|
47 | public HexViewForm() |
47 | public HexViewForm() |
|
48 | { |
48 | { |
|
49 | InitializeComponent(); |
49 | InitializeComponent(); |
|
50 | Utilities.WindowState.FormTracker.Track(this); |
- | ||
51 | } |
50 | } |
|
52 | |
51 | |
|
53 | public HexViewForm(SnapshotDatabase snapshotDatabase, string hash, byte[] data) : this() |
52 | public HexViewForm(SnapshotDatabase snapshotDatabase, string hash, byte[] data) : this() |
|
54 | { |
53 | { |
|
55 | _originalData = (byte[])data.Clone(); |
54 | _originalData = (byte[])data.Clone(); |
|
56 | _hash = hash; |
55 | _hash = hash; |
|
57 | |
56 | |
|
58 | _snapshotDatabase = snapshotDatabase; |
57 | _snapshotDatabase = snapshotDatabase; |
|
59 | _snapshotDatabase.SnapshotDataUpdate += SnapshotDatabaseSnapshotDataUpdate; |
58 | _snapshotDatabase.SnapshotDataUpdate += SnapshotDatabaseSnapshotDataUpdate; |
|
60 | |
59 | |
|
61 | _dynamicByteProvider = new DynamicByteProvider(data); |
60 | _dynamicByteProvider = new DynamicByteProvider(data); |
|
62 | hexBox1.ByteProvider = _dynamicByteProvider; |
61 | hexBox1.ByteProvider = _dynamicByteProvider; |
|
63 | } |
62 | } |
|
64 | |
63 | |
|
65 | /// <summary> |
64 | /// <summary> |
|
66 | /// Clean up any resources being used. |
65 | /// Clean up any resources being used. |
|
67 | /// </summary> |
66 | /// </summary> |
|
68 | /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> |
67 | /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> |
|
69 | protected override void Dispose(bool disposing) |
68 | protected override void Dispose(bool disposing) |
|
70 | { |
69 | { |
|
71 | if (disposing && components != null) |
70 | if (disposing && components != null) |
|
72 | { |
71 | { |
|
73 | components.Dispose(); |
72 | components.Dispose(); |
|
74 | } |
73 | } |
|
75 | |
74 | |
|
76 | _snapshotDatabase.SnapshotDataUpdate -= SnapshotDatabaseSnapshotDataUpdate; |
75 | _snapshotDatabase.SnapshotDataUpdate -= SnapshotDatabaseSnapshotDataUpdate; |
|
77 | |
76 | |
|
78 | base.Dispose(disposing); |
77 | base.Dispose(disposing); |
|
79 | } |
78 | } |
|
80 | |
79 | |
|
81 | #endregion |
80 | #endregion |
|
82 | |
81 | |
|
83 | #region Event Handlers |
82 | #region Event Handlers |
|
- | 83 | private void HexViewForm_Load(object sender, EventArgs e) |
||
- | 84 | { |
||
- | 85 | Utilities.WindowState.FormTracker.Track(this); |
||
84 | |
86 | } |
|
85 | private void SnapshotDatabaseSnapshotDataUpdate(object sender, SnapshotDataUpdateEventArgs e) |
87 | private void SnapshotDatabaseSnapshotDataUpdate(object sender, SnapshotDataUpdateEventArgs e) |
|
86 | { |
88 | { |
|
87 | switch (e) |
89 | switch (e) |
|
88 | { |
90 | { |
|
89 | case SnapshotDataUpdateSuccessEventArgs snapshotDataUpdateSuccessEventArgs: |
91 | case SnapshotDataUpdateSuccessEventArgs snapshotDataUpdateSuccessEventArgs: |
|
90 | _hash = snapshotDataUpdateSuccessEventArgs.NewHash; |
92 | _hash = snapshotDataUpdateSuccessEventArgs.NewHash; |
|
91 | |
93 | |
|
92 | statusStrip1.InvokeIfRequired(statusStrip => |
94 | statusStrip1.InvokeIfRequired(statusStrip => |
|
93 | { |
95 | { |
|
94 | toolStripProgressBar1.Value = toolStripProgressBar1.Maximum; |
96 | toolStripProgressBar1.Value = toolStripProgressBar1.Maximum; |
|
95 | toolStripStatusLabel1.Text = "Data saved."; |
97 | toolStripStatusLabel1.Text = "Data saved."; |
|
96 | }); |
98 | }); |
|
97 | break; |
99 | break; |
|
98 | case SnapshotDataUpdateFailureEventArgs _: |
100 | case SnapshotDataUpdateFailureEventArgs _: |
|
99 | statusStrip1.InvokeIfRequired(statusStrip => |
101 | statusStrip1.InvokeIfRequired(statusStrip => |
|
100 | { |
102 | { |
|
101 | toolStripProgressBar1.Value = toolStripProgressBar1.Minimum; |
103 | toolStripProgressBar1.Value = toolStripProgressBar1.Minimum; |
|
102 | toolStripStatusLabel1.Text = "Could not save data."; |
104 | toolStripStatusLabel1.Text = "Could not save data."; |
|
103 | }); |
105 | }); |
|
104 | break; |
106 | break; |
|
105 | } |
107 | } |
|
106 | } |
108 | } |
|
107 | |
109 | |
|
108 | private void SaveToolStripMenuItem_Click(object sender, EventArgs e) |
110 | private void SaveToolStripMenuItem_Click(object sender, EventArgs e) |
|
109 | { |
111 | { |
|
110 | if (_dynamicByteProvider.HasChanges()) |
112 | if (_dynamicByteProvider.HasChanges()) |
|
111 | { |
113 | { |
|
112 | _dynamicByteProvider.ApplyChanges(); |
114 | _dynamicByteProvider.ApplyChanges(); |
|
113 | |
115 | |
|
114 | statusStrip1.InvokeIfRequired(statusStrip => |
116 | statusStrip1.InvokeIfRequired(statusStrip => |
|
115 | { |
117 | { |
|
116 | toolStripProgressBar1.Value = toolStripProgressBar1.Minimum; |
118 | toolStripProgressBar1.Value = toolStripProgressBar1.Minimum; |
|
117 | toolStripStatusLabel1.Text = "Saving."; |
119 | toolStripStatusLabel1.Text = "Saving."; |
|
118 | }); |
120 | }); |
|
119 | |
121 | |
|
120 | SaveData?.Invoke(this, new SaveDataEventArgs(_hash, _dynamicByteProvider.Bytes.ToArray())); |
122 | SaveData?.Invoke(this, new SaveDataEventArgs(_hash, _dynamicByteProvider.Bytes.ToArray())); |
|
121 | } |
123 | } |
|
122 | } |
124 | } |
|
123 | |
125 | |
|
124 | private void ReloadToolStripMenuItem_Click(object sender, EventArgs e) |
126 | private void ReloadToolStripMenuItem_Click(object sender, EventArgs e) |
|
125 | { |
127 | { |
|
126 | hexBox1.InvokeIfRequired(hexBox => |
128 | hexBox1.InvokeIfRequired(hexBox => |
|
127 | { |
129 | { |
|
128 | _dynamicByteProvider = new DynamicByteProvider(_originalData); |
130 | _dynamicByteProvider = new DynamicByteProvider(_originalData); |
|
129 | hexBox.ByteProvider = _dynamicByteProvider; |
131 | hexBox.ByteProvider = _dynamicByteProvider; |
|
130 | hexBox.Refresh(); |
132 | hexBox.Refresh(); |
|
131 | }); |
133 | }); |
|
132 | } |
134 | } |
|
133 | |
135 | |
|
134 | #endregion |
136 | #endregion |
|
- | 137 | |
||
- | 138 | |
||
135 | } |
139 | } |
|
136 | } |
140 | } |
|
137 | |
141 | |
|
138 |
|
142 |
|
|
139 | |
143 | |
|
140 | |
144 | |
|
141 | |
145 | |