summaryrefslogtreecommitdiff
path: root/MainForm.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MainForm.cs')
-rw-r--r--MainForm.cs561
1 files changed, 261 insertions, 300 deletions
diff --git a/MainForm.cs b/MainForm.cs
index c6d6cb4..dc1e38a 100644
--- a/MainForm.cs
+++ b/MainForm.cs
@@ -1,300 +1,261 @@
-// TLReader - reads access database containing tug info
-// Copyright (C) 2004 Ian Cowburn
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-using System;
-using System.Windows.Forms;
-using System.Data;
-using System.Data.Common;
-using System.Data.Odbc;
-using System.Collections;
-using System.IO;
-
-namespace TLReader
-{
- /// <summary>
- /// Description of MainForm.
- /// </summary>
- public class MainForm : System.Windows.Forms.Form
- {
- private System.Windows.Forms.Label label;
- private System.Windows.Forms.ComboBox m_tableSelect;
- private System.Windows.Forms.Button m_quitButton;
- private System.Windows.Forms.ListView m_list;
- private System.Windows.Forms.ProgressBar m_progress;
- private System.Windows.Forms.Button m_csvButton;
-
- private OdbcConnection m_dbase;
- private TLConfig m_config;
- private TugTable m_intro;
- private TugTable m_landcode;
- private TugTable m_owners;
- private TugTable m_tdetails;
- private TugTable m_wharves;
- private TugTable m_tlist;
-
- private Hashtable m_tables;
-
- public MainForm()
- {
- //
- // The InitializeComponent() call is required for Windows Forms designer support.
- //
- InitializeComponent();
-
- m_config=Config.Load();
-
- m_dbase=new OdbcConnection(m_config.Connect);
-
- m_dbase.Open();
-
- Text+=" - "+m_dbase.Database;
-
- m_intro=new TugTable(m_dbase,m_config.Intro);
- m_landcode=new TugTable(m_dbase,m_config.Landcode);
- m_owners=new TugTable(m_dbase,m_config.Owners);
- m_tdetails=new TugTable(m_dbase,m_config.TugDetails);
- m_wharves=new TugTable(m_dbase,m_config.Wharves);
- m_tlist=new TugTable(m_dbase,m_config.TugList);
-
- m_tables=new Hashtable();
-
- m_tables.Add("Intro",m_intro);
- m_tables.Add("Landcode",m_landcode);
- m_tables.Add("Owners",m_owners);
- m_tables.Add("Tugdetails",m_tdetails);
- m_tables.Add("Tuglist",m_tlist);
- m_tables.Add("Wharves",m_wharves);
-
- m_tableSelect.SelectedIndex=0;
-
- FillList();
- }
-
- [STAThread]
- public static void Main(string[] args)
- {
- try
- {
- Application.Run(new MainForm());
- }
- catch(Exception e)
- {
- Util.Error(e.ToString());
- }
- }
-
- #region Windows Forms Designer generated code
- /// <summary>
- /// This method is required for Windows Forms designer support.
- /// Do not change the method contents inside the source code editor. The Forms designer might
- /// not be able to load this method if it was changed manually.
- /// </summary>
- private void InitializeComponent() {
- this.m_csvButton = new System.Windows.Forms.Button();
- this.m_progress = new System.Windows.Forms.ProgressBar();
- this.m_list = new System.Windows.Forms.ListView();
- this.m_quitButton = new System.Windows.Forms.Button();
- this.m_tableSelect = new System.Windows.Forms.ComboBox();
- this.label = new System.Windows.Forms.Label();
- this.SuspendLayout();
- //
- // m_csvButton
- //
- this.m_csvButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.m_csvButton.Location = new System.Drawing.Point(448, 504);
- this.m_csvButton.Name = "m_csvButton";
- this.m_csvButton.Size = new System.Drawing.Size(104, 32);
- this.m_csvButton.TabIndex = 1;
- this.m_csvButton.Text = "Export as CSV";
- this.m_csvButton.Click += new System.EventHandler(this.OnExportCSV);
- //
- // m_progress
- //
- this.m_progress.Location = new System.Drawing.Point(8, 504);
- this.m_progress.Name = "m_progress";
- this.m_progress.Size = new System.Drawing.Size(424, 32);
- this.m_progress.TabIndex = 3;
- //
- // m_list
- //
- this.m_list.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.m_list.FullRowSelect = true;
- this.m_list.GridLines = true;
- this.m_list.HideSelection = false;
- this.m_list.Location = new System.Drawing.Point(8, 40);
- this.m_list.Name = "m_list";
- this.m_list.Size = new System.Drawing.Size(664, 456);
- this.m_list.TabIndex = 2;
- this.m_list.View = System.Windows.Forms.View.Details;
- //
- // m_quitButton
- //
- this.m_quitButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.m_quitButton.Location = new System.Drawing.Point(568, 504);
- this.m_quitButton.Name = "m_quitButton";
- this.m_quitButton.Size = new System.Drawing.Size(104, 32);
- this.m_quitButton.TabIndex = 0;
- this.m_quitButton.Text = "Quit";
- this.m_quitButton.Click += new System.EventHandler(this.OnQuit);
- //
- // m_tableSelect
- //
- this.m_tableSelect.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.m_tableSelect.Items.AddRange(new object[] {
- "Intro",
- "Landcode",
- "Owners",
- "Tugdetails",
- "Tuglist",
- "Wharves"});
- this.m_tableSelect.Location = new System.Drawing.Point(64, 8);
- this.m_tableSelect.Name = "m_tableSelect";
- this.m_tableSelect.Size = new System.Drawing.Size(200, 21);
- this.m_tableSelect.Sorted = true;
- this.m_tableSelect.TabIndex = 4;
- this.m_tableSelect.SelectedIndexChanged += new System.EventHandler(this.OnSelectTable);
- //
- // label
- //
- this.label.Location = new System.Drawing.Point(16, 8);
- this.label.Name = "label";
- this.label.Size = new System.Drawing.Size(40, 24);
- this.label.TabIndex = 5;
- this.label.Text = "Table:";
- this.label.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
- //
- // MainForm
- //
- this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
- this.ClientSize = new System.Drawing.Size(680, 541);
- this.Controls.Add(this.label);
- this.Controls.Add(this.m_tableSelect);
- this.Controls.Add(this.m_progress);
- this.Controls.Add(this.m_list);
- this.Controls.Add(this.m_csvButton);
- this.Controls.Add(this.m_quitButton);
- this.MinimumSize = new System.Drawing.Size(320, 200);
- this.Name = "MainForm";
- this.Text = "Tuglist Reader";
- this.ResumeLayout(false);
- }
- #endregion
-
- void OnQuit(object sender, System.EventArgs e)
- {
- Close();
- }
-
- void OnExportCSV(object sender, System.EventArgs e)
- {
- TugTable t=(TugTable)m_tables[m_tableSelect.Text];
- SaveFileDialog fsel=new SaveFileDialog();
-
- fsel.Filter="CSV files (*.csv)|*.csv|All files (*.*)|*.*";
- fsel.RestoreDirectory=true;
-
- if(fsel.ShowDialog()==DialogResult.OK)
- {
- StreamWriter str=File.CreateText(fsel.FileName);
-
- if(str!=null)
- {
- m_progress.Maximum=m_list.Items.Count+1;
- m_progress.Step=1;
- m_progress.Value=0;
-
- CSV csv=new CSV(str);
-
- foreach (string s in t.Fields)
- {
- csv.Value(s);
- }
-
- csv.EndLine();
- m_progress.PerformStep();
-
- foreach (ListViewItem i in m_list.Items)
- {
- //csv.Value(i.Text);
-
- foreach (ListViewItem.ListViewSubItem si in i.SubItems)
- {
- csv.Value(si.Text);
- }
-
- csv.EndLine();
- m_progress.PerformStep();
- }
-
- str.Close();
- }
- else
- {
- Util.Error("Failed to open "+fsel.FileName);
- }
- }
-
- m_progress.Value=0;
- }
-
- private void FillList()
- {
- TugTable t=(TugTable)m_tables[m_tableSelect.Text];
- int f;
-
- m_list.Columns.Clear();
- m_list.Items.Clear();
-
- foreach (string s in t.Fields)
- {
- m_list.Columns.Add(s,100,HorizontalAlignment.Left);
- }
-
- for(f=0;f<t.Count;f++)
- {
- ArrayList l=new ArrayList();
-
- foreach (string s in t.Row(f))
- {
- l.Add(s);
- }
-
- AddRow(l);
- }
- }
-
- private void AddRow(ArrayList l)
- {
- ListViewItem i=new ListViewItem((string)l[0]);
-
- for(int f=1;f<l.Count;f++)
- {
- i.SubItems.Add((string)l[f]);
- }
-
- m_list.Items.Add(i);
- }
-
- void OnSelectTable(object sender, System.EventArgs e)
- {
- FillList();
- }
-
- }
-}
+// TLReader - reads access database containing tug info
+// Copyright (C) 2004 Ian Cowburn
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+using System;
+using System.Windows.Forms;
+using System.Data;
+using System.Data.Common;
+using System.Data.Odbc;
+using System.Collections;
+using System.IO;
+
+namespace TLReader
+{
+ /// <summary>
+ /// Description of MainForm.
+ /// </summary>
+ public class MainForm : System.Windows.Forms.Form
+ {
+ private System.Windows.Forms.Button m_quitButton;
+ private System.Windows.Forms.ListView m_list;
+ private System.Windows.Forms.Button m_aboutButton;
+ private System.Windows.Forms.ProgressBar m_progress;
+ private System.Windows.Forms.Button m_csvButton;
+
+ private OdbcConnection m_dbase;
+ private Query m_query;
+ private TLConfig m_config;
+
+ public MainForm()
+ {
+ //
+ // The InitializeComponent() call is required for Windows Forms designer support.
+ //
+ InitializeComponent();
+
+ m_config=Config.Load();
+
+ m_dbase=new OdbcConnection(m_config.Connect);
+
+ m_dbase.Open();
+
+ Text+=" - "+m_dbase.Database;
+
+ m_query=new Query(m_dbase,m_config.DisplayNames,m_config.Query);
+
+ FillList();
+ }
+
+ [STAThread]
+ public static void Main(string[] args)
+ {
+ try
+ {
+ Application.Run(new MainForm());
+ }
+ catch(Exception e)
+ {
+ Util.Error(e.ToString());
+ }
+ }
+
+ #region Windows Forms Designer generated code
+ /// <summary>
+ /// This method is required for Windows Forms designer support.
+ /// Do not change the method contents inside the source code editor. The Forms designer might
+ /// not be able to load this method if it was changed manually.
+ /// </summary>
+ private void InitializeComponent() {
+ this.m_csvButton = new System.Windows.Forms.Button();
+ this.m_progress = new System.Windows.Forms.ProgressBar();
+ this.m_aboutButton = new System.Windows.Forms.Button();
+ this.m_list = new System.Windows.Forms.ListView();
+ this.m_quitButton = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // m_csvButton
+ //
+ this.m_csvButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.m_csvButton.Location = new System.Drawing.Point(448, 504);
+ this.m_csvButton.Name = "m_csvButton";
+ this.m_csvButton.Size = new System.Drawing.Size(104, 32);
+ this.m_csvButton.TabIndex = 1;
+ this.m_csvButton.Text = "Export as CSV";
+ this.m_csvButton.Click += new System.EventHandler(this.OnExportCSV);
+ //
+ // m_progress
+ //
+ this.m_progress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.m_progress.Location = new System.Drawing.Point(128, 512);
+ this.m_progress.Name = "m_progress";
+ this.m_progress.Size = new System.Drawing.Size(304, 16);
+ this.m_progress.TabIndex = 3;
+ //
+ // m_aboutButton
+ //
+ this.m_aboutButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.m_aboutButton.Location = new System.Drawing.Point(8, 504);
+ this.m_aboutButton.Name = "m_aboutButton";
+ this.m_aboutButton.Size = new System.Drawing.Size(104, 32);
+ this.m_aboutButton.TabIndex = 4;
+ this.m_aboutButton.Text = "About";
+ this.m_aboutButton.Click += new System.EventHandler(this.OnAbout);
+ //
+ // m_list
+ //
+ this.m_list.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.m_list.FullRowSelect = true;
+ this.m_list.GridLines = true;
+ this.m_list.HideSelection = false;
+ this.m_list.Location = new System.Drawing.Point(8, 8);
+ this.m_list.Name = "m_list";
+ this.m_list.Size = new System.Drawing.Size(664, 488);
+ this.m_list.Sorting = System.Windows.Forms.SortOrder.Ascending;
+ this.m_list.TabIndex = 2;
+ this.m_list.View = System.Windows.Forms.View.Details;
+ //
+ // m_quitButton
+ //
+ this.m_quitButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.m_quitButton.Location = new System.Drawing.Point(568, 504);
+ this.m_quitButton.Name = "m_quitButton";
+ this.m_quitButton.Size = new System.Drawing.Size(104, 32);
+ this.m_quitButton.TabIndex = 0;
+ this.m_quitButton.Text = "Quit";
+ this.m_quitButton.Click += new System.EventHandler(this.OnQuit);
+ //
+ // MainForm
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(680, 541);
+ this.Controls.Add(this.m_aboutButton);
+ this.Controls.Add(this.m_progress);
+ this.Controls.Add(this.m_list);
+ this.Controls.Add(this.m_csvButton);
+ this.Controls.Add(this.m_quitButton);
+ this.MinimumSize = new System.Drawing.Size(420, 200);
+ this.Name = "MainForm";
+ this.Text = "Tuglist Reader";
+ this.ResumeLayout(false);
+ }
+ #endregion
+
+ void OnQuit(object sender, System.EventArgs e)
+ {
+ Close();
+ }
+
+ void OnExportCSV(object sender, System.EventArgs e)
+ {
+ SaveFileDialog fsel=new SaveFileDialog();
+
+ fsel.Filter="CSV files (*.csv)|*.csv|All files (*.*)|*.*";
+ fsel.RestoreDirectory=true;
+
+ if(fsel.ShowDialog()==DialogResult.OK)
+ {
+ StreamWriter str=File.CreateText(fsel.FileName);
+
+ if(str!=null)
+ {
+ m_progress.Maximum=m_list.Items.Count+1;
+ m_progress.Step=1;
+ m_progress.Value=0;
+
+ CSV csv=new CSV(str);
+
+ foreach (string s in m_query.Fields)
+ {
+ csv.Value(s);
+ }
+
+ csv.EndLine();
+ m_progress.PerformStep();
+
+ foreach (ListViewItem i in m_list.Items)
+ {
+ //csv.Value(i.Text);
+
+ foreach (ListViewItem.ListViewSubItem si in i.SubItems)
+ {
+ csv.Value(si.Text);
+ }
+
+ csv.EndLine();
+ m_progress.PerformStep();
+ }
+
+ str.Close();
+ }
+ else
+ {
+ Util.Error("Failed to open "+fsel.FileName);
+ }
+ }
+
+ m_progress.Value=0;
+ }
+
+ private void FillList()
+ {
+ int f;
+
+ m_list.Columns.Clear();
+ m_list.Items.Clear();
+
+ foreach (string s in m_query.Fields)
+ {
+ m_list.Columns.Add(s,100,HorizontalAlignment.Left);
+ }
+
+ for(f=0;f<m_query.Count;f++)
+ {
+ ArrayList l=new ArrayList();
+
+ foreach (string s in m_query.Row(f))
+ {
+ l.Add(s);
+ }
+
+ AddRow(l);
+ }
+ }
+
+ private void AddRow(ArrayList l)
+ {
+ ListViewItem i=new ListViewItem((string)l[0]);
+
+ for(int f=1;f<l.Count;f++)
+ {
+ i.SubItems.Add((string)l[f]);
+ }
+
+ m_list.Items.Add(i);
+ }
+
+ void OnAbout(object sender, System.EventArgs e)
+ {
+ About a=new About();
+
+ a.ShowDialog(this);
+ }
+
+ }
+}