[mapguide-commits] r6452 - in trunk/Tools/Maestro: . Maestro
Maestro.AddIn.GeoRest Maestro.AddIn.GeoRest/Commands
Maestro.AddIn.GeoRest/Model Maestro.AddIn.GeoRest/Properties
Maestro.AddIn.GeoRest/Resources
Maestro.AddIn.GeoRest/Services Maestro.AddIn.GeoRest/UI
Maestro.Shared.UI SDK
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Tue Jan 24 08:34:05 EST 2012
Author: jng
Date: 2012-01-24 05:34:05 -0800 (Tue, 24 Jan 2012)
New Revision: 6452
Added:
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Commands/
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Commands/StartupCommand.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Maestro.AddIn.GeoRest.csproj
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Manifest.addin
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Model/
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Model/Model.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/AssemblyInfo.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/Resources.Designer.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/Resources.resx
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/arrow-circle-045-left.png
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/disk.png
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/document-task.png
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/magnifier.png
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/plug.png
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Services/
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Services/GeoRestService.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/ConnectDialog.Designer.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/ConnectDialog.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/ConnectDialog.resx
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/FileSystemView.Designer.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/FileSystemView.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/FileSystemView.resx
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/RestConfigEditor.Designer.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/RestConfigEditor.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/RestConfigEditor.resx
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/TextEditor.Designer.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/TextEditor.cs
trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/TextEditor.resx
Modified:
trunk/Tools/Maestro/Maestro.Shared.UI/ZonedContainer.resx
trunk/Tools/Maestro/Maestro/Maestro_All.sln
trunk/Tools/Maestro/Maestro/changelog.txt
trunk/Tools/Maestro/SDK/sdk_changelog.txt
Log:
#1913: Add first cut of the GeoREST AddIn. This provides the following functionality:
- Basic system navigation of the GeoREST root configuration directory
- Editing of files through an embedded text editor
- Editing of restcfg.xml through an embedded text editor with support for XML well-formedness checking
- Previewing representations defined in a selected restcfg.xml document. The current previewable representations are:
- OData
- HTML (Many Template)
- KML (Many Template)
- KMZ (Many Template)
Modified: trunk/Tools/Maestro/Maestro/Maestro_All.sln
===================================================================
--- trunk/Tools/Maestro/Maestro/Maestro_All.sln 2012-01-24 07:59:49 UTC (rev 6451)
+++ trunk/Tools/Maestro/Maestro/Maestro_All.sln 2012-01-24 13:34:05 UTC (rev 6452)
@@ -126,6 +126,8 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RtMapInspector", "..\RtMapInspector\RtMapInspector.csproj", "{E204559D-EE92-4792-96E2-06F45654FAFC}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maestro.AddIn.GeoRest", "..\Maestro.AddIn.GeoRest\Maestro.AddIn.GeoRest.csproj", "{19A769B5-7CFA-4E9F-90D8-BF4A17F918C4}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -292,6 +294,10 @@
{E204559D-EE92-4792-96E2-06F45654FAFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E204559D-EE92-4792-96E2-06F45654FAFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E204559D-EE92-4792-96E2-06F45654FAFC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {19A769B5-7CFA-4E9F-90D8-BF4A17F918C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {19A769B5-7CFA-4E9F-90D8-BF4A17F918C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {19A769B5-7CFA-4E9F-90D8-BF4A17F918C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {19A769B5-7CFA-4E9F-90D8-BF4A17F918C4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Modified: trunk/Tools/Maestro/Maestro/changelog.txt
===================================================================
--- trunk/Tools/Maestro/Maestro/changelog.txt 2012-01-24 07:59:49 UTC (rev 6451)
+++ trunk/Tools/Maestro/Maestro/changelog.txt 2012-01-24 13:34:05 UTC (rev 6452)
@@ -1,8 +1,10 @@
4.1
---
+ - New experimental GeoREST AddIn for creating and editing GeoREST configurations
- Support for v2.4.0 resources (Web Layout, Map Definition, Layer Definition, Watermark Definition, Symbol Definition)
- Added extra symbol definition validation rules
+ - New utility for inspecting the state of a Runtime Map (RtMapInspector.exe)
- Fix: Select font link in Text Symbol Definition dialog does nothing
- Fix: Incorrect resource being flagged for Map Definition validation issues
- Fix: Size Context not being saved for composite lines in Line Style Editor
Property changes on: trunk/Tools/Maestro/Maestro.AddIn.GeoRest
___________________________________________________________________
Added: svn:ignore
+ bin
obj
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Commands/StartupCommand.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Commands/StartupCommand.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Commands/StartupCommand.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,42 @@
+#region Disclaimer / License
+// Copyright (C) 2012, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ICSharpCode.Core;
+using Maestro.Base;
+using Maestro.Base.Services;
+using Maestro.Shared.UI;
+using Maestro.AddIn.GeoRest.UI;
+
+namespace Maestro.AddIn.GeoRest.Commands
+{
+ public class StartupCommand : AbstractCommand
+ {
+ public override void Run()
+ {
+ Workbench.WorkbenchInitialized += (s, e) =>
+ {
+ var vmgr = ServiceRegistry.GetService<ViewContentManager>();
+ vmgr.OpenContent(Properties.Resources.GeoRestExplorer, Properties.Resources.GeoRestExplorer, ViewRegion.Right, () => { return new FileSystemView(); });
+ };
+ }
+ }
+}
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Maestro.AddIn.GeoRest.csproj
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Maestro.AddIn.GeoRest.csproj (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Maestro.AddIn.GeoRest.csproj 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>9.0.30729</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{19A769B5-7CFA-4E9F-90D8-BF4A17F918C4}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Maestro.AddIn.GeoRest</RootNamespace>
+ <AssemblyName>Maestro.AddIn.GeoRest</AssemblyName>
+ <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>..\out\Debug\AddIns\GeoRest\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>..\out\Release\AddIns\GeoRest\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Commands\StartupCommand.cs" />
+ <Compile Include="Model\Model.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Properties\Resources.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>Resources.resx</DependentUpon>
+ </Compile>
+ <Compile Include="Services\GeoRestService.cs" />
+ <Compile Include="UI\ConnectDialog.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="UI\ConnectDialog.Designer.cs">
+ <DependentUpon>ConnectDialog.cs</DependentUpon>
+ </Compile>
+ <Compile Include="UI\TextEditor.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="UI\TextEditor.Designer.cs">
+ <DependentUpon>TextEditor.cs</DependentUpon>
+ </Compile>
+ <Compile Include="UI\FileSystemView.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="UI\FileSystemView.Designer.cs">
+ <DependentUpon>FileSystemView.cs</DependentUpon>
+ </Compile>
+ <Compile Include="UI\RestConfigEditor.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="UI\RestConfigEditor.Designer.cs">
+ <DependentUpon>RestConfigEditor.cs</DependentUpon>
+ </Compile>
+ <Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Maestro.Base\Maestro.Base.csproj">
+ <Project>{F1E2F468-5030-4DBA-968C-9620284AFAA1}</Project>
+ <Name>Maestro.Base</Name>
+ <Private>False</Private>
+ </ProjectReference>
+ <ProjectReference Include="..\Maestro.Editors\Maestro.Editors.csproj">
+ <Project>{5AD2CDBA-952E-4148-98A1-31D2E0D540D5}</Project>
+ <Name>Maestro.Editors</Name>
+ <Private>False</Private>
+ </ProjectReference>
+ <ProjectReference Include="..\Maestro.Shared.UI\Maestro.Shared.UI.csproj">
+ <Project>{CFD19053-2172-41D3-8460-0FD2123A1E88}</Project>
+ <Name>Maestro.Shared.UI</Name>
+ <Private>False</Private>
+ </ProjectReference>
+ <ProjectReference Include="..\Thirdparty\SharpDevelop\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj">
+ <Project>{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}</Project>
+ <Name>ICSharpCode.Core.WinForms</Name>
+ <Private>False</Private>
+ </ProjectReference>
+ <ProjectReference Include="..\Thirdparty\SharpDevelop\ICSharpCode.Core\ICSharpCode.Core.csproj">
+ <Project>{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}</Project>
+ <Name>ICSharpCode.Core</Name>
+ <Private>False</Private>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="Properties\Resources.resx">
+ <Generator>ResXFileCodeGenerator</Generator>
+ <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+ </EmbeddedResource>
+ <EmbeddedResource Include="UI\ConnectDialog.resx">
+ <DependentUpon>ConnectDialog.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="UI\TextEditor.resx">
+ <DependentUpon>TextEditor.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="UI\FileSystemView.resx">
+ <DependentUpon>FileSystemView.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="UI\RestConfigEditor.resx">
+ <DependentUpon>RestConfigEditor.cs</DependentUpon>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\plug.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\magnifier.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="Manifest.addin">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <None Include="Resources\arrow-circle-045-left.png" />
+ <None Include="Resources\document-task.png" />
+ <None Include="Resources\disk.png" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.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>
+ -->
+</Project>
\ No newline at end of file
Copied: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Manifest.addin (from rev 6409, trunk/Tools/Maestro/Maestro.AddIn.FdoToolbox/Manifest.addin)
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Manifest.addin (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Manifest.addin 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,30 @@
+<AddIn name="Maestro.AddIn.GeoRest"
+ author="Jackie Ng"
+ url="http://trac.osgeo.org/mapguide/wiki/maestro"
+ description="GeoRest AddIn for MapGuide Maestro"
+ addInManagerHidden="preinstalled">
+
+ <Manifest>
+ <Identity name="Maestro.AddIn.GeoRest" />
+ </Manifest>
+
+ <Runtime>
+ <Import assembly="../../Maestro.Base.dll" />
+ <Import assembly="Maestro.AddIn.GeoRest.dll" />
+ </Runtime>
+
+ <!-- Application-level services -->
+ <Path name="/Maestro/ApplicationServices">
+ <Class id="GeoRestService" class="Maestro.AddIn.GeoRest.Services.GeoRestService" />
+ </Path>
+
+ <!-- Singleton view content -->
+ <Path name="/Maestro/Shell/SingleViewContent">
+ <Class id="GeoRestExplorer" class="Maestro.AddIn.GeoRest.UI.FileSystemView" />
+ </Path>
+
+ <!-- Auto-start commands -->
+ <Path name="/Workspace/Autostart">
+ <Class id="Startup" class="Maestro.AddIn.GeoRest.Commands.StartupCommand" />
+ </Path>
+</AddIn>
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Model/Model.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Model/Model.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Model/Model.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,193 @@
+#region Disclaimer / License
+// Copyright (C) 2012, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Maestro.AddIn.GeoRest.Model
+{
+ public class RepresentationPreview
+ {
+ public string Name { get; set; }
+
+ public string Url { get; set; }
+ }
+
+ public class FileSystemEntry
+ {
+ public string Name { get; set; }
+
+ public bool IsFolder { get; set; }
+ }
+
+ public class Resource
+ {
+ public string UriPart { get; set; }
+
+ public Source Source { get; set; }
+
+ public List<Representation> Representations { get; set; }
+ }
+
+ public abstract class Source
+ {
+ public SourceType Type { get; set; }
+ }
+
+ public enum SourceType
+ {
+ FDO,
+ MapGuide
+ }
+
+ public class FdoSource : Source
+ {
+ public string Provider { get; set; }
+
+ public string ConnectionString { get; set; }
+
+ public string FeatureClass { get; set; }
+ }
+
+ public class MapGuideSource : Source
+ {
+ }
+
+ public abstract class Representation
+ {
+ public string Renderer { get; private set; }
+
+ public List<Method> Methods { get; set; }
+
+ public RepresentationOrdering Ordering { get; set; }
+ }
+
+ public class RepresentationOrdering
+ {
+ public string Fields { get; set; }
+
+ public string Direction { get;set; }
+ }
+
+ public abstract class RepresentationWithPattern
+ {
+ public string Pattern { get; set; }
+ }
+
+ public class JsonRepresentation : RepresentationWithPattern
+ {
+
+ }
+
+ public class XmlRepresentation : RepresentationWithPattern
+ {
+
+ }
+
+ public abstract class Method
+ {
+ public RestMethod Name { get; set; }
+ }
+
+ public class GetMethod
+ {
+ public int? MaxCount { get; set; }
+
+ public double? MaxBBOXWidth { get; set; }
+
+ public double? MaxBBOXHeight { get; set; }
+ }
+
+ public class WriteMethod
+ {
+
+ }
+
+ public enum RestMethod
+ {
+ GET,
+ PUT,
+ POST,
+ DELETE
+ }
+
+ public class Png8Representation : RepresentationWithPattern
+ {
+ public string MapDefinition { get; set; }
+
+ public string SelectionLayer { get; set; }
+
+ public double DefaultZoomFactor { get; set; }
+ }
+
+ public class TemplateRepresentation : RepresentationWithPattern
+ {
+ public string MimeType { get; set; }
+
+ public TemplateSettings Templates { get; set; }
+ }
+
+ public class TemplateSettings
+ {
+ public string Section { get; set; }
+
+ public string Prefix { get; set; }
+
+ public TemplateReference Many { get; set; }
+ public TemplateReference Single { get; set; }
+ public TemplateReference None { get; set; }
+ public TemplateReference Error { get; set; }
+ }
+
+ public class TemplateReference
+ {
+ public string File { get; set; }
+ }
+
+ public class ODataRepresentation : Representation
+ {
+ public ODataFeedOverride FeedOverride { get; set; }
+
+ public ODataEntryOverride EntryOverride { get; set; }
+ }
+
+ public class ODataFeedOverride : Representation
+ {
+ public string Title { get; set; }
+
+ public ODataAuthor Author { get; set; }
+ }
+
+ public class ODataAuthor
+ {
+ public string Name { get; set; }
+
+ public string Uri { get; set; }
+
+ public string Email { get; set; }
+ }
+
+ public class ODataEntryOverride : Representation
+ {
+ public string Title { get; set; }
+
+ public ODataAuthor Author { get; set; }
+ }
+}
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/AssemblyInfo.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/AssemblyInfo.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/AssemblyInfo.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -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("Maestro.AddIn.GeoRest")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Maestro.AddIn.GeoRest")]
+[assembly: AssemblyCopyright("Copyright © 2012")]
+[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("4ec348e9-6593-4eed-b03e-04c43646497a")]
+
+// 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")]
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/Resources.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/Resources.Designer.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/Resources.Designer.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,242 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.5448
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Maestro.AddIn.GeoRest.Properties {
+ using System;
+
+
+ /// <summary>
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ /// </summary>
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ /// <summary>
+ /// Returns the cached ResourceManager instance used by this class.
+ /// </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("Maestro.AddIn.GeoRest.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ /// <summary>
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ internal static System.Drawing.Bitmap arrow_circle_045_left {
+ get {
+ object obj = ResourceManager.GetObject("arrow-circle-045-left", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap disk {
+ get {
+ object obj = ResourceManager.GetObject("disk", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap document_task {
+ get {
+ object obj = ResourceManager.GetObject("document-task", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Only files named restcfg.xml can be edited.
+ /// </summary>
+ internal static string ErrCanOnlyEditRestCfg {
+ get {
+ return ResourceManager.GetString("ErrCanOnlyEditRestCfg", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The specified configuration root directory does not exist.
+ /// </summary>
+ internal static string ErrConfigRootDoesNotExist {
+ get {
+ return ResourceManager.GetString("ErrConfigRootDoesNotExist", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to GeoRest URL not specified.
+ /// </summary>
+ internal static string ErrGeoRestUrlNotSpecified {
+ get {
+ return ResourceManager.GetString("ErrGeoRestUrlNotSpecified", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Could not find any previewable representations in this file.
+ /// </summary>
+ internal static string ErrNoPreviewableRepresentations {
+ get {
+ return ResourceManager.GetString("ErrNoPreviewableRepresentations", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to File is not restcfg.xml. Cannot extract previewable representations.
+ /// </summary>
+ internal static string ErrPreviewNotRestCfg {
+ get {
+ return ResourceManager.GetString("ErrPreviewNotRestCfg", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The specified restcfg.xml is missing the top-level <Resource> node. This is probably an invalid document.
+ /// </summary>
+ internal static string ErrRestCfgMissingResourceNode {
+ get {
+ return ResourceManager.GetString("ErrRestCfgMissingResourceNode", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The specified restcfg.xml is missing a uripart attribute in its <Resource> element. Previewable representations cannot be determined without this attribute.
+ /// </summary>
+ internal static string ErrRestCfgMissingUriPart {
+ get {
+ return ResourceManager.GetString("ErrRestCfgMissingUriPart", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to File saved to: {0}.
+ /// </summary>
+ internal static string FileSaved {
+ get {
+ return ResourceManager.GetString("FileSaved", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to GeoREST Explorer.
+ /// </summary>
+ internal static string GeoRestExplorer {
+ get {
+ return ResourceManager.GetString("GeoRestExplorer", resourceCulture);
+ }
+ }
+
+ internal static System.Drawing.Bitmap magnifier {
+ get {
+ object obj = ResourceManager.GetObject("magnifier", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap plug {
+ get {
+ object obj = ResourceManager.GetObject("plug", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to HTML (Many template) - {0}.
+ /// </summary>
+ internal static string PreviewTypeHtmlMany {
+ get {
+ return ResourceManager.GetString("PreviewTypeHtmlMany", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to KML (Many template) - {0}.
+ /// </summary>
+ internal static string PreviewTypeKmlMany {
+ get {
+ return ResourceManager.GetString("PreviewTypeKmlMany", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to KMZ (Many template) - {0}.
+ /// </summary>
+ internal static string PreviewTypeKmzMany {
+ get {
+ return ResourceManager.GetString("PreviewTypeKmzMany", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to OData (Raw) - {0}.
+ /// </summary>
+ internal static string PreviewTypeODataRaw {
+ get {
+ return ResourceManager.GetString("PreviewTypeODataRaw", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Choose a Representation to Preview.
+ /// </summary>
+ internal static string PromptSelectPreview {
+ get {
+ return ResourceManager.GetString("PromptSelectPreview", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Select Representation Preview.
+ /// </summary>
+ internal static string TitleSelectPreview {
+ get {
+ return ResourceManager.GetString("TitleSelectPreview", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to XML Document is well-formed.
+ /// </summary>
+ internal static string XmlWellFormed {
+ get {
+ return ResourceManager.GetString("XmlWellFormed", resourceCulture);
+ }
+ }
+ }
+}
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/Resources.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/Resources.resx (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Properties/Resources.resx 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,184 @@
+<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="ErrCanOnlyEditRestCfg" xml:space="preserve">
+ <value>Only files named restcfg.xml can be edited</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="document-task" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\document-task.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="disk" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\disk.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="magnifier" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\magnifier.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="ErrGeoRestUrlNotSpecified" xml:space="preserve">
+ <value>GeoRest URL not specified</value>
+ </data>
+ <data name="FileSaved" xml:space="preserve">
+ <value>File saved to: {0}</value>
+ </data>
+ <data name="ErrConfigRootDoesNotExist" xml:space="preserve">
+ <value>The specified configuration root directory does not exist</value>
+ </data>
+ <data name="GeoRestExplorer" xml:space="preserve">
+ <value>GeoREST Explorer</value>
+ </data>
+ <data name="plug" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\plug.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="XmlWellFormed" xml:space="preserve">
+ <value>XML Document is well-formed</value>
+ </data>
+ <data name="arrow-circle-045-left" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\arrow-circle-045-left.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="ErrNoPreviewableRepresentations" xml:space="preserve">
+ <value>Could not find any previewable representations in this file</value>
+ </data>
+ <data name="ErrPreviewNotRestCfg" xml:space="preserve">
+ <value>File is not restcfg.xml. Cannot extract previewable representations</value>
+ </data>
+ <data name="ErrRestCfgMissingResourceNode" xml:space="preserve">
+ <value>The specified restcfg.xml is missing the top-level <Resource> node. This is probably an invalid document</value>
+ </data>
+ <data name="ErrRestCfgMissingUriPart" xml:space="preserve">
+ <value>The specified restcfg.xml is missing a uripart attribute in its <Resource> element. Previewable representations cannot be determined without this attribute</value>
+ </data>
+ <data name="PreviewTypeHtmlMany" xml:space="preserve">
+ <value>HTML (Many template) - {0}</value>
+ </data>
+ <data name="PreviewTypeKmlMany" xml:space="preserve">
+ <value>KML (Many template) - {0}</value>
+ </data>
+ <data name="PreviewTypeKmzMany" xml:space="preserve">
+ <value>KMZ (Many template) - {0}</value>
+ </data>
+ <data name="PreviewTypeODataRaw" xml:space="preserve">
+ <value>OData (Raw) - {0}</value>
+ </data>
+ <data name="PromptSelectPreview" xml:space="preserve">
+ <value>Choose a Representation to Preview</value>
+ </data>
+ <data name="TitleSelectPreview" xml:space="preserve">
+ <value>Select Representation Preview</value>
+ </data>
+</root>
\ No newline at end of file
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/arrow-circle-045-left.png
===================================================================
(Binary files differ)
Property changes on: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/arrow-circle-045-left.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/disk.png
===================================================================
(Binary files differ)
Property changes on: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/disk.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/document-task.png
===================================================================
(Binary files differ)
Property changes on: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/document-task.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/magnifier.png
===================================================================
(Binary files differ)
Property changes on: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/magnifier.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/plug.png
===================================================================
(Binary files differ)
Property changes on: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Resources/plug.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Services/GeoRestService.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Services/GeoRestService.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/Services/GeoRestService.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,179 @@
+#region Disclaimer / License
+// Copyright (C) 2012, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Maestro.Shared.UI;
+using Maestro.AddIn.GeoRest.Model;
+using System.IO;
+using System.Xml;
+
+namespace Maestro.AddIn.GeoRest.Services
+{
+ public class GeoRestService : ServiceBase
+ {
+ private string _configRootPath;
+ private string _geoRestUrl;
+
+ public void Connect(string configRootPath, string geoRestUrl)
+ {
+ _configRootPath = configRootPath;
+ _geoRestUrl = geoRestUrl;
+ }
+
+ public string ConfigurationRoot { get { return _configRootPath; } }
+
+ public string GeoRestUrl
+ {
+ get
+ {
+ if (!_geoRestUrl.EndsWith("/"))
+ _geoRestUrl += "/";
+ return _geoRestUrl;
+ }
+ }
+
+ public FileSystemEntry[] GetEntries(string path)
+ {
+ var entries = new List<FileSystemEntry>();
+ foreach (var dir in Directory.GetDirectories(path))
+ {
+ entries.Add(new FileSystemEntry() { Name = Path.GetFileName(dir), IsFolder = true });
+ }
+ foreach (var f in Directory.GetFiles(path))
+ {
+ entries.Add(new FileSystemEntry() { Name = Path.GetFileName(f), IsFolder = false });
+ }
+ return entries.ToArray();
+ }
+
+ private static XmlNode FindManyTemplateNode(XmlNode representationNode)
+ {
+ foreach (XmlNode child in representationNode.ChildNodes)
+ {
+ if (child.Name == "Templates")
+ {
+ foreach (XmlNode tpl in child.ChildNodes)
+ {
+ if (tpl.Name == "Many")
+ {
+ return tpl;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ public RepresentationPreview[] GetRepresentationPreviews(string path)
+ {
+ if (!path.ToLower().EndsWith("restcfg.xml"))
+ throw new InvalidOperationException(Properties.Resources.ErrPreviewNotRestCfg);
+
+ XmlDocument doc = new XmlDocument();
+ doc.Load(path);
+
+ XmlNode resNode = doc.SelectSingleNode("//RestConfig/Data/Resource");
+ if (resNode == null)
+ throw new InvalidOperationException(Properties.Resources.ErrRestCfgMissingResourceNode);
+
+ if (resNode.Attributes["uripart"] == null)
+ throw new InvalidOperationException(Properties.Resources.ErrRestCfgMissingUriPart);
+
+ string uripart = resNode.Attributes["uripart"].Value;
+
+ // This is the current list of previewable representations
+ //
+ // - OData
+ // - KML (Many template specified)
+ // - KMZ (Many template specified)
+ // - HTML (Many template specified)
+ //
+ // Single template reperesentations cannot be previewed as they require identifying
+ // information (ids) that cannot be inferred
+
+ List<RepresentationPreview> previewableItems = new List<RepresentationPreview>();
+ var representations = doc.GetElementsByTagName("Representation");
+ foreach (XmlNode repNode in representations)
+ {
+ var renAttr = repNode.Attributes["renderer"];
+ if (renAttr != null)
+ {
+ switch (renAttr.Value)
+ {
+ case "Template":
+ {
+ var patAttr = repNode.Attributes["pattern"];
+ if (patAttr != null)
+ {
+ var many = FindManyTemplateNode(repNode);
+ if (many != null)
+ {
+ switch (patAttr.Value)
+ {
+ case ".kml":
+ {
+ previewableItems.Add(new RepresentationPreview()
+ {
+ Name = string.Format(Properties.Resources.PreviewTypeKmlMany, uripart),
+ Url = _geoRestUrl + "data/" + uripart + "/.kml"
+ });
+ }
+ break;
+ case ".kmz":
+ {
+ previewableItems.Add(new RepresentationPreview()
+ {
+ Name = string.Format(Properties.Resources.PreviewTypeKmzMany, uripart),
+ Url = _geoRestUrl + "data/" + uripart + "/.kmz"
+ });
+ }
+ break;
+ case ".html":
+ {
+ previewableItems.Add(new RepresentationPreview()
+ {
+ Name = string.Format(Properties.Resources.PreviewTypeHtmlMany, uripart),
+ Url = _geoRestUrl + "data/" + uripart + "/.html"
+ });
+ }
+ break;
+ }
+ }
+ }
+ }
+ break;
+ case "OData":
+ {
+ previewableItems.Add(new RepresentationPreview()
+ {
+ Name = string.Format(Properties.Resources.PreviewTypeODataRaw, uripart),
+ Url = _geoRestUrl + "OData.svc/" + uripart
+ });
+ }
+ break;
+ }
+ }
+ }
+
+ return previewableItems.ToArray();
+ }
+ }
+}
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/ConnectDialog.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/ConnectDialog.Designer.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/ConnectDialog.Designer.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,113 @@
+namespace Maestro.AddIn.GeoRest.UI
+{
+ partial class ConnectDialog
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConnectDialog));
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtConfigRoot = new System.Windows.Forms.TextBox();
+ this.txtGeoRestUrl = new System.Windows.Forms.TextBox();
+ this.btnBrowse = new System.Windows.Forms.Button();
+ this.btnConnect = new System.Windows.Forms.Button();
+ this.btnCancel = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // txtConfigRoot
+ //
+ resources.ApplyResources(this.txtConfigRoot, "txtConfigRoot");
+ this.txtConfigRoot.Name = "txtConfigRoot";
+ //
+ // txtGeoRestUrl
+ //
+ resources.ApplyResources(this.txtGeoRestUrl, "txtGeoRestUrl");
+ this.txtGeoRestUrl.Name = "txtGeoRestUrl";
+ //
+ // btnBrowse
+ //
+ resources.ApplyResources(this.btnBrowse, "btnBrowse");
+ this.btnBrowse.Name = "btnBrowse";
+ this.btnBrowse.UseVisualStyleBackColor = true;
+ this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
+ //
+ // btnConnect
+ //
+ resources.ApplyResources(this.btnConnect, "btnConnect");
+ this.btnConnect.Name = "btnConnect";
+ this.btnConnect.UseVisualStyleBackColor = true;
+ this.btnConnect.Click += new System.EventHandler(this.btnConnect_Click);
+ //
+ // btnCancel
+ //
+ resources.ApplyResources(this.btnCancel, "btnCancel");
+ this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.btnCancel.Name = "btnCancel";
+ this.btnCancel.UseVisualStyleBackColor = true;
+ this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
+ //
+ // ConnectDialog
+ //
+ this.AcceptButton = this.btnConnect;
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.CancelButton = this.btnCancel;
+ resources.ApplyResources(this, "$this");
+ this.ControlBox = false;
+ this.Controls.Add(this.btnCancel);
+ this.Controls.Add(this.btnConnect);
+ this.Controls.Add(this.btnBrowse);
+ this.Controls.Add(this.txtGeoRestUrl);
+ this.Controls.Add(this.txtConfigRoot);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.label1);
+ this.Name = "ConnectDialog";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox txtConfigRoot;
+ private System.Windows.Forms.TextBox txtGeoRestUrl;
+ private System.Windows.Forms.Button btnBrowse;
+ private System.Windows.Forms.Button btnConnect;
+ private System.Windows.Forms.Button btnCancel;
+ }
+}
\ No newline at end of file
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/ConnectDialog.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/ConnectDialog.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/ConnectDialog.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,69 @@
+#region Disclaimer / License
+// Copyright (C) 2012, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using System.IO;
+
+namespace Maestro.AddIn.GeoRest.UI
+{
+ public partial class ConnectDialog : Form
+ {
+ public ConnectDialog()
+ {
+ InitializeComponent();
+ }
+
+ public string ConfigurationRoot { get { return txtConfigRoot.Text; } }
+
+ public string GeoRestUrl { get { return txtGeoRestUrl.Text; } }
+
+ private void btnBrowse_Click(object sender, EventArgs e)
+ {
+ using (var browser = new FolderBrowserDialog())
+ {
+ browser.ShowNewFolderButton = true;
+ if (browser.ShowDialog() == DialogResult.OK)
+ {
+ txtConfigRoot.Text = browser.SelectedPath;
+ }
+ }
+ }
+
+ private void btnCancel_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = DialogResult.Cancel;
+ }
+
+ private void btnConnect_Click(object sender, EventArgs e)
+ {
+ if (!Directory.Exists(txtConfigRoot.Text))
+ MessageBox.Show(Properties.Resources.ErrConfigRootDoesNotExist);
+ if (string.IsNullOrEmpty(txtGeoRestUrl.Text))
+ MessageBox.Show(Properties.Resources.ErrGeoRestUrlNotSpecified);
+
+ this.DialogResult = DialogResult.OK;
+ }
+ }
+}
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/ConnectDialog.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/ConnectDialog.resx (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/ConnectDialog.resx 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,327 @@
+<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>13, 13</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>192, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>GeoREST Configuration Root Directory</value>
+ </data>
+ <data name=">>label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name=">>label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label1.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>13, 60</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>115, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>GeoREST Server URL</value>
+ </data>
+ <data name=">>label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name=">>label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label2.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>label2.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="txtConfigRoot.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="txtConfigRoot.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 29</value>
+ </data>
+ <data name="txtConfigRoot.Size" type="System.Drawing.Size, System.Drawing">
+ <value>480, 20</value>
+ </data>
+ <data name="txtConfigRoot.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name=">>txtConfigRoot.Name" xml:space="preserve">
+ <value>txtConfigRoot</value>
+ </data>
+ <data name=">>txtConfigRoot.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtConfigRoot.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>txtConfigRoot.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="txtGeoRestUrl.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="txtGeoRestUrl.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 76</value>
+ </data>
+ <data name="txtGeoRestUrl.Size" type="System.Drawing.Size, System.Drawing">
+ <value>480, 20</value>
+ </data>
+ <data name="txtGeoRestUrl.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="txtGeoRestUrl.Text" xml:space="preserve">
+ <value>http://localhost:99/rest/</value>
+ </data>
+ <data name=">>txtGeoRestUrl.Name" xml:space="preserve">
+ <value>txtGeoRestUrl</value>
+ </data>
+ <data name=">>txtGeoRestUrl.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtGeoRestUrl.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>txtGeoRestUrl.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="btnBrowse.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Right</value>
+ </data>
+ <data name="btnBrowse.Location" type="System.Drawing.Point, System.Drawing">
+ <value>502, 27</value>
+ </data>
+ <data name="btnBrowse.Size" type="System.Drawing.Size, System.Drawing">
+ <value>32, 23</value>
+ </data>
+ <data name="btnBrowse.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="btnBrowse.Text" xml:space="preserve">
+ <value>...</value>
+ </data>
+ <data name=">>btnBrowse.Name" xml:space="preserve">
+ <value>btnBrowse</value>
+ </data>
+ <data name=">>btnBrowse.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnBrowse.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnBrowse.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="btnConnect.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <data name="btnConnect.Location" type="System.Drawing.Point, System.Drawing">
+ <value>340, 111</value>
+ </data>
+ <data name="btnConnect.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="btnConnect.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="btnConnect.Text" xml:space="preserve">
+ <value>Connect</value>
+ </data>
+ <data name=">>btnConnect.Name" xml:space="preserve">
+ <value>btnConnect</value>
+ </data>
+ <data name=">>btnConnect.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnConnect.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnConnect.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="btnCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>421, 111</value>
+ </data>
+ <data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="btnCancel.Text" xml:space="preserve">
+ <value>Cancel</value>
+ </data>
+ <data name=">>btnCancel.Name" xml:space="preserve">
+ <value>btnCancel</value>
+ </data>
+ <data name=">>btnCancel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnCancel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>btnCancel.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>546, 145</value>
+ </data>
+ <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+ <value>CenterParent</value>
+ </data>
+ <data name="$this.Text" xml:space="preserve">
+ <value>Connect</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>ConnectDialog</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/FileSystemView.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/FileSystemView.Designer.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/FileSystemView.Designer.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,174 @@
+namespace Maestro.AddIn.GeoRest.UI
+{
+ partial class FileSystemView
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FileSystemView));
+ this.toolStrip1 = new System.Windows.Forms.ToolStrip();
+ this.btnConnect = new System.Windows.Forms.ToolStripButton();
+ this.btnRefresh = new System.Windows.Forms.ToolStripButton();
+ this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+ this.btnPreview = new System.Windows.Forms.ToolStripButton();
+ this.fileTree = new System.Windows.Forms.TreeView();
+ this.imgList = new System.Windows.Forms.ImageList(this.components);
+ this.ctxFolder = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.createConfigurationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.ctxConfig = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.addRepresentationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.editXMLToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStrip1.SuspendLayout();
+ this.ctxFolder.SuspendLayout();
+ this.ctxConfig.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // toolStrip1
+ //
+ this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
+ this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.btnConnect,
+ this.toolStripSeparator1,
+ this.btnPreview,
+ this.btnRefresh});
+ this.toolStrip1.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow;
+ resources.ApplyResources(this.toolStrip1, "toolStrip1");
+ this.toolStrip1.Name = "toolStrip1";
+ //
+ // btnConnect
+ //
+ this.btnConnect.Image = global::Maestro.AddIn.GeoRest.Properties.Resources.plug;
+ resources.ApplyResources(this.btnConnect, "btnConnect");
+ this.btnConnect.Name = "btnConnect";
+ this.btnConnect.Click += new System.EventHandler(this.btnConnect_Click);
+ //
+ // btnRefresh
+ //
+ this.btnRefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ resources.ApplyResources(this.btnRefresh, "btnRefresh");
+ this.btnRefresh.Image = global::Maestro.AddIn.GeoRest.Properties.Resources.arrow_circle_045_left;
+ this.btnRefresh.Name = "btnRefresh";
+ this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
+ //
+ // toolStripSeparator1
+ //
+ this.toolStripSeparator1.Name = "toolStripSeparator1";
+ resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
+ //
+ // btnPreview
+ //
+ this.btnPreview.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ resources.ApplyResources(this.btnPreview, "btnPreview");
+ this.btnPreview.Image = global::Maestro.AddIn.GeoRest.Properties.Resources.magnifier;
+ this.btnPreview.Name = "btnPreview";
+ this.btnPreview.Click += new System.EventHandler(this.btnPreview_Click);
+ //
+ // fileTree
+ //
+ resources.ApplyResources(this.fileTree, "fileTree");
+ this.fileTree.ImageList = this.imgList;
+ this.fileTree.Name = "fileTree";
+ this.fileTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.fileTree_NodeMouseDoubleClick);
+ this.fileTree.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.fileTree_AfterSelect);
+ this.fileTree.AfterExpand += new System.Windows.Forms.TreeViewEventHandler(this.fileTree_AfterExpand);
+ //
+ // imgList
+ //
+ this.imgList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imgList.ImageStream")));
+ this.imgList.TransparentColor = System.Drawing.Color.Transparent;
+ this.imgList.Images.SetKeyName(0, "folder-horizontal.png");
+ this.imgList.Images.SetKeyName(1, "document-task.png");
+ this.imgList.Images.SetKeyName(2, "document.png");
+ this.imgList.Images.SetKeyName(3, "odata.png");
+ this.imgList.Images.SetKeyName(4, "json.png");
+ this.imgList.Images.SetKeyName(5, "document-xaml.png");
+ this.imgList.Images.SetKeyName(6, "image.png");
+ this.imgList.Images.SetKeyName(7, "document-node.png");
+ this.imgList.Images.SetKeyName(8, "document-template.png");
+ //
+ // ctxFolder
+ //
+ this.ctxFolder.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.createConfigurationToolStripMenuItem});
+ this.ctxFolder.Name = "ctxFolder";
+ resources.ApplyResources(this.ctxFolder, "ctxFolder");
+ //
+ // createConfigurationToolStripMenuItem
+ //
+ this.createConfigurationToolStripMenuItem.Name = "createConfigurationToolStripMenuItem";
+ resources.ApplyResources(this.createConfigurationToolStripMenuItem, "createConfigurationToolStripMenuItem");
+ //
+ // ctxConfig
+ //
+ this.ctxConfig.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.addRepresentationToolStripMenuItem,
+ this.editXMLToolStripMenuItem});
+ this.ctxConfig.Name = "ctxConfig";
+ resources.ApplyResources(this.ctxConfig, "ctxConfig");
+ //
+ // addRepresentationToolStripMenuItem
+ //
+ this.addRepresentationToolStripMenuItem.Name = "addRepresentationToolStripMenuItem";
+ resources.ApplyResources(this.addRepresentationToolStripMenuItem, "addRepresentationToolStripMenuItem");
+ //
+ // editXMLToolStripMenuItem
+ //
+ this.editXMLToolStripMenuItem.Name = "editXMLToolStripMenuItem";
+ resources.ApplyResources(this.editXMLToolStripMenuItem, "editXMLToolStripMenuItem");
+ //
+ // FileSystemView
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.Controls.Add(this.fileTree);
+ this.Controls.Add(this.toolStrip1);
+ this.Name = "FileSystemView";
+ resources.ApplyResources(this, "$this");
+ this.toolStrip1.ResumeLayout(false);
+ this.toolStrip1.PerformLayout();
+ this.ctxFolder.ResumeLayout(false);
+ this.ctxConfig.ResumeLayout(false);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.ToolStrip toolStrip1;
+ private System.Windows.Forms.ToolStripButton btnConnect;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+ private System.Windows.Forms.TreeView fileTree;
+ private System.Windows.Forms.ImageList imgList;
+ private System.Windows.Forms.ContextMenuStrip ctxFolder;
+ private System.Windows.Forms.ContextMenuStrip ctxConfig;
+ private System.Windows.Forms.ToolStripMenuItem createConfigurationToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem addRepresentationToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem editXMLToolStripMenuItem;
+ private System.Windows.Forms.ToolStripButton btnRefresh;
+ private System.Windows.Forms.ToolStripButton btnPreview;
+ }
+}
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/FileSystemView.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/FileSystemView.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/FileSystemView.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,218 @@
+#region Disclaimer / License
+// Copyright (C) 2012, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using Maestro.AddIn.GeoRest.Model;
+using Maestro.AddIn.GeoRest.Services;
+using Maestro.Base.Services;
+using System.IO;
+using Maestro.Shared.UI;
+using Maestro.Editors.Common;
+
+namespace Maestro.AddIn.GeoRest.UI
+{
+ public partial class FileSystemView : ViewContentBase
+ {
+ public FileSystemView()
+ {
+ InitializeComponent();
+ this.Title = this.Description = Properties.Resources.GeoRestExplorer;
+ }
+
+ const int IDX_FOLDER = 0;
+ const int IDX_CONFIG = 1;
+ const int IDX_GENERIC = 2;
+ const int IDX_ODATA = 3;
+ const int IDX_JSON = 4;
+ const int IDX_XML = 5;
+ const int IDX_IMAGE = 6;
+ const int IDX_FDOSCHEMA = 7;
+ const int IDX_TEMPLATE = 8;
+
+ private GeoRestService _service;
+
+ protected override void OnLoad(EventArgs e)
+ {
+ _service = ServiceRegistry.GetService<GeoRestService>();
+ base.OnLoad(e);
+ }
+
+ public override ViewRegion DefaultRegion
+ {
+ get
+ {
+ return ViewRegion.Right;
+ }
+ }
+
+ public override bool AllowUserClose
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ private void fileTree_AfterSelect(object sender, TreeViewEventArgs e)
+ {
+ FileSystemEntry res = e.Node.Tag as FileSystemEntry;
+ btnPreview.Enabled = (res != null && !res.IsFolder && res.Name.ToLower().Equals("restcfg.xml"));
+ btnRefresh.Enabled = (res != null && res.IsFolder);
+ }
+
+ private void btnConnect_Click(object sender, EventArgs e)
+ {
+ using (var diag = new ConnectDialog())
+ {
+ if (diag.ShowDialog() == DialogResult.OK)
+ {
+ fileTree.Nodes.Clear();
+ _service.Connect(diag.ConfigurationRoot, diag.GeoRestUrl);
+ var node = new TreeNode();
+ node.Text = "Root";
+ node.Tag = new FileSystemEntry() { Name = _service.ConfigurationRoot, IsFolder = true };
+ node.ImageIndex = node.SelectedImageIndex = IDX_FOLDER;
+ fileTree.Nodes.Add(node);
+ var entries = _service.GetEntries(diag.ConfigurationRoot);
+ PopulateEntries(node.Nodes, entries);
+ }
+ }
+ }
+
+ class Placeholder { }
+
+ private void PopulateEntries(TreeNodeCollection nodes, FileSystemEntry[] entries)
+ {
+ nodes.Clear();
+ foreach (var ent in entries)
+ {
+ var node = new TreeNode();
+ node.Text = ent.Name;
+ node.Tag = ent;
+ node.ImageIndex = node.SelectedImageIndex = IDX_GENERIC;
+ if (ent.IsFolder)
+ {
+ node.ImageIndex = node.SelectedImageIndex = IDX_FOLDER;
+ node.Nodes.Add(new TreeNode() { Tag = new Placeholder() });
+ }
+ else if (ent.Name.ToLower().Equals("restcfg.xml"))
+ {
+ node.ImageIndex = node.SelectedImageIndex = IDX_CONFIG;
+ }
+ nodes.Add(node);
+ }
+ }
+
+ private string GetFilePath(TreeNode node)
+ {
+ var ent = (FileSystemEntry)node.Tag;
+ LinkedList<string> components = new LinkedList<string>();
+
+ var parent = node.Parent;
+ components.AddFirst(ent.Name);
+ while (parent != null)
+ {
+ ent = parent.Tag as FileSystemEntry;
+ components.AddFirst(ent.Name);
+ parent = parent.Parent;
+ }
+
+ return Path.Combine(_service.ConfigurationRoot, string.Join(Path.DirectorySeparatorChar.ToString(), new List<string>(components).ToArray()));
+ }
+
+ private void fileTree_AfterExpand(object sender, TreeViewEventArgs e)
+ {
+ var node = e.Node;
+ node.Nodes.Clear();
+
+ var entries = _service.GetEntries(GetFilePath(node));
+ PopulateEntries(node.Nodes, entries);
+ }
+
+ private void fileTree_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
+ {
+ var ent = e.Node.Tag as FileSystemEntry;
+ if (ent != null && !ent.IsFolder)
+ {
+ string fullPath = GetFilePath(e.Node);
+ if (ent.Name.ToLower().Equals("restcfg.xml"))
+ {
+ var editor = new RestConfigEditor();
+ editor.LoadFile(fullPath);
+ editor.ShowDialog();
+ }
+ else
+ {
+ var editor = new TextEditor();
+ editor.LoadFile(fullPath);
+ editor.ShowDialog();
+ }
+ }
+ }
+
+ private void btnPreview_Click(object sender, EventArgs e)
+ {
+ RepresentationPreview[] previewables = null;
+ try
+ {
+ previewables = _service.GetRepresentationPreviews(GetFilePath(fileTree.SelectedNode));
+ if (previewables.Length == 0)
+ {
+ MessageBox.Show(Properties.Resources.ErrNoPreviewableRepresentations);
+ return;
+ }
+
+ var result = GenericItemSelectionDialog.SelectItem<RepresentationPreview>(
+ Properties.Resources.TitleSelectPreview,
+ Properties.Resources.PromptSelectPreview,
+ previewables,
+ "Name",
+ "Url");
+
+ if (result != null)
+ {
+ var launcher = ServiceRegistry.GetService<UrlLauncherService>();
+ launcher.OpenUrl(result.Url);
+ }
+ }
+ catch (Exception ex)
+ {
+ ErrorDialog.Show(ex);
+ }
+ }
+
+ private void btnRefresh_Click(object sender, EventArgs e)
+ {
+ btnRefresh.Enabled = false;
+ var node = fileTree.SelectedNode;
+ node.Nodes.Clear();
+
+ var entries = _service.GetEntries(GetFilePath(node));
+ PopulateEntries(node.Nodes, entries);
+ }
+ }
+
+ public delegate void ObjectSelectionEventHandler<T>(object sender, T obj);
+}
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/FileSystemView.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/FileSystemView.resx (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/FileSystemView.resx 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,402 @@
+<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="btnConnect.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="btnConnect.Size" type="System.Drawing.Size, System.Drawing">
+ <value>72, 22</value>
+ </data>
+ <data name="btnConnect.Text" xml:space="preserve">
+ <value>Connect</value>
+ </data>
+ <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>6, 25</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="btnPreview.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="btnPreview.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="btnPreview.Size" type="System.Drawing.Size, System.Drawing">
+ <value>23, 22</value>
+ </data>
+ <data name="btnPreview.Text" xml:space="preserve">
+ <value>Preview</value>
+ </data>
+ <data name="btnRefresh.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="btnRefresh.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="btnRefresh.Size" type="System.Drawing.Size, System.Drawing">
+ <value>23, 22</value>
+ </data>
+ <data name="btnRefresh.Text" xml:space="preserve">
+ <value>Refresh</value>
+ </data>
+ <data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>226, 25</value>
+ </data>
+ <data name="toolStrip1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="toolStrip1.Text" xml:space="preserve">
+ <value>toolStrip1</value>
+ </data>
+ <data name=">>toolStrip1.Name" xml:space="preserve">
+ <value>toolStrip1</value>
+ </data>
+ <data name=">>toolStrip1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>toolStrip1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>toolStrip1.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="fileTree.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="fileTree.ImageIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <metadata name="imgList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>122, 17</value>
+ </metadata>
+ <data name="imgList.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA6
+ EQAAAk1TRnQBSQFMAgEBCQEAAVABAAFQAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
+ AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
+ AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
+ AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
+ AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
+ AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
+ ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
+ AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
+ AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
+ AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
+ AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
+ AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
+ AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
+ AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
+ AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
+ ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
+ Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
+ AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
+ AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
+ AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
+ ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
+ Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
+ AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
+ AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
+ AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
+ AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
+ AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
+ AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wEAD/8xAAH0AbwLBwG8
+ AfQyAAEHC/8BBzMAAbwB/wG8AfMBvAHzAbwB8wEHAfIBBwH/AbwzAAG8Af8B8wP/AfMC/wH0AfEB/wG8
+ MwABvAH/AbwD/wEHAf8C9AEHAf8BvDMAAbwB/wHzA/8B8gP0AfEB/wG8MwABvAH/AbwD/wEHA/QBBwH0
+ AbwzAAG8Af8B8wL/AfQB8QP0AfAB9AG8MwAB8AH/AQcB/wL0AQcC9AHzAe8B9AHwMwAB8AH/AfID9AHx
+ AfQC8wHwAfQB8DMAAfAB/wEHA/QBBwLzAfEB7wH0AfAzAAHwAf8B8QP0AfAB8wHxA/cBvDMAAfAB/wEH
+ AfEBBwHwAe8B8ALvAf8B8AH0MwAB8QP/BfQBBwHxAfQ0AAHzCfIB9DUADv8BAAH/AfQBvAoHAbwB9AH/
+ EAAB/wH0AbwKBwG8AfQB/wEAAv8B9AHyAfcBbQIVAW0B9wHyAfQC/wEAAv8BBwr/AQcU/wEHCv8BBwL/
+ AwAB8QHqAW0B6wHqARUBEQFDARIB8QUAAbwK/wG8AgABvA4HAbwCAAG8Cv8BvAQAAfEB6gLsAeoBEwEU
+ AUMCEQESAfEEAAG8Av8B7wT/AfcB9AH/AbwCAAEHAf8M9AH/AQcCAAG8Bv8BBwHtAQcB/wG8AwAB/wHr
+ A+wBbQEVAUMBFAEVAkMBbQH/AwABvAH/Au8B3QGsAdMBGQHvAfcB/wG8AgABvAH0A4sBrQS0AboD3AH0
+ AbwCAAG8BP8B7wKSAfQBkgH/AbwDAAG8AW0B7AHtAuwC9AHsAeoBFAEVARMBvAMAAbwB8wFtAf8CrALT
+ AfQBbQHzAbwCAAG8AfQDiwGtA7QBuwEJAdwCGQH0AbwCAAG8BP8B9wH/AbwB7wG8Af8BvAMAAe0CbQH3
+ AZIB8wIAAfMBkgFtARMBEgHtAwABvAHzAesB/wLVAqwB9AHrAfMBvAIAAbwB9AFlAWsDbAGLA5EBtAG7
+ AQkB9AG8AgABvAT/AfcE9AH/AbwDAAHrAm0C7wH/AgAB/wHtAewB6gFtAesDAAG8Af8CBwEZAdUBrAEJ
+ AQcB7wH0AbwCAAG8Af8CSQFsAZIBuwG8AhkD9AL/AbwCAAG8Af8BBwGSAQcB7wH0AQcBkgEHAfQBvAMA
+ AewCEgH3AQcB/wIAAf8B7AHtAW0B6wHsAwAB8AL/AQcE9AEHAfMB9AHwAgAB8AH/AnEBuwUZAfQBGQL0
+ Af8B8AIAAfAB/wHvAfQE7wH0AfcB9AHwAwABkgITAW0BBwHzAgAB8gTsAZIDAAHwAv8F9ALzAfQB8AIA
+ AfAB/wG7AQkD3QEZAd0CCQIZAfQB/wHwAgAB8AH/AfEBvAHwAvQBvAEHAbwB9AHwAwAB8AHqARUBFAFt
+ AewC9AHsAesB7AGSAewB8AMAAfAB/wX0AvMB8QH0AfACAAHwAf8C1QHbAdwB2wTcAQkCGQH/AfACAAHw
+ Af8F9ALzAfEB9AHwAwAB/wHsARQBFQIUAkMB6gFtAvcB7AH/AwAB8AH/BPQC8wLxAfQB8AIAAfAB/wfU
+ AtUB3AEJAdwB/wHwAgAB8AH/BPQC8wLxAfQB8AQAAfIB7AEUARUCFAETAeoB7QHvAewB8gQAAfAB/wP0
+ AvMB8QP3AbwCAAHwDv8B8AIAAfAB/wP0AvMB8QP3AbwFAAHyAewBbQESAeoB7AGSAu0B8gUAAfAB/wL0
+ AvMC8QHvAf8B8AH0AgAB8w7xAfMCAAHwAf8C9ALzAvEB7wH/AfAB9AYAAf8B8AHvAuwB7wHwAf8GAAHx
+ Av8F9AEHAfEB9BUAAfEC/wX0AQcB8QH0FQAB8wjyAfQWAAHzCPIB9BQAAf8B9AG8CgcBvAH0Av8B9AG8
+ CgcBvAH0I/8BBwr/AQcE/wEHCv8BBwL/AfQB8wEHAXQIbwF0AQcB8wH0AZkOdAGZAgABvAr/AbwEAAG8
+ Cv8BvAMAARoBdApTAXQBGgEAAXQOmgF0AgABvAj/AfQB/wG8BAABvAj/AfQB/wG8AwABmQpTAVIBUwGT
+ AQABmQGaDHoBmgGZAgABvAL/AS4E/wL0Af8BvAQAAbwH/wL0Af8BvAMAAZMCUwL/CFMBkwEAAZkOmgGZ
+ AgABvAH/AS4BmAEuAf8B8wG8AfEBBwH/AbwEAAG8Bv8D9AH/AbwDAAF0AlMC/wJTAXoD/wJTAXQBAAGZ
+ DpoBmQIAAbwB/wEIAf8BCAFPBPQB/wG8BAABvAX/BPQB/wG8AwABdAxTAXQBAAGZDpoBmQIAAbwE/wb0
+ AbwEAAG8BP8G9AG8AwABdAJTA/8CmgP/AlMBdAEAAZkOmgGZAgAB8AL/AU8F9AHzAfQB8AQAAfAD/wX0
+ AfMB9AHwAwABdAxTAXQBAAGZDpoBmQIAAfAB/wFPAZgBTwH0AfEBBwG8Ae8B9AHwBAAB8AL/BfQC8wH0
+ AfADAAF0AlMD/wKaA/8CUwF1AQABGgGgBpoHoAEaAgAB8AH/AQgB9AEIAU8B9ALzAfEB9AHwBAAB8AH/
+ BfQC8wHxAfQB8AMAAXQMUwF1AQABGgGgBZoBoAGZBnkBGgIAAfAB/wT0AvMC8QH0AfAEAAHwAf8E9ALz
+ AvEB9AHwAwABdAFTAVID/wKaA/8CUwF1AQABGgagApoGoAEaAgAB8AH/A/QC8wHxA/cBvAQAAfAB/wP0
+ AvMB8QP3AbwDAAF0AVMBKwFSCVMBdQEAARsHGgL/AfQB8wLaARoBGwIAAfAB/wL0AvMC8QHvAf8B8AH0
+ BAAB8AH/AvQC8wLxAe8B/wHwAfQDAAEaAVIKUwF1ARoIAAH0BhoB9AMAAfEC/wX0AQcB8QH0BQAB8QL/
+ BfQBBwHxAfQEAAH/ARoJdAF1ARoB/xMAAfMI8gH0BgAB8wjyAfQUAAFCAU0BPgcAAT4DAAEoAwABQAMA
+ ATADAAEBAQABAQUAAYABARYAA/8CAAEBBwABAQYAAYABAwYAAYABAwYAAYABAwYAAYABAwYAAYABAwYA
+ AYABAwYAAYABAwYAAYABAwYAAYABAwYAAYABAwYAAYABAwYAAYABAwYAAYABBwYAAYABDwYAAYABAQIA
+ Av8CAAGAAQEGAAHgAQcBwAEDAgABwAEDAcABAwHAAQMCAAHAAQMBgAEBAcABAwIAAcABAwGAAQEBwAED
+ AgABwAEDAoEBwAEDAgABwAEDAoEBwAEDAgABwAEDAoEBwAEDAgABwAEDAoEBwAEDAgABwAEDAYABAQHA
+ AQMCAAHAAQMBgAEBAcABAwIAAcABAwHAAQMBwAEDAgABwAEDAeABBwHAAQMCAAHAAQMB8AEPAcABBwL/
+ AcABBwL/AcABDwL/AcABDwL/EAABwAEDAcABAwGAAQECAAHAAQMBwAEDAYABAQIAAcABAwHAAQMBgAEB
+ AgABwAEDAcABAwGAAQECAAHAAQMBwAEDAYABAQIAAcABAwHAAQMBgAEBAgABwAEDAcABAwGAAQECAAHA
+ AQMBwAEDAYABAQIAAcABAwHAAQMBgAEBAgABwAEDAcABAwGAAQECAAHAAQMBwAEDAYABAQIAAcABAwHA
+ AQMBgAEBAf4BAQHAAQcBwAEHAYABAQL/AcABDwHAAQ8C/ws=
+</value>
+ </data>
+ <data name="fileTree.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 25</value>
+ </data>
+ <data name="fileTree.SelectedImageIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="fileTree.Size" type="System.Drawing.Size, System.Drawing">
+ <value>226, 328</value>
+ </data>
+ <data name="fileTree.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name=">>fileTree.Name" xml:space="preserve">
+ <value>fileTree</value>
+ </data>
+ <data name=">>fileTree.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TreeView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>fileTree.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>fileTree.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <metadata name="ctxFolder.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>213, 17</value>
+ </metadata>
+ <data name="ctxFolder.Size" type="System.Drawing.Size, System.Drawing">
+ <value>186, 26</value>
+ </data>
+ <data name=">>ctxFolder.Name" xml:space="preserve">
+ <value>ctxFolder</value>
+ </data>
+ <data name=">>ctxFolder.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="createConfigurationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>185, 22</value>
+ </data>
+ <data name="createConfigurationToolStripMenuItem.Text" xml:space="preserve">
+ <value>Create Configuration</value>
+ </data>
+ <metadata name="ctxConfig.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>314, 17</value>
+ </metadata>
+ <data name="ctxConfig.Size" type="System.Drawing.Size, System.Drawing">
+ <value>179, 48</value>
+ </data>
+ <data name=">>ctxConfig.Name" xml:space="preserve">
+ <value>ctxConfig</value>
+ </data>
+ <data name=">>ctxConfig.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="addRepresentationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>178, 22</value>
+ </data>
+ <data name="addRepresentationToolStripMenuItem.Text" xml:space="preserve">
+ <value>Add Representation</value>
+ </data>
+ <data name="editXMLToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>178, 22</value>
+ </data>
+ <data name="editXMLToolStripMenuItem.Text" xml:space="preserve">
+ <value>Edit XML</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>226, 353</value>
+ </data>
+ <data name=">>btnConnect.Name" xml:space="preserve">
+ <value>btnConnect</value>
+ </data>
+ <data name=">>btnConnect.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnRefresh.Name" xml:space="preserve">
+ <value>btnRefresh</value>
+ </data>
+ <data name=">>btnRefresh.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>toolStripSeparator1.Name" xml:space="preserve">
+ <value>toolStripSeparator1</value>
+ </data>
+ <data name=">>toolStripSeparator1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnPreview.Name" xml:space="preserve">
+ <value>btnPreview</value>
+ </data>
+ <data name=">>btnPreview.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>imgList.Name" xml:space="preserve">
+ <value>imgList</value>
+ </data>
+ <data name=">>imgList.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>createConfigurationToolStripMenuItem.Name" xml:space="preserve">
+ <value>createConfigurationToolStripMenuItem</value>
+ </data>
+ <data name=">>createConfigurationToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>addRepresentationToolStripMenuItem.Name" xml:space="preserve">
+ <value>addRepresentationToolStripMenuItem</value>
+ </data>
+ <data name=">>addRepresentationToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>editXMLToolStripMenuItem.Name" xml:space="preserve">
+ <value>editXMLToolStripMenuItem</value>
+ </data>
+ <data name=">>editXMLToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>FileSystemView</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>Maestro.Shared.UI.ViewContentBase, Maestro.Shared.UI, Version=4.0.0.6359, Culture=neutral, PublicKeyToken=f526c48929fda856</value>
+ </data>
+</root>
\ No newline at end of file
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/RestConfigEditor.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/RestConfigEditor.Designer.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/RestConfigEditor.Designer.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,96 @@
+namespace Maestro.AddIn.GeoRest.UI
+{
+ partial class RestConfigEditor
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RestConfigEditor));
+ this.toolStrip1 = new System.Windows.Forms.ToolStrip();
+ this.btnSave = new System.Windows.Forms.ToolStripButton();
+ this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+ this.btnValidate = new System.Windows.Forms.ToolStripButton();
+ this.txtXml = new System.Windows.Forms.RichTextBox();
+ this.toolStrip1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // toolStrip1
+ //
+ this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.btnSave,
+ this.toolStripSeparator1,
+ this.btnValidate});
+ resources.ApplyResources(this.toolStrip1, "toolStrip1");
+ this.toolStrip1.Name = "toolStrip1";
+ //
+ // btnSave
+ //
+ resources.ApplyResources(this.btnSave, "btnSave");
+ this.btnSave.Image = global::Maestro.AddIn.GeoRest.Properties.Resources.disk;
+ this.btnSave.Name = "btnSave";
+ this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
+ //
+ // toolStripSeparator1
+ //
+ this.toolStripSeparator1.Name = "toolStripSeparator1";
+ resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
+ //
+ // btnValidate
+ //
+ resources.ApplyResources(this.btnValidate, "btnValidate");
+ this.btnValidate.Image = global::Maestro.AddIn.GeoRest.Properties.Resources.document_task;
+ this.btnValidate.Name = "btnValidate";
+ this.btnValidate.Click += new System.EventHandler(this.btnValidate_Click);
+ //
+ // txtXml
+ //
+ resources.ApplyResources(this.txtXml, "txtXml");
+ this.txtXml.Name = "txtXml";
+ this.txtXml.TextChanged += new System.EventHandler(this.txtXml_TextChanged);
+ //
+ // RestConfigEditor
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ resources.ApplyResources(this, "$this");
+ this.Controls.Add(this.txtXml);
+ this.Controls.Add(this.toolStrip1);
+ this.Name = "RestConfigEditor";
+ this.toolStrip1.ResumeLayout(false);
+ this.toolStrip1.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.ToolStrip toolStrip1;
+ private System.Windows.Forms.ToolStripButton btnSave;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+ private System.Windows.Forms.ToolStripButton btnValidate;
+ private System.Windows.Forms.RichTextBox txtXml;
+ }
+}
\ No newline at end of file
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/RestConfigEditor.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/RestConfigEditor.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/RestConfigEditor.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,77 @@
+#region Disclaimer / License
+// Copyright (C) 2012, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using System.Xml;
+using Maestro.Shared.UI;
+using System.IO;
+
+namespace Maestro.AddIn.GeoRest.UI
+{
+ public partial class RestConfigEditor : Form
+ {
+ private string _origTitle;
+
+ public RestConfigEditor()
+ {
+ InitializeComponent();
+ _origTitle = this.Text;
+ }
+
+ private string _file;
+
+ public void LoadFile(string file)
+ {
+ _file = file;
+ txtXml.Text = File.ReadAllText(file);
+ this.Text = _origTitle + " - " + file;
+ }
+
+ private void txtXml_TextChanged(object sender, EventArgs e)
+ {
+ btnSave.Enabled = btnValidate.Enabled = true;
+ }
+
+ private void btnSave_Click(object sender, EventArgs e)
+ {
+ File.WriteAllText(_file, txtXml.Text);
+ MessageBox.Show(string.Format(Properties.Resources.FileSaved, _file));
+ }
+
+ private void btnValidate_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ var doc = new XmlDocument();
+ doc.LoadXml(txtXml.Text);
+ MessageBox.Show(Properties.Resources.XmlWellFormed);
+ }
+ catch (XmlException ex)
+ {
+ ErrorDialog.Show(ex);
+ }
+ }
+ }
+}
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/RestConfigEditor.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/RestConfigEditor.resx (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/RestConfigEditor.resx 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,243 @@
+<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>0, 0</value>
+ </metadata>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>604, 25</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="toolStrip1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="toolStrip1.Text" xml:space="preserve">
+ <value>toolStrip1</value>
+ </data>
+ <data name=">>toolStrip1.Name" xml:space="preserve">
+ <value>toolStrip1</value>
+ </data>
+ <data name=">>toolStrip1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>toolStrip1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>toolStrip1.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="btnSave.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="btnSave.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="btnSave.Size" type="System.Drawing.Size, System.Drawing">
+ <value>51, 22</value>
+ </data>
+ <data name="btnSave.Text" xml:space="preserve">
+ <value>Save</value>
+ </data>
+ <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>6, 25</value>
+ </data>
+ <data name="btnValidate.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="btnValidate.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="btnValidate.Size" type="System.Drawing.Size, System.Drawing">
+ <value>147, 22</value>
+ </data>
+ <data name="btnValidate.Text" xml:space="preserve">
+ <value>Validate XML Structure</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="txtXml.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="txtXml.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Courier New, 11.25pt</value>
+ </data>
+ <data name="txtXml.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 25</value>
+ </data>
+ <data name="txtXml.Size" type="System.Drawing.Size, System.Drawing">
+ <value>604, 386</value>
+ </data>
+ <data name="txtXml.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="txtXml.Text" xml:space="preserve">
+ <value />
+ </data>
+ <data name=">>txtXml.Name" xml:space="preserve">
+ <value>txtXml</value>
+ </data>
+ <data name=">>txtXml.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtXml.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>txtXml.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>604, 411</value>
+ </data>
+ <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+ <value>CenterParent</value>
+ </data>
+ <data name="$this.Text" xml:space="preserve">
+ <value>GeoREST Configuration</value>
+ </data>
+ <data name=">>btnSave.Name" xml:space="preserve">
+ <value>btnSave</value>
+ </data>
+ <data name=">>btnSave.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>toolStripSeparator1.Name" xml:space="preserve">
+ <value>toolStripSeparator1</value>
+ </data>
+ <data name=">>toolStripSeparator1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>btnValidate.Name" xml:space="preserve">
+ <value>btnValidate</value>
+ </data>
+ <data name=">>btnValidate.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>RestConfigEditor</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/TextEditor.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/TextEditor.Designer.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/TextEditor.Designer.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,86 @@
+namespace Maestro.AddIn.GeoRest.UI
+{
+ partial class TextEditor
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TextEditor));
+ this.toolStrip1 = new System.Windows.Forms.ToolStrip();
+ this.btnSave = new System.Windows.Forms.ToolStripButton();
+ this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+ this.txtContent = new System.Windows.Forms.RichTextBox();
+ this.toolStrip1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // toolStrip1
+ //
+ this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.btnSave,
+ this.toolStripSeparator1});
+ resources.ApplyResources(this.toolStrip1, "toolStrip1");
+ this.toolStrip1.Name = "toolStrip1";
+ //
+ // btnSave
+ //
+ resources.ApplyResources(this.btnSave, "btnSave");
+ this.btnSave.Image = global::Maestro.AddIn.GeoRest.Properties.Resources.disk;
+ this.btnSave.Name = "btnSave";
+ this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
+ //
+ // toolStripSeparator1
+ //
+ this.toolStripSeparator1.Name = "toolStripSeparator1";
+ resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
+ //
+ // txtContent
+ //
+ resources.ApplyResources(this.txtContent, "txtContent");
+ this.txtContent.Name = "txtContent";
+ this.txtContent.TextChanged += new System.EventHandler(this.txtXml_TextChanged);
+ //
+ // TextEditor
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ resources.ApplyResources(this, "$this");
+ this.Controls.Add(this.txtContent);
+ this.Controls.Add(this.toolStrip1);
+ this.Name = "TextEditor";
+ this.toolStrip1.ResumeLayout(false);
+ this.toolStrip1.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.ToolStrip toolStrip1;
+ private System.Windows.Forms.ToolStripButton btnSave;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+ private System.Windows.Forms.RichTextBox txtContent;
+ }
+}
\ No newline at end of file
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/TextEditor.cs
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/TextEditor.cs (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/TextEditor.cs 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,77 @@
+#region Disclaimer / License
+// Copyright (C) 2012, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using System.Xml;
+using Maestro.Shared.UI;
+using System.IO;
+
+namespace Maestro.AddIn.GeoRest.UI
+{
+ public partial class TextEditor : Form
+ {
+ private string _origTitle;
+
+ public TextEditor()
+ {
+ InitializeComponent();
+ _origTitle = this.Text;
+ }
+
+ private string _file;
+
+ public void LoadFile(string file)
+ {
+ _file = file;
+ txtContent.Text = File.ReadAllText(file);
+ this.Text = _origTitle + " - " + file;
+ }
+
+ private void txtXml_TextChanged(object sender, EventArgs e)
+ {
+ btnSave.Enabled = true;
+ }
+
+ private void btnSave_Click(object sender, EventArgs e)
+ {
+ File.WriteAllText(_file, txtContent.Text);
+ MessageBox.Show(string.Format(Properties.Resources.FileSaved, _file));
+ }
+
+ private void btnValidate_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ var doc = new XmlDocument();
+ doc.LoadXml(txtContent.Text);
+ MessageBox.Show(Properties.Resources.XmlWellFormed);
+ }
+ catch (XmlException ex)
+ {
+ ErrorDialog.Show(ex);
+ }
+ }
+ }
+}
Added: trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/TextEditor.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/TextEditor.resx (rev 0)
+++ trunk/Tools/Maestro/Maestro.AddIn.GeoRest/UI/TextEditor.resx 2012-01-24 13:34:05 UTC (rev 6452)
@@ -0,0 +1,225 @@
+<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>0, 0</value>
+ </metadata>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>604, 25</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="toolStrip1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="toolStrip1.Text" xml:space="preserve">
+ <value>toolStrip1</value>
+ </data>
+ <data name=">>toolStrip1.Name" xml:space="preserve">
+ <value>toolStrip1</value>
+ </data>
+ <data name=">>toolStrip1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>toolStrip1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>toolStrip1.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="btnSave.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="btnSave.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="btnSave.Size" type="System.Drawing.Size, System.Drawing">
+ <value>51, 22</value>
+ </data>
+ <data name="btnSave.Text" xml:space="preserve">
+ <value>Save</value>
+ </data>
+ <data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>6, 25</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="txtContent.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="txtContent.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Courier New, 11.25pt</value>
+ </data>
+ <data name="txtContent.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 25</value>
+ </data>
+ <data name="txtContent.Size" type="System.Drawing.Size, System.Drawing">
+ <value>604, 386</value>
+ </data>
+ <data name="txtContent.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="txtContent.Text" xml:space="preserve">
+ <value />
+ </data>
+ <data name=">>txtContent.Name" xml:space="preserve">
+ <value>txtContent</value>
+ </data>
+ <data name=">>txtContent.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>txtContent.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>txtContent.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>604, 411</value>
+ </data>
+ <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+ <value>CenterParent</value>
+ </data>
+ <data name="$this.Text" xml:space="preserve">
+ <value>Text Editor</value>
+ </data>
+ <data name=">>btnSave.Name" xml:space="preserve">
+ <value>btnSave</value>
+ </data>
+ <data name=">>btnSave.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>toolStripSeparator1.Name" xml:space="preserve">
+ <value>toolStripSeparator1</value>
+ </data>
+ <data name=">>toolStripSeparator1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>TextEditor</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Modified: trunk/Tools/Maestro/Maestro.Shared.UI/ZonedContainer.resx
===================================================================
--- trunk/Tools/Maestro/Maestro.Shared.UI/ZonedContainer.resx 2012-01-24 07:59:49 UTC (rev 6451)
+++ trunk/Tools/Maestro/Maestro.Shared.UI/ZonedContainer.resx 2012-01-24 13:34:05 UTC (rev 6452)
@@ -154,7 +154,7 @@
<value>True</value>
</data>
<data name="documentTabs.Size" type="System.Drawing.Size, System.Drawing">
- <value>240, 259</value>
+ <value>337, 415</value>
</data>
<data name="documentTabs.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -205,7 +205,7 @@
<value>True</value>
</data>
<data name="bottomZone.Size" type="System.Drawing.Size, System.Drawing">
- <value>240, 181</value>
+ <value>337, 181</value>
</data>
<data name="bottomZone.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -241,10 +241,10 @@
<value>100</value>
</data>
<data name="docBottomContainer.Size" type="System.Drawing.Size, System.Drawing">
- <value>240, 444</value>
+ <value>337, 600</value>
</data>
<data name="docBottomContainer.SplitterDistance" type="System.Int32, mscorlib">
- <value>259</value>
+ <value>415</value>
</data>
<data name="docBottomContainer.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -298,7 +298,7 @@
<value>True</value>
</data>
<data name="rightZone.Size" type="System.Drawing.Size, System.Drawing">
- <value>138, 444</value>
+ <value>215, 600</value>
</data>
<data name="rightZone.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -334,10 +334,10 @@
<value>No</value>
</data>
<data name="docRightContainer.Size" type="System.Drawing.Size, System.Drawing">
- <value>382, 444</value>
+ <value>556, 600</value>
</data>
<data name="docRightContainer.SplitterDistance" type="System.Int32, mscorlib">
- <value>240</value>
+ <value>337</value>
</data>
<data name="docRightContainer.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -379,7 +379,7 @@
<value>True</value>
</data>
<data name="leftZone.Size" type="System.Drawing.Size, System.Drawing">
- <value>240, 444</value>
+ <value>240, 600</value>
</data>
<data name="leftZone.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -424,7 +424,7 @@
<value>1</value>
</data>
<data name="topContainer.Size" type="System.Drawing.Size, System.Drawing">
- <value>626, 444</value>
+ <value>800, 600</value>
</data>
<data name="topContainer.SplitterDistance" type="System.Int32, mscorlib">
<value>240</value>
@@ -466,7 +466,7 @@
<value>Close All Tabs</value>
</data>
<data name="ctxDocumentTabs.Size" type="System.Drawing.Size, System.Drawing">
- <value>167, 92</value>
+ <value>167, 70</value>
</data>
<data name=">>ctxDocumentTabs.Name" xml:space="preserve">
<value>ctxDocumentTabs</value>
@@ -478,7 +478,7 @@
<value>True</value>
</metadata>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
- <value>626, 444</value>
+ <value>800, 600</value>
</data>
<data name=">>docImgList.Name" xml:space="preserve">
<value>docImgList</value>
Modified: trunk/Tools/Maestro/SDK/sdk_changelog.txt
===================================================================
--- trunk/Tools/Maestro/SDK/sdk_changelog.txt 2012-01-24 07:59:49 UTC (rev 6451)
+++ trunk/Tools/Maestro/SDK/sdk_changelog.txt 2012-01-24 13:34:05 UTC (rev 6452)
@@ -1,3 +1,13 @@
+4.1
+---
+
+- New utility included: SignMapGuideApi.exe
+ - Use this tool to sign official MapGuide/AIMS .net assemblies with the maestroapi.key
+
+- Includes source for the Maestro.LocalNative connection provider, allowing you to compile your own connection provider against your specific version of MapGuide/AIMS
+ - Assembly binding redirection is no longer supported
+ - Pre-built binaries for MGOS 2.2 included
+
4.0
---
More information about the mapguide-commits
mailing list