diff --git a/.gitignore b/.gitignore
index d49070a..00ef998 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,5 @@
-### Csharp ###
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
-##
-## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.suo
@@ -10,6 +7,9 @@
*.userosscache
*.sln.docstates
+!*.exe
+!*.dll
+
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
@@ -18,12 +18,14 @@
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
-x64/
-x86/
+[Xx]64/
+[Xx]86/
+[Bb]uild/
bld/
[Bb]in/
[Oo]bj/
-[Ll]og/
+
+
# Visual Studio 2015 cache/options directory
.vs/
@@ -43,11 +45,9 @@ TestResult.xml
[Rr]eleasePS/
dlldata.c
-# .NET Core
+# DNX
project.lock.json
-project.fragment.lock.json
artifacts/
-**/Properties/launchSettings.json
*_i.c
*_p.c
@@ -86,7 +86,6 @@ ipch/
*.sdf
*.cachefile
*.VC.db
-*.VC.VC.opendb
# Visual Studio profiler
*.psess
@@ -114,10 +113,6 @@ _TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
-# Visual Studio code coverage results
-*.coverage
-*.coveragexml
-
# NCrunch
_NCrunch_*
.*crunch*.local.xml
@@ -149,18 +144,13 @@ publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
-# TODO: Uncomment the next line to ignore your web deploy settings.
-# By default, sensitive information, such as encrypted password
-# should be stored in the .pubxml.user file.
+
+# TODO: Un-comment the next line if you do not want to checkin
+# your web deploy settings because they may include unencrypted
+# passwords
#*.pubxml
-*.pubxml.user
*.publishproj
-# Microsoft Azure Web App publish settings. Comment the next line if you want to
-# checkin your Azure Web App publish settings, but sensitive information contained
-# in these scripts will be unencrypted
-PublishScripts/
-
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
@@ -169,7 +159,7 @@ PublishScripts/
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
-# NuGet v3's project.json files produces more ignorable files
+# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets
@@ -181,11 +171,9 @@ csx/
ecf/
rcf/
-# Windows Store app package directories and files
+# Windows Store app package directory
AppPackages/
BundleArtifacts/
-Package.StoreAssociation.xml
-_pkginfo.txt
# Visual Studio cache files
# files ending in .cache can be ignored
@@ -195,19 +183,16 @@ _pkginfo.txt
# Others
ClientBin/
+[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
-*.jfm
*.pfx
*.publishsettings
+node_modules/
orleans.codegen.cs
-# Since there are multiple workflows, uncomment next line to ignore bower_components
-# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
-#bower_components/
-
# RIA/Silverlight projects
Generated_Code/
@@ -222,7 +207,6 @@ UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
-*.ndf
# Business Intelligence projects
*.rdl.data
@@ -237,10 +221,6 @@ FakesAssemblies/
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
-node_modules/
-
-# Typescript v1 declaration files
-typings/
# Visual Studio 6 build log
*.plg
@@ -248,9 +228,6 @@ typings/
# Visual Studio 6 workspace options file
*.opt
-# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
-*.vbw
-
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
@@ -259,36 +236,12 @@ typings/
**/*.Server/ModelManifest.xml
_Pvt_Extensions
+# LightSwitch generated files
+GeneratedArtifacts/
+ModelManifest.xml
+
# Paket dependency manager
.paket/paket.exe
-paket-files/
# FAKE - F# Make
.fake/
-
-# JetBrains Rider
-.idea/
-*.sln.iml
-
-# CodeRush
-.cr/
-
-# Python Tools for Visual Studio (PTVS)
-__pycache__/
-*.pyc
-
-# Cake - Uncomment if you are using it
-# tools/**
-# !tools/packages.config
-
-# Telerik's JustMock configuration file
-*.jmconfig
-
-# BizTalk build output
-*.btp.cs
-*.btm.cs
-*.odx.cs
-*.xsd.cs
-
-
-# End of
\ No newline at end of file
diff --git a/WinCCFlexArchViewer/Main.Designer.cs b/WinCCFlexArchViewer/Main.Designer.cs
index 6053447..7069703 100644
--- a/WinCCFlexArchViewer/Main.Designer.cs
+++ b/WinCCFlexArchViewer/Main.Designer.cs
@@ -73,6 +73,7 @@ private void InitializeComponent()
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Padding = new System.Windows.Forms.Padding(6, 2, 2, 2);
+ this.menuStrip1.ShowItemToolTips = true;
this.menuStrip1.Size = new System.Drawing.Size(846, 24);
this.menuStrip1.TabIndex = 0;
this.menuStrip1.Text = "menuStrip1";
@@ -83,6 +84,7 @@ private void InitializeComponent()
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(53, 20);
this.fileToolStripMenuItem.Text = "File";
+ this.fileToolStripMenuItem.ToolTipText = "Open data log file";
this.fileToolStripMenuItem.Click += new System.EventHandler(this.fileToolStripMenuItem_Click);
//
// togleTableToolStripMenuItem
@@ -91,6 +93,7 @@ private void InitializeComponent()
this.togleTableToolStripMenuItem.Name = "togleTableToolStripMenuItem";
this.togleTableToolStripMenuItem.Size = new System.Drawing.Size(98, 20);
this.togleTableToolStripMenuItem.Text = "toggle table";
+ this.togleTableToolStripMenuItem.ToolTipText = "Toggle table view";
this.togleTableToolStripMenuItem.Click += new System.EventHandler(this.togleTableToolStripMenuItem_Click);
//
// hideshowcurveMenuItem
@@ -106,6 +109,7 @@ private void InitializeComponent()
this.printMenuItem.Name = "printMenuItem";
this.printMenuItem.Size = new System.Drawing.Size(60, 20);
this.printMenuItem.Text = "print";
+ this.printMenuItem.ToolTipText = "Print Graph";
this.printMenuItem.Click += new System.EventHandler(this.printMenuItem_Click);
//
// lockunlockvzoomMenuItem
@@ -115,6 +119,7 @@ private void InitializeComponent()
this.lockunlockvzoomMenuItem.Name = "lockunlockvzoomMenuItem";
this.lockunlockvzoomMenuItem.Size = new System.Drawing.Size(131, 20);
this.lockunlockvzoomMenuItem.Text = "lock vertical zoom";
+ this.lockunlockvzoomMenuItem.ToolTipText = "Toggle Y-axis zoom lock";
this.lockunlockvzoomMenuItem.Click += new System.EventHandler(this.lockunlockvzoomMenuItem_Click);
//
// ExitStripMenuItem
@@ -134,6 +139,7 @@ private void InitializeComponent()
this.aboutMenuItem.Name = "aboutMenuItem";
this.aboutMenuItem.Size = new System.Drawing.Size(38, 20);
this.aboutMenuItem.Text = " ";
+ this.aboutMenuItem.ToolTipText = "About";
this.aboutMenuItem.Click += new System.EventHandler(this.aboutMenuItem_Click);
//
// ControlsStripMenuItem
@@ -142,6 +148,7 @@ private void InitializeComponent()
this.ControlsStripMenuItem.Name = "ControlsStripMenuItem";
this.ControlsStripMenuItem.Size = new System.Drawing.Size(78, 20);
this.ControlsStripMenuItem.Text = "controls";
+ this.ControlsStripMenuItem.ToolTipText = "Toggle Control pad";
this.ControlsStripMenuItem.Click += new System.EventHandler(this.ControlsStripMenuItem_Click);
//
// fullscreenToolStripMenuItem
@@ -150,6 +157,7 @@ private void InitializeComponent()
this.fullscreenToolStripMenuItem.Name = "fullscreenToolStripMenuItem";
this.fullscreenToolStripMenuItem.Size = new System.Drawing.Size(86, 20);
this.fullscreenToolStripMenuItem.Text = "fullscreen";
+ this.fullscreenToolStripMenuItem.ToolTipText = "Toggle fullscreen mode";
this.fullscreenToolStripMenuItem.Click += new System.EventHandler(this.fullscreenToolStripMenuItem_Click);
//
// SaveCSVMenuItem
@@ -158,6 +166,7 @@ private void InitializeComponent()
this.SaveCSVMenuItem.Name = "SaveCSVMenuItem";
this.SaveCSVMenuItem.Size = new System.Drawing.Size(79, 20);
this.SaveCSVMenuItem.Text = "Save csv";
+ this.SaveCSVMenuItem.ToolTipText = "Save Table data to CSV file";
this.SaveCSVMenuItem.Click += new System.EventHandler(this.SaveCSVMenuItem_Click);
//
// openFileDialog1
diff --git a/WinCCFlexArchViewer/Main.cs b/WinCCFlexArchViewer/Main.cs
index d49e98c..911dd2b 100644
--- a/WinCCFlexArchViewer/Main.cs
+++ b/WinCCFlexArchViewer/Main.cs
@@ -258,7 +258,7 @@ private void parse_data(object sender, DoWorkEventArgs e)
}
} //EndOfForeach
- datapointCounter = timeList.Count; //немного оптимизации, получим число записей сразу, без цикла
+ datapointCounter = timeList.Count; // получим число записей сразу, без цикла
table = new DataTable();
DataColumn dataColumn = new DataColumn();
dataColumn.DataType = Type.GetType("System.String");
@@ -320,7 +320,7 @@ private void parse_data(object sender, DoWorkEventArgs e)
}
}
} //EndOfForeach
- goodRecCounter = table.Rows.Count; //немного оптимизации, получим число записей сразу, без цикла
+ goodRecCounter = table.Rows.Count; // получим число записей сразу, без цикла
}
//
@@ -441,6 +441,7 @@ private void toolMnuItemChSta(object sender, EventArgs e)
{
((ToolStripMenuItem)sender).Checked = DTrend.GraphPane.CurveList[((ToolStripMenuItem)sender).OwnerItem.Text].IsVisible;
}
+
// Event handler for Dropdown MenuItem "show/hide ALL Curves"
private void toggleAllCurves(object sender, EventArgs e)
{
diff --git a/WinCCFlexArchViewer/NumTextBox.cs b/WinCCFlexArchViewer/NumTextBox.cs
index 32db815..e9fd369 100644
--- a/WinCCFlexArchViewer/NumTextBox.cs
+++ b/WinCCFlexArchViewer/NumTextBox.cs
@@ -35,7 +35,7 @@ protected override void WndProc(ref Message m)
{
Text = value.ToString();
}
- else MessageBox.Show("Error paste");
+ else MessageBox.Show("Only Number Allowed", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
@@ -44,13 +44,13 @@ private double DblParse()
double d = 0.0;
if (Text == String.Empty)
{
- MessageBox.Show("Empty Value Not Allowed");
+ MessageBox.Show("Empty Value Not Allowed", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
ok = false;
}
else
{
ok = double.TryParse(this.Text, out d);
- if (ok == false) MessageBox.Show("Only Number Allowed");
+ if (ok == false) MessageBox.Show("Only Number Allowed", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
return d;
}
diff --git a/WinCCFlexArchViewer/WinCCFlexLogViewer.csproj b/WinCCFlexArchViewer/WinCCFlexLogViewer.csproj
index a05e518..86b4f86 100644
--- a/WinCCFlexArchViewer/WinCCFlexLogViewer.csproj
+++ b/WinCCFlexArchViewer/WinCCFlexLogViewer.csproj
@@ -45,13 +45,14 @@
false
- x86
+ AnyCPU
pdbonly
true
bin\Release\
TRACE
prompt
4
+ false
diff --git a/WinCCFlexArchViewer/YScaleSettings.Designer.cs b/WinCCFlexArchViewer/YScaleSettings.Designer.cs
index fbc7fc3..67a92b6 100644
--- a/WinCCFlexArchViewer/YScaleSettings.Designer.cs
+++ b/WinCCFlexArchViewer/YScaleSettings.Designer.cs
@@ -17,16 +17,17 @@ private void InitializeComponent()
this.channel_name_label = new System.Windows.Forms.Label();
this.btnSet = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
- this.channel_Y_min_input = new NumTextBox();
- this.channel_Y_max_input = new NumTextBox();
this.channel_Y_min_label = new System.Windows.Forms.Label();
this.channel_Y_max_label = new System.Windows.Forms.Label();
+ this.channel_Y_max_input = new WinCCFlexLogViewer.NumTextBox();
+ this.channel_Y_min_input = new WinCCFlexLogViewer.NumTextBox();
this.SuspendLayout();
//
// channel_name_label
//
this.channel_name_label.AutoSize = true;
this.channel_name_label.Location = new System.Drawing.Point(5, 9);
+ this.channel_name_label.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.channel_name_label.Name = "channel_name_label";
this.channel_name_label.Size = new System.Drawing.Size(75, 13);
this.channel_name_label.TabIndex = 0;
@@ -52,26 +53,6 @@ private void InitializeComponent()
this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
- // channel_Y_min_input
- //
- this.channel_Y_min_input.Location = new System.Drawing.Point(55, 31);
- this.channel_Y_min_input.Name = "channel_Y_min_input";
- this.channel_Y_min_input.Size = new System.Drawing.Size(100, 20);
- this.channel_Y_min_input.TabIndex = 3;
- this.channel_Y_min_input.Text = "0";
- this.channel_Y_min_input.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
- this.channel_Y_min_input.WordWrap = false;
- //
- // channel_Y_max_input
- //
- this.channel_Y_max_input.Location = new System.Drawing.Point(55, 53);
- this.channel_Y_max_input.Name = "channel_Y_max_input";
- this.channel_Y_max_input.Size = new System.Drawing.Size(100, 20);
- this.channel_Y_max_input.TabIndex = 4;
- this.channel_Y_max_input.Text = "0";
- this.channel_Y_max_input.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
- this.channel_Y_max_input.WordWrap = false;
- //
// channel_Y_min_label
//
this.channel_Y_min_label.AutoSize = true;
@@ -90,14 +71,34 @@ private void InitializeComponent()
this.channel_Y_max_label.TabIndex = 6;
this.channel_Y_max_label.Text = "Y Max:";
//
+ // channel_Y_max_input
+ //
+ this.channel_Y_max_input.Location = new System.Drawing.Point(55, 53);
+ this.channel_Y_max_input.Name = "channel_Y_max_input";
+ this.channel_Y_max_input.Size = new System.Drawing.Size(100, 20);
+ this.channel_Y_max_input.TabIndex = 4;
+ this.channel_Y_max_input.Text = "0";
+ this.channel_Y_max_input.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ this.channel_Y_max_input.WordWrap = false;
+ //
+ // channel_Y_min_input
+ //
+ this.channel_Y_min_input.Location = new System.Drawing.Point(55, 31);
+ this.channel_Y_min_input.Name = "channel_Y_min_input";
+ this.channel_Y_min_input.Size = new System.Drawing.Size(100, 20);
+ this.channel_Y_min_input.TabIndex = 3;
+ this.channel_Y_min_input.Text = "0";
+ this.channel_Y_min_input.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ this.channel_Y_min_input.WordWrap = false;
+ //
// YScaleSettings
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(184, 112);
this.Controls.Add(this.channel_Y_max_label);
- this.Controls.Add(channel_Y_min_label);
- this.Controls.Add(channel_Y_max_input);
+ this.Controls.Add(this.channel_Y_min_label);
+ this.Controls.Add(this.channel_Y_max_input);
this.Controls.Add(this.channel_Y_min_input);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnSet);
@@ -109,7 +110,7 @@ private void InitializeComponent()
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
- this.Text = "Y scale settings";
+ this.Text = " Y scale settings";
this.ResumeLayout(false);
this.PerformLayout();
diff --git a/WinCCFlexArchViewer/bin/Release/WinCCFlexLogViewer.exe b/WinCCFlexArchViewer/bin/Release/WinCCFlexLogViewer.exe
index 1470616..7f1a563 100644
Binary files a/WinCCFlexArchViewer/bin/Release/WinCCFlexLogViewer.exe and b/WinCCFlexArchViewer/bin/Release/WinCCFlexLogViewer.exe differ
diff --git a/changelog.txt b/changelog.txt
index ea6e56d..9ad7a5f 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,4 +1,7 @@
1.9.0 beta 3
+Added Tooltips for menu buttons.
+Minor code improvements.
+Removed unused code.
1.9.0 beta 2
Added export data from DataGrid to CSV file.
@@ -16,7 +19,7 @@ Enabled "ReadOnly" property in the data grid.
Minor bug fixes.
1.8.2
-Information on command-line options moved to the "Info" window (temporary solution).
+Information on command-line options moved to the "About" window (temporary solution).
Added ability to rearrange columns in the DataGrid.
Fixed display error in fullscreen mode.
Added "Full Screen" button.