Hoy fatal, muy pocos avances
parent
de6303d9e3
commit
0bf952d7fb
|
|
@ -7,6 +7,10 @@ using System.Threading.Tasks;
|
||||||
using ArcGIS.Desktop.Catalog;
|
using ArcGIS.Desktop.Catalog;
|
||||||
using ArcGIS.Desktop.Core;
|
using ArcGIS.Desktop.Core;
|
||||||
using ArcGIS.Desktop.Framework;
|
using ArcGIS.Desktop.Framework;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using ArcGIS.Core.Geometry;
|
||||||
|
using ArcGIS.Core.Data;
|
||||||
|
using ArcGIS.Desktop.Mapping;
|
||||||
|
|
||||||
namespace OliviaAddInPro.Helper
|
namespace OliviaAddInPro.Helper
|
||||||
{
|
{
|
||||||
|
|
@ -21,8 +25,37 @@ namespace OliviaAddInPro.Helper
|
||||||
OpenGdb=8,
|
OpenGdb=8,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static FeatureClass OpenFtClassDialog(TiposOpenFileDlg tipo, string initialLoc = "")
|
||||||
|
{
|
||||||
|
Item it = OpenFileDialog( tipo, initialLoc);
|
||||||
|
FeatureClass fc = it as FeatureClass;
|
||||||
|
return fc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static async Task<Geodatabase> OpenGdb(string path)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() => {
|
||||||
|
// Opens a file geodatabase. This will open the geodatabase if the folder exists and contains a valid geodatabase.
|
||||||
|
using (
|
||||||
|
Geodatabase geodatabase =
|
||||||
|
new Geodatabase(new FileGeodatabaseConnectionPath(new Uri(path))))
|
||||||
|
{
|
||||||
|
return geodatabase;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch (GeodatabaseNotFoundOrOpenedException exception)
|
||||||
|
{
|
||||||
|
// Handle Exception.
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//Devuelve el Path del archivo seleccionado o un string vacío si se ha cancelado
|
//Devuelve el Path del archivo seleccionado o un string vacío si se ha cancelado
|
||||||
public static string OpenFileDialog(TiposOpenFileDlg tipo, string initialLoc="")
|
public static Item OpenFileDialog(TiposOpenFileDlg tipo, string initialLoc="")
|
||||||
{
|
{
|
||||||
string titulo;
|
string titulo;
|
||||||
titulo = "Abrir Archivo";
|
titulo = "Abrir Archivo";
|
||||||
|
|
@ -65,10 +98,10 @@ namespace OliviaAddInPro.Helper
|
||||||
BrowseFilter = filtro
|
BrowseFilter = filtro
|
||||||
};
|
};
|
||||||
bool? ok = aNewFilter.ShowDialog();
|
bool? ok = aNewFilter.ShowDialog();
|
||||||
if (ok.Value)
|
if ((ok ?? true) && aNewFilter.Items.Count() > 0)
|
||||||
return aNewFilter.Items.First().Path;
|
return aNewFilter.Items.First();
|
||||||
else
|
else
|
||||||
return "";
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*public static bool SelecPolig(string title, int wnd_handle, out string text_sal, out IGeometry geom_sal)
|
/*public static bool SelecPolig(string title, int wnd_handle, out string text_sal, out IGeometry geom_sal)
|
||||||
|
|
@ -79,5 +112,66 @@ namespace OliviaAddInPro.Helper
|
||||||
{
|
{
|
||||||
|
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
public static Table GetTable(string pathLyr)
|
||||||
|
{
|
||||||
|
Table tb=null;
|
||||||
|
Geodatabase fileGeodatabase = new Geodatabase(new FileGeodatabaseConnectionPath(new Uri(pathLyr)));
|
||||||
|
// FeatureLayer lyr = new FeatureLayer();
|
||||||
|
|
||||||
|
return tb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ObservableCollection<string> GetFields(FeatureClass fc)
|
||||||
|
{
|
||||||
|
ObservableCollection<string> fields = new ObservableCollection<string>();
|
||||||
|
|
||||||
|
|
||||||
|
return fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ObservableCollection<string> GetAttributes(FeatureClass fc, string fieldName)
|
||||||
|
{
|
||||||
|
ObservableCollection<string> attribs = new ObservableCollection<string>();
|
||||||
|
|
||||||
|
return attribs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Geometry GetGeomSel(string pathLyr, string selField, ObservableCollection<string> selAttributes, out string textoSal)
|
||||||
|
{
|
||||||
|
string _textosal = "";
|
||||||
|
Geometry geomsal = null;
|
||||||
|
|
||||||
|
/*is_str = FunGDB.is_str_field(clase_path, selField);
|
||||||
|
nval = list.selec_valores_campo(selField, out val_ids, out val_st);//valores únicos
|
||||||
|
if (nval > 0)
|
||||||
|
{
|
||||||
|
//se embucla para unir las geoms
|
||||||
|
for (int i = 0; i < nval; i++)
|
||||||
|
{
|
||||||
|
if (is_str)
|
||||||
|
consulta = selField + " = '" + val_st[i] + "'";
|
||||||
|
else
|
||||||
|
consulta = selField + " = " + val_st[i];
|
||||||
|
ids = FunGDB.dame_ids_consulta(clase_path, consulta);
|
||||||
|
fc = FunGDB.abre_ftclass(clase_path);
|
||||||
|
if ((ids != null) && (fc != null))
|
||||||
|
{
|
||||||
|
for (j = 0; j < ids.Length; j++)
|
||||||
|
{
|
||||||
|
f = fc.GetFeature(ids[j]);
|
||||||
|
geom = f.Shape;
|
||||||
|
geom_sal = FunGDB.une_geoms(geom_sal, geom);
|
||||||
|
FunGDB.libera(f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
FunGDB.libera(fc);
|
||||||
|
//Actualiza el texto de salida
|
||||||
|
_textosal = _textosal + HelperGlobal.RevisaText(val_st[i]);
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
textoSal = _textosal;
|
||||||
|
return geomsal;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace OliviaAddInPro.Helper
|
||||||
|
{
|
||||||
|
public static class HelperGlobal
|
||||||
|
{
|
||||||
|
public static string RevisaText(string text)
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
foreach (char c in text)
|
||||||
|
{
|
||||||
|
if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || c == '_')
|
||||||
|
{
|
||||||
|
sb.Append(c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sb.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -131,6 +131,7 @@
|
||||||
<Compile Include="Button\ButtonMaq.cs" />
|
<Compile Include="Button\ButtonMaq.cs" />
|
||||||
<Compile Include="Button\ButtonRec.cs" />
|
<Compile Include="Button\ButtonRec.cs" />
|
||||||
<Compile Include="Helper\HelperGdb.cs" />
|
<Compile Include="Helper\HelperGdb.cs" />
|
||||||
|
<Compile Include="Helper\HelperGlobal.cs" />
|
||||||
<Compile Include="OptionsMenuItem.cs" />
|
<Compile Include="OptionsMenuItem.cs" />
|
||||||
<Compile Include="ViewModel\PaneLimpiezaSub4ViewModel.cs" />
|
<Compile Include="ViewModel\PaneLimpiezaSub4ViewModel.cs" />
|
||||||
<Compile Include="ViewModel\PaneLimpiezaSub3ViewModel.cs" />
|
<Compile Include="ViewModel\PaneLimpiezaSub3ViewModel.cs" />
|
||||||
|
|
@ -169,6 +170,10 @@
|
||||||
<DesignTime>True</DesignTime>
|
<DesignTime>True</DesignTime>
|
||||||
<DependentUpon>Resource1.resx</DependentUpon>
|
<DependentUpon>Resource1.resx</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="View\ProWndSelectFields.xaml.cs">
|
||||||
|
<DependentUpon>ProWndSelectFields.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ViewModel\ShowProWndSelectFields.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<AddInContent Include="Images\GenericButtonBlue16.png" />
|
<AddInContent Include="Images\GenericButtonBlue16.png" />
|
||||||
|
|
@ -218,6 +223,10 @@
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
</Page>
|
</Page>
|
||||||
|
<Page Include="View\ProWndSelectFields.xaml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
</Page>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<AddInContent Include="Images\GenericButtonPurple16.png" />
|
<AddInContent Include="Images\GenericButtonPurple16.png" />
|
||||||
|
|
@ -273,6 +282,12 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Resource Include="View\openfolder.png" />
|
<Resource Include="View\openfolder.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="View\OliviaIconPro16.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="View\OliviaIconPro.ico" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<!--
|
<!--
|
||||||
PackageAction can be:
|
PackageAction can be:
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 141 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 810 B |
|
|
@ -12,6 +12,7 @@ using System.Windows.Media;
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
using System.Windows.Navigation;
|
using System.Windows.Navigation;
|
||||||
using System.Windows.Shapes;
|
using System.Windows.Shapes;
|
||||||
|
using ArcGIS.Desktop.Core;
|
||||||
using OliviaAddInPro.Helper;
|
using OliviaAddInPro.Helper;
|
||||||
|
|
||||||
namespace OliviaAddInPro
|
namespace OliviaAddInPro
|
||||||
|
|
@ -42,9 +43,9 @@ namespace OliviaAddInPro
|
||||||
|
|
||||||
private void Button_Click(object sender, RoutedEventArgs e)
|
private void Button_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
string res=HelperGdb.OpenFileDialog(HelperGdb.TiposOpenFileDlg.OpenFtrClassLine | HelperGdb.TiposOpenFileDlg.OpenFtrClassPoint);
|
Item it=HelperGdb.OpenFileDialog(HelperGdb.TiposOpenFileDlg.OpenFtrClassLine | HelperGdb.TiposOpenFileDlg.OpenFtrClassPoint);
|
||||||
if (res.Length > 0)
|
if(it!=null && it.Path.Length > 0)
|
||||||
label_capalimp.Content = System.IO.Path.GetFileName(res);
|
label_capalimp.Content = it.Name;
|
||||||
else
|
else
|
||||||
label_capalimp.Content = Resource1.String_selec_capa;
|
label_capalimp.Content = Resource1.String_selec_capa;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,12 +24,12 @@
|
||||||
<ColumnDefinition Width="45"/>
|
<ColumnDefinition Width="45"/>
|
||||||
<ColumnDefinition Width="200"/>
|
<ColumnDefinition Width="200"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Button Content="" HorizontalAlignment="Left" Margin="20,3,0,0" VerticalAlignment="Top" Width="16" Height="16" BorderThickness="0">
|
<Button x:Name="button_caparestr" Content="" HorizontalAlignment="Left" Margin="20,3,0,0" VerticalAlignment="Top" Width="16" Height="16" BorderThickness="0" Click="button_caparestr_Click">
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<ImageBrush ImageSource="openfolder.png"/>
|
<ImageBrush ImageSource="openfolder.png"/>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Label Content="{Binding Path=LblCapaRestr, Mode = TwoWay}" Grid.Column="1" HorizontalAlignment="Left" Margin="13,0,-33,0" VerticalAlignment="Top" Width="221" Height="30" Grid.ColumnSpan="2"/>
|
<Label x:Name="label_caparestr" Content="{Binding Path=LblCapaRestr, Mode = TwoWay}" Grid.Column="1" HorizontalAlignment="Left" Margin="13,0,-33,0" VerticalAlignment="Top" Width="221" Height="30" Grid.ColumnSpan="2"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Label Margin="15,0,0,0" Content="Niveles" FontWeight="DemiBold"/>
|
<Label Margin="15,0,0,0" Content="Niveles" FontWeight="DemiBold"/>
|
||||||
<Grid Margin="0,0,0,0">
|
<Grid Margin="0,0,0,0">
|
||||||
|
|
@ -37,12 +37,12 @@
|
||||||
<ColumnDefinition Width="45"/>
|
<ColumnDefinition Width="45"/>
|
||||||
<ColumnDefinition Width="200"/>
|
<ColumnDefinition Width="200"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Button Content="" HorizontalAlignment="Left" Margin="20,3,0,0" VerticalAlignment="Top" Width="16" Height="16" BorderThickness="0">
|
<Button x:Name="button_capaniv" Content="" HorizontalAlignment="Left" Margin="20,3,0,0" VerticalAlignment="Top" Width="16" Height="16" BorderThickness="0" Click="button_capaniv_Click">
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<ImageBrush ImageSource="openfolder.png"/>
|
<ImageBrush ImageSource="openfolder.png"/>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Label Content="{Binding Path=LblCapaNiv, Mode = TwoWay}" Grid.Column="1" HorizontalAlignment="Left" Margin="13,0,-33,0" VerticalAlignment="Top" Width="221" Height="30" Grid.ColumnSpan="2"/>
|
<Label x:Name="label_capaniv" Content="{Binding Path=LblCapaNiv, Mode = TwoWay}" Grid.Column="1" HorizontalAlignment="Left" Margin="13,0,-33,0" VerticalAlignment="Top" Width="221" Height="30" Grid.ColumnSpan="2"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Label Margin="15,0,0,0" Content="Zonas" FontWeight="DemiBold"/>
|
<Label Margin="15,0,0,0" Content="Zonas" FontWeight="DemiBold"/>
|
||||||
<Grid Margin="0,0,0,0">
|
<Grid Margin="0,0,0,0">
|
||||||
|
|
@ -50,12 +50,12 @@
|
||||||
<ColumnDefinition Width="45"/>
|
<ColumnDefinition Width="45"/>
|
||||||
<ColumnDefinition Width="200"/>
|
<ColumnDefinition Width="200"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Button Content="" HorizontalAlignment="Left" Margin="20,3,0,0" VerticalAlignment="Top" Width="16" Height="16" BorderThickness="0">
|
<Button x:Name="button_capazon" Content="" HorizontalAlignment="Left" Margin="20,3,0,0" VerticalAlignment="Top" Width="16" Height="16" BorderThickness="0" Click="button_capazon_Click">
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<ImageBrush ImageSource="openfolder.png"/>
|
<ImageBrush ImageSource="openfolder.png"/>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Label Content="{Binding Path=LblCapaZon, Mode = TwoWay}" Grid.Column="1" HorizontalAlignment="Left" Margin="13,0,-33,0" VerticalAlignment="Top" Width="221" Height="30" Grid.ColumnSpan="2"/>
|
<Label x:Name="label_capazon" Content="{Binding Path=LblCapaZon, Mode = TwoWay}" Grid.Column="1" HorizontalAlignment="Left" Margin="13,0,-33,0" VerticalAlignment="Top" Width="221" Height="30" Grid.ColumnSpan="2"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Label Margin="15,0,0,0" Content="Instalación" FontWeight="DemiBold"/>
|
<Label Margin="15,0,0,0" Content="Instalación" FontWeight="DemiBold"/>
|
||||||
<Grid Margin="0,0,0,0">
|
<Grid Margin="0,0,0,0">
|
||||||
|
|
@ -63,12 +63,12 @@
|
||||||
<ColumnDefinition Width="45"/>
|
<ColumnDefinition Width="45"/>
|
||||||
<ColumnDefinition Width="200"/>
|
<ColumnDefinition Width="200"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Button Content="" HorizontalAlignment="Left" Margin="20,3,0,0" VerticalAlignment="Top" Width="16" Height="16" BorderThickness="0">
|
<Button x:Name="button_capainst" Content="" HorizontalAlignment="Left" Margin="20,3,0,0" VerticalAlignment="Top" Width="16" Height="16" BorderThickness="0" Click="button_capainst_Click">
|
||||||
<Button.Background>
|
<Button.Background>
|
||||||
<ImageBrush ImageSource="openfolder.png"/>
|
<ImageBrush ImageSource="openfolder.png"/>
|
||||||
</Button.Background>
|
</Button.Background>
|
||||||
</Button>
|
</Button>
|
||||||
<Label Content="{Binding Path=LblCapaInst, Mode = TwoWay}" Grid.Column="1" HorizontalAlignment="Left" Margin="13,0,-33,0" VerticalAlignment="Top" Width="221" Height="30" Grid.ColumnSpan="2"/>
|
<Label x:Name="label_capainst" Content="{Binding Path=LblCapaInst, Mode = TwoWay}" Grid.Column="1" HorizontalAlignment="Left" Margin="13,0,-33,0" VerticalAlignment="Top" Width="221" Height="30" Grid.ColumnSpan="2"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid Margin="0,5,0,0">
|
<Grid Margin="0,5,0,0">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,10 @@ using System.Windows.Media;
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
using System.Windows.Navigation;
|
using System.Windows.Navigation;
|
||||||
using System.Windows.Shapes;
|
using System.Windows.Shapes;
|
||||||
|
using ArcGIS.Core.Data;
|
||||||
|
using ArcGIS.Desktop.Core;
|
||||||
|
using OliviaAddInPro.Helper;
|
||||||
|
using OliviaAddInPro.View;
|
||||||
|
|
||||||
|
|
||||||
namespace OliviaAddInPro
|
namespace OliviaAddInPro
|
||||||
|
|
@ -30,6 +34,43 @@ namespace OliviaAddInPro
|
||||||
{
|
{
|
||||||
e.Handled = !PanelGlobal.IsValid(((TextBox)sender).Text + e.Text,0,9999);
|
e.Handled = !PanelGlobal.IsValid(((TextBox)sender).Text + e.Text,0,9999);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void button_caparestr_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
FeatureClass fc = HelperGdb.OpenFtClassDialog(HelperGdb.TiposOpenFileDlg.OpenFtrClassPolygon);
|
||||||
|
bool ok = false;
|
||||||
|
string texto="";
|
||||||
|
if (fc != null)
|
||||||
|
{
|
||||||
|
texto = System.IO.Path.GetFileName(fc.GetName());
|
||||||
|
//saca la ventana de selección de campo
|
||||||
|
ShowProWndSelectFields selfwnd = new ShowProWndSelectFields(fc, true);
|
||||||
|
if(selfwnd.SelAttributes.Count>0)
|
||||||
|
{
|
||||||
|
ok = true;
|
||||||
|
//HelperGdb.GetGeomSel(it.Path, selfwnd.SelField, selfwnd.SelAttributes, out texto);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!ok)
|
||||||
|
texto= Resource1.String_selec_capa;
|
||||||
|
label_caparestr.Content = texto;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button_capaniv_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button_capazon_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button_capainst_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
<controls:ProWindow x:Class="OliviaAddInPro.View.ProWndSelectFields"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:controls="clr-namespace:ArcGIS.Desktop.Framework.Controls;assembly=ArcGIS.Desktop.Framework"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:extensions="clr-namespace:ArcGIS.Desktop.Extensions;assembly=ArcGIS.Desktop.Extensions"
|
||||||
|
mc:Ignorable="d" Height="300" Width="243.123"
|
||||||
|
WindowStartupLocation="CenterOwner" Icon="OliviaIconPro.ico" ResizeMode="NoResize" Closed="ProWindow_Closed" Closing="ProWindow_Closing"
|
||||||
|
>
|
||||||
|
<controls:ProWindow.Resources>
|
||||||
|
<ResourceDictionary>
|
||||||
|
<ResourceDictionary.MergedDictionaries>
|
||||||
|
<extensions:DesignOnlyResourceDictionary Source="pack://application:,,,/ArcGIS.Desktop.Framework;component\Themes\Default.xaml"/>
|
||||||
|
</ResourceDictionary.MergedDictionaries>
|
||||||
|
</ResourceDictionary>
|
||||||
|
</controls:ProWindow.Resources>
|
||||||
|
<StackPanel HorizontalAlignment="Left" Height="272" VerticalAlignment="Top" Width="233" Margin="0,0,0,-1.6">
|
||||||
|
<Label Margin="15,0,0,0" Content="Campo"/>
|
||||||
|
<ComboBox Margin="10,5,9.6,0"
|
||||||
|
ItemsSource="{Binding Path=Fields, Mode = TwoWay}" Name="comboBoxFields" SelectedItem="{Binding Path=SelField, Mode = TwoWay}" SelectionChanged="comboBoxFields_SelectionChanged"/>
|
||||||
|
<Label Margin="15,0,0,0" Content="Atributo"/>
|
||||||
|
<ListBox Margin="10,5,9.6,0" Height="127" ItemsSource="{Binding Path=Attributes, Mode = TwoWay}" Name="listBoxAttributes" SelectedItem="{Binding Path=SelAttributes, Mode = TwoWay}" SelectionMode="{Binding SelMode}"/>
|
||||||
|
<Button Margin="167,25,9.6,0" Content="Aceptar" Opacity="0.75" Click="Button_Click"/>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
</controls:ProWindow>
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
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 OliviaAddInPro.Helper;
|
||||||
|
using ArcGIS.Core.Data;
|
||||||
|
|
||||||
|
namespace OliviaAddInPro.View
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Interaction logic for ProWndSelectFields.xaml
|
||||||
|
/// </summary>
|
||||||
|
public partial class ProWndSelectFields : ArcGIS.Desktop.Framework.Controls.ProWindow
|
||||||
|
{
|
||||||
|
private bool ok = false;
|
||||||
|
public FeatureClass fc = null;
|
||||||
|
public ProWndSelectFields()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void comboBoxFields_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if(comboBoxFields.SelectedIndex>0)
|
||||||
|
{
|
||||||
|
listBoxAttributes.ItemsSource = HelperGdb.GetAttributes(fc, comboBoxFields.SelectedItem.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Button_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
ok = true;
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ProWindow_Closed(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ProWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
|
||||||
|
{
|
||||||
|
if (ok)
|
||||||
|
DialogResult = true;
|
||||||
|
else
|
||||||
|
DialogResult = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,121 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using ArcGIS.Desktop.Framework;
|
||||||
|
using ArcGIS.Desktop.Framework.Contracts;
|
||||||
|
using OliviaAddInPro.Helper;
|
||||||
|
using ArcGIS.Core.Data;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using ArcGIS.Desktop.Mapping;
|
||||||
|
using ArcGIS.Desktop.Core;
|
||||||
|
|
||||||
|
namespace OliviaAddInPro.View
|
||||||
|
{
|
||||||
|
internal class ShowProWndSelectFields : ArcGIS.Desktop.Framework.Contracts.Button
|
||||||
|
{
|
||||||
|
|
||||||
|
private ProWndSelectFields _prowndselectfields = null;
|
||||||
|
private ObservableCollection<string> fields = new ObservableCollection<string>();
|
||||||
|
private ObservableCollection<string> attributes = new ObservableCollection<string>();
|
||||||
|
private ObservableCollection<string> selAttributes = new ObservableCollection<string>();
|
||||||
|
private string selField = string.Empty;
|
||||||
|
private bool multiSelAtt = true;
|
||||||
|
private string pathLyr = string.Empty;
|
||||||
|
FeatureClass ftClass = null;
|
||||||
|
|
||||||
|
public bool res = false;
|
||||||
|
|
||||||
|
#region Methods
|
||||||
|
public ShowProWndSelectFields(FeatureClass fc, bool _multiSelAtt)
|
||||||
|
{
|
||||||
|
ftClass = fc;
|
||||||
|
//pathLyr = it.Path;
|
||||||
|
multiSelAtt = _multiSelAtt;
|
||||||
|
fields = HelperGdb.GetFields(fc);
|
||||||
|
attributes.Clear();
|
||||||
|
selAttributes.Clear();
|
||||||
|
selField = string.Empty;
|
||||||
|
muestra();
|
||||||
|
}
|
||||||
|
private void muestra()
|
||||||
|
{
|
||||||
|
//already open?
|
||||||
|
if (_prowndselectfields != null)
|
||||||
|
return;
|
||||||
|
_prowndselectfields = new ProWndSelectFields();
|
||||||
|
_prowndselectfields.Owner = FrameworkApplication.Current.MainWindow;
|
||||||
|
_prowndselectfields.fc = ftClass;
|
||||||
|
//_prowndselectfields.Closed += (o, e) => { _prowndselectfields = null; };
|
||||||
|
|
||||||
|
bool? res = _prowndselectfields.ShowDialog();
|
||||||
|
if (res ?? false)
|
||||||
|
{
|
||||||
|
selAttributes.Clear();
|
||||||
|
selField = string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion Methods
|
||||||
|
|
||||||
|
#region Properties
|
||||||
|
public ObservableCollection<string> Fields
|
||||||
|
{
|
||||||
|
get { return fields; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
fields = value;
|
||||||
|
base.NotifyPropertyChanged("Fields");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public ObservableCollection<string> Attributes
|
||||||
|
{
|
||||||
|
get { return attributes; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
attributes = value;
|
||||||
|
base.NotifyPropertyChanged("Attributes");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public ObservableCollection<string> SelAttributes
|
||||||
|
{
|
||||||
|
get { return selAttributes; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
selAttributes = value;
|
||||||
|
base.NotifyPropertyChanged("SelAttributes");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public string SelField
|
||||||
|
{
|
||||||
|
get { return selField; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
selField = value;
|
||||||
|
base.NotifyPropertyChanged("SelField");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public SelectionMode SelMode
|
||||||
|
{
|
||||||
|
get {
|
||||||
|
if (multiSelAtt)
|
||||||
|
return SelectionMode.Extended;
|
||||||
|
else
|
||||||
|
return SelectionMode.Single;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (value== SelectionMode.Extended)
|
||||||
|
multiSelAtt= true;
|
||||||
|
else
|
||||||
|
multiSelAtt = false;
|
||||||
|
base.NotifyPropertyChanged("SelMode");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion Properties
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue