using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using VisiBlocks;
using WorkSpace;
using System.Data.OleDb;
//using VisiWebLogic;
namespace VisiDataWs
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.MainMenu mainMenu1;
private System.Windows.Forms.MenuItem menuItem1;
private System.Windows.Forms.MenuItem menuItem2;
private System.Windows.Forms.MenuItem menuItem3;
private System.Windows.Forms.MenuItem menuItem4;
private System.Windows.Forms.ImageList imageList1;
private System.Windows.Forms.ToolBarButton toolBarButton1;
private System.Windows.Forms.ToolBarButton toolBarButton2;
private System.Windows.Forms.ToolBarButton toolBarButton3;
// private System.Windows.Forms.ToolBarButton toolBarButton4;
// private System.Windows.Forms.ToolBarButton toolBarButton5;
private System.Windows.Forms.ImageList imageList2;
private System.ComponentModel.IContainer components;
private System.Windows.Forms.MenuItem menuItem7;
private System.Windows.Forms.MenuItem menuItem8;
private System.Windows.Forms.StatusBar statusBar1;
private System.Windows.Forms.MenuItem menuItem10;
private System.Windows.Forms.Panel panel1;
private WorkSpace.WorkSpaceControl workSpaceControl2;
private System.Windows.Forms.MenuItem menuItem11;
private System.Windows.Forms.MenuItem menuItem12;
private System.Windows.Forms.MenuItem menuItem13;
string m_config_file = "c:/Temp/workspace.wsc";
private System.Windows.Forms.MenuItem menuItem15;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
workSpaceControl2.ToolBars.ImageList = this.imageList1;
//
// TODO: Add any constructor code after InitializeComponent call
//
workSpaceControl2.ToolBars.Buttons.Add(toolBarButton1);
toolBarButton1.Tag = typeof(VisiBlocks.VisiChartView).ToString();
workSpaceControl2.ToolBars.Buttons.Add(toolBarButton2);
toolBarButton2.Tag = typeof(VisiBlocks.VisiDataGridView).ToString();
workSpaceControl2.ToolBars.Buttons.Add(toolBarButton3);
toolBarButton3.Tag = typeof(VisiBlocks.VisiGisView).ToString();
workSpaceControl2.addConfigControl("description",new RichTextBox());
workSpaceControl2.WSManager.Factory = new VisiViewFactory();
WsProgressBar.Instance.setStatusBar(this.statusBar1);
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
this.mainMenu1 = new System.Windows.Forms.MainMenu();
this.menuItem1 = new System.Windows.Forms.MenuItem();
this.menuItem11 = new System.Windows.Forms.MenuItem();
this.menuItem10 = new System.Windows.Forms.MenuItem();
this.menuItem2 = new System.Windows.Forms.MenuItem();
this.menuItem3 = new System.Windows.Forms.MenuItem();
this.menuItem4 = new System.Windows.Forms.MenuItem();
this.menuItem7 = new System.Windows.Forms.MenuItem();
this.menuItem8 = new System.Windows.Forms.MenuItem();
this.menuItem12 = new System.Windows.Forms.MenuItem();
this.menuItem13 = new System.Windows.Forms.MenuItem();
this.menuItem15 = new System.Windows.Forms.MenuItem();
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.toolBarButton1 = new System.Windows.Forms.ToolBarButton();
this.toolBarButton2 = new System.Windows.Forms.ToolBarButton();
this.toolBarButton3 = new System.Windows.Forms.ToolBarButton();
this.imageList2 = new System.Windows.Forms.ImageList(this.components);
this.statusBar1 = new System.Windows.Forms.StatusBar();
this.panel1 = new System.Windows.Forms.Panel();
this.workSpaceControl2 = new WorkSpace.WorkSpaceControl();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// mainMenu1
//
this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem1,
this.menuItem2,
this.menuItem7,
this.menuItem15});
//
// menuItem1
//
this.menuItem1.Index = 0;
this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem11,
this.menuItem10});
this.menuItem1.Text = "File";
//
// menuItem11
//
this.menuItem11.Index = 0;
this.menuItem11.Text = "New";
this.menuItem11.Click += new System.EventHandler(this.menuItem11_Click);
//
// menuItem10
//
this.menuItem10.Index = 1;
this.menuItem10.Text = "Exit";
this.menuItem10.Click += new System.EventHandler(this.menuItem10_Click);
//
// menuItem2
//
this.menuItem2.Index = 1;
this.menuItem2.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem3,
this.menuItem4});
this.menuItem2.Text = "Window";
//
// menuItem3
//
this.menuItem3.Index = 0;
this.menuItem3.Text = "Split Horizontal";
this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);
//
// menuItem4
//
this.menuItem4.Index = 1;
this.menuItem4.Text = "Split Vertical";
this.menuItem4.Click += new System.EventHandler(this.menuItem4_Click);
//
// menuItem7
//
this.menuItem7.Index = 2;
this.menuItem7.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem8,
this.menuItem12,
this.menuItem13});
this.menuItem7.Text = "Config";
//
// menuItem8
//
this.menuItem8.Index = 0;
this.menuItem8.Text = "Save";
this.menuItem8.Click += new System.EventHandler(this.menuItem8_Click);
//
// menuItem12
//
this.menuItem12.Index = 1;
this.menuItem12.Text = "SaveAs";
this.menuItem12.Click += new System.EventHandler(this.menuItem12_Click);
//
// menuItem13
//
this.menuItem13.Index = 2;
this.menuItem13.Text = "Load";
this.menuItem13.Click += new System.EventHandler(this.menuItem13_Click);
//
// menuItem15
//
this.menuItem15.Index = 3;
this.menuItem15.Text = "Tools";
//
// imageList1
//
this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
//
// toolBarButton1
//
this.toolBarButton1.ImageIndex = 1;
this.toolBarButton1.ToolTipText = "Graph view ";
//
// toolBarButton2
//
this.toolBarButton2.ImageIndex = 3;
this.toolBarButton2.ToolTipText = "Data grid";
//
// toolBarButton3
//
this.toolBarButton3.ImageIndex = 2;
this.toolBarButton3.ToolTipText = "Map view ";
//
// imageList2
//
this.imageList2.ImageSize = new System.Drawing.Size(16, 16);
this.imageList2.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList2.ImageStream")));
this.imageList2.TransparentColor = System.Drawing.Color.Transparent;
//
// statusBar1
//
this.statusBar1.Location = new System.Drawing.Point(0, 323);
this.statusBar1.Name = "statusBar1";
this.statusBar1.Size = new System.Drawing.Size(537, 25);
this.statusBar1.TabIndex = 2;
this.statusBar1.Text = "status";
//
// panel1
//
this.panel1.Controls.Add(this.workSpaceControl2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(537, 323);
this.panel1.TabIndex = 3;
//
// workSpaceControl2
//
this.workSpaceControl2.Dock = System.Windows.Forms.DockStyle.Fill;
this.workSpaceControl2.Location = new System.Drawing.Point(0, 0);
this.workSpaceControl2.Name = "workSpaceControl2";
this.workSpaceControl2.Size = new System.Drawing.Size(537, 323);
this.workSpaceControl2.TabIndex = 0;
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
this.ClientSize = new System.Drawing.Size(537, 348);
this.Controls.Add(this.panel1);
this.Controls.Add(this.statusBar1);
this.Menu = this.mainMenu1;
this.Name = "Form1";
this.Text = "VisiWorks version 0.1";
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void menuItem3_Click(object sender, System.EventArgs e)
{
workSpaceControl2.splitHorizontal();
}
private void menuItem4_Click(object sender, System.EventArgs e)
{
workSpaceControl2.splitVertical();
}
/*
public void openDataSource()
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Dbf file (*.dbf)|*.dbf";
openFileDialog.ShowDialog();
string fname = openFileDialog.FileName;
if(fname.Length == 0)
return;
openDataSource(fname);
}
public string ConnectString
{
get
{
return m_connect;
}
set
{
m_connect = value;
}
}
public void openDataSource(string fname)
{
VisiDataSourceDBF dbf_project = new VisiDataSourceDBF();
dbf_project.TableName.Name = fname;
m_connect = fname;
dbf_project.open(m_connect);
m_ds_selector.SetDataSource(dbf_project);
}
*/
/* private void menuItem5_Click(object sender, System.EventArgs e)
{
//openDataSource();
DataSourceRepository dsr = new DataSourceRepository(m_ds_selector);
dsr.AddDataSource(typeof(VisiDataSourceDBF).ToString(),
new VisiDataSourceDBF());
Form form = new Form();
dsr.Dock = DockStyle.Fill;
form.Controls.Add(dsr);
form.ShowDialog();
}
private void menuItem6_Click(object sender, System.EventArgs e)
{
m_ds_selector.addVideoNode();
}
*/
private void menuItem8_Click(object sender, System.EventArgs e)
{
writeToFile(m_config_file);
}
/* public VisiDataSource CreateDataSource(string ds_type)
{
if(ds_type == "VisiDataSourceDBF")
return new VisiDataSourceDBF();
MessageBox.Show("can't create data source of type: "+ds_type);
return null;
}
*/
public void writeToFile(string fname)
{
this.Text = "VisiData version 3.0 ["+fname+"]";
DataSet config_ds = new DataSet();
workSpaceControl2.saveConfig(config_ds);
// save video nodes,data source and selected section
// to configuration object
DataTable setings_dt = new DataTable("Settings");
setings_dt.Columns.Add("Property");
setings_dt.Columns.Add("Value");
// DataRow r = setings_dt.NewRow();
// r["Property"] = "SelectedDataSource";
// r["Value"] = m_ds_selector.DataSource.getName();
// setings_dt.Rows.Add(r);
// r = setings_dt.NewRow();
// r["Property"] = "SelectedSection";
// r["Value"] = m_ds_selector.SelectedSection;
// setings_dt.Rows.Add(r);
/*
r = setings_dt.NewRow();
r["Property"] = "Connect";
r["Value"] = this.Connect;
setings_dt.Rows.Add(r);
*/
// save data source parameters:
// m_ds_selector.DataSource.SaveTo(config_ds,0);
config_ds.Tables.Add(setings_dt);
/*
DataTable video_nodes_dt = new DataTable("VideoNodes");
video_nodes_dt.Columns.Add("ID",typeof(int));
video_nodes_dt.Columns.Add("Name");
int c=0;
foreach(string n in m_ds_selector.VideoNodes)
{
DataRow vr = video_nodes_dt.NewRow();
vr["ID"] = c++;
vr["Name"] = n;
video_nodes_dt.Rows.Add(vr);
}
config_ds.Tables.Add(video_nodes_dt);
*/
config_ds.WriteXml(fname);
}
private void menuItem9_Click(object sender, System.EventArgs e)
{
readFromFile(m_config_file);
}
public void readFromFile(string fname)
{
//dataNavigator1.DataStreamer.displayEvent.
this.Text = "VisiData version 3.0 ["+fname+"]";
DataSet config_ds = new DataSet();
config_ds.ReadXml(fname);
workSpaceControl2.loadConfig(config_ds);
// load video nodes,data source and selected section
// from configuration object
DataTable vnodes_dt = config_ds.Tables["VideoNodes"];
ArrayList vnodes = new ArrayList();
if(vnodes_dt != null)
{
foreach(DataRow vr in vnodes_dt.Rows)
{
vnodes.Add(vr["Name"]);
}
// m_ds_selector.VideoNodes = vnodes;
}
DataTable settings_dt = config_ds.Tables["Settings"];
SortedList settings = new SortedList();
if(settings_dt != null && settings_dt.Columns.Contains("Value"))
{
foreach(DataRow r in settings_dt.Rows)
{
settings[(string)r["Property"]] = (string)r["Value"];
}
/*
string conn_str = (string)settings["Connect"];
if(this.Connect != conn_str)
this.Connect = conn_str;
*/
string selected_ds_type = (string)settings["SelectedDataSource"];
// if(m_ds_selector.SelectedDataSource != selected_ds)
// m_ds_selector.SelectedDataSource = selected_ds;
// VisiDataSource selected_ds = CreateDataSource(selected_ds_type);
// if(selected_ds == null)
// return;
// read datasource configuration:
// selected_ds.LoadFrom(config_ds,0);
// selected_ds.connect();
// asign new data source to datasource selector:
// m_ds_selector.SetDataSource(selected_ds);
// m_ds_selector.SelectedSection = Convert.ToInt32(settings["SelectedSection"]);
}
}
private void menuItem11_Click(object sender, System.EventArgs e)
{
workSpaceControl2.Clear();
}
private void menuItem10_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
private void menuItem13_Click(object sender, System.EventArgs e)
{
OpenFileDialog of = new OpenFileDialog();
of.Filter = "Workspace files(*.wsc)|*.wsc";
of.ShowDialog();
if(of.FileName == "")
return;
m_config_file = of.FileName;
this.readFromFile(m_config_file);
}
private void menuItem12_Click(object sender, System.EventArgs e)
{
SaveFileDialog sf = new SaveFileDialog();
sf.Filter = "Workspace files(*.wsc)|*.wsc";
sf.ShowDialog();
if(sf.FileName == "")
return;
m_config_file = sf.FileName;
this.writeToFile(m_config_file);
}
}
public class VisiViewFactory: ControlsFactory
{
//taStream m_data_stream = null;
// DataSourceSelector m_ds_selector = null;
ArrayList on_display_handlers = new ArrayList();
ArrayList on_section_changed_handlers = new ArrayList();
ArrayList on_source_changed_handlers = new ArrayList();
// VisiDataWs.DataNavigator m_nav;
public VisiViewFactory()
{
}
public override void Clear()
{
}
public override Control Create(string cntrl_name)
{
if(cntrl_name == typeof(VisiChartView).ToString())
{
VisiChartView chart_v = new VisiChartView();
//Control cntrl = chart_v.createControl();
//DataStream.displayEventHandler vdh = new DataStream.displayEventHandler(chart_v.onDisplay);
// on_display_handlers.Add(vdh);
// m_data_stream.displayEvent += vdh;
// DataSourceSelector.sectionChainagedEventHandler sch = new DataSourceSelector.sectionChainagedEventHandler(chart_v.onSectionChainaged);
// on_section_changed_handlers.Add(sch);
// m_ds_selector.sectionChaingedEvent += sch;
// connect to the section
/* if(m_ds_selector.DataSection != null)
{
chart_v.onSectionChainaged(m_ds_selector,new DataSectionEventArgs(m_ds_selector.DataSection));
}
*/
return chart_v;
}
else if(cntrl_name == typeof(VisiDataGridView).ToString())
{
VisiDataGridView data_grid_view = new VisiDataGridView();
/* //m_data_stream.displayEvent += new DataStream.displayEventHandler(data_grid_view.onDisplay);
DataStream.displayEventHandler vdh = new DataStream.displayEventHandler(data_grid_view.onDisplay);
on_display_handlers.Add(vdh);
m_data_stream.displayEvent += vdh;
//m_ds_selector.sectionChaingedEvent += new DataSourceSelector.sectionChainagedEventHandler(data_grid_view.onSectionChainaged);
DataSourceSelector.sectionChainagedEventHandler sch = new DataSourceSelector.sectionChainagedEventHandler(data_grid_view.onSectionChainaged);
on_section_changed_handlers.Add(sch);
m_ds_selector.sectionChaingedEvent += sch;
// connect to the section
if(m_ds_selector.DataSection != null)
{
data_grid_view.onSectionChainaged(m_ds_selector,new DataSectionEventArgs(m_ds_selector.DataSection));
}
*/
return data_grid_view;
}
else if(cntrl_name == typeof(VisiGisView).ToString())
{
VisiGisView map_v = new VisiGisView();
//m_data_stream.displayEvent += new DataStream.displayEventHandler(map_v.onDisplay);
//m_ds_selector.sectionChaingedEvent += new DataSourceSelector.sectionChainagedEventHandler(map_v.onSectionChainaged);
/* DataStream.displayEventHandler vdh = new DataStream.displayEventHandler(map_v.onDisplay);
on_display_handlers.Add(vdh);
m_data_stream.displayEvent += vdh;
DataSourceSelector.sectionChainagedEventHandler sch = new DataSourceSelector.sectionChainagedEventHandler(map_v.onSectionChainaged);
on_section_changed_handlers.Add(sch);
m_ds_selector.sectionChaingedEvent += sch;
//m_ds_selector.sourceChangedEvent +=new DataSourceSelector.sourceChangedEventHandler(map_v.onSourceChanged);
DataSourceSelector.sourceChangedEventHandler dsch = new DataSourceSelector.sourceChangedEventHandler(map_v.onSourceChanged);
on_source_changed_handlers.Add(dsch);
m_ds_selector.sourceChangedEvent += dsch;
if(m_ds_selector.DataSource != null)
{
map_v.onSourceChanged(m_ds_selector,new DataSourceEventArgs(m_ds_selector.DataSource));
}
if(m_ds_selector.DataSection != null)
{
map_v.onSectionChainaged(m_ds_selector,new DataSectionEventArgs(m_ds_selector.DataSection));
}
m_nav.UpdateTime = 100;
*/ return map_v;
}
MessageBox.Show("can't create "+cntrl_name+" view");
return null;
}
}
}
/*
private void menuItem9_Click_1(object sender, System.EventArgs e)
{
m_aran_ds.connect();
m_ds_selector.SetDataSource(m_aran_ds);
}
private void menuItem14_Click(object sender, System.EventArgs e)
{
int bar1 = WsProgressBar.Instance.Create("load visiweb data");
WsProgressBar.Instance.Update(bar1,10);
m_visiweb_ds = new VisiWebDataSource();
m_visiweb_ds.connect();
WsProgressBar.Instance.Update(bar1,50);
m_ds_selector.SetDataSource(m_visiweb_ds);
WsProgressBar.Instance.Delete(bar1);
}
*/
/* private void menuItem16_Click(object sender, System.EventArgs e)
{
//"Provider=msdaora;Data Source=MyOracleDB;User Id=UserName;Password=asdasd;"
string con_str = "Provider=OraOLEDB.Oracle;User Id=gisadm;Data Source=;Password=gisadm";
OleDbConnection conn = new OleDbConnection(con_str);
string [] loc_list = {"RTTYPE","RTNAME","TOWNNAME","STRTNAME"};
OleDbCommand ora_img_stream_cmd = conn.CreateCommand();
conn.Open();
ora_img_stream_cmd.CommandText = "select count(*) from TD_LOCATORS";
object num = ora_img_stream_cmd.ExecuteScalar();
conn.Close();
//ora_img_stream_cmd.Connection.Open();
string loc_create_str = "CREATE TABLE TD_LOCATORS "+
"(ID NUMBER(6) ,";
for(int i=0; i<loc_list.Length; i++)
{
if(i>0)
loc_create_str+=",";
loc_create_str+=loc_list[i]+" VARCHAR2(60)";
}
loc_create_str += ");";
ora_img_stream_cmd.CommandText = loc_create_str;
//ora_img_stream_cmd.ExecuteNonQuery();
string sql_str = "SELECT DISTINCT ";
for(int i=0; i<loc_list.Length; i++)
{
if(i>0)
sql_str+=",";
sql_str+=loc_list[i];
}
sql_str+=" FROM SARAH,ROUTE_SEGMENT WHERE SARAH.SEGMENT_ID=ROUTE_SEGMENT.SEGMENT_ID";
OleDbDataAdapter locators_adapter = new OleDbDataAdapter(sql_str,conn);
DataTable data_table = new DataTable("locators");
conn.Open();
locators_adapter.Fill(data_table);
conn.Close();
conn.Open();
int cnt = 0;
foreach(DataRow dr in data_table.Rows)
{
string insert_str = "insert into TD_LOCATORS values ("+cnt+",";
for(int i=0; i<loc_list.Length; i++)
{
if(i>0)
insert_str+=",";
insert_str+="'"+dr[loc_list[i]]+"'";
}
insert_str+=");";
ora_img_stream_cmd.CommandText = insert_str;
ora_img_stream_cmd.ExecuteNonQuery();
cnt++;
}
conn.Close();
}
}
*/