Primer commit OliviaAddInPro

ConfiguracionSimplificada
Elena 2021-07-19 12:27:04 +02:00
commit 49e3a50167
71 changed files with 1673 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
/.vs/*
/bin/*
/obj/*

36
Button/ButtonConfig.cs Normal file
View File

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Internal.Framework.Controls;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;
namespace OliviaAddInPro
{
internal class ButtonConfig : Button
{
protected override void OnClick()
{
if (OliviaGlob.tipEjec == TiposEjecucion.Ninguno)
{
//OliviaGlob.tipEjec = TiposEjecucion.Config;
}
else
{
OliviaGlob.ponMsg(Resource1.String_existe_ejec, MessageType.Warning);
}
}
}
}

37
Button/ButtonLimp.cs Normal file
View File

@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Internal.Framework.Controls;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;
namespace OliviaAddInPro
{
internal class ButtonLimp : Button
{
protected override void OnClick()
{
if (OliviaGlob.tipEjec == TiposEjecucion.Ninguno)
{
OliviaGlob.tipEjec = TiposEjecucion.LimpiezaConfig;
DockpaneLimpiezaViewModel.Show();
}
else
{
OliviaGlob.ponMsg(Resource1.String_existe_ejec, MessageType.Warning);
}
}
}
}

36
Button/ButtonMaq.cs Normal file
View File

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Internal.Framework.Controls;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;
namespace OliviaAddInPro
{
internal class ButtonMaq : Button
{
protected override void OnClick()
{
if (OliviaGlob.tipEjec == TiposEjecucion.Ninguno)
{
//OliviaGlob.tipEjec = TiposEjecucion.Maqueta;
}
else
{
OliviaGlob.ponMsg(Resource1.String_existe_ejec, MessageType.Warning);
}
}
}
}

37
Button/ButtonRec.cs Normal file
View File

@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Internal.Framework.Controls;
using ArcGIS.Desktop.Mapping;
namespace OliviaAddInPro
{
internal class ButtonRec : Button
{
protected override void OnClick()
{
if(OliviaGlob.tipEjec==TiposEjecucion.Ninguno)
{
OliviaGlob.tipEjec = TiposEjecucion.RecoConfig;
DockpaneRecogidaViewModel.Show();
}
else
{
OliviaGlob.ponMsg(Resource1.String_existe_ejec, MessageType.Warning);
}
}
}
}

59
Config.daml Normal file
View File

@ -0,0 +1,59 @@
<ArcGIS defaultAssembly="OliviaAddInPro.dll" defaultNamespace="OliviaAddInPro" xmlns="http://schemas.esri.com/DADF/Registry" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.esri.com/DADF/Registry file:///C:/Users/Elena/AppData/Local/Programs/ArcGIS/Pro/bin/ArcGIS.Desktop.Framework.xsd">
<AddInInfo id="{10742570-cf59-42f2-bea2-2a38002a06ee}" version="1.0" desktopVersion="2.5.22081">
<Name>OliviaAddInPro</Name>
<Description>AddIn de Optimización de la Limpieza Viaria para ArcGIs Pro</Description>
<Image>Images\AddinDesktop32.png</Image>
<Author>VSM</Author>
<Company>VSM - Narvaling</Company>
<Date>08/07/2021 12:28:02, 2021</Date>
<Subject>Framework</Subject>
<!-- Note subject can be one or more of these topics:
Content, Framework, Editing, Geodatabase, Geometry, Geoprocessing, Layouts, Map Authoring, Map Exploration -->
</AddInInfo>
<modules>
<insertModule id="OliviaAddInPro_Module" className="Module1" autoLoad="true" caption="Olivia">
<!-- uncomment to have the control hosted on a separate tab-->
<tabs>
<tab id="OliviaAddInPro_Tab1" caption="Olivia Pro">
<group refID="OliviaAddInPro_Group1" />
</tab>
</tabs>
<groups>
<group id="OliviaAddInPro_Group1" caption="Olivia" appearsOnAddInTab="false">
<button refID="OliviaAddInPro_Button1" size="large" />
<button refID="OliviaAddInPro_ButtonLimp" size="large" />
<button refID="OliviaAddInPro_ButtonRec" size="large" />
<button refID="OliviaAddInPro_ButtonMaq" size="large" />
<button refID="OliviaAddInPro_ButtonConfig" size="large" />
</group>
</groups>
<controls>
<!-- add your controls here -->
<button id="OliviaAddInPro_ButtonLimp" caption="Limpieza" className="ButtonLimp" loadOnClick="true" largeImage="Images/carrito.png">
<tooltip heading="OLIVIA - Limpieza Viaria">
Add-In de ArcGIS Pro para la herramienta de optimización de la limpieza viaria, OLIVIA<disabledText /></tooltip>
</button>
<button id="OliviaAddInPro_ButtonRec" caption="Recogida" className="ButtonRec" loadOnClick="true" largeImage="Images/contenedor.png">
<tooltip heading="OLIVIA - Recogida de Residuos">
Add-In de ArcGIS Pro para la herramienta de optimización de la limpieza viaria, OLIVIA<disabledText /></tooltip>
</button>
<button id="OliviaAddInPro_ButtonMaq" caption="Maquetación" className="ButtonMaq" loadOnClick="true" largeImage="Images/maqueta.png">
<tooltip heading="OLIVIA - Maquetación de resultados">
Add-In de ArcGIS Pro para la herramienta de optimización de la limpieza viaria, OLIVIA<disabledText /></tooltip>
</button>
<button id="OliviaAddInPro_ButtonConfig" caption="Configuración" className="ButtonConfig" loadOnClick="true" largeImage="Images/config.png">
<tooltip heading="OLIVIA - Configuración">
Add-In de ArcGIS Pro para la herramienta de optimización de la limpieza viaria, OLIVIA<disabledText /></tooltip>
</button>
</controls>
<dockPanes>
<dockPane id="OliviaAddInPro_DockpaneLimpieza" caption="OLIVIA | Limpieza" className="DockpaneLimpiezaViewModel" dock="group" dockWith="esri_core_contentsDockPane">
<content className="DockpaneLimpiezaView" />
</dockPane>
<dockPane id="OliviaAddInPro_DockpaneRecogida" caption="OLIVIA | Recogida" className="DockpaneRecogidaViewModel" dock="group" dockWith="esri_core_contentsDockPane">
<content className="DockpaneRecogidaView" />
</dockPane>
</dockPanes>
</insertModule>
</modules>
</ArcGIS>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
Images/AddInDesktop16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 810 B

BIN
Images/AddInDesktop32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
Images/BexDog32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
Images/Dino32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
Images/OliviaIconPro.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

BIN
Images/OliviaIconPro16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 810 B

BIN
Images/OliviaIconPro32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
Images/Tiporeco.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
Images/carrito.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
Images/config.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
Images/contenedor.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
Images/maqueta.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
Images/openfolder.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 B

BIN
Images/resReco/Tiporeco.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
Images/resReco/control.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
Images/resReco/tiempos.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

74
Module1.cs Normal file
View File

@ -0,0 +1,74 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Core.Events;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;
namespace OliviaAddInPro
{
internal class Module1 : Module
{
private static Module1 _this = null;
/// <summary>
/// Retrieve the singleton instance to this module here
/// </summary>
public static Module1 Current
{
get
{
return _this ?? (_this = (Module1)FrameworkApplication.FindModule("OliviaAddInPro_Module"));
}
}
#region Overrides
/// <summary>
/// Called by Framework when ArcGIS Pro is closing
/// </summary>
/// <returns>False to prevent Pro from closing, otherwise True</returns>
protected override bool CanUnload()
{
//TODO - add your business logic
//return false to ~cancel~ Application close
return true;
}
protected override bool Initialize()
{
ProjectClosedEvent.Subscribe(OnProjectClosed);
return base.Initialize();
}
private void OnProjectClosed(ProjectEventArgs obj)
{
DockPane dockPane = FrameworkApplication.DockPaneManager.Find("OliviaAddInPro_DockpaneLimpieza");
if (dockPane != null)
{
dockPane.IsVisible = false;
}
dockPane = FrameworkApplication.DockPaneManager.Find("OliviaAddInPro_DockpaneRecogida");
if (dockPane != null)
{
dockPane.IsVisible = false;
}
}
#endregion Overrides
}
}

284
OliviaAddInPro.csproj Normal file
View File

@ -0,0 +1,284 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{10742570-CF59-42F2-BEA2-2A38002A06EE}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OliviaAddInPro</RootNamespace>
<AssemblyName>OliviaAddInPro</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<StartAction>Program</StartAction>
<StartProgram>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGISPro.exe</StartProgram>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<StartAction>Program</StartAction>
<StartProgram>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGISPro.exe</StartProgram>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<PropertyGroup>
<ArcGISFolder>$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcGISPro', 'InstallDir', null, RegistryView.Registry64))</ArcGISFolder>
<ArcGISFolder Condition="'$(ArcGISFolder)' == ''">$(registry:HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro@InstallDir)</ArcGISFolder>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="WindowsBase" />
<Reference Include="System.Xaml" />
<Reference Include="ArcGIS.Desktop.Framework">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Desktop.Framework.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Core">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Core.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Desktop.Core">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\Core\ArcGIS.Desktop.Core.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Desktop.Mapping">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\Mapping\ArcGIS.Desktop.Mapping.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Desktop.Catalog">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\Catalog\ArcGIS.Desktop.Catalog.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Desktop.Editing">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\Editing\ArcGIS.Desktop.Editing.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Desktop.Extensions">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\DesktopExtensions\ArcGIS.Desktop.Extensions.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Desktop.GeoProcessing">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\GeoProcessing\ArcGIS.Desktop.GeoProcessing.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Desktop.Layouts">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\Extensions\Layout\ArcGIS.Desktop.Layouts.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Desktop.Shared.Wpf">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Desktop.Shared.Wpf.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Desktop.Ribbon.Wpf">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Desktop.Ribbon.Wpf.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Desktop.DataGrid.Contrib.Wpf">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Desktop.DataGrid.Contrib.Wpf.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Desktop.Resources">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Desktop.Resources.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ArcGIS.Desktop.Resources">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\ArcGIS.Desktop.Resources.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ESRI.ArcGIS.ItemIndex">
<HintPath>C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\ESRI.ArcGIS.ItemIndex.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<AddInContent Include="Config.daml" />
<AddInContent Include="Images\AddInDesktop16.png" />
<AddInContent Include="Images\AddInDesktop32.png" />
<AddInContent Include="DarkImages\AddInDesktop16.png" />
<AddInContent Include="DarkImages\AddInDesktop32.png" />
</ItemGroup>
<ItemGroup>
<Compile Include="Button\ButtonConfig.cs" />
<Compile Include="Button\ButtonLimp.cs" />
<Compile Include="Button\ButtonMaq.cs" />
<Compile Include="Button\ButtonRec.cs" />
<Compile Include="OptionsMenuItem.cs" />
<Compile Include="ViewModel\PaneLimpiezaSub2ViewModel.cs" />
<Compile Include="ViewModel\PaneLimpiezaViewModel.cs" />
<Compile Include="ViewModel\PanelViewModelBase.cs" />
<Compile Include="View\PaneLimpiezaSub2.xaml.cs">
<DependentUpon>PaneLimpiezaSub2.xaml</DependentUpon>
</Compile>
<Compile Include="View\PaneLimpiezaSub1.xaml.cs">
<DependentUpon>PaneLimpiezaSub1.xaml</DependentUpon>
</Compile>
<Compile Include="ViewModel\PaneLimpiezaSub1ViewModel.cs" />
<Compile Include="View\PaneLimpieza.xaml.cs">
<DependentUpon>PaneLimpieza.xaml</DependentUpon>
</Compile>
<Compile Include="View\DockpaneLimpieza.xaml.cs">
<DependentUpon>DockpaneLimpieza.xaml</DependentUpon>
</Compile>
<Compile Include="ViewModel\DockpaneLimpiezaViewModel.cs" />
<Compile Include="View\DockpaneRecogida.xaml.cs">
<DependentUpon>DockpaneRecogida.xaml</DependentUpon>
</Compile>
<Compile Include="ViewModel\DockpaneRecogidaViewModel.cs" />
<Compile Include="Module1.cs" />
<Compile Include="OliviaGlob.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Resource1.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resource1.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<AddInContent Include="Images\GenericButtonBlue16.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="Images\GenericButtonBlue32.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="DarkImages\GenericButtonBlue16.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="DarkImages\GenericButtonBlue32.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="Images\OliviaIconPro16.png" />
<AddInContent Include="Images\OliviaIconPro32.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="OliviaIconPro.ico" />
</ItemGroup>
<ItemGroup>
<Page Include="View\PaneLimpiezaSub2.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\PaneLimpiezaSub1.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\PaneLimpieza.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\DockpaneLimpieza.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\DockpaneRecogida.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<AddInContent Include="Images\GenericButtonPurple16.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="Images\GenericButtonPurple32.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="DarkImages\GenericButtonPurple16.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="DarkImages\GenericButtonPurple32.png" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resource1.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resource1.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<AddInContent Include="Images\carrito.png" />
<AddInContent Include="Images\contenedor.png" />
<AddInContent Include="Images\maqueta.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="Images\config.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="Images\GenericButtonGreen16.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="Images\GenericButtonGreen32.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="DarkImages\GenericButtonGreen16.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="DarkImages\GenericButtonGreen32.png" />
</ItemGroup>
<ItemGroup>
<AddInContent Include="Images\Tiporeco.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\Dino32.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\Cat32.png" />
<Resource Include="Resources\Dog32.png" />
<Resource Include="Resources\Panda32.png" />
<Resource Include="Resources\Pizza32.png" />
<Resource Include="Resources\Rabbit32.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="View\openfolder.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!--
PackageAction can be:
BuildDefault: ArcGIS Pro is required. An esriAddinX package is created and copied to ArcGIS Pro add-in folder.
BuildZipPostProcess: ArcGIS Pro install is NOT required to build the add-in. An esriAddinX package is created in your output folder.
BuildNoPostProcess: ArcGIS Pro install is NOT required to build the add-in. An esriAddinX package is NOT created.
-->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PackageAction>BuildDefault</PackageAction>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PackageAction>BuildDefault</PackageAction>
</PropertyGroup>
<UsingTask AssemblyFile="C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\proapp-sdk-MSBuild.dll" TaskName="proapp_sdk_MSBuild.PackageAddIn" />
<UsingTask AssemblyFile="C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\proapp-sdk-MSBuild.dll" TaskName="proapp_sdk_MSBuild.CleanAddIn" />
<UsingTask AssemblyFile="C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\proapp-sdk-MSBuild.dll" TaskName="proapp_sdk_MSBuild.ConvertToRelativePath" />
<!--<Import Project="Esri.ArcGISPro.Extensions.targets" Condition="Exists('Esri.ArcGISPro.Extensions.targets')" />-->
<Import Project="C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\Esri.ProApp.SDK.Desktop.targets" Condition="Exists('C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\Esri.ProApp.SDK.Desktop.targets') AND !Exists('Esri.ArcGISPro.Extensions.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<!--<Target Name="BeforeBuild">
<Error Text="C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\Esri.ProApp.SDK.Desktop.targets not found." Condition="!Exists('C:\Users\Elena\AppData\Local\Programs\ArcGIS\Pro\bin\Esri.ProApp.SDK.Desktop.targets') AND !Exists('Esri.ArcGISPro.Extensions.targets')" />
</Target>-->
</Project>

25
OliviaAddInPro.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30011.22
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OliviaAddInPro", "OliviaAddInPro.csproj", "{10742570-CF59-42F2-BEA2-2A38002A06EE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{10742570-CF59-42F2-BEA2-2A38002A06EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{10742570-CF59-42F2-BEA2-2A38002A06EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{10742570-CF59-42F2-BEA2-2A38002A06EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{10742570-CF59-42F2-BEA2-2A38002A06EE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6CCE2E25-A66F-40A8-9AF1-552236F7E6D0}
EndGlobalSection
EndGlobal

31
OliviaGlob.cs Normal file
View File

@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ArcGIS.Desktop.Internal.Framework.Controls;
namespace OliviaAddInPro
{
enum TiposEjecucion
{
Ninguno,
LimpiezaConfig,
LimpiezaEjec,
RecoConfig,
RecoEjec,
Maqueta,
Config
}
static class OliviaGlob
{
public static TiposEjecucion tipEjec { get; set; } = TiposEjecucion.Ninguno;
public static ErrorMessageDialog msg;
public static void ponMsg(String mensaje, MessageType tipo, String titulo="OLIVIA")
{
msg = new ErrorMessageDialog(titulo, mensaje, tipo);
msg.ShowDialog();
}
}
}

BIN
OliviaIconPro.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

69
OptionsMenuItem.cs Normal file
View File

@ -0,0 +1,69 @@
/*
Copyright 2019 Esri
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using System.Windows.Media.Imaging;
namespace OliviaAddInPro
{
public class OptionsMenuItem : INotifyPropertyChanged
{
public OptionsMenuItem(BitmapImage imageUri, string optionString, PanelViewModelBase subPanelViewModel)
{
_imageSource = imageUri;
_optionString = optionString;
_subPanelViewModelBase = subPanelViewModel;
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnNotifyPropertyChanged(string propName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propName));
}
private PanelViewModelBase _subPanelViewModelBase;
public PanelViewModelBase SubPanelViewModel
{
get { return _subPanelViewModelBase; }
set {
_subPanelViewModelBase = value;
OnNotifyPropertyChanged("SubPanelViewModel");
}
}
private ImageSource _imageSource;
public ImageSource ImageSource
{
get { return _imageSource; }
set { _imageSource = value; }
}
private string _optionString;
public string OptionString
{
get { return _optionString; }
set { _optionString = value; }
}
}
}

69
OptionsMenuItem_.cs Normal file
View File

@ -0,0 +1,69 @@
/*
Copyright 2019 Esri
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using System.Windows.Media.Imaging;
namespace OliviaAddInPro
{
public class OptionsMenuItem : INotifyPropertyChanged
{
public OptionsMenuItem(BitmapImage imageUri, string optionString, PaneLimpiezaSubBase subPanelViewModel)
{
_imageSource = imageUri;
_optionString = optionString;
_subPanelViewModelBase = subPanelViewModel;
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnNotifyPropertyChanged(string propName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propName));
}
private PaneLimpiezaSubBase _subPanelViewModelBase;
public PaneLimpiezaSubBase SubPanelViewModel
{
get { return _subPanelViewModelBase; }
set {
_subPanelViewModelBase = value;
OnNotifyPropertyChanged("SubPanelViewModel");
}
}
private ImageSource _imageSource;
public ImageSource ImageSource
{
get { return _imageSource; }
set { _imageSource = value; }
}
private string _optionString;
public string OptionString
{
get { return _optionString; }
set { _optionString = value; }
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("OliviaAddInPro")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Acme")]
[assembly: AssemblyProduct("OliviaAddInPro")]
[assembly: AssemblyCopyright("Copyright © Acme 2021")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("10742570-cf59-42f2-bea2-2a38002a06ee")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

108
Resource1.Designer.cs generated Normal file
View File

@ -0,0 +1,108 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Este código fue generado por una herramienta.
// Versión de runtime:4.0.30319.42000
//
// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
// se vuelve a generar el código.
// </auto-generated>
//------------------------------------------------------------------------------
namespace OliviaAddInPro {
using System;
/// <summary>
/// Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc.
/// </summary>
// StronglyTypedResourceBuilder generó automáticamente esta clase
// a través de una herramienta como ResGen o Visual Studio.
// Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen
// con la opción /str o recompile su proyecto de VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resource1 {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resource1() {
}
/// <summary>
/// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OliviaAddInPro.Resource1", typeof(Resource1).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las
/// búsquedas de recursos mediante esta clase de recurso fuertemente tipado.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Busca una cadena traducida similar a Ya existe una ejecución en marcha.
/// </summary>
internal static string String_existe_ejec {
get {
return ResourceManager.GetString("String_existe_ejec", resourceCulture);
}
}
/// <summary>
/// Busca una cadena traducida similar a OLIVIA | Limpieza.
/// </summary>
internal static string String_header_limpieza {
get {
return ResourceManager.GetString("String_header_limpieza", resourceCulture);
}
}
/// <summary>
/// Busca una cadena traducida similar a Seleccionar capa ....
/// </summary>
internal static string String_selec_capa {
get {
return ResourceManager.GetString("String_selec_capa", resourceCulture);
}
}
/// <summary>
/// Busca una cadena traducida similar a Tratamiento.
/// </summary>
internal static string String_tto {
get {
return ResourceManager.GetString("String_tto", resourceCulture);
}
}
/// <summary>
/// Busca una cadena traducida similar a Zonificación.
/// </summary>
internal static string String_zonif {
get {
return ResourceManager.GetString("String_zonif", resourceCulture);
}
}
}
}

135
Resource1.resx Normal file
View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="String_existe_ejec" xml:space="preserve">
<value>Ya existe una ejecución en marcha</value>
</data>
<data name="String_header_limpieza" xml:space="preserve">
<value>OLIVIA | Limpieza</value>
</data>
<data name="String_selec_capa" xml:space="preserve">
<value>Seleccionar capa ...</value>
</data>
<data name="String_tto" xml:space="preserve">
<value>Tratamiento</value>
</data>
<data name="String_zonif" xml:space="preserve">
<value>Zonificación</value>
</data>
</root>

BIN
Resources/Cat32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
Resources/Dino32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
Resources/Dog32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
Resources/Panda32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
Resources/Pizza32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
Resources/Rabbit32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,33 @@
<UserControl x:Class="OliviaAddInPro.DockpaneLimpiezaView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:ui="clr-namespace:OliviaAddInPro"
xmlns:extensions="clr-namespace:ArcGIS.Desktop.Extensions;assembly=ArcGIS.Desktop.Extensions"
xmlns:controls="clr-namespace:ArcGIS.Desktop.Framework.Controls;assembly=ArcGIS.Desktop.Framework"
xmlns:viewModel="clr-namespace:OliviaAddInPro"
xmlns:view="clr-namespace:OliviaAddInPro"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
d:DataContext="{Binding Path=ui.DockpaneLimpiezaViewModel}">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<extensions:DesignOnlyResourceDictionary Source="pack://application:,,,/ArcGIS.Desktop.Framework;component\Themes\Default.xaml"/>
</ResourceDictionary.MergedDictionaries>
<DataTemplate DataType="{x:Type viewModel:PaneLimpiezaViewModel}">
<view:PaneLimpiezaView />
</DataTemplate>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="1">
<ContentPresenter Content="{Binding CurrentPage}"></ContentPresenter>
</StackPanel>
</Grid>
</UserControl>

View File

@ -0,0 +1,29 @@
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;
namespace OliviaAddInPro
{
/// <summary>
/// Interaction logic for DockpaneLimpiezaView.xaml
/// </summary>
public partial class DockpaneLimpiezaView : UserControl
{
public DockpaneLimpiezaView()
{
InitializeComponent();
}
}
}

View File

@ -0,0 +1,34 @@
<UserControl x:Class="OliviaAddInPro.DockpaneRecogidaView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:ui="clr-namespace:OliviaAddInPro"
xmlns:extensions="clr-namespace:ArcGIS.Desktop.Extensions;assembly=ArcGIS.Desktop.Extensions"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
d:DataContext="{Binding Path=ui.DockpaneRecogidaViewModel}">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<extensions:DesignOnlyResourceDictionary Source="pack://application:,,,/ArcGIS.Desktop.Framework;component\Themes\Default.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<DockPanel Grid.Row="0" LastChildFill="true" KeyboardNavigation.TabNavigation="Local" Height="30">
<TextBlock Grid.Column="1" Text="{Binding Heading}" Style="{DynamicResource Esri_TextBlockDockPaneHeader}">
<TextBlock.ToolTip>
<WrapPanel Orientation="Vertical" MaxWidth="300">
<TextBlock Text="{Binding Heading}" TextWrapping="Wrap"/>
</WrapPanel>
</TextBlock.ToolTip>
</TextBlock>
</DockPanel>
</Grid>
</UserControl>

View File

@ -0,0 +1,29 @@
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;
namespace OliviaAddInPro
{
/// <summary>
/// Interaction logic for DockpaneRecogidaView.xaml
/// </summary>
public partial class DockpaneRecogidaView : UserControl
{
public DockpaneRecogidaView()
{
InitializeComponent();
}
}
}

60
View/PaneLimpieza.xaml Normal file
View File

@ -0,0 +1,60 @@
<UserControl x:Class="OliviaAddInPro.PaneLimpiezaView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:extensions="clr-namespace:ArcGIS.Desktop.Extensions;assembly=ArcGIS.Desktop.Extensions"
xmlns:local="clr-namespace:OliviaAddInPro"
xmlns:localMenu="clr-namespace:OliviaAddInPro"
xmlns:viewModel="clr-namespace:OliviaAddInPro"
xmlns:view="clr-namespace:OliviaAddInPro"
xmlns:frameworkControls="clr-namespace:ArcGIS.Desktop.Framework.Controls;assembly=ArcGIS.Desktop.Framework"
xmlns:ui="clr-namespace:OliviaAddInPro"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
d:DataContext="{Binding Path=ui.PaneLimpiezaViewModel}">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<extensions:DesignOnlyResourceDictionary Source="pack://application:,,,/ArcGIS.Desktop.Framework;component\Themes\Default.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!--Datatemplate to view the items in the Sub Panel Indicator list box control-->
<DataTemplate x:Key="SubPanelListItem" DataType="{x:Type localMenu:OptionsMenuItem}">
<Image Stretch="Fill" Width="32" Height="32" Source="{Binding Path=ImageSource}" >
<Image.ToolTip>
<ToolTip Content="{Binding Path=OptionString}"/>
</Image.ToolTip>
</Image>
</DataTemplate>
<!--DataTemplate to view when you select an item in the sub panel list control-->
<DataTemplate DataType="{x:Type viewModel:PaneLimpiezaSub1ViewModel}">
<view:PaneLimpiezaSub1View/>
</DataTemplate>
<DataTemplate DataType="{x:Type viewModel:PaneLimpiezaSub2ViewModel}">
<view:PaneLimpiezaSub2View/>
</DataTemplate>
<!--DataTemplate DataType="{x:Type viewModel:SubPanel3ViewModel}">
<view:SubPanel3View/>
</DataTemplate-->
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<!--TextBlock Text="Add your custom content here" VerticalAlignment="Center" HorizontalAlignment="Center"></-->
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0">
<frameworkControls:TabIndicator HorizontalAlignment="Stretch"
Margin="0,0,6,0"
HorizontalContentAlignment="Left"
ItemTemplate="{StaticResource SubPanelListItem}"
ItemsSource="{Binding OptionsMenu}"
SelectedItem="{Binding SelectedOption}">
</frameworkControls:TabIndicator>
</StackPanel>
<StackPanel Grid.Row="1">
<ContentPresenter Content="{Binding CurrentSubPanelPage}"/>
</StackPanel>
</Grid>
</UserControl>

29
View/PaneLimpieza.xaml.cs Normal file
View File

@ -0,0 +1,29 @@
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;
namespace OliviaAddInPro
{
/// <summary>
/// Interaction logic for PaneLimpiezaView.xaml
/// </summary>
public partial class PaneLimpiezaView : UserControl
{
public PaneLimpiezaView()
{
InitializeComponent();
}
}
}

View File

@ -0,0 +1,39 @@
<UserControl x:Class="OliviaAddInPro.PaneLimpiezaSub1View"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:extensions="clr-namespace:ArcGIS.Desktop.Extensions;assembly=ArcGIS.Desktop.Extensions"
xmlns:ui="clr-namespace:OliviaAddInPro"
mc:Ignorable="d" d:DesignWidth="300"
d:DataContext="{Binding Path=ui.PaneLimpiezaSub1ViewModel}" Height="343.2">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<extensions:DesignOnlyResourceDictionary Source="pack://application:,,,/ArcGIS.Desktop.Framework;component\Themes\Default.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<ScrollViewer HorizontalAlignment="Left" Margin="0,0,0,0" Width="300" PanningMode="VerticalOnly" Height="366" VerticalAlignment="Top" VerticalScrollBarVisibility="Auto">
<StackPanel Orientation="Vertical" Height="266">
<Grid Margin="0,5,0,-32">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="45"/>
<ColumnDefinition Width="0*"/>
</Grid.ColumnDefinitions>
<Button Content="" HorizontalAlignment="Left" Margin="20,10,0,0" VerticalAlignment="Top" Width="16" Height="16" BorderThickness="0">
<Button.Background>
<ImageBrush ImageSource="openfolder.png"/>
</Button.Background>
</Button>
<Label Content="{Binding LblCapaLimp}" Grid.Column="1" HorizontalAlignment="Left" Margin="11,0,-231,0" VerticalAlignment="Top" Width="221" Height="30"/>
</Grid>
<Label Content="Tipo de Tratamiento" HorizontalAlignment="Left" Margin="20,35,0,0" VerticalAlignment="Top"/>
<ComboBox HorizontalAlignment="Left" Margin="20,0,0,0" VerticalAlignment="Top" Width="260"/>
<Label Content="Ámbitos de Trabajo" HorizontalAlignment="Left" Margin="20,0,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.391,-0.203"/>
<ComboBox HorizontalAlignment="Left" Margin="20,0,0,0" VerticalAlignment="Top" Width="260"/>
<ListBox HorizontalAlignment="Left" Height="100" Margin="20,2,0,0" VerticalAlignment="Top" Width="260"/>
<CheckBox Content="Respeta el sentido de circulación" HorizontalAlignment="Left" Margin="20,2,0,0" VerticalAlignment="Top"/>
</StackPanel>
</ScrollViewer>
</UserControl>

View File

@ -0,0 +1,29 @@
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;
namespace OliviaAddInPro
{
/// <summary>
/// Interaction logic for PaneLimpiezaSub1View.xaml
/// </summary>
public partial class PaneLimpiezaSub1View : UserControl
{
public PaneLimpiezaSub1View()
{
InitializeComponent();
}
}
}

View File

@ -0,0 +1,25 @@
<UserControl x:Class="OliviaAddInPro.PaneLimpiezaSub2View"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:extensions="clr-namespace:ArcGIS.Desktop.Extensions;assembly=ArcGIS.Desktop.Extensions"
xmlns:ui="clr-namespace:OliviaAddInPro"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
d:DataContext="{Binding Path=ui.PaneLimpiezaSub2ViewModel}">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<extensions:DesignOnlyResourceDictionary Source="pack://application:,,,/ArcGIS.Desktop.Framework;component\Themes\Default.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Border BorderBrush="{DynamicResource Esri_BorderBrush}" >
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding DisplayName}" Margin="50" Style="{DynamicResource Esri_TextBlockH4}" HorizontalAlignment="Center"></TextBlock>
</StackPanel>
</Border>
</Grid>
</UserControl>

View File

@ -0,0 +1,29 @@
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;
namespace OliviaAddInPro
{
/// <summary>
/// Interaction logic for PaneLimpiezaSub2View.xaml
/// </summary>
public partial class PaneLimpiezaSub2View : UserControl
{
public PaneLimpiezaSub2View()
{
InitializeComponent();
}
}
}

BIN
View/openfolder.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 B

View File

@ -0,0 +1,82 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Controls;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;
namespace OliviaAddInPro
{
internal class DockpaneLimpiezaViewModel : DockPane
{
private bool firstTimeShow = true;
private const string _dockPaneID = "OliviaAddInPro_DockpaneLimpieza";
private PaneLimpiezaViewModel _pane;
protected DockpaneLimpiezaViewModel()
{
_pane = new PaneLimpiezaViewModel();
CurrentPage = _pane;
}
/// <summary>
/// Show the DockPane.
/// </summary>
internal static void Show()
{
DockPane pane = FrameworkApplication.DockPaneManager.Find(_dockPaneID);
if (pane == null)
return;
pane.Activate();
}
//The parameter passed to this method will be true if the Dockpane is being opened and it is false when you close the dockpane
protected override void OnShow(bool isVisible)
{
if (isVisible == false && !firstTimeShow)
{
//avisa de cerrar la ventana
OliviaGlob.tipEjec = TiposEjecucion.Ninguno;
}
if (firstTimeShow)
firstTimeShow = false;
}
/// <summary>
/// Text shown near the top of the DockPane.
/// </summary>
private string _heading = Resource1.String_header_limpieza;
public string Heading
{
get { return _heading; }
set
{
SetProperty(ref _heading, value, () => Heading);
}
}
private PanelViewModelBase _currentPage;
public PanelViewModelBase CurrentPage
{
get { return _currentPage; }
set
{
SetProperty(ref _currentPage, value, () => CurrentPage);
}
}
}
}

View File

@ -0,0 +1,67 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;
namespace OliviaAddInPro
{
internal class DockpaneRecogidaViewModel : DockPane
{
private bool firstTimeShow = true;
private const string _dockPaneID = "OliviaAddInPro_DockpaneRecogida";
protected DockpaneRecogidaViewModel() { }
/// <summary>
/// Show the DockPane.
/// </summary>
internal static void Show()
{
DockPane pane = FrameworkApplication.DockPaneManager.Find(_dockPaneID);
if (pane == null)
return;
pane.Activate();
}
//The parameter passed to this method will be true if the Dockpane is being opened and it is false when you close the dockpane
//also false the first time
protected override void OnShow(bool isVisible)
{
if (isVisible == false && !firstTimeShow)
{
//avisa de cerrar la ventana
OliviaGlob.tipEjec = TiposEjecucion.Ninguno;
}
if (firstTimeShow)
firstTimeShow = false;
}
/// <summary>
/// Text shown near the top of the DockPane.
/// </summary>
private string _heading = "My DockPane";
public string Heading
{
get { return _heading; }
set
{
SetProperty(ref _heading, value, () => Heading);
}
}
}
}

View File

@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;
namespace OliviaAddInPro
{
internal class PaneLimpiezaSub1ViewModel : PanelViewModelBase
{
public PaneLimpiezaSub1ViewModel ()
{
lblCapaLimp = Resource1.String_selec_capa;
}
#region Properties
public override string DisplayName
{
get { return Resource1.String_tto; }
}
private string lblCapaLimp;
public string LblCapaLimp
{
get { return lblCapaLimp; }
set { LblCapaLimp=lblCapaLimp; }
}
#endregion Properties
}
}

View File

@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;
namespace OliviaAddInPro
{
internal class PaneLimpiezaSub2ViewModel : PanelViewModelBase
{
public override string DisplayName
{
get { return "Opción 2 se muestra"; }
}
}
}

View File

@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media.Imaging;
namespace OliviaAddInPro
{
class PaneLimpiezaViewModel : PanelViewModelBase
{
private PaneLimpiezaSub1ViewModel _subPanel1ViewModel;
private PaneLimpiezaSub2ViewModel _subPanel2ViewModel;
//private SubPanel3ViewModel _subPanel3ViewModel;
public PaneLimpiezaViewModel()
{
_subPanel1ViewModel = new PaneLimpiezaSub1ViewModel();
_subPanel2ViewModel = new PaneLimpiezaSub2ViewModel();
//_subPanel3ViewModel = new SubPanel3ViewModel();
OptionsMenu = new ObservableCollection<OptionsMenuItem>
{
new OptionsMenuItem(new BitmapImage(new Uri("pack://application:,,,/OliviaAddInPro;component/Resources/Dog32.png")), Resource1.String_tto, _subPanel1ViewModel),
new OptionsMenuItem(new BitmapImage(new Uri("pack://application:,,,/OliviaAddInPro;component/Resources/Dino32.png")), Resource1.String_zonif, _subPanel2ViewModel),
//new OptionsMenuItem(new BitmapImage(new Uri("pack://application:,,,/CustomCatalog;component/Resources/panda-32.png")), "Option 3", _subPanel3ViewModel)
};
SelectedOption = OptionsMenu[0];
}
public override string DisplayName
{
get { return Resource1.String_header_limpieza; }
}
private ObservableCollection<OptionsMenuItem> _optionsMenu = new ObservableCollection<OptionsMenuItem>();
public ObservableCollection<OptionsMenuItem> OptionsMenu
{
get { return _optionsMenu; }
set { SetProperty(ref _optionsMenu, value, () => OptionsMenu); }
}
private PanelViewModelBase _currentSubPanelPage;
public PanelViewModelBase CurrentSubPanelPage
{
get { return _currentSubPanelPage; }
set { SetProperty(ref _currentSubPanelPage, value, () => CurrentSubPanelPage); }
}
private OptionsMenuItem _selectionOption;
public OptionsMenuItem SelectedOption
{
get { return _selectionOption; }
set {
SetProperty(ref _selectionOption, value, () => SelectedOption);
CurrentSubPanelPage = value.SubPanelViewModel;
}
}
}
}

View File

@ -0,0 +1,20 @@
using ArcGIS.Desktop.Framework.Contracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OliviaAddInPro
{
public abstract class PanelViewModelBase : PropertyChangedBase
{
#region Properties
public abstract string DisplayName { get; }
#endregion Properties
}
}