Mercurial > postarc > postarc
annotate Postarc/Postarc/GUI/FormExportToPostGIS.cs @ 0:1aca3d413885 tip
Initial import of Postarc
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Fri, 05 Oct 2012 23:55:06 +0200 |
parents | |
children |
rev | line source |
---|---|
0
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
1 /* |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
2 * Postarc |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
3 * |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
4 * Author: |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
5 * Christian Lins <christian.lins@intevation.de> |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
6 * |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
7 * Copyright: |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
8 * Copyright (C) 2012 Intevation GmbH <http://www.intevation.de/> |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
9 * |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
10 * This program is free software: you can redistribute it and/or modify |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
11 * it under the terms of the GNU Lesser General Public License as published by |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
12 * the Free Software Foundation, either version 3 of the License, or |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
13 * (at your option) any later version. |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
14 * |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
15 * This program is distributed in the hope that it will be useful, |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
18 * GNU General Public License for more details. |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
19 * |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
20 * You should have received a copy of the GNU Lesser General Public License |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
21 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
22 */ |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
23 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
24 using System; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
25 using System.Collections.Generic; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
26 using System.ComponentModel; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
27 using System.Data; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
28 using System.Drawing; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
29 using System.Linq; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
30 using System.Text; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
31 using System.Windows.Forms; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
32 using ESRI.ArcGIS.Carto; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
33 using Postarc.Catalog; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
34 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
35 namespace Postarc.GUI |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
36 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
37 public partial class FormExportToPostGIS : Form |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
38 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
39 protected IFeatureLayer layer; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
40 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
41 public FormExportToPostGIS(IFeatureLayer layer) |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
42 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
43 this.layer = layer; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
44 InitializeComponent(); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
45 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
46 // Fill the database connections to the combo box and preselect one |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
47 int selIndex = this.cmbDatabaseConnections.SelectedIndex; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
48 this.cmbDatabaseConnections.Items.Clear(); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
49 this.cmbDatabaseConnections.Items.AddRange(Settings.LoadSavedProfiles().ToArray()); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
50 this.cmbDatabaseConnections.Items.Add(new PostGISConnection()); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
51 this.cmbDatabaseConnections.SelectedIndex = 0; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
52 if (selIndex >= 0) |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
53 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
54 this.cmbDatabaseConnections.SelectedIndex = selIndex; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
55 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
56 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
57 this.lblDocumentLayer.Text = "Layer to export: " + layer.Name; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
58 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
59 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
60 private void FormExportToPostGIS_FormClosing(object sender, FormClosingEventArgs e) |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
61 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
62 e.Cancel = true; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
63 Visible = false; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
64 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
65 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
66 private void btnExport_Click(object sender, EventArgs e) |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
67 { |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
68 PostGISConnection conn = this.cmbDatabaseConnections.SelectedItem as PostGISConnection; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
69 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
70 FeatureClassExporter exp = new FeatureClassExporter(layer.FeatureClass); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
71 int numExported = exp.ExportFeatureClass(null, conn, cmbGeometryTable.Text); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
72 |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
73 MessageBox.Show(numExported + " features exported!", "Export successful", MessageBoxButtons.OK, MessageBoxIcon.Information); |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
74 Visible = false; |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
75 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
76 } |
1aca3d413885
Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
77 } |