using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using ArcGIS.Core.Data; using ArcGIS.Desktop.Core; using OliviaAddInPro.Helper; using OliviaAddInPro.View; using OliviaAddInPro.Model; using ArcGIS.Core.Geometry; using ArcGIS.Desktop.Mapping; using ArcGIS.Desktop.Internal.Framework.Controls; namespace OliviaAddInPro { /// /// Interaction logic for PaneRecogidaSub2View.xaml /// public partial class PaneRecogidaSub2View : UserControl { public PaneRecogidaSub2View() { InitializeComponent(); } /* private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e) { e.Handled = !PanelGlobal.IsValid(((TextBox)sender).Text + e.Text,0,9999); } /* * Saca ventana para seleccionar el campo del que leer para elegir la geometría * private ArcGIS.Core.Geometry.Geometry SelecLeeGeom(FeatureClass fc, out string _texto, bool multisel) { ArcGIS.Core.Geometry.Geometry geomsal = null; string texto = ""; if (fc != null) { //saca la ventana de selección de campo ShowProWndSelectFields selfwnd = new ShowProWndSelectFields(fc, multisel); if (selfwnd.SelFieldVals.Count > 0) { geomsal = HelperGdb.GetGeomSel(fc, selfwnd.SelField, selfwnd.SelFieldVals).Result; texto = HelperGdb.TextoSal; } } _texto = texto; return geomsal; } private ArcGIS.Core.Geometry.Geometry AbreGeom(out string texto) { //inicialmente ArcGIS.Core.Geometry.Geometry geom = null; texto = Resource1.String_selec_capa; //abre FeatureClass fc = HelperGdb.OpenFtClassDialog(HelperGdb.TiposOpenFileDlg.OpenFtrClassPolygon); if (fc != null) { //hace geom geom = SelecLeeGeom(fc, out texto, true); if (geom == null && (HelperGdb.OutStr.Length > 0)) HelperGlobal.ponMsg(HelperGdb.OutStr, System.Windows.MessageBoxImage.Error); HelperGdb.Free(fc); } return geom; } private void button_caparestr_Click(object sender, RoutedEventArgs e) { string texto = ""; ArcGIS.Core.Geometry.Geometry geom = AbreGeom(out texto); if (DataContext is PaneLimpiezaSub2ViewModel mod) { mod.GeomRestr = geom; } if (geom != null) label_caparestr.Content = texto; else label_caparestr.Content =Resource1.String_selec_capa; } private void button_capaniv_Click(object sender, RoutedEventArgs e) { string texto = ""; ArcGIS.Core.Geometry.Geometry geom = AbreGeom(out texto); if (DataContext is PaneLimpiezaSub2ViewModel mod) { mod.GeomNiv = geom; } if (geom != null) label_capaniv.Content = texto; else label_capaniv.Content = Resource1.String_selec_capa; } private void button_capazon_Click(object sender, RoutedEventArgs e) { string texto = ""; ArcGIS.Core.Geometry.Geometry geom = AbreGeom(out texto); if (DataContext is PaneLimpiezaSub2ViewModel mod) { mod.GeomZon = geom; } if (geom != null) label_capazon.Content = texto; else label_capazon.Content = Resource1.String_selec_capa; } private void button_capainst_Click(object sender, RoutedEventArgs e) { string texto = ""; ArcGIS.Core.Geometry.Geometry geomsal = AbreGeom(out texto); if ((DataContext is PaneLimpiezaSub2ViewModel mod) && geomsal != null && geomsal is MapPoint mp) { mod.CoordsInstal = mp.Coordinate2D; } if (geomsal != null) label_capainst.Content = texto; else label_capainst.Content = Resource1.String_selec_capa; }*/ } }