annotate Postarc/Postarc/Geodatabase/FieldInfo.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 using System;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
2 using System.Collections.Generic;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
3 using System.Linq;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
4 using System.Text;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
5 using ESRI.ArcGIS.Geodatabase;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
6 using ESRI.ArcGIS.esriSystem;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
7
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
8 namespace Postarc.Geodatabase
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 public class FieldInfo : IFieldInfo
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
11 {
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
12 protected string alias = null;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
13 protected INumberFormat numberFormat = null;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
14 protected bool visible = true;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
15
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
16 public static IFieldInfo Create(IField field)
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
17 {
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
18 return new FieldInfo(field);
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
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
21 protected FieldInfo(IField field)
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 Alias = field.AliasName;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
24 switch (field.Type)
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
25 {
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
26 case esriFieldType.esriFieldTypeInteger:
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
27 case esriFieldType.esriFieldTypeSmallInteger:
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
28 this.numberFormat = new NumericFormatClass();
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
29 break;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
30 }
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
31 }
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
32
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
33 public string Alias
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 get
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 return this.alias;
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 set
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 this.alias = value;
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 }
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
44
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
45 public INumberFormat NumberFormat
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
46 {
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
47 get
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
48 {
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
49 return this.numberFormat;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
50 }
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
51 set
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
52 {
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
53 this.numberFormat = value;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
54 }
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 public bool Visible
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 get
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
60 {
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
61 return this.visible;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
62 }
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
63 set
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 this.visible = value;
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
66 }
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
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
69 public string get_AsString(object value)
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
70 {
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
71 if (value == null)
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 return "<NULL>";
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
74 }
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
75 else
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 return value.ToString();
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
78 }
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
79 }
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
80 }
1aca3d413885 Initial import of Postarc
Christian Lins <christian.lins@intevation.de>
parents:
diff changeset
81 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)