Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Windows.Forms;
- using AxmvMapLib;
- using Npgsql;
- using mvMapLib;
- namespace Rekod
- {
- public class layersManager
- {
- private layersManagerFRMRastr rastrfrm1;
- private LayerItems selectedLayer1;
- private AxMapLIb mapLib;
- private mainFrm mainFrm1;
- private NpgsqlConnection conn1;
- private int curObjSelected;
- private int curTableSelected;
- private string curTableName;
- string name_map_name;
- int idT2, id_pk;
- bool hideBaseLayers1;
- FlowLayoutPanel flowLayoutPanel1;
- Panel panel1;
- PostgreSQLSource postgres;
- public delegate void layer_deleteEventHandler(string name);
- public delegate void layer_addEventHandler(string name);
- public delegate void layer_MoveUpEventHandler(string name);
- public delegate void layer_MoveDownEventHandler(string name);
- public event layer_deleteEventHandler layer_delete;
- public event layer_addEventHandler layer_add;
- public event layer_MoveUpEventHandler layer_up;
- public event layer_MoveDownEventHandler layer_down;
- public layersManager(AxMapLIb map, mainFrm parentForm, NpgsqlConnection conn, FlowLayoutPanel flowPanel, Panel panel)
- {
- flowLayoutPanel1 = flowPanel;
- panel1 = panel;
- mapLib = map;
- mainFrm1 = parentForm;
- conn1 = conn;
- curObjSelected = 0;
- curTableSelected = 0;
- curTableName = "";
- // rastrfrm1 = new layersManagerFRMRastr(this);
- mapLib.Selected += new AxmvMapLib.IMapLIbEvents_SelectedEventHandler(mapLib_Selected);
- loadLayerListFromDB();
- // mapLib.mapUpdate();
- }
- public int baseLayersCount
- {
- get
- {
- int i = 0;
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- if (((LayerItems)cc).isBaseLayer == true)
- {
- i++;
- }
- }
- return i;
- }
- }
- public string[] userLayersVisibleAndSelectable
- {
- get
- {
- string[] ss = new string[] { };
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- LayerItems ll=(LayerItems)cc;
- if (ll.isBaseLayer == false && ll.isVectorLayer == false && ll.layerVisible == true && ll.layerLoaded == true)
- {
- string[] s1 = new string[ss.Length + 1];
- ss.CopyTo(s1, 0);
- ss = new string[s1.Length];
- s1.CopyTo(ss, 0);
- ss[ss.Length - 1] = ll.layerName;
- }
- if (ll.layerName == "ΠΠΎΠ»Ρ")
- {
- string[] s1 = new string[ss.Length + 1];
- ss.CopyTo(s1, 0);
- ss = new string[s1.Length];
- s1.CopyTo(ss, 0);
- ss[ss.Length - 1] = ll.layerName;
- }
- }
- return ss;
- }
- }
- public void updateLayers()
- {
- flowLayoutPanel1.SuspendLayout();
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- LayerItems li = (LayerItems)cc;
- if (li.isBaseLayer == false && li.isVectorLayer == false)
- {
- mvMapLib.mvLayer ll = mapLib.getLayer(li.Name);
- if (ll != null)
- {
- ll.deleteLayer();
- flowLayoutPanel1.Controls.Remove(li);
- }
- }
- }
- loadLayerListFromDB();
- flowLayoutPanel1.Visible = !flowLayoutPanel1.Visible;
- flowLayoutPanel1.Visible = !flowLayoutPanel1.Visible;
- flowLayoutPanel1.ResumeLayout();
- }
- public void updateLayer(string Name)
- {
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- LayerItems li = (LayerItems)cc;
- if (li.layerName == Name)
- {
- mvMapLib.mvLayer ll = mapLib.getLayer(li.layerName);
- if (ll != null)
- {
- if (!classesOfMetods.getTableInfoOfNameMap(li.layerName).sourceLayer)
- {
- ll.deleteLayer();
- }
- //flowLayoutPanel1.Controls.Remove(li);
- openTable(li.layerId);
- ll = mapLib.getLayer(li.layerName);
- if (ll != null)
- {
- ll.editable = li.layerEdit;
- ll.Visible = li.layerVisible;
- break;
- }
- break;
- }
- }
- }
- mapLib.Update();
- }
- // V-F:
- public void addLayer(string name, int id, bool edit, bool visible, bool loaded, bool BaseLayer, bool vectorLayer)
- {
- bool rez = false;
- //int posUserLayer = 0, posBaseLayer = 0, posVectorLayer = 0;
- //int tmpI = 0;
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- LayerItems li = (LayerItems)cc;
- if (li.layerName == name)
- {
- rez = true;
- break;
- }
- }
- if (!rez)
- {
- LayerItems item1 = new LayerItems();
- item1.layerName = name;
- item1.layerVisible = visible;
- item1.layerEdit = edit;
- item1.layerLoaded = loaded;
- item1.isBaseLayer = BaseLayer;
- item1.isVectorLayer = vectorLayer;
- item1.layerId = id;
- item1.layer_Click += new LayerItems.layer_ClickEventHandler(item1_layer_Click);
- item1.layer_Edit += new LayerItems.layer_EditEventHandler(item1_layer_Edit);
- item1.layer_Visible += new LayerItems.layer_VisibleEventHandler(item1_layer_Visible);
- item1.layer_DoubleClick += new LayerItems.layer_DoubleClickEventHandler(item1_layer_DoubleClick);
- flowLayoutPanel1.Controls.Add(item1);
- if (vectorLayer)
- {
- item1.BringToFront();
- }
- else if (!BaseLayer)
- {
- item1.BringToFront();
- }
- layer_addEventHandler handler1 = layer_add;
- if (handler1 != null)
- {
- handler1(name);
- }
- flowLayoutPanel1.Refresh();
- }
- }
- public void addLayer(string name, int id, bool edit, bool visible, bool loaded, bool BaseLayer, bool vectorLayer, string rastrPath)
- {
- bool rez = false;
- //int posUserLayer = 0, posBaseLayer = 0, posVectorLayer = 0;
- //int tmpI = 0;
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- LayerItems li = (LayerItems)cc;
- if (li.layerName == name)
- {
- rez = true;
- break;
- }
- }
- if (!rez)
- {
- LayerItems item1 = new LayerItems();
- item1.layerName = name;
- item1.layerVisible = visible;
- item1.layerEdit = edit;
- item1.layerLoaded = loaded;
- item1.isBaseLayer = BaseLayer;
- item1.isVectorLayer = vectorLayer;
- item1.layerId = id;
- item1.layerRastPath = rastrPath;
- item1.layer_Click += new LayerItems.layer_ClickEventHandler(item1_layer_Click);
- item1.layer_Edit += new LayerItems.layer_EditEventHandler(item1_layer_Edit);
- item1.layer_Visible += new LayerItems.layer_VisibleEventHandler(item1_layer_Visible);
- item1.layer_DoubleClick += new LayerItems.layer_DoubleClickEventHandler(item1_layer_DoubleClick);
- flowLayoutPanel1.Controls.Add(item1);
- if (vectorLayer)
- {
- item1.BringToFront();
- }
- else if (!BaseLayer)
- {
- item1.SendToBack();
- }
- layer_addEventHandler handler1 = layer_add;
- if (handler1 != null)
- {
- handler1(name);
- }
- flowLayoutPanel1.Refresh();
- }
- }
- void item1_layer_DoubleClick(object sender, LayerManagerEventArgs a)
- {
- LayerItems li = (LayerItems)sender;
- if (li.isBaseLayer == false && li.isVectorLayer == false)
- {
- mvMapLib.mvLayer ll = mapLib.getLayer(li.layerName);
- if (ll != null)
- {
- ll.deleteLayer();
- li.layer_Edit -= item1_layer_Edit;
- li.layer_Visible -= item1_layer_Visible;
- li.layerEdit = false;
- li.layerVisible = false;
- li.layer_Edit += new LayerItems.layer_EditEventHandler(item1_layer_Edit);
- li.layer_Visible += new LayerItems.layer_VisibleEventHandler(item1_layer_Visible);
- li.layerLoaded = false;
- }
- mapLib.mapUpdate();
- }
- }
- // V-F: Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ»ΠΎΠ΅Π².
- void loadLayerListFromDB()
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- List<tablesInfo> tInfo = new List<tablesInfo>();
- tInfo = classesOfMetods.getTableOfType(1);
- for (int i = 0; tInfo.Count > i; i++)
- {
- addLayer(tInfo[i].nameMap, tInfo[i].idTable, false, false, false, false, false);
- }
- }
- private void hideBaseLayers(bool hide)
- {
- if (hide && hideBaseLayers1)
- {
- return;
- }
- if (!hide && !hideBaseLayers1)
- {
- return;
- }
- if (hide)
- {
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- LayerItems ii = (LayerItems)cc;
- if (ii.isBaseLayer && !ii.isVectorLayer)
- {
- ii.layerVisible = false;
- flowLayoutPanel1.PerformLayout();
- }
- }
- hideBaseLayers1 = true;
- }
- else
- {
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- LayerItems ii = (LayerItems)cc;
- if (ii.isBaseLayer && !ii.isVectorLayer && ii.layerName!="ΠΡΠ°Π½ΠΈΡΡΠ Π°ΠΉΠΎΠ½ΠΎΠ²")
- {
- ii.layerVisible = true;
- flowLayoutPanel1.PerformLayout();
- }
- }
- hideBaseLayers1 = false;
- }
- }
- void item1_layer_Visible(object sender, LayerManagerEventArgs a)
- {
- if (((LayerItems)sender).isVectorLayer == true)
- {
- mvMapLib.mvImageLayer ll = mapLib.getImageLayer(((LayerItems)sender).layerRastPath);
- if (ll == null)
- {
- mapLib.LoadLayer(((LayerItems)sender).layerRastPath, true);
- ll = mapLib.getImageLayer(((LayerItems)sender).layerRastPath);
- if (ll != null)
- {
- ll.Visible = a.LayerVisible;
- ((LayerItems)sender).layerLoaded = true;
- }
- }
- else
- {
- ll.Visible = a.LayerVisible;
- }
- }
- else
- {
- mvMapLib.mvLayer ll = mapLib.getLayer(a.LayerName);
- if (ll != null)
- {
- ll.Visible = a.LayerVisible;
- }
- else
- {
- openTable(((LayerItems)sender).layerId);
- ll = mapLib.getLayer(a.LayerName);
- if (ll != null)
- {
- ll.Visible = a.LayerVisible;
- ((LayerItems)sender).layerLoaded = true;
- }
- }
- }
- bool rez = false;
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- LayerItems ii = (LayerItems)cc;
- if (ii.isVectorLayer && ii.layerVisible)
- {
- rez = true;
- break;
- }
- }
- if (rez)
- {
- hideBaseLayers(true);
- }
- else
- {
- hideBaseLayers(false);
- }
- mapLib.mapUpdate();
- }
- private void openTable(int idT)
- {
- if (idT > -1)
- {
- string sql = getSqlLayerDb(idT);
- loadLayerDb(sql, idT);
- }
- else
- {
- }
- }
- private void openTableGrid(int idT, string nameT)
- {
- if (idT > -1)
- {
- itemsTableGrid frm = new itemsTableGrid(conn1, idT, false, 0, 0, 0);
- frm.dataGridView1.CellClick += new DataGridViewCellEventHandler(table_Click);
- frm.button5.Click += new EventHandler(button5_Click_tab);
- name_map_name = nameT;
- idT2 = idT;
- frm.Text = "ΠΠ°Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ \"" + nameT + "\"";
- frm.Show();
- id_pk=frm.id_pk;
- }
- else
- {
- }
- }
- public void table_Click(object sender, DataGridViewCellEventArgs e)
- {
- if (e.RowIndex > -1)
- {
- mvMapLib.mvLayer ll = mapLib.getLayer(name_map_name);
- if (ll != null)
- {
- //double d = mapLib.ScaleZoom;
- mapLib.getLayer(name_map_name).MoveTo(Convert.ToInt32(((DataGridView)sender).Rows[e.RowIndex].Cells[id_pk].Value.ToString()), true);
- mvVectorObject ob = mapLib.getLayer(name_map_name).getObject(Convert.ToInt32(((DataGridView)sender).Rows[e.RowIndex].Cells[id_pk].Value.ToString()));
- mvCenterGlobal gb = ob.CenterGlobal;
- mapLib.MoveTo(gb);
- mapLib.getLayer(name_map_name).SelectId(Convert.ToInt32(((DataGridView)sender).Rows[e.RowIndex].Cells[id_pk].Value.ToString()));
- mapLib.mapUpdate();
- //mapLib.ScaleZoom = d;
- }
- }
- }
- public void button5_Click_tab(object sender, EventArgs e)
- {
- //string sql = getSqlLayerDb(idT2);
- //loadLayerDb(sql, idT2);
- updateLayer(name_map_name);
- }
- void item1_layer_Edit(object sender, LayerManagerEventArgs a)
- {
- if (((LayerItems)sender).isVectorLayer == false)
- {
- mvMapLib.mvLayer ll = mapLib.getLayer(a.LayerName);
- if (ll != null)
- {
- ll.editable = a.LayerEdited;
- if (a.LayerEdited == true)
- {
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- if (((LayerItems)cc).layerName != a.LayerName)
- {
- ((LayerItems)cc).layer_Edit -= item1_layer_Edit;
- ((LayerItems)cc).layerEdit = false;
- ((LayerItems)cc).layer_Edit += new LayerItems.layer_EditEventHandler(item1_layer_Edit);
- }
- }
- }
- }
- else
- {
- openTable(((LayerItems)sender).layerId);
- ll = mapLib.getLayer(a.LayerName);
- if (ll != null)
- {
- ll.editable = a.LayerEdited;
- ((LayerItems)sender).layerLoaded = true;
- ((LayerItems)sender).layerVisible = true;
- if (a.LayerEdited == true)
- {
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- if (((LayerItems)cc).layerName != a.LayerName)
- {
- ((LayerItems)cc).layer_Edit -= item1_layer_Edit;
- ((LayerItems)cc).layerEdit = false;
- ((LayerItems)cc).layer_Edit += new LayerItems.layer_EditEventHandler(item1_layer_Edit);
- }
- }
- }
- }
- }
- }
- }
- void item1_layer_Click(object sender, LayerManagerEventArgs a)
- {
- flowLayoutPanel1.SuspendLayout();
- //LayerItems ii = (LayerItems)sender;
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- ((LayerItems)cc).Selected = false;
- }
- ((LayerItems)sender).Selected = true;
- selectedLayer1 = (LayerItems)sender;
- flowLayoutPanel1.ResumeLayout();
- }
- public void removeLayer(string Name)
- {
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- LayerItems ii = (LayerItems)cc;
- if (ii.layerName.Contains(Name))
- {
- flowLayoutPanel1.Controls.Remove(cc);
- layer_deleteEventHandler handler1 = layer_delete;
- if (handler1 != null)
- {
- handler1(Name);
- }
- if (cc == ii)
- {
- selectedLayer1 = null;
- }
- break;
- }
- }
- }
- public void button1_Click(object sender, EventArgs e)
- {
- // Π²Π²Π΅ΡΡ
- if (selectedLayer1 != null)
- {
- if (flowLayoutPanel1.Controls.IndexOf(selectedLayer1) != -1 && selectedLayer1.isVectorLayer == false && selectedLayer1.isBaseLayer == false)
- {
- int a = flowLayoutPanel1.Controls.IndexOf(selectedLayer1);
- if ((a - 1) >= 0)
- {
- if (mapLib.getLayer(((LayerItems)flowLayoutPanel1.Controls[a - 1]).layerName) != null)
- {
- layer_MoveUpEventHandler handler1 = layer_up;
- if (handler1 != null)
- {
- handler1(selectedLayer1.layerName);
- }
- mapLib.getLayer(((LayerItems)flowLayoutPanel1.Controls[a - 1]).layerName).MoveUp();
- flowLayoutPanel1.Controls.SetChildIndex(selectedLayer1, a - 1);
- flowLayoutPanel1.Controls[a - 1].Focus();
- }
- }
- }
- }
- }
- public void button2_Click(object sender, EventArgs e)
- {
- // Π²Π½ΠΈΠ·
- if (selectedLayer1 != null)
- {
- if (flowLayoutPanel1.Controls.IndexOf(selectedLayer1) != -1 && selectedLayer1.isVectorLayer == false && selectedLayer1.isBaseLayer == false)
- {
- int a = flowLayoutPanel1.Controls.IndexOf(selectedLayer1);
- if ((a + 1) < flowLayoutPanel1.Controls.Count)
- {
- if (((LayerItems)flowLayoutPanel1.Controls[a + 1]).isVectorLayer == false && selectedLayer1.isBaseLayer == false)
- {
- if (mapLib.getLayer(((LayerItems)flowLayoutPanel1.Controls[a + 1]).layerName) != null)
- {
- layer_MoveDownEventHandler handler1 = layer_down;
- if (handler1 != null)
- {
- handler1(selectedLayer1.layerName);
- }
- mapLib.getLayer(((LayerItems)flowLayoutPanel1.Controls[a + 1]).layerName).MoveDown();
- flowLayoutPanel1.Controls.SetChildIndex(selectedLayer1, a + 1);
- flowLayoutPanel1.Controls[a + 1].Focus();
- }
- }
- }
- }
- }
- }
- private void flowLayoutPanel1_Scroll(object sender, ScrollEventArgs e)
- {
- flowLayoutPanel1.Refresh();
- }
- public void button3_Click(object sender, EventArgs e)
- {
- if (selectedLayer1 != null)
- {
- if (flowLayoutPanel1.Controls.IndexOf(selectedLayer1) != -1)
- {
- if (selectedLayer1.isVectorLayer == false && selectedLayer1.isBaseLayer == false)
- {
- fieldEditFrm frm1 = new fieldEditFrm(conn1, selectedLayer1.layerId);
- frm1.ShowDialog();
- }
- else
- {
- }
- }
- }
- }
- public void button5_Click(object sender, EventArgs e)
- {
- if (selectedLayer1 != null)
- {
- selectedLayer1.layerEdit = true;
- if (selectedLayer1.layerId != 0 && !selectedLayer1.isBaseLayer && !selectedLayer1.isVectorLayer && selectedLayer1.layerLoaded)
- {
- try
- {
- int idT = 0;
- tablesInfo tInfo = new tablesInfo();
- tInfo = classesOfMetods.getTableInfo(selectedLayer1.layerId);
- idT = tInfo.typeGeom;
- switch (idT)
- {
- case 0:
- return;
- case 1:
- mapLib.SetCursor(mvMapLib.Cursors.mlAddDot);
- break;
- case 2:
- mapLib.SetCursor(mvMapLib.Cursors.mlAddPolyLine);
- break;
- case 3:
- mapLib.SetCursor(mvMapLib.Cursors.mlAddPolygon);
- break;
- }
- }
- catch (Exception x)
- {
- MessageBox.Show(x.Message);
- }
- }
- }
- }
- public void button4_Click_1(object sender, EventArgs e)
- {
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- if (((LayerItems)cc).layerEdit)
- {
- selectedLayer1 = (LayerItems)cc;
- }
- }
- try
- {
- deleteObjectFromLayer();
- }
- catch (Exception x)
- {
- MessageBox.Show(x.Message);
- }
- }
- public void deleteObjectFromLayer()
- {
- if (curTableSelected > 0)
- {
- DialogResult dr = MessageBox.Show("ΠΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΡ?",
- "Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°", MessageBoxButtons.YesNo);
- if (dr == DialogResult.Yes)
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- qwCmd.CommandText = "DELETE FROM " + classesOfMetods.getTableInfo(curTableSelected).nameSheme + "." + curTableName + " WHERE " + classesOfMetods.getTableInfo(curTableSelected).pkField + " = " + curObjSelected.ToString();
- qwCmd.ExecuteNonQuery();
- Classes.workLogFile.writeLogFile("deleted --> idT=" + curTableSelected.ToString() + " id_obj=" + curObjSelected.ToString(), false, false);
- mvMapLib.mvLayer ll = mapLib.getLayer(selectedLayer1.layerName);
- if (ll != null)
- {
- ll.DeleteID(curObjSelected);
- ll.editable = true;
- }
- string sql = getSqlLayerDb(curTableSelected);
- loadLayerDb(sql, curTableSelected);
- //MessageBox.Show("ΠΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ΄Π°Π»Π΅Π½!");
- mapLib.StatusInfo = "ΠΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ΄Π°Π»Π΅Π½!";
- }
- }
- else
- {
- MessageBox.Show("ΠΠ΅ Π²ΡΠ±ΡΠ°Π½ ΠΎΠ±ΡΠ΅ΠΊΡ!");
- }
- }
- public void updateTableAfterEdit(int idT)
- {
- string sql = getSqlLayerDb(idT);
- loadLayerDb(sql, idT);
- mvMapLib.mvLayer ll = mapLib.getLayer(selectedLayer1.layerName);
- if (ll != null)
- {
- ll.editable = true;
- }
- }
- void mapLib_Selected(object sender, AxmvMapLib.IMapLIbEvents_SelectedEvent e)
- {
- //selectLayer = e.layer.NAME;
- flowLayoutPanel1.SuspendLayout();
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- ((LayerItems)cc).Selected = false;
- if (((LayerItems)cc).layerName == e.layer.NAME)
- {
- ((LayerItems)cc).Selected = true;
- selectedLayer1 = (LayerItems)cc;
- }
- }
- flowLayoutPanel1.ResumeLayout();
- tablesInfo tInfo = classesOfMetods.getTableInfoOfNameMap(e.layer.NAME);
- if (tInfo.nameDB != null && tInfo.nameDB!="")
- {
- curTableSelected = tInfo.idTable;
- curTableName = tInfo.nameDB;
- curObjSelected = e.ids;
- }
- else
- {
- curTableSelected = -1;
- curTableName = "";
- }
- }
- private string getSqlLayerDb(int id)
- {
- cti.ThreadProgress frm = new cti.ThreadProgress(true);
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- fieldArray[] fa = loadFieldArray();
- tablesArray[] ta = loadTablesArray();
- string selectSQL = "", fromSQL = "FROM ", whereSQL = "WHERE ", tableSql = "";
- string name_db = classesOfMetods.getTableInfo(id).nameDB;
- string shema = classesOfMetods.getTableInfo(id).nameSheme;
- string geom_field = classesOfMetods.getTableInfo(id).geomFieldName;
- tableSql = name_db;
- fromSQL = fromSQL + "" + shema + "." + name_db + ", ";
- whereSQL = whereSQL + "true AND ";
- selectSQL = "SELECT ";
- qwCmd.CommandText = "SELECT name_db, name_map, type_field, visible, " +
- "name_lable, is_reference, is_interval, ref_table, ref_field, ref_field_end, ref_field_name " +
- "FROM " + Program.scheme + ".table_field_info" +
- " WHERE id_table = " + id.ToString();
- zxReader = qwCmd.ExecuteReader();
- while (zxReader.Read())
- {
- if (zxReader.GetBoolean(3) && zxReader.GetInt32(2) != 5)
- {
- if (!zxReader.GetBoolean(5) && !zxReader.GetBoolean(6))
- {
- selectSQL = selectSQL + "" + shema + "." + tableSql + "." + zxReader.GetValue(0).ToString() + ", ";
- }
- else
- {
- if (zxReader.GetBoolean(5))
- {
- selectSQL = selectSQL + "" + shema + "." + getTableNameDB(ta, zxReader.GetInt32(7)) + "." + getFieldNameDB(fa, zxReader.GetInt32(10)) + ", ";
- fromSQL = fromSQL + "" + shema + "." + getTableNameDB(ta, zxReader.GetInt32(7)) + ", ";
- whereSQL = whereSQL + "" + shema + "." + tableSql + "." + zxReader.GetValue(0).ToString() + "="
- + "" + shema + "." + getTableNameDB(ta, zxReader.GetInt32(7)) + "." + getFieldNameDB(fa, zxReader.GetInt32(8)) + " AND ";
- }
- else
- {
- selectSQL = selectSQL + "" + shema + "." + getTableNameDB(ta, zxReader.GetInt32(7)) + "." + getFieldNameDB(fa, zxReader.GetInt32(10)) + ", ";
- fromSQL = fromSQL + "" + shema + "." + getTableNameDB(ta, zxReader.GetInt32(7)) + ", ";
- whereSQL = whereSQL + "" + shema + "." + tableSql + "." + zxReader.GetValue(0).ToString() + ">"
- + "" + shema + "." + getTableNameDB(ta, zxReader.GetInt32(7)) + "." + getFieldNameDB(fa, zxReader.GetInt32(8)) +
- " AND " + "" + shema + "." + tableSql + "." + zxReader.GetValue(0).ToString() + "<="
- + "" + shema + "." + getTableNameDB(ta, zxReader.GetInt32(7)) + "." + getFieldNameDB(fa, zxReader.GetInt32(9)) + " AND ";
- }
- }
- }
- }
- selectSQL = selectSQL.Substring(0, selectSQL.Length - 2);
- selectSQL = selectSQL + ", astext(transform(" + shema + "." + tableSql + "." + geom_field + ", "+Program.srid+")) as geom ";
- fromSQL = fromSQL.Substring(0, fromSQL.Length - 2);
- whereSQL = whereSQL.Substring(0, whereSQL.Length - 4);
- string sql = selectSQL + " " + fromSQL + " " + whereSQL + ";";
- zxReader.Close();
- frm.Close();
- return sql;
- }
- private fieldArray[] loadFieldArray()
- {
- fieldArray[] fa = new fieldArray[Program.field_info.Count];
- for (int i = 0; Program.field_info.Count > i; i++)
- {
- fa[i].idField = Program.field_info[i].idField;
- fa[i].nameDB = Program.field_info[i].nameDB;
- fa[i].nameMap = Program.field_info[i].nameMap;
- }
- return fa;
- }
- private tablesArray[] loadTablesArray()
- {
- tablesArray[] fa = new tablesArray[Program.tables_info.Count];
- for (int i = 0; Program.tables_info.Count > i; i++)
- {
- fa[i].idTable = Program.tables_info[i].idTable;
- fa[i].nameDB = Program.tables_info[i].nameDB;
- fa[i].nameMap = Program.tables_info[i].nameMap;
- }
- return fa;
- }
- private string getTableNameDB(tablesArray[] fa, int id)
- {
- for (int i = 0; fa.Length > i; i++)
- {
- if (fa[i].idTable == id)
- {
- return fa[i].nameDB;
- }
- }
- return null;
- }
- private string getFieldNameDB(fieldArray[] fa, int id)
- {
- for (int i = 0; fa.Length > i; i++)
- {
- if (fa[i].idField == id)
- {
- return fa[i].nameDB;
- }
- }
- return null;
- }
- private void loadLayerFromSource(int idT)
- {
- tablesInfo ti = classesOfMetods.getTableInfo(idT);
- if (ti.idTable!=0)
- {
- if (mapLib.getLayer(ti.nameMap) != null)
- {
- mapLib.getLayer(ti.nameMap).Update();
- return;
- }
- mapLib.mapUpdate();
- if (postgres == null)
- {
- postgres = mapLib.CreatePostgresSource();
- postgres.prepare("host=" + Program.user_info.ipString + " port=" + Program.user_info.portString + " user=" +
- Program.user_info.loginUser + " password=" + Program.user_info.pwdUser +
- " dbname=" + Program.user_info.dbString, Convert.ToInt32(Program.srid));
- postgres.Connect();
- //postgres.logFile("mv_postgre.log");
- }
- try
- {
- mvLayer layer = postgres.addLayer(ti.nameSheme + "." + ti.nameDB, ti.nameMap, ti.pkField, ti.geomFieldName, ti.lableFieldName, "", "", ti.imageColumn, ti.angleColumn);
- if (layer != null)
- {
- if (ti.imageColumn == "")
- {
- layer.uniform = true;
- layer.SetUniformStyle(getPenObjectDefault(idT), getmvBrushObjectDefault(idT), getSymbolDefault(idT), getFontObjectDefault(idT));
- }
- if (ti.useBounds)
- {
- layer.usebounds = ti.useBounds;
- layer.MaxScale = Convert.ToUInt32(ti.maxScale);
- layer.MinScale = Convert.ToUInt32(ti.minScale);
- }
- if (ti.lableFieldName != "")
- {
- layer.showlabels = true;
- }
- mapLib.mapUpdate();
- mapLib.mapRepaint();
- }
- }
- catch
- {
- mapLib.StatusInfo = "ΠΡΠΈΠ±ΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ»ΠΎΡ!";
- }
- }
- }
- private void loadLayerDb(string sql, int idT)
- {
- if (classesOfMetods.getTableInfo(idT).sourceLayer)
- {
- loadLayerFromSource(idT);
- return;
- }
- cti.ThreadProgress frm = new cti.ThreadProgress(true);
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- bool default_style = false;
- qwCmd.CommandText = "SELECT default_style FROM " + Program.scheme + ".table_info WHERE id = " + idT.ToString();
- zxReader = qwCmd.ExecuteReader();
- while (zxReader.Read())
- {
- default_style = zxReader.GetBoolean(0);
- }
- zxReader.Close();
- if (default_style)
- {
- mvMapLib.mvSymbolObject Symbol = new mvMapLib.mvSymbolObject();
- mvMapLib.mvFontObject font = new mvMapLib.mvFontObject();
- mvMapLib.mvPenObject pen = new mvMapLib.mvPenObject();
- mvMapLib.mvBrushObject brush = new mvMapLib.mvBrushObject();
- int id_type_geom = 0;
- string id_name_type_geom = "", map_name = "";
- qwCmd.CommandText = "SELECT ttg.id, ttg.name, ti.name_map " +
- "FROM " + Program.scheme + ".table_info ti, " + Program.scheme + ".table_type_geom ttg WHERE ti.geom_type = ttg.id AND ti.id = " + idT.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- id_type_geom = zxReader.GetInt32(0);
- id_name_type_geom = zxReader.GetValue(1).ToString();
- map_name = zxReader.GetValue(2).ToString();
- }
- zxReader.Close();
- mvMapLib.mvLayer templayer;
- mvMapLib.mvVectorObject cobj;
- mvMapLib.mvStringArray fields = new mvMapLib.mvStringArray();
- mvMapLib.mvStringArray attr = new mvMapLib.mvStringArray();
- fields = getFields(idT);
- attr.count = fields.count;
- templayer = createLayerDb(map_name, fields);
- string lableField = classesOfMetods.getTableInfo(idT).lableFieldName;
- if (lableField != null && lableField != "")
- {
- for (int t = 0; templayer.FieldsCount > t; t++)
- {
- if (templayer.FieldName(t).ToString() == lableField)
- {
- templayer.LabelField = t;
- templayer.labelOffset = 0;
- templayer.showlabels = true;
- }
- }
- }
- int style = 0;
- switch (id_type_geom)
- {
- case 1:
- Symbol = getSymbolDefault(idT);
- font = getFontObjectDefault(idT);
- style = templayer.CreateDotStyle(Symbol, font);
- break;
- case 2:
- pen = getPenObjectDefault(idT);
- style = templayer.CreateLineStyle(pen);
- break;
- case 3:
- pen = getPenObjectDefault(idT);
- brush = getmvBrushObjectDefault(idT);
- style = templayer.CreatePolygonStyle(pen, brush);
- break;
- }
- qwCmd.CommandText = sql;
- zxReader = qwCmd.ExecuteReader();
- int i = 0;
- string wkt = "";
- while (zxReader.Read())
- {
- int y = 0;
- for (int t = 0; zxReader.FieldCount > t; t++)
- {
- if (zxReader.GetName(t) != "geom")
- {
- attr.setElem(y, zxReader.GetValue(t).ToString());
- y++;
- }
- else
- {
- wkt = zxReader.GetValue(t).ToString();
- if (wkt.IndexOf("GON") > -1)
- {
- wkt = zxReader.GetValue(t).ToString().Replace("((", "(");
- wkt = wkt.Replace("))", ")");
- }
- }
- }
- cobj = templayer.CreateObject();
- cobj.setWKT(wkt);
- cobj.SetAttributes(attr);
- cobj.style = style;
- i++;
- }
- zxReader.Close();
- mapLib.mapUpdate();
- }
- else
- {
- bool is_ref = false;
- string ref_table = "", ref_field = "", ref_field_end = "", ref_field_name = "";
- qwCmd.CommandText = "SELECT id, name_db, name_map, is_reference, is_interval, ref_table, ref_field, ref_field_end, ref_field_name " +
- "FROM " + Program.scheme + ".table_field_info " +
- "WHERE is_style = true AND id_table = " + idT.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- is_ref = zxReader.GetBoolean(3);
- ref_table = zxReader.GetValue(5).ToString();
- ref_field = zxReader.GetValue(6).ToString();
- ref_field_end = zxReader.GetValue(7).ToString();
- ref_field_name = zxReader.GetValue(8).ToString();
- }
- zxReader.Close();
- fieldArray[] fa = loadFieldArray();
- tablesArray[] ta = loadTablesArray();
- mvMapLib.mvSymbolObject Symbol = new mvMapLib.mvSymbolObject();
- mvMapLib.mvFontObject font = new mvMapLib.mvFontObject();
- mvMapLib.mvPenObject pen = new mvMapLib.mvPenObject();
- mvMapLib.mvBrushObject brush = new mvMapLib.mvBrushObject();
- int count = 0;
- qwCmd.CommandText = "SELECT count(*)::INTEGER as val FROM farm." + getTableNameDB(ta, Convert.ToInt32(ref_table));
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- count = zxReader.GetInt32(0);
- }
- zxReader.Close();
- int[] style = new int[count];
- int id_type_geom = 0;
- string id_name_type_geom = "", map_name = "";
- qwCmd.CommandText = "SELECT ttg.id, ttg.name, ti.name_map " +
- "FROM " + Program.scheme + ".table_info ti, " + Program.scheme + ".table_type_geom ttg WHERE ti.geom_type = ttg.id AND ti.id = " + idT.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- id_type_geom = zxReader.GetInt32(0);
- id_name_type_geom = zxReader.GetValue(1).ToString();
- map_name = zxReader.GetValue(2).ToString();
- }
- zxReader.Close();
- mvMapLib.mvLayer templayer;
- mvMapLib.mvVectorObject cobj;
- mvMapLib.mvStringArray fields = new mvMapLib.mvStringArray();
- mvMapLib.mvStringArray attr = new mvMapLib.mvStringArray();
- fields = getFields(idT);
- attr.count = fields.count;
- templayer = createLayerDb(map_name, fields);
- string lableField = classesOfMetods.getTableInfo(idT).lableFieldName;
- if (lableField != null && lableField != "")
- {
- for (int t = 0; templayer.FieldsCount > t; t++)
- {
- if (templayer.FieldName(t).ToString() == lableField)
- {
- templayer.LabelField = t;
- templayer.labelOffset = 0;
- templayer.showlabels = true;
- }
- }
- }
- int[] idList = getList(getTableNameDB(ta, Convert.ToInt32(ref_table)), count);
- if (is_ref)
- {
- objStyleRef[] styleRef = new objStyleRef[count];
- for (int i = 0; idList.Length > i; i++)
- {
- switch (id_type_geom)
- {
- case 1:
- Symbol = getSymbolRef(getTableNameDB(ta, Convert.ToInt32(ref_table)), idList[i]);
- font = getFontObjectRef(getTableNameDB(ta, Convert.ToInt32(ref_table)), idList[i]);
- styleRef[i].idMap = templayer.CreateDotStyle(Symbol, font);
- styleRef[i].FieldName = getFieldNameDB(fa, Convert.ToInt32(ref_field));
- styleRef[i].Val = getVal(getTableNameDB(ta, Convert.ToInt32(ref_table)),
- getFieldNameDB(fa, Convert.ToInt32(ref_field_name)), idList[i]);
- break;
- case 2:
- pen = getPenObjectRef(getTableNameDB(ta, Convert.ToInt32(ref_table)), idList[i]);
- styleRef[i].idMap = templayer.CreateLineStyle(pen);
- styleRef[i].FieldName = getFieldNameDB(fa, Convert.ToInt32(ref_field));
- styleRef[i].Val = getVal(getTableNameDB(ta, Convert.ToInt32(ref_table)),
- getFieldNameDB(fa, Convert.ToInt32(ref_field_name)), idList[i]);
- break;
- case 3:
- pen = getPenObjectRef(getTableNameDB(ta, Convert.ToInt32(ref_table)), idList[i]);
- brush = getmvBrushObjectRef(getTableNameDB(ta, Convert.ToInt32(ref_table)), idList[i]);
- styleRef[i].idMap = templayer.CreatePolygonStyle(pen, brush);
- styleRef[i].FieldName = getFieldNameDB(fa, Convert.ToInt32(ref_field));
- styleRef[i].Val = getVal(getTableNameDB(ta, Convert.ToInt32(ref_table)),
- getFieldNameDB(fa, Convert.ToInt32(ref_field_name)), idList[i]);
- break;
- }
- }
- qwCmd.CommandText = sql;
- zxReader = qwCmd.ExecuteReader();
- string wkt = "";
- string ref_f_name = getFieldNameDB(fa, Convert.ToInt32(ref_field_name));
- while (zxReader.Read())
- {
- int y = 0;
- string val = "";
- for (int t = 0; zxReader.FieldCount > t; t++)
- {
- if (zxReader.GetName(t) != "geom")
- {
- attr.setElem(y, zxReader.GetValue(t).ToString());
- if (zxReader.GetName(t) == ref_f_name)
- {
- val = zxReader.GetValue(t).ToString();
- }
- y++;
- }
- else
- {
- wkt = zxReader.GetValue(t).ToString();
- if (wkt.IndexOf("GON") > -1)
- {
- wkt = zxReader.GetValue(t).ToString().Replace("((", "(");
- wkt = wkt.Replace("))", ")");
- }
- }
- }
- cobj = templayer.CreateObject();
- cobj.setWKT(wkt);
- cobj.SetAttributes(attr);
- cobj.style = getStyle(val, styleRef);
- }
- zxReader.Close();
- mapLib.mapUpdate();
- }
- else
- {
- objStyleRef[] styleRef = new objStyleRef[count];
- for (int i = 0; idList.Length > i; i++)
- {
- switch (id_type_geom)
- {
- case 1:
- Symbol = getSymbolRef(getTableNameDB(ta, Convert.ToInt32(ref_table)), idList[i]);
- font = getFontObjectRef(getTableNameDB(ta, Convert.ToInt32(ref_table)), idList[i]);
- styleRef[i].idMap = templayer.CreateDotStyle(Symbol, font);
- styleRef[i].FieldName = getFieldNameDB(fa, Convert.ToInt32(ref_field));
- styleRef[i].Val = getVal(getTableNameDB(ta, Convert.ToInt32(ref_table)),
- getFieldNameDB(fa, Convert.ToInt32(ref_field_name)), idList[i]);
- break;
- case 2:
- pen = getPenObjectRef(getTableNameDB(ta, Convert.ToInt32(ref_table)), idList[i]);
- styleRef[i].idMap = templayer.CreateLineStyle(pen);
- styleRef[i].FieldName = getFieldNameDB(fa, Convert.ToInt32(ref_field));
- styleRef[i].Val = getVal(getTableNameDB(ta, Convert.ToInt32(ref_table)),
- getFieldNameDB(fa, Convert.ToInt32(ref_field_name)), idList[i]);
- break;
- case 3:
- pen = getPenObjectRef(getTableNameDB(ta, Convert.ToInt32(ref_table)), idList[i]);
- brush = getmvBrushObjectRef(getTableNameDB(ta, Convert.ToInt32(ref_table)), idList[i]);
- styleRef[i].idMap = templayer.CreatePolygonStyle(pen, brush);
- styleRef[i].FieldName = getFieldNameDB(fa, Convert.ToInt32(ref_field));
- styleRef[i].Val = getVal(getTableNameDB(ta, Convert.ToInt32(ref_table)),
- getFieldNameDB(fa, Convert.ToInt32(ref_field_name)), idList[i]);
- break;
- }
- }
- qwCmd.CommandText = sql;
- zxReader = qwCmd.ExecuteReader();
- string wkt = "";
- string ref_f_name = getFieldNameDB(fa, Convert.ToInt32(ref_field_name));
- while (zxReader.Read())
- {
- int y = 0;
- string val = "";
- for (int t = 0; zxReader.FieldCount > t; t++)
- {
- if (zxReader.GetName(t) != "geom")
- {
- attr.setElem(y, zxReader.GetValue(t).ToString());
- if (zxReader.GetName(t) == ref_f_name)
- {
- val = zxReader.GetValue(t).ToString();
- }
- y++;
- }
- else
- {
- wkt = zxReader.GetValue(t).ToString();
- if (wkt.IndexOf("GON") > -1)
- {
- wkt = zxReader.GetValue(t).ToString().Replace("((", "(");
- wkt = wkt.Replace("))", ")");
- }
- }
- }
- cobj = templayer.CreateObject();
- cobj.setWKT(wkt);
- cobj.SetAttributes(attr);
- cobj.style = getStyle(val, styleRef);
- }
- zxReader.Close();
- mapLib.mapUpdate();
- }
- }
- frm.Close();
- }
- private mvMapLib.mvStringArray getFields(int idT)
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- int count = 0;
- qwCmd.CommandText = "SELECT count(*)::INTEGER as val " +
- "FROM " + Program.scheme + ".table_field_info WHERE type_field <>5 AND visible = true AND id_table = " + idT.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- count = zxReader.GetInt32(0);
- }
- zxReader.Close();
- mvMapLib.mvStringArray fields = new mvMapLib.mvStringArray();
- fields.count = count;
- qwCmd.CommandText = "SELECT name_map " +
- "FROM " + Program.scheme + ".table_field_info WHERE type_field <>5 AND visible = true AND id_table = " + idT.ToString();
- zxReader = qwCmd.ExecuteReader();
- int i = 0;
- while (zxReader.Read())
- {
- fields.setElem(i, zxReader.GetValue(0).ToString());
- i++;
- }
- zxReader.Close();
- return fields;
- }
- private mvMapLib.mvLayer createLayerDb(string name, mvMapLib.mvStringArray fields)
- {
- mvMapLib.mvLayer ll = mapLib.getLayer(name);
- if (ll != null)
- {
- ll.deleteLayer();
- }
- return mapLib.CreateLayer(name, fields);
- }
- private mvMapLib.mvSymbolObject getSymbolDefault(int idT)
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- mvMapLib.mvSymbolObject symb = new mvMapLib.mvSymbolObject();
- qwCmd.CommandText = "SELECT symbol FROM " + Program.scheme + ".table_info WHERE id = " + idT.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- symb.shape = Convert.ToUInt32(zxReader.GetInt32(0));
- }
- zxReader.Close();
- return symb;
- }
- private mvMapLib.mvPenObject getPenObjectDefault(int idT)
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- mvMapLib.mvPenObject pen = new mvMapLib.mvPenObject();
- qwCmd.CommandText = "SELECT pencolor, penwidth, pentype FROM " + Program.scheme + ".table_info WHERE id = " + idT.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- pen.Color = Convert.ToUInt32(zxReader.GetInt32(0));
- pen.width = Convert.ToUInt32(zxReader.GetInt32(1));
- pen.ctype = Convert.ToUInt16(zxReader.GetInt32(2));
- }
- zxReader.Close();
- return pen;
- }
- private mvMapLib.mvFontObject getFontObjectDefault(int idT)
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- mvMapLib.mvFontObject font = new mvMapLib.mvFontObject();
- qwCmd.CommandText = "SELECT fontname, fontcolor, fontframecolor, fontsize FROM " + Program.scheme + ".table_info WHERE id = " + idT.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- font.fontname = zxReader.GetValue(0).ToString();
- font.Color = Convert.ToUInt32(zxReader.GetInt32(1));
- font.framecolor = Convert.ToUInt32(zxReader.GetInt32(2));
- font.size = zxReader.GetInt32(3);
- }
- zxReader.Close();
- return font;
- }
- private mvMapLib.mvBrushObject getmvBrushObjectDefault(int idT)
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- mvMapLib.mvBrushObject brush = new mvMapLib.mvBrushObject();
- qwCmd.CommandText = "SELECT brushbgcolor, brushfgcolor, brushstyle, brushhatch FROM " + Program.scheme + ".table_info WHERE id = " + idT.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- brush.bgcolor = Convert.ToUInt32(zxReader.GetInt32(0));
- brush.fgcolor = Convert.ToUInt32(zxReader.GetInt32(1));
- brush.style = Convert.ToUInt16(zxReader.GetInt32(2));
- brush.hatch = Convert.ToUInt16(zxReader.GetInt32(3));
- }
- zxReader.Close();
- return brush;
- }
- private int[] getList(string tableName, int count)
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- int[] temp = new int[count];
- qwCmd.CommandText = "SELECT id FROM " + classesOfMetods.getTableInfoOfNameDB(tableName).nameSheme + "." + tableName + ";";
- zxReader = qwCmd.ExecuteReader();
- int i = 0;
- while (zxReader.Read())
- {
- temp[i] = zxReader.GetInt32(0);
- i++;
- }
- zxReader.Close();
- return temp;
- }
- private mvMapLib.mvSymbolObject getSymbolRef(string tableName, int idTR)
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- mvMapLib.mvSymbolObject symb = new mvMapLib.mvSymbolObject();
- qwCmd.CommandText = "SELECT symbol FROM " + classesOfMetods.getTableInfoOfNameDB(tableName).nameSheme + "." + tableName + " WHERE id = " + idTR.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- symb.shape = Convert.ToUInt32(zxReader.GetInt32(0));
- }
- zxReader.Close();
- return symb;
- }
- private mvMapLib.mvFontObject getFontObjectRef(string tableName, int idTR)
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- mvMapLib.mvFontObject font = new mvMapLib.mvFontObject();
- qwCmd.CommandText = "SELECT fontname, fontcolor, fontframecolor, fontsize FROM " + classesOfMetods.getTableInfoOfNameDB(tableName).nameSheme + "." + tableName + " WHERE id = " + idTR.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- font.fontname = zxReader.GetValue(0).ToString();
- font.Color = Convert.ToUInt32(zxReader.GetInt32(1));
- font.framecolor = Convert.ToUInt32(zxReader.GetInt32(2));
- font.size = zxReader.GetInt32(3);
- }
- zxReader.Close();
- return font;
- }
- private string getVal(string tableName, string fieldName, int id)
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- string name = "";
- qwCmd.CommandText = "SELECT " + fieldName + " FROM " + classesOfMetods.getTableInfoOfNameDB(tableName).nameSheme + "." + tableName + " WHERE id = " + id.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- name = zxReader.GetValue(0).ToString();
- }
- zxReader.Close();
- return name;
- }
- private mvMapLib.mvPenObject getPenObjectRef(string tableName, int idTR)
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- mvMapLib.mvPenObject pen = new mvMapLib.mvPenObject();
- qwCmd.CommandText = "SELECT pencolor, penwidth, pentype FROM " + classesOfMetods.getTableInfoOfNameDB(tableName).nameSheme + "." + tableName + " WHERE id = " + idTR.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- pen.Color = Convert.ToUInt32(zxReader.GetInt32(0));
- pen.width = Convert.ToUInt32(zxReader.GetInt32(1));
- pen.ctype = Convert.ToUInt16(zxReader.GetInt32(2));
- }
- zxReader.Close();
- return pen;
- }
- private mvMapLib.mvBrushObject getmvBrushObjectRef(string tableName, int idTR)
- {
- NpgsqlCommand qwCmd = conn1.CreateCommand();
- NpgsqlDataReader zxReader;
- mvMapLib.mvBrushObject brush = new mvMapLib.mvBrushObject();
- qwCmd.CommandText = "SELECT brushbgcolor, brushfgcolor, brushstyle, brushhatch FROM " + classesOfMetods.getTableInfoOfNameDB(tableName).nameSheme + "." + tableName + " WHERE id = " + idTR.ToString();
- zxReader = qwCmd.ExecuteReader();
- if (zxReader.Read())
- {
- brush.bgcolor = Convert.ToUInt32(zxReader.GetInt32(0));
- brush.fgcolor = Convert.ToUInt32(zxReader.GetInt32(1));
- brush.style = Convert.ToUInt16(zxReader.GetInt32(2));
- brush.hatch = Convert.ToUInt16(zxReader.GetInt32(3));
- }
- zxReader.Close();
- return brush;
- }
- private int getStyle(string val, objStyleRef[] styleRef)
- {
- for (int i = 0; styleRef.Length > i; i++)
- {
- if (styleRef[i].Val == val)
- {
- return styleRef[i].idMap;
- }
- }
- return 0;
- }
- public void button6_Click(object sender, EventArgs e)
- {
- flowLayoutPanel1.SuspendLayout();
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- LayerItems li = (LayerItems)cc;
- if (li.isBaseLayer == false && li.isVectorLayer == false)
- {
- updateLayer(li.layerName);
- }
- }
- loadLayerListFromDB();
- flowLayoutPanel1.ResumeLayout();
- }
- public void button7_Click(object sender, EventArgs e)
- {
- if (selectedLayer1 != null && !selectedLayer1.isBaseLayer && !selectedLayer1.isVectorLayer)
- {
- openTableGrid(selectedLayer1.layerId, selectedLayer1.layerName);
- }
- }
- private void layersManagerFRM_FormClosing(object sender, FormClosingEventArgs e)
- {
- if (e.CloseReason == CloseReason.UserClosing)
- {
- e.Cancel = true;
- panel1.Hide();
- }
- }
- public void button8_Click(object sender, EventArgs e)
- {
- //this.TopMost = false;
- rastrfrm1.ShowDialog();
- //this.TopMost = true;
- }
- public void layersManagerFRM_VisibleChanged(object sender, EventArgs e)
- {
- if (panel1.Visible == true)
- {
- SortLayers();
- }
- }
- private void SortLayers()
- {
- List<LayerItems> lv = new List<LayerItems>();
- List<LayerItems> lb = new List<LayerItems>();
- List<LayerItems> lu = new List<LayerItems>();
- foreach (Control cc in flowLayoutPanel1.Controls)
- {
- LayerItems li = (LayerItems)cc;
- if (li.isVectorLayer == true)
- {
- lv.Add(li);
- }
- else if (li.isBaseLayer == true)
- {
- lb.Add(li);
- }
- else
- {
- lu.Add(li);
- }
- }
- flowLayoutPanel1.Controls.Clear();
- flowLayoutPanel1.Controls.AddRange(lu.ToArray());
- flowLayoutPanel1.Controls.AddRange(lb.ToArray());
- flowLayoutPanel1.Controls.AddRange(lv.ToArray());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement