Multi-selection, move, undo/redo

This commit is contained in:
dexyfex
2017-09-26 10:27:18 +10:00
Unverified
parent 1a2af6af9e
commit bac531208c
7 changed files with 885 additions and 471 deletions
+15 -14
View File
@@ -46,6 +46,7 @@
this.ToolsDetailsTabPage = new System.Windows.Forms.TabPage();
this.DetailsPropertyGrid = new CodeWalker.WinForms.ReadOnlyPropertyGrid();
this.ToolsOptionsTabPage = new System.Windows.Forms.TabPage();
this.SkeletonsCheckBox = new System.Windows.Forms.CheckBox();
this.TimeOfDayLabel = new System.Windows.Forms.Label();
this.label19 = new System.Windows.Forms.Label();
this.TimeOfDayTrackBar = new System.Windows.Forms.TrackBar();
@@ -72,7 +73,6 @@
this.ToolsPanelHideButton = new System.Windows.Forms.Button();
this.ToolsDragPanel = new System.Windows.Forms.Panel();
this.ToolsPanelShowButton = new System.Windows.Forms.Button();
this.SkeletonsCheckBox = new System.Windows.Forms.CheckBox();
this.StatusStrip.SuspendLayout();
this.ConsolePanel.SuspendLayout();
this.ToolsPanel.SuspendLayout();
@@ -284,6 +284,19 @@
this.ToolsOptionsTabPage.Text = "Options";
this.ToolsOptionsTabPage.UseVisualStyleBackColor = true;
//
// SkeletonsCheckBox
//
this.SkeletonsCheckBox.AutoSize = true;
this.SkeletonsCheckBox.Checked = true;
this.SkeletonsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.SkeletonsCheckBox.Location = new System.Drawing.Point(19, 444);
this.SkeletonsCheckBox.Name = "SkeletonsCheckBox";
this.SkeletonsCheckBox.Size = new System.Drawing.Size(103, 17);
this.SkeletonsCheckBox.TabIndex = 21;
this.SkeletonsCheckBox.Text = "Show Skeletons";
this.SkeletonsCheckBox.UseVisualStyleBackColor = true;
this.SkeletonsCheckBox.CheckedChanged += new System.EventHandler(this.SkeletonsCheckBox_CheckedChanged);
//
// TimeOfDayLabel
//
this.TimeOfDayLabel.AutoSize = true;
@@ -591,19 +604,6 @@
this.ToolsPanelShowButton.UseVisualStyleBackColor = true;
this.ToolsPanelShowButton.Click += new System.EventHandler(this.ToolsPanelShowButton_Click);
//
// SkeletonsCheckBox
//
this.SkeletonsCheckBox.AutoSize = true;
this.SkeletonsCheckBox.Checked = true;
this.SkeletonsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.SkeletonsCheckBox.Location = new System.Drawing.Point(19, 444);
this.SkeletonsCheckBox.Name = "SkeletonsCheckBox";
this.SkeletonsCheckBox.Size = new System.Drawing.Size(103, 17);
this.SkeletonsCheckBox.TabIndex = 21;
this.SkeletonsCheckBox.Text = "Show Skeletons";
this.SkeletonsCheckBox.UseVisualStyleBackColor = true;
this.SkeletonsCheckBox.CheckedChanged += new System.EventHandler(this.SkeletonsCheckBox_CheckedChanged);
//
// ModelForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -618,6 +618,7 @@
this.KeyPreview = true;
this.Name = "ModelForm";
this.Text = "View Model - CodeWalker by dexyfex";
this.Deactivate += new System.EventHandler(this.ModelForm_Deactivate);
this.Load += new System.EventHandler(this.ModelForm_Load);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.ModelForm_KeyDown);
this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.ModelForm_KeyUp);
+34 -22
View File
@@ -2277,28 +2277,6 @@ namespace CodeWalker.Forms
}
private void StatsUpdateTimer_Tick(object sender, EventArgs e)
{
int rgc = (shaders != null) ? shaders.RenderedGeometries : 0;
int crc = renderableCache.LoadedRenderableCount;
int ctc = renderableCache.LoadedTextureCount;
int tcrc = renderableCache.MemCachedRenderableCount;
int tctc = renderableCache.MemCachedTextureCount;
long vr = renderableCache.TotalGraphicsMemoryUse + (shaders != null ? shaders.TotalGraphicsMemoryUse : 0);
string vram = TextUtil.GetBytesReadable(vr);
//StatsLabel.Text = string.Format("Drawn: {0} geom, Loaded: {1}/{5} dr, {2}/{6} tx, Vram: {3}, Fps: {4}", rgc, crc, ctc, vram, fps, tcrc, tctc);
StatsLabel.Text = string.Format("Drawn: {0} geom, Loaded: {1} dr, {2} tx, Vram: {3}, Fps: {4}", rgc, crc, ctc, vram, fps);
if (timerunning)
{
float fv = timeofday * 60.0f;
//TimeOfDayTrackBar.Value = (int)fv;
UpdateTimeOfDayLabel();
}
//CameraPositionTextBox.Text = FloatUtil.GetVector3String(camera.Position, "0.##");
}
private void ModelForm_KeyDown(object sender, KeyEventArgs e)
{
if (ActiveControl is TextBox)
@@ -2470,6 +2448,40 @@ namespace CodeWalker.Forms
//}
}
private void ModelForm_Deactivate(object sender, EventArgs e)
{
//try not to lock keyboard movement if the form loses focus.
kbmovefwd = false;
kbmovebck = false;
kbmovelft = false;
kbmovergt = false;
kbmoveup = false;
kbmovedn = false;
kbjump = false;
}
private void StatsUpdateTimer_Tick(object sender, EventArgs e)
{
int rgc = (shaders != null) ? shaders.RenderedGeometries : 0;
int crc = renderableCache.LoadedRenderableCount;
int ctc = renderableCache.LoadedTextureCount;
int tcrc = renderableCache.MemCachedRenderableCount;
int tctc = renderableCache.MemCachedTextureCount;
long vr = renderableCache.TotalGraphicsMemoryUse + (shaders != null ? shaders.TotalGraphicsMemoryUse : 0);
string vram = TextUtil.GetBytesReadable(vr);
//StatsLabel.Text = string.Format("Drawn: {0} geom, Loaded: {1}/{5} dr, {2}/{6} tx, Vram: {3}, Fps: {4}", rgc, crc, ctc, vram, fps, tcrc, tctc);
StatsLabel.Text = string.Format("Drawn: {0} geom, Loaded: {1} dr, {2} tx, Vram: {3}, Fps: {4}", rgc, crc, ctc, vram, fps);
if (timerunning)
{
float fv = timeofday * 60.0f;
//TimeOfDayTrackBar.Value = (int)fv;
UpdateTimeOfDayLabel();
}
//CameraPositionTextBox.Text = FloatUtil.GetVector3String(camera.Position, "0.##");
}
private void ToolsPanelShowButton_Click(object sender, EventArgs e)
{
ToolsPanel.Visible = true;