[mapguide-commits] r4427 - in trunk/Tools/Maestro: Maestro
Maestro/MaestroEditorInterface Maestro/ResourceEditors
Maestro/ResourceEditors/Strings Maestro/Strings MaestroAPI
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Sat Dec 12 14:27:42 EST 2009
Author: ksgeograf
Date: 2009-12-12 14:27:41 -0500 (Sat, 12 Dec 2009)
New Revision: 4427
Modified:
trunk/Tools/Maestro/Maestro/EditorInterface.cs
trunk/Tools/Maestro/Maestro/FormMain.cs
trunk/Tools/Maestro/Maestro/MaestroEditorInterface/EditorInterface.cs
trunk/Tools/Maestro/Maestro/ResourceEditors/FeatureSourceEditorBase.cs
trunk/Tools/Maestro/Maestro/ResourceEditors/FeatureSourceEditorGeneric.cs
trunk/Tools/Maestro/Maestro/ResourceEditors/FeatureSourceEditorGeneric.resx
trunk/Tools/Maestro/Maestro/ResourceEditors/ResourceDataEditor.cs
trunk/Tools/Maestro/Maestro/ResourceEditors/Strings/ResourceDataEditor.Designer.cs
trunk/Tools/Maestro/Maestro/ResourceEditors/Strings/ResourceDataEditor.resx
trunk/Tools/Maestro/Maestro/ResourceEditors/XmlEditor.cs
trunk/Tools/Maestro/Maestro/ResourceEditors/XmlEditorControl.cs
trunk/Tools/Maestro/Maestro/ResourceEditors/XmlEditorControl.resx
trunk/Tools/Maestro/Maestro/Strings/FormMain.Designer.cs
trunk/Tools/Maestro/Maestro/Strings/FormMain.resx
trunk/Tools/Maestro/MaestroAPI/Utf8XmlWriter.cs
Log:
Maestro:
Fixed issue #1151.
The xml editor now includes a resource data editor where applicable, including in the symbol definition editor.
The open problem was due to an poor implementation of the templates, this is now fixed.
Also fixed a formating issue when opening certain resources.
It was not possible to edit resource data, because the resource editors always used the actual resource, so a "cancel" would not undo the resource data changes.
Maestro is now using temporary resources for everything, so cancel works as expected.
Modified: trunk/Tools/Maestro/Maestro/EditorInterface.cs
===================================================================
--- trunk/Tools/Maestro/Maestro/EditorInterface.cs 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/EditorInterface.cs 2009-12-12 19:27:41 UTC (rev 4427)
@@ -31,6 +31,7 @@
private FormMain m_editor;
private TabPage m_page;
private string m_resourceID;
+ private string m_tempresourceID;
private bool m_existing;
private static string m_lastPath;
public event EventHandler Closing;
@@ -41,6 +42,15 @@
m_page = page;
m_existing = exisiting;
m_resourceID = resid;
+ if (!exisiting)
+ m_tempresourceID = m_resourceID;
+ else
+ {
+ string tmp = "Session:" + m_editor.CurrentConnection.SessionID + "//" + Guid.NewGuid().ToString() + "." + new MaestroAPI.ResourceIdentifier(m_resourceID).Extension;
+ m_editor.CurrentConnection.CopyResource(m_resourceID, tmp, true);
+ m_tempresourceID = tmp;
+ }
+
if (m_page != null)
m_page.ToolTipText = resid == null ? "" : resid;
}
@@ -73,11 +83,6 @@
m_editor.OpenResource(resourceID);
}
- public void CreateItem(string itemtype)
- {
- m_editor.CreateResource(null, itemtype);
- }
-
public void HasChanged()
{
if (m_page != null)
@@ -245,7 +250,7 @@
}
if (fullmsg.Length > 512)
- fullmsg = string.Format(Strings.EditorInterface.ValidationMessageTooLong, fullmsg.Substring(1024));
+ fullmsg = string.Format(Strings.EditorInterface.ValidationMessageTooLong, fullmsg.Substring(512));
if (errors.Count > 0)
msg = string.Format(Strings.EditorInterface.SaveWithErrorsConfirmation, fullmsg);
@@ -277,12 +282,11 @@
if (resid != null)
{
//If the control handles the save, we only update the local items
- if (!((IResourceEditorControl)m_page.Controls[0]).Save(resid))
- {
- m_editor.CurrentConnection.SaveResourceAs(((IResourceEditorControl)m_page.Controls[0]).Resource, resid);
- ((IResourceEditorControl)m_page.Controls[0]).ResourceId = resid;
- }
+ if (!((IResourceEditorControl)m_page.Controls[0]).Save(m_tempresourceID))
+ m_editor.CurrentConnection.SaveResourceAs(((IResourceEditorControl)m_page.Controls[0]).Resource, m_tempresourceID);
+ m_editor.CurrentConnection.CopyResource(m_tempresourceID, resid, true);
+
m_resourceID = resid;
m_page.Text = OSGeo.MapGuide.MaestroAPI.ResourceIdentifier.GetName(resid);
m_page.ToolTipText = resid;
@@ -340,6 +344,11 @@
return Save(m_resourceID);
}
+ public string TempResourceId
+ {
+ get { return m_tempresourceID; }
+ }
+
public DialogResult LengthyOperation(object caller, System.Reflection.MethodInfo mi)
{
return LengthyOperation(caller, mi, true);
Modified: trunk/Tools/Maestro/Maestro/FormMain.cs
===================================================================
--- trunk/Tools/Maestro/Maestro/FormMain.cs 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/FormMain.cs 2009-12-12 19:27:41 UTC (rev 4427)
@@ -1150,45 +1150,16 @@
get { return m_connection; }
}
- public void CreateResource(object item, string itemType)
- {
- string resourceID = "Library://" + Guid.NewGuid().ToString() + "." + itemType;
- System.Type ClassDef = m_editors.GetResourceEditorTypeFromResourceType(itemType);
-
- if (ClassDef != null)
- try
- {
- EditorInterface edi = AddEditTab(ClassDef, resourceID, false);
- if (item != null)
- ((IResourceEditorControl)edi.Page.Controls[0]).Resource = item;
- tabItems.SelectedTab = edi.Page;
- edi.HasChanged();
- }
- catch(Exception ex)
- {
- if (ex as System.Reflection.TargetInvocationException != null)
- ex = ex.InnerException;
-
- if (ex is CancelException)
- return;
-
- MessageBox.Show(this, string.Format(Strings.FormMain.CreateResourceError, resourceID, ex.ToString()), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- else
- MessageBox.Show(this, string.Format(Strings.FormMain.UnknownResourceTypeError, resourceID), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
-
-
public void OpenResource(string resourceID)
{
OpenResource(resourceID, null);
}
- public void OpenResource(string resourceID, System.Type type)
+ public void OpenResource(string resourceID, System.Type ControlType)
{
if (!m_userControls.ContainsKey(resourceID))
{
- System.Type ClassDef = type;
+ System.Type ClassDef = ControlType;
if (ClassDef == null)
ClassDef = m_editors.GetResourceEditorTypeFromResourceID(resourceID);
@@ -1196,7 +1167,7 @@
ClassDef = typeof(ResourceEditors.XmlEditorControl);
if (ClassDef != null)
- try { AddEditTab(ClassDef, resourceID, true); }
+ try { AddEditTab(ClassDef, resourceID, resourceID.StartsWith("Library://")); }
catch (System.Reflection.TargetInvocationException tex) { MessageBox.Show(this, string.Format(Strings.FormMain.OpenFailedError, resourceID, tex.InnerException.Message), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); }
catch (Exception ex) { MessageBox.Show(this, string.Format(Strings.FormMain.OpenFailedError, resourceID, ex.ToString()), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); }
else
@@ -1229,19 +1200,13 @@
if (existing)
tp = new TabPage(m_editors.GetResourceNameFromResourceID(resourceID));
else
- tp = new TabPage(Strings.FormMain.NewResourceName);
+ tp = new TabPage(Strings.FormMain.NewResourceName + " *");
tp.ImageIndex = m_editors.GetImageIndexFromResourceID(resourceID);
EditorInterface edi = new EditorInterface(this, tp, resourceID, existing);
- object[] args = null;
- if (!existing)
- args = new object[] {edi};
- else
- args = new object[] {edi, resourceID};
+ UserControl uc = (UserControl)Activator.CreateInstance(controlType, new object[] {edi, edi.TempResourceId} );
- UserControl uc = (UserControl)Activator.CreateInstance(controlType, args );
-
/*tp.BackgroundImage = new System.Drawing.Bitmap("test.png");
tp.BackgroundImageLayout = ImageLayout.Stretch;
uc.BackColor = Color.Transparent;*/
@@ -1328,28 +1293,29 @@
private void NewResourceMenu_Clicked(object sender, System.EventArgs e)
{
- string filename = (string)m_templateMenuIndex[sender];
- if (filename == null)
- return;
+ CreateItem((string)m_templateMenuIndex[sender]);
+ }
- object o = null;
+ public void CreateItem(string templatefilename)
+ {
+ if (templatefilename == null)
+ return;
- try
- {
- using(System.IO.FileStream fs = new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read))
- o = m_connection.DeserializeObject(m_editors.GetResourceInstanceTypeFromResourceID(filename), fs);
+ try
+ {
+ string tempname = "Session:" + m_connection.SessionID + "//" + Guid.NewGuid().ToString() + System.IO.Path.GetExtension(templatefilename);
+ using (System.IO.FileStream fs = new System.IO.FileStream(templatefilename, System.IO.FileMode.Open, System.IO.FileAccess.Read))
+ m_connection.SetResourceXmlData(tempname, fs);
- }
- catch(Exception ex)
- {
- MessageBox.Show(this, string.Format(Strings.FormMain.TemplateLoadError, ex.ToString()), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
+ OpenResource(tempname);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(this, string.Format(Strings.FormMain.TemplateLoadError, ex.ToString()), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ }
- if (o != null)
- CreateResource(o, m_editors.GetResourceTypeNameFromResourceID(filename));
- }
-
private void ResourceTree_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e)
{
ResourceTree.DoDragDrop(e.Item, DragDropEffects.All);
@@ -1745,7 +1711,7 @@
if (edi.Page == tabItems.SelectedTab)
{
object resource = ((IResourceEditorControl)edi.Page.Controls[0]).Resource;
- ResourceEditors.XmlEditor dlg = new ResourceEditors.XmlEditor(resource, edi);
+ ResourceEditors.XmlEditor dlg = new ResourceEditors.XmlEditor(resource, edi.ResourceID, edi);
if (dlg.ShowDialog() == DialogResult.OK)
{
object o = dlg.SerializedObject;
@@ -2414,13 +2380,13 @@
{
SaveResourceButton.Enabled =
SaveResourceAsButton.Enabled =
- EditAsXmlButton.Enabled =
ClosePageButton.Enabled = true;
IResourceEditorControl ei = edi.Page.Controls[0] as IResourceEditorControl;
PreviewButton.Enabled = ei.SupportsPreview;
ProfileButton.Enabled = ei.SupportsProfiling;
ValidateButton.Enabled = ei.SupportsValidate;
+ EditAsXmlButton.Enabled = !(ei is ResourceEditors.XmlEditorControl);
TabPageContextMenu.Enabled = true;
}
}
Modified: trunk/Tools/Maestro/Maestro/MaestroEditorInterface/EditorInterface.cs
===================================================================
--- trunk/Tools/Maestro/Maestro/MaestroEditorInterface/EditorInterface.cs 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/MaestroEditorInterface/EditorInterface.cs 2009-12-12 19:27:41 UTC (rev 4427)
@@ -52,12 +52,6 @@
void EditItem(string resourceID);
/// <summary>
- /// Instructs the editor to begin creating a new resource.
- /// </summary>
- /// <param name="itemType">The type of resource to create</param>
- void CreateItem(string itemType);
-
- /// <summary>
/// Notifies the main editor that the resource has changed. This will put an asterisk (*) in the resource editor title.
/// </summary>
void HasChanged();
Modified: trunk/Tools/Maestro/Maestro/ResourceEditors/FeatureSourceEditorBase.cs
===================================================================
--- trunk/Tools/Maestro/Maestro/ResourceEditors/FeatureSourceEditorBase.cs 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/ResourceEditors/FeatureSourceEditorBase.cs 2009-12-12 19:27:41 UTC (rev 4427)
@@ -41,7 +41,6 @@
private System.Windows.Forms.TabControl EditorTab;
private System.Windows.Forms.TabPage CustomEditorPage;
private System.Windows.Forms.TabPage GenericEditorPage;
- private string m_realid = null;
private ResourceEditors.CoordinateSystemOverride CoordinateSystemOverride;
private System.Windows.Forms.Panel TestConnectionPanel;
private System.Windows.Forms.TextBox TestConnectionResult;
@@ -139,15 +138,11 @@
: this()
{
m_editor = editor;
- m_realid = resourceID;
- string nid = new MaestroAPI.ResourceIdentifier(Guid.NewGuid().ToString(), OSGeo.MapGuide.MaestroAPI.ResourceTypes.FeatureSource, m_editor.CurrentConnection.SessionID);
- editor.CurrentConnection.CopyResource(resourceID, nid, true);
- m_feature = editor.CurrentConnection.GetFeatureSource(nid);
+ m_feature = editor.CurrentConnection.GetFeatureSource(resourceID);
CreateLayout(editor, m_feature);
if (m_child == null)
throw new Exception(Strings.FeatureSourceEditorBase.FeatureSourceCreationError);
-
}
private System.Type ResolveSpecificResourceEditor(EditorInterface editor, string providerName)
@@ -223,20 +218,16 @@
get { return m_feature; }
set
{
- //TODO: If feature is edited by Xml, it won't update here
- if (m_realid != null)
- {
- //Recopy
- //m_editor.CurrentConnection.CopyResource(((OSGeo.MapGuide.MaestroAPI.FeatureSource)value).ResourceId, m_feature.ResourceId, true);
- m_editor.CurrentConnection.SaveResourceAs(value, m_feature.ResourceId);
- m_feature = m_editor.CurrentConnection.GetFeatureSource(m_feature.ResourceId);
- m_child.Resource = m_feature;
- if (m_childGeneric != null)
- m_childGeneric.Resource = m_feature;
- CoordinateSystemOverride.SetItem(m_editor, m_feature);
- UpdateDisplay();
- }
- }
+ m_feature = (MaestroAPI.FeatureSource)value;
+ m_child.Resource = m_feature;
+ if (m_childGeneric != null)
+ m_childGeneric.Resource = m_feature;
+ CoordinateSystemOverride.SetItem(m_editor, m_feature);
+ UpdateDisplay();
+ m_child.UpdateDisplay();
+ if (m_childGeneric != null)
+ m_childGeneric.UpdateDisplay();
+ }
}
public string ResourceId
@@ -430,12 +421,9 @@
if (!m_child.Save(savename))
- {
- m_editor.CurrentConnection.SaveResource(m_feature);
- m_editor.CurrentConnection.CopyResource(m_feature.ResourceId, savename, true);
- m_realid = savename;
+ m_editor.CurrentConnection.SaveResourceAs(m_feature, savename);
- }
+ m_feature.ResourceId = savename;
return true;
}
Modified: trunk/Tools/Maestro/Maestro/ResourceEditors/FeatureSourceEditorGeneric.cs
===================================================================
--- trunk/Tools/Maestro/Maestro/ResourceEditors/FeatureSourceEditorGeneric.cs 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/ResourceEditors/FeatureSourceEditorGeneric.cs 2009-12-12 19:27:41 UTC (rev 4427)
@@ -262,6 +262,8 @@
this.resourceDataEditor.Name = "resourceDataEditor";
this.resourceDataEditor.ResourceExists = false;
this.resourceDataEditor.ResourceID = null;
+ this.resourceDataEditor.UseTemporaryResource = false;
+ this.resourceDataEditor.ResourceDataChanged += new System.EventHandler(this.resourceDataEditor_ResourceDataChanged);
//
// FeatureSourceEditorGeneric
//
@@ -335,5 +337,10 @@
public bool SupportsPreview { get { return true; } }
public bool SupportsValidate { get { return true; } }
public bool SupportsProfiling { get { return false; } }
+
+ private void resourceDataEditor_ResourceDataChanged(object sender, EventArgs e)
+ {
+ m_editor.HasChanged();
+ }
}
}
Modified: trunk/Tools/Maestro/Maestro/ResourceEditors/FeatureSourceEditorGeneric.resx
===================================================================
--- trunk/Tools/Maestro/Maestro/ResourceEditors/FeatureSourceEditorGeneric.resx 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/ResourceEditors/FeatureSourceEditorGeneric.resx 2009-12-12 19:27:41 UTC (rev 4427)
@@ -184,7 +184,7 @@
<value>resourceDataEditor</value>
</data>
<data name=">>resourceDataEditor.Type" xml:space="preserve">
- <value>OSGeo.MapGuide.Maestro.ResourceEditors.ResourceDataEditor, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4347, Culture=neutral, PublicKeyToken=null</value>
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.ResourceDataEditor, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4358, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name=">>resourceDataEditor.Parent" xml:space="preserve">
<value>$this</value>
Modified: trunk/Tools/Maestro/Maestro/ResourceEditors/ResourceDataEditor.cs
===================================================================
--- trunk/Tools/Maestro/Maestro/ResourceEditors/ResourceDataEditor.cs 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/ResourceEditors/ResourceDataEditor.cs 2009-12-12 19:27:41 UTC (rev 4427)
@@ -33,6 +33,8 @@
/// </summary>
public class ResourceDataEditor : System.Windows.Forms.UserControl
{
+ public event EventHandler ResourceDataChanged;
+
private System.Windows.Forms.ImageList toolbarImages;
private System.Windows.Forms.ColumnHeader columnHeader1;
private System.Windows.Forms.ListView ResourceDataFiles;
@@ -49,11 +51,31 @@
private ToolStripButton ToggleDocumentsButton;
private MenuItem EditResourceXmlMenu;
+ private bool m_useTempResource = true;
+
+ /// <summary>
+ /// Gets or sets a value that determines if the resource data editor
+ /// should use a temporary resource for updating files.
+ /// Usually used when the user may cancel the edit.
+ /// </summary>
+ [Category("Behavior"), DefaultValue(true)]
+ public bool UseTemporaryResource
+ {
+ get { return m_useTempResource; }
+ set
+ {
+ if (m_tempresourceid != null)
+ throw new Exception(Strings.ResourceDataEditor.UnableToChangeEditModeError);
+ m_useTempResource = value;
+ }
+ }
+
public ResourceDataEditor(EditorInterface editor, string resourceid)
: this()
{
m_editor = editor;
- m_resource = resourceid;
+ m_resourceid = resourceid;
+ m_tempresourceid = null;
this.Enabled = true;
}
@@ -212,7 +234,8 @@
#endregion
private OSGeo.MapGuide.MaestroAPI.ResourceDataList m_resourceFiles;
- private string m_resource;
+ private string m_resourceid;
+ private string m_tempresourceid;
private EditorInterface m_editor;
private void ResourceDataFiles_SelectedIndexChanged(object sender, System.EventArgs e)
@@ -222,8 +245,13 @@
private void RefreshFileList()
{
- if (m_resourceExists && m_resource != null)
- m_resourceFiles = m_editor.CurrentConnection.EnumerateResourceData(m_resource);
+ if (m_resourceExists)
+ {
+ if (m_tempresourceid != null)
+ m_resourceFiles = m_editor.CurrentConnection.EnumerateResourceData(m_tempresourceid);
+ else if (m_resourceid != null)
+ m_resourceFiles = m_editor.CurrentConnection.EnumerateResourceData(m_resourceid);
+ }
}
private void UpdateDisplay()
@@ -233,7 +261,7 @@
ResourceDataFiles.BeginUpdate();
ResourceDataFiles.Items.Clear();
- if (m_resourceExists && m_resource != null)
+ if (m_resourceExists && m_resourceid != null)
{
if (m_resourceFiles == null)
RefreshFileList();
@@ -606,6 +634,12 @@
if (menu == null)
return;
+ if (ResourceDataFiles.SelectedItems.Count == 0)
+ return;
+
+ if (!EnsureTempResource())
+ return;
+
OSGeo.MapGuide.MaestroAPI.ResourceDataType targetType = (OSGeo.MapGuide.MaestroAPI.ResourceDataType)Enum.Parse(typeof(OSGeo.MapGuide.MaestroAPI.ResourceDataType), menu.Text);
foreach(ListViewItem i in ResourceDataFiles.SelectedItems)
{
@@ -614,14 +648,15 @@
try
{
retry = false;
- using (System.IO.Stream s = m_editor.CurrentConnection.GetResourceData(m_resource, i.Text))
+ using (System.IO.Stream s = m_editor.CurrentConnection.GetResourceData(m_tempresourceid, i.Text))
{
- m_editor.CurrentConnection.DeleteResourceData(m_resource, i.Text);
- m_editor.HasChanged();
+ m_editor.CurrentConnection.DeleteResourceData(m_tempresourceid, i.Text);
+ if (ResourceDataChanged != null)
+ ResourceDataChanged(this, null);
try
{
- m_editor.CurrentConnection.SetResourceData(m_resource, i.Text, targetType, s);
+ m_editor.CurrentConnection.SetResourceData(m_tempresourceid, i.Text, targetType, s);
}
catch
{
@@ -629,7 +664,7 @@
{
//Attempt to recover the file
s.Position = 0;
- m_editor.CurrentConnection.SetResourceData(m_resource, i.Text, ((MaestroAPI.ResourceDataListResourceData)i.Tag).Type, s);
+ m_editor.CurrentConnection.SetResourceData(m_tempresourceid, i.Text, ((MaestroAPI.ResourceDataListResourceData)i.Tag).Type, s);
}
catch { }
throw;
@@ -677,15 +712,31 @@
public string ResourceID
{
- get { return m_resource; }
+ get { return m_resourceid; }
set
{
- m_resource = value;
+ //It's faster if we don't clean up, and just let the session expire
+ /*if (m_tempresourceid != null)
+ {
+ try { m_editor.CurrentConnection.DeleteResource(m_tempresourceid); }
+ catch { }
+ }*/
+ m_resourceid = value;
+ m_tempresourceid = null;
RefreshFileList();
UpdateDisplay();
}
}
+ public void SaveChanges()
+ {
+ if (m_tempresourceid != null && m_resourceid != null && m_tempresourceid != m_resourceid)
+ {
+ m_editor.CurrentConnection.MoveResource(m_tempresourceid, m_resourceid, true);
+ m_tempresourceid = null;
+ }
+ }
+
public OSGeo.MapGuide.MaestroAPI.ServerConnectionI Connection
{
get { return m_editor.CurrentConnection; }
@@ -699,20 +750,54 @@
private void AddFileButton_Click(object sender, EventArgs e)
{
- if (AddFilesToResource(this, m_editor.CurrentConnection, m_resource, m_resourceFiles))
+ if (!EnsureTempResource())
+ return;
+
+ if (AddFilesToResource(this, m_editor.CurrentConnection, m_tempresourceid, m_resourceFiles))
{
- m_editor.HasChanged();
-
+ if (ResourceDataChanged != null)
+ ResourceDataChanged(this, null);
+
RefreshFileList();
UpdateDisplay();
}
}
+ private bool EnsureTempResource()
+ {
+ try
+ {
+ if (this.UseTemporaryResource)
+ {
+ if (m_tempresourceid == null)
+ {
+ string tmp = "Session:" + m_editor.CurrentConnection.SessionID + "//" + Guid.NewGuid().ToString() + "." + new MaestroAPI.ResourceIdentifier(m_resourceid).Extension;
+ m_editor.CurrentConnection.CopyResource(m_resourceid, tmp, true);
+ m_tempresourceid = tmp;
+ }
+ }
+ else
+ m_tempresourceid = m_resourceid;
+ }
+ catch (Exception ex)
+ {
+ m_editor.SetLastException(ex);
+ MessageBox.Show(this, string.Format(Strings.ResourceDataEditor.FailedToCreateCopyError, ex.Message), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return false;
+ }
+
+ return true;
+ }
+
private void DeleteFileButton_Click(object sender, EventArgs e)
{
- if (DeleteFilesFromResource(this, m_editor.CurrentConnection, m_resource, ResourceDataFiles))
+ if (!EnsureTempResource())
+ return;
+
+ if (DeleteFilesFromResource(this, m_editor.CurrentConnection, m_tempresourceid, ResourceDataFiles))
{
- m_editor.HasChanged();
+ if (ResourceDataChanged != null)
+ ResourceDataChanged(this, null);
RefreshFileList();
UpdateDisplay();
@@ -721,7 +806,10 @@
private void DownloadFileButton_Click(object sender, EventArgs e)
{
- if (DownloadResourceFiles(this, m_editor.CurrentConnection, m_resource, ResourceDataFiles))
+ if (!EnsureTempResource())
+ return;
+
+ if (DownloadResourceFiles(this, m_editor.CurrentConnection, m_tempresourceid, ResourceDataFiles))
{
RefreshFileList();
UpdateDisplay();
@@ -741,16 +829,20 @@
if (ResourceDataFiles.SelectedItems.Count != 1)
return;
+ if (!EnsureTempResource())
+ return;
+
XmlEditor dlg;
- using (System.IO.StreamReader sr = new System.IO.StreamReader(m_editor.CurrentConnection.GetResourceData(m_resource, ResourceDataFiles.SelectedItems[0].Text), System.Text.Encoding.UTF8, true))
+ using (System.IO.StreamReader sr = new System.IO.StreamReader(m_editor.CurrentConnection.GetResourceData(m_tempresourceid, ResourceDataFiles.SelectedItems[0].Text), System.Text.Encoding.UTF8, true))
dlg = new XmlEditor(sr.ReadToEnd(), m_editor.CurrentConnection);
if (dlg.ShowDialog(this) == DialogResult.OK)
{
- using(System.IO.MemoryStream ms = new System.IO.MemoryStream(new System.Text.UTF8Encoding(false).GetBytes(dlg.EditorText)))
- m_editor.CurrentConnection.SetResourceData(m_resource, ResourceDataFiles.SelectedItems[0].Text, ((MaestroAPI.ResourceDataListResourceData)(ResourceDataFiles.SelectedItems[0].Tag)).Type, ms);
-
- m_editor.HasChanged();
+ using (System.IO.MemoryStream ms = new System.IO.MemoryStream(new System.Text.UTF8Encoding(false).GetBytes(dlg.EditorText)))
+ m_editor.CurrentConnection.SetResourceData(m_tempresourceid, ResourceDataFiles.SelectedItems[0].Text, ((MaestroAPI.ResourceDataListResourceData)(ResourceDataFiles.SelectedItems[0].Tag)).Type, ms);
+
+ if (ResourceDataChanged != null)
+ ResourceDataChanged(this, null);
}
}
catch (Exception ex)
Modified: trunk/Tools/Maestro/Maestro/ResourceEditors/Strings/ResourceDataEditor.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro/ResourceEditors/Strings/ResourceDataEditor.Designer.cs 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/ResourceEditors/Strings/ResourceDataEditor.Designer.cs 2009-12-12 19:27:41 UTC (rev 4427)
@@ -110,6 +110,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to Unable to create a temporary resource: {0}.
+ /// </summary>
+ internal static string FailedToCreateCopyError {
+ get {
+ return ResourceManager.GetString("FailedToCreateCopyError", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to There exists {0} file(s) with similar names which may be required.
///Do you want to automatically add matching files?.
/// </summary>
@@ -140,6 +149,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to Unable to change edit mode after the user has modified the resource.
+ /// </summary>
+ internal static string UnableToChangeEditModeError {
+ get {
+ return ResourceManager.GetString("UnableToChangeEditModeError", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Failed to update xml data: {0}.
/// </summary>
internal static string UpdateXmlDataError {
Modified: trunk/Tools/Maestro/Maestro/ResourceEditors/Strings/ResourceDataEditor.resx
===================================================================
--- trunk/Tools/Maestro/Maestro/ResourceEditors/Strings/ResourceDataEditor.resx 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/ResourceEditors/Strings/ResourceDataEditor.resx 2009-12-12 19:27:41 UTC (rev 4427)
@@ -141,6 +141,10 @@
<value>Select folder where downloaded files will be saved</value>
<comment>The title for the dialog where the user can choose the location for the files that are being downloaded</comment>
</data>
+ <data name="FailedToCreateCopyError" xml:space="preserve">
+ <value>Unable to create a temporary resource: {0}</value>
+ <comment>An error message that is displayed when the copy procedure fails</comment>
+ </data>
<data name="IncludeSimilarFilesConfirmation" xml:space="preserve">
<value>There exists {0} file(s) with similar names which may be required.
Do you want to automatically add matching files?</value>
@@ -156,6 +160,10 @@
Do you want to overwrite the existing file?</value>
<comment>A confirmation message that appears when the user attempts to overwrite an existing resource file</comment>
</data>
+ <data name="UnableToChangeEditModeError" xml:space="preserve">
+ <value>Unable to change edit mode after the user has modified the resource</value>
+ <comment>An internal error message that appears if the control is modified in an unsupported way</comment>
+ </data>
<data name="UpdateXmlDataError" xml:space="preserve">
<value>Failed to update xml data: {0}</value>
<comment>An error message that is displayed when the xml fails to save</comment>
Modified: trunk/Tools/Maestro/Maestro/ResourceEditors/XmlEditor.cs
===================================================================
--- trunk/Tools/Maestro/Maestro/ResourceEditors/XmlEditor.cs 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/ResourceEditors/XmlEditor.cs 2009-12-12 19:27:41 UTC (rev 4427)
@@ -48,10 +48,10 @@
panel2.Controls.Add(m_xmlEditorControl);
}
- public XmlEditor(object item, EditorInterface editor)
+ public XmlEditor(object item, string resourceId, EditorInterface editor)
: this()
{
- m_xmlEditorControl = new XmlEditorControl(editor, item);
+ m_xmlEditorControl = new XmlEditorControl(editor, item, resourceId);
m_xmlEditorControl.Dock = DockStyle.Fill;
panel2.Controls.Add(m_xmlEditorControl);
}
@@ -149,6 +149,7 @@
{
m_allowClose = true;
m_xmlEditorControl.EndExternalEditing();
+ m_xmlEditorControl.SaveResourceData();
this.DialogResult = DialogResult.OK;
this.Close();
}
Modified: trunk/Tools/Maestro/Maestro/ResourceEditors/XmlEditorControl.cs
===================================================================
--- trunk/Tools/Maestro/Maestro/ResourceEditors/XmlEditorControl.cs 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/ResourceEditors/XmlEditorControl.cs 2009-12-12 19:27:41 UTC (rev 4427)
@@ -60,21 +60,23 @@
private ToolStripSeparator toolStripSeparator3;
private ToolStripButton LaunchExternalEditorButton;
private string m_resourceId = null;
+ private GroupBox ResourceDataGroup;
+ private ResourceDataEditor resourceDataEditor;
private bool m_modified = false;
public XmlEditorControl(EditorInterface editor, string item)
- : this(editor, editor.CurrentConnection.TryGetResourceType(item) == null ? editor.CurrentConnection.GetResourceXmlData(item) : editor.CurrentConnection.GetResource(item))
+ : this(editor, editor.CurrentConnection.TryGetResourceType(item) == null ? editor.CurrentConnection.GetResourceXmlData(item) : editor.CurrentConnection.GetResource(item), item)
{
m_resourceId = item;
}
- public XmlEditorControl(EditorInterface editor, object item)
+ public XmlEditorControl(EditorInterface editor, object item, string resourceId)
: this(editor)
{
m_inUpdate = true;
m_editor = editor;
- m_resourceId = null;
+ m_resourceId = resourceId;
m_serializeType = null;
m_serializedObject = null;
@@ -82,7 +84,22 @@
if (item is byte[])
{
- textEditor.Text = System.Text.Encoding.UTF8.GetString(item as byte[]);
+ try
+ {
+ //Attempt to format this with indents etc.
+ System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
+ doc.LoadXml(System.Text.Encoding.UTF8.GetString(item as byte[]));
+ using (System.IO.StringWriter sw = new System.IO.StringWriter())
+ {
+ doc.WriteTo(new MaestroAPI.Utf8XmlWriter(sw));
+ textEditor.Text = sw.GetStringBuilder().ToString();
+ }
+ }
+ catch
+ {
+ //Fallback, just display the text
+ textEditor.Text = System.Text.Encoding.UTF8.GetString(item as byte[]);
+ }
}
else
{
@@ -182,6 +199,7 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(XmlEditorControl));
this.panel2 = new System.Windows.Forms.Panel();
this.textEditor = new System.Windows.Forms.TextBox();
+ this.ResourceDataGroup = new System.Windows.Forms.GroupBox();
this.LockedMessagePanel = new System.Windows.Forms.Panel();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
@@ -198,7 +216,9 @@
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.LaunchExternalEditorButton = new System.Windows.Forms.ToolStripButton();
this.toolbarImages = new System.Windows.Forms.ImageList(this.components);
+ this.resourceDataEditor = new OSGeo.MapGuide.Maestro.ResourceEditors.ResourceDataEditor();
this.panel2.SuspendLayout();
+ this.ResourceDataGroup.SuspendLayout();
this.LockedMessagePanel.SuspendLayout();
this.toolBar.SuspendLayout();
this.SuspendLayout();
@@ -206,6 +226,7 @@
// panel2
//
this.panel2.Controls.Add(this.textEditor);
+ this.panel2.Controls.Add(this.ResourceDataGroup);
this.panel2.Controls.Add(this.LockedMessagePanel);
this.panel2.Controls.Add(this.toolBar);
resources.ApplyResources(this.panel2, "panel2");
@@ -220,6 +241,13 @@
this.textEditor.TextChanged += new System.EventHandler(this.textEditor_TextChanged);
this.textEditor.KeyUp += new System.Windows.Forms.KeyEventHandler(this.textEditor_KeyUp);
//
+ // ResourceDataGroup
+ //
+ this.ResourceDataGroup.Controls.Add(this.resourceDataEditor);
+ resources.ApplyResources(this.ResourceDataGroup, "ResourceDataGroup");
+ this.ResourceDataGroup.Name = "ResourceDataGroup";
+ this.ResourceDataGroup.TabStop = false;
+ //
// LockedMessagePanel
//
this.LockedMessagePanel.Controls.Add(this.label3);
@@ -337,6 +365,15 @@
this.toolbarImages.Images.SetKeyName(5, "");
this.toolbarImages.Images.SetKeyName(6, "");
//
+ // resourceDataEditor
+ //
+ resources.ApplyResources(this.resourceDataEditor, "resourceDataEditor");
+ this.resourceDataEditor.Editor = null;
+ this.resourceDataEditor.Name = "resourceDataEditor";
+ this.resourceDataEditor.ResourceExists = false;
+ this.resourceDataEditor.ResourceID = null;
+ this.resourceDataEditor.ResourceDataChanged += new System.EventHandler(this.resourceDataEditor_ResourceDataChanged);
+ //
// XmlEditorControl
//
this.Controls.Add(this.panel2);
@@ -345,6 +382,7 @@
this.Load += new System.EventHandler(this.XmlEditor_Load);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
+ this.ResourceDataGroup.ResumeLayout(false);
this.LockedMessagePanel.ResumeLayout(false);
this.toolBar.ResumeLayout(false);
this.toolBar.PerformLayout();
@@ -491,6 +529,8 @@
public bool Save(string savename)
{
+ resourceDataEditor.SaveChanges();
+
if (m_serializeType != null)
{
m_serializedObject = m_editor.CurrentConnection.DeserializeObject(m_serializeType, new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(textEditor.Text)));
@@ -512,6 +552,14 @@
m_inUpdate = true;
if (m_serializedObject != null && m_serializeType != null)
textEditor.Text = System.Text.Encoding.UTF8.GetString(m_editor.CurrentConnection.SerializeObject(m_serializedObject).ToArray());
+
+ ResourceDataGroup.Visible = m_resourceId != null;
+ if (m_resourceId != null)
+ {
+ resourceDataEditor.Editor = m_editor;
+ resourceDataEditor.ResourceExists = true;
+ resourceDataEditor.ResourceID = m_resourceId;
+ }
}
finally
{
@@ -602,5 +650,17 @@
public bool Modified { get { return m_modified; } }
public object SerializedObject { get { return m_serializedObject; } }
+
+ private void resourceDataEditor_ResourceDataChanged(object sender, EventArgs e)
+ {
+ m_modified = true;
+ if (m_editor != null && !(this.ParentForm is XmlEditor))
+ m_editor.HasChanged();
+ }
+
+ internal void SaveResourceData()
+ {
+ resourceDataEditor.SaveChanges();
+ }
}
}
Modified: trunk/Tools/Maestro/Maestro/ResourceEditors/XmlEditorControl.resx
===================================================================
--- trunk/Tools/Maestro/Maestro/ResourceEditors/XmlEditorControl.resx 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/ResourceEditors/XmlEditorControl.resx 2009-12-12 19:27:41 UTC (rev 4427)
@@ -139,7 +139,7 @@
<value>Both</value>
</data>
<data name="textEditor.Size" type="System.Drawing.Size, System.Drawing">
- <value>656, 432</value>
+ <value>656, 275</value>
</data>
<data name="textEditor.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -156,6 +156,78 @@
<data name=">>textEditor.ZOrder" xml:space="preserve">
<value>0</value>
</data>
+ <data name="resourceDataEditor.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="resourceDataEditor.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="resourceDataEditor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>3, 16</value>
+ </data>
+ <data name="resourceDataEditor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>650, 138</value>
+ </data>
+ <data name="resourceDataEditor.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name=">>resourceDataEditor.Name" xml:space="preserve">
+ <value>resourceDataEditor</value>
+ </data>
+ <data name=">>resourceDataEditor.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.ResourceDataEditor, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4358, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>resourceDataEditor.Parent" xml:space="preserve">
+ <value>ResourceDataGroup</value>
+ </data>
+ <data name=">>resourceDataEditor.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="ResourceDataGroup.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Bottom</value>
+ </data>
+ <data name="ResourceDataGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 368</value>
+ </data>
+ <data name="ResourceDataGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>656, 157</value>
+ </data>
+ <data name="ResourceDataGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="ResourceDataGroup.Text" xml:space="preserve">
+ <value>Resource data files</value>
+ </data>
+ <data name="ResourceDataGroup.Visible" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name=">>ResourceDataGroup.Name" xml:space="preserve">
+ <value>ResourceDataGroup</value>
+ </data>
+ <data name=">>ResourceDataGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ResourceDataGroup.Parent" xml:space="preserve">
+ <value>panel2</value>
+ </data>
+ <data name=">>ResourceDataGroup.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 24</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>632, 16</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>The text display will automatically update when the editor saves the file.</value>
+ </data>
<data name=">>label3.Name" xml:space="preserve">
<value>label3</value>
</data>
@@ -168,6 +240,21 @@
<data name=">>label3.ZOrder" xml:space="preserve">
<value>0</value>
</data>
+ <data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 40</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>632, 16</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Close the external program to restore editing functionality in this xml editor.</value>
+ </data>
<data name=">>label2.Name" xml:space="preserve">
<value>label2</value>
</data>
@@ -180,6 +267,21 @@
<data name=">>label2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
+ <data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 8</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>632, 16</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>The application associated with xml editing has been started.</value>
+ </data>
<data name=">>label1.Name" xml:space="preserve">
<value>label1</value>
</data>
@@ -217,7 +319,7 @@
<value>panel2</value>
</data>
<data name=">>LockedMessagePanel.ZOrder" xml:space="preserve">
- <value>1</value>
+ <value>2</value>
</data>
<metadata name="toolBar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>0, 0</value>
@@ -401,7 +503,7 @@
<value>panel2</value>
</data>
<data name=">>toolBar.ZOrder" xml:space="preserve">
- <value>2</value>
+ <value>3</value>
</data>
<data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
@@ -427,78 +529,6 @@
<data name=">>panel2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
- <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
- <value>8, 24</value>
- </data>
- <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
- <value>632, 16</value>
- </data>
- <data name="label3.TabIndex" type="System.Int32, mscorlib">
- <value>2</value>
- </data>
- <data name="label3.Text" xml:space="preserve">
- <value>The text display will automatically update when the editor saves the file.</value>
- </data>
- <data name=">>label3.Name" xml:space="preserve">
- <value>label3</value>
- </data>
- <data name=">>label3.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=">>label3.Parent" xml:space="preserve">
- <value>LockedMessagePanel</value>
- </data>
- <data name=">>label3.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
- <value>8, 40</value>
- </data>
- <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
- <value>632, 16</value>
- </data>
- <data name="label2.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <data name="label2.Text" xml:space="preserve">
- <value>Close the external program to restore editing functionality in this xml editor.</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>LockedMessagePanel</value>
- </data>
- <data name=">>label2.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
- <value>8, 8</value>
- </data>
- <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
- <value>632, 16</value>
- </data>
- <data name="label1.TabIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="label1.Text" xml:space="preserve">
- <value>The application associated with xml editing has been started.</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>LockedMessagePanel</value>
- </data>
- <data name=">>label1.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
<metadata name="toolbarImages.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
@@ -507,139 +537,139 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA6
- IQAAAk1TRnQBSQFMAgEBBwEAARQBAAEUAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
- AwABIAMAAQEBAAEgBgABIGYAAYQBygGEAf8BWAG3AVsB//QAAYQBygGEAf8BVgHUAYAB/wF2AfQBpQH/
- AUIBuAFUAf8kAAGhAZ4BnQH/AaEBngGdAf8BoQGeAZ0B/wGfApwB/wGfApwB/wGfApwB/wGbApgB/wGb
- ApgB/wGbApgB/wGWApQB/wGWApQB/wGWApQB/wGWApQB/wGWApQB/5AAAY0B0QGNAf8BTgHMAW8B/wF4
- AfABlwH/AXsB8AGMAf8BZwHmAZIB/wFtAb4BbgH/HAABpAKgAf8B9wHvAewB/wH0AegB4wH/AfQB5wHi
+ IQAAAk1TRnQBSQFMAgEBBwEAATQBAAE0AQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
+ AwABIAMAAQEBAAEgBgABIGYAAYQBygGEAf8BVAG3AVcB//QAAYQBygGEAf8BUgHUAYAB/wFyAfQBpQH/
+ AT4BuAFQAf8kAAGhAZ4BnQH/AaEBngGdAf8BoQGeAZ0B/wGfApwB/wGfApwB/wGfApwB/wGbApgB/wGb
+ ApgB/wGbApgB/wGWApQB/wGWApQB/wGWApQB/wGWApQB/wGWApQB/5AAAY0B0QGNAf8BSgHMAWsB/wF0
+ AfABlwH/AXcB8AGMAf8BYwHmAZIB/wFpAb4BagH/HAABpAKgAf8B9wHvAewB/wH0AegB4wH/AfQB5wHi
Af8B9AHnAeIB/wH0AecB4gH/AfIB4gHcAf8B8gHiAdwB/wHyAeIB3AH/AfIB4gHcAf8B8gHiAdwB/wHy
- AeIB3AH/AfIB4gHcAf8B8gHiAdwB/wH0AegB4wH/AZYClAH/WAABqwFLAUMB/wG0AVoBRQH/AbQBWgFF
- Af8BsAFVAUEB/wGwAVUBQQH/Aa4BUgFAAf8BrgFSAUAB/wGuAVIBQAH/Aa4BUgFAAf8BrgFZAV0B/wgA
- AYQBygGEAf8BTgHMAW8B/wFzAesBlAH/AXoB7gGKAf8BewHwAYwB/wF4AfABlwH/AUgBxQFiAf8cAAGk
+ AeIB3AH/AfIB4gHcAf8B8gHiAdwB/wH0AegB4wH/AZYClAH/WAABqwFHAT8B/wG0AVYBQQH/AbQBVgFB
+ Af8BsAFRAT0B/wGwAVEBPQH/Aa4BTgE8Af8BrgFOATwB/wGuAU4BPAH/Aa4BTgE8Af8BrgFVAVkB/wgA
+ AYQBygGEAf8BSgHMAWsB/wFvAesBlAH/AXYB7gGKAf8BdwHwAYwB/wF0AfABlwH/AUQBxQFeAf8cAAGk
AqAB/wH0AegB4wH/AeUB1gHQAf8B0QHFAcEB/wHRAcUBwQH/Ac4BwQG9Af8BzgHBAb0B/wHOAcEBvQH/
Ac0BwAG7Af8BzQHAAbsB/wHNAcABuwH/AcsBvAG4Af8BzQHAAbsB/wHgAc0BxgH/AfIB4gHcAf8BlgKU
- Af9cAAHHAXkBSQH/AeMBnwFcAf8B2QGKAVIB/wHVAYUBTgH/AdUBhQFOAf8B1QGFAU4B/wHVAYUBTgH/
- AdwBmQFVAf8BuwFzAXcB/wQAAYEBzAGBAf8BTQHRAXMB/wFtAeQBiwH/AXQB5wGFAf8BdwHxAZwB/wF3
- AfEBnAH/AXYB7wGIAf8BaQHqAZQB/wFRAbYBVQH/GAABqQGmAaUB/wH3Ae8B7AH/AfIB4gHcAf8B7gHe
+ Af9cAAHHAXUBRQH/AeMBnwFYAf8B2QGKAU4B/wHVAYUBSgH/AdUBhQFKAf8B1QGFAUoB/wHVAYUBSgH/
+ AdwBmQFRAf8BuwFvAXMB/wQAAYEBzAGBAf8BSQHRAW8B/wFpAeQBiwH/AXAB5wGFAf8BcwHxAZwB/wFz
+ AfEBnAH/AXIB7wGIAf8BZQHqAZQB/wFNAbYBUQH/GAABqQGmAaUB/wH3Ae8B7AH/AfIB4gHcAf8B7gHe
AdkB/wHuAd4B2QH/AewB2gHUAf8B7AHaAdQB/wHsAdoB1AH/Ae0B1wHPAf8B6QHVAc4B/wHpAdUBzgH/
- AekB1QHOAf8B6QHVAc4B/wHpAdUBzgH/AfIB4gHcAf8BmwKYAf9cAAHHAYQBgQH/AdUBiQFSAf8B1QGF
- AU4B/wHNAXUBSAH/AcwBcgFGAf8BzAFyAUYB/wHMAXIBRgH/Ac4BggFOAf8EAAGVAdcBlQH/AU4BzAFv
- Af8BZQHaAYEB/wFsAd4BgQH/AXMB6wGUAf8BQgG4AVQB/wFIAcUBYgH/AXgB8AGXAf8BbAHpAYIB/wFN
- AdEBcwH/GAABqQGmAaUB/wH3Ae8B7AH/AeUB2QHVAf8B0wHIAcUB/wHRAcUBwQH/AdEBxQHBAf8BzwHD
+ AekB1QHOAf8B6QHVAc4B/wHpAdUBzgH/AfIB4gHcAf8BmwKYAf9cAAHHAYQBgQH/AdUBiQFOAf8B1QGF
+ AUoB/wHNAXEBRAH/AcwBbgFCAf8BzAFuAUIB/wHMAW4BQgH/Ac4BggFKAf8EAAGVAdcBlQH/AUoBzAFr
+ Af8BYQHaAYEB/wFoAd4BgQH/AW8B6wGUAf8BPgG4AVAB/wFEAcUBXgH/AXQB8AGXAf8BaAHpAYIB/wFJ
+ AdEBbwH/GAABqQGmAaUB/wH3Ae8B7AH/AeUB2QHVAf8B0wHIAcUB/wHRAcUBwQH/AdEBxQHBAf8BzwHD
AcAB/wHOAcEBvQH/Ac4BwQG9Af8BzgHBAb0B/wHNAcABuwH/Ac0BwAG7Af8BywG8AbgB/wHgAc0BxgH/
- AfIB4gHcAf8BlgKUAf9gAAGuAUwBOQH/AeMBnwFcAf8B0gF6AU4B/wHNAXUBSAH/AcwBcgFGAf8BzQF1
- AUgB/wHHAXkBSQH/BAABVwHDAVsB/wFgAdgBhwH/AWMB1AF3Af8BZwHmAZIB/wFFAb0BVAH/BAABgQHM
- AYEB/wFkAeQBjgH/AWwB6AGBAf8BYwHmAYYB/wFBAbgBUQH/FAABqQGmAaUB/wH3Ae8B7AH/AfQB5wHi
+ AfIB4gHcAf8BlgKUAf9gAAGuAUgBNQH/AeMBnwFYAf8B0gF2AUoB/wHNAXEBRAH/AcwBbgFCAf8BzQFx
+ AUQB/wHHAXUBRQH/BAABUwHDAVcB/wFcAdgBhwH/AV8B1AFzAf8BYwHmAZIB/wFBAb0BUAH/BAABgQHM
+ AYEB/wFgAeQBjgH/AWgB6AGBAf8BXwHmAYYB/wE9AbgBTQH/FAABqQGmAaUB/wH3Ae8B7AH/AfQB5wHi
Af8B7gHeAdkB/wHuAd4B2QH/AeUB2QHVAf8B5QHZAdUB/wHlAdYB0AH/AeUB1gHQAf8B5QHWAdAB/wHk
- AdIBzAH/AeQB0gHMAf8B5AHSAcwB/wHpAdUBzgH/AfIB4gHcAf8BmwKYAf9cAAG8AWUBRwH/AeYBogFk
- Af8B4wGMAWMB/wHZAYEBWAH/AdIBegFOAf8BzQF1AUgB/wHSAYEBSwH/AbYBXgE/Af8EAAGBAdABgQH/
- AU0B0QFzAf8BWQHYAYEB/wFFAb0BVAH/DAABQQG4AVEB/wFzAesBlAH/AV8B3wFzAf8BVwHcAYEB/wFg
- AbsBYgH/EAABqQGmAaUB/wH4AfEB7gH/AegB3wHcAf8B3gHUAdAB/wHbAdABzQH/AdsB0AHNAf8B3AHO
+ AdIBzAH/AeQB0gHMAf8B5AHSAcwB/wHpAdUBzgH/AfIB4gHcAf8BmwKYAf9cAAG8AWEBQwH/AeYBogFg
+ Af8B4wGMAV8B/wHZAYEBVAH/AdIBdgFKAf8BzQFxAUQB/wHSAYEBRwH/AbYBWgE7Af8EAAGBAdABgQH/
+ AUkB0QFvAf8BVQHYAYEB/wFBAb0BUAH/DAABPQG4AU0B/wFvAesBlAH/AVsB3wFvAf8BUwHcAYEB/wFc
+ AbsBXgH/EAABqQGmAaUB/wH4AfEB7gH/AegB3wHcAf8B3gHUAdAB/wHbAdABzQH/AdsB0AHNAf8B3AHO
AcoB/wHcAc4BygH/AdwBzgHKAf8B0wHIAcUB/wHgAc0BxgH/AdEBxQHBAf8B1wHIAcQB/wHkAdIBzAH/
- AfIB4gHcAf8BmwKYAf9UAAHBAW8BVgH/AdYBigFWAf8B8gGrAXUB/wHuAZUBdAH/AecBjQFrAf8B4AGF
- AWEB/wHZAYEBWAH/AdIBegFOAf8B2QGKAVIB/wGxAVkBTQH/DAABlQHXAZUB/xAAAZUB1wGVAf8BUQHY
- AX0B/wFfAeABdwH/AVUB2QFuAf8BSAHKAWwB/xAAAawBqQGoAf8B+QHyAfAB/wHuAeQB4QH/AeUB2QHV
+ AfIB4gHcAf8BmwKYAf9UAAHBAWsBUgH/AdYBigFSAf8B8gGrAXEB/wHuAZUBcAH/AecBjQFnAf8B4AGF
+ AV0B/wHZAYEBVAH/AdIBdgFKAf8B2QGKAU4B/wGxAVUBSQH/DAABlQHXAZUB/xAAAZUB1wGVAf8BTQHY
+ AXkB/wFbAeABcwH/AVEB2QFqAf8BRAHKAWgB/xAAAawBqQGoAf8B+QHyAfAB/wHuAeQB4QH/AeUB2QHV
Af8B4QHXAdQB/wHeAdQB0AH/Ad4B1AHQAf8B2wHQAc0B/wHbAdABzQH/AdsB0AHNAf8B3AHOAcoB/wHc
- Ac4BygH/AeABzQHGAf8B5QHWAdAB/wH0AecB4gH/AZ8CnAH/QAAB0gGPAXkB/wG/AWIBOwH/AcYBcgFE
- Af8BzQF1AUgB/wHaAZABWAH/Ae0BpwFwAf8B7wGZAXkB/wHwAZYBegH/AfABlgF6Af8B7gGVAXQB/wHq
- AaUBaAH/AdoBkAFYAf8B3QGMAVgB/wHeAZcBVwH/AbwBcwFwAf8kAAFSAbwBVwH/AWQB5AGOAf8BUgHV
- AWMB/wFRAdkBdwH/AUEBuAFRAf8MAAGsAakBqAH/AfkB8gHwAf8B9AHoAeMB/wHoAd8B3AH/AegB3wHc
+ Ac4BygH/AeABzQHGAf8B5QHWAdAB/wH0AecB4gH/AZ8CnAH/QAAB0gGPAXUB/wG/AV4BNwH/AcYBbgFA
+ Af8BzQFxAUQB/wHaAZABVAH/Ae0BpwFsAf8B7wGZAXUB/wHwAZYBdgH/AfABlgF2Af8B7gGVAXAB/wHq
+ AaUBZAH/AdoBkAFUAf8B3QGMAVQB/wHeAZcBUwH/AbwBbwFsAf8kAAFOAbwBUwH/AWAB5AGOAf8BTgHV
+ AV8B/wFNAdkBcwH/AT0BuAFNAf8MAAGsAakBqAH/AfkB8gHwAf8B9AHoAeMB/wHoAd8B3AH/AegB3wHc
Af8B6AHfAdwB/wHlAdkB1QH/AeUB2QHVAf8B5QHZAdUB/wHlAdYB0AH/AeUB1gHQAf8B5QHWAdAB/wHb
- AdABzQH/AewB2gHUAf8B9AHnAeIB/wGfApwB/0QAAc0BggFoAf8B1QGJAVIB/wHmAaIBZAH/Ad4BiAFq
- Af8B4wGJAXEB/wHuAZUBdAH/Ae8BmQF5Af8B8gGrAXUB/wHdAYwBWAH/AbsBZgFRAf8BvAFzAXAB/wHV
- AYkBUgH/AdoBkAFYAf8sAAFDAcIBWgH/AVcB3AF6Af8BRwHNAVkB/wFRAdgBfQH/AVEBtgFVAf8IAAGq
+ AdABzQH/AewB2gHUAf8B9AHnAeIB/wGfApwB/0QAAc0BggFkAf8B1QGJAU4B/wHmAaIBYAH/Ad4BiAFm
+ Af8B4wGJAW0B/wHuAZUBcAH/Ae8BmQF1Af8B8gGrAXEB/wHdAYwBVAH/AbsBYgFNAf8BvAFvAWwB/wHV
+ AYkBTgH/AdoBkAFUAf8sAAE/AcIBVgH/AVMB3AF2Af8BQwHNAVUB/wFNAdgBeQH/AU0BtgFRAf8IAAGq
AZ0BnAH/AewB2gHUAf8B5QHZAdUB/wHsAdoB1AH/AeUB1gHQAf8B7QHXAc8B/wHlAdkB1QH/Ae0B1wHP
Af8B5QHWAdAB/wHlAdYB0AH/AeUB1gHQAf8B5QHWAdAB/wHtAdcBzwH/AeUB1gHQAf8B5QHWAdAB/wGc
- AZABjgH/TAABxgF0AUwB/wHQAYEBSwH/AdUBiQFSAf8B1QGJAVIB/wHNAXUBSAH/AcIBdAFcAf8MAAG9
- AW0BYQH/AcYBcgFEAf8sAAGNAdEBjQH/AU0B0QFzAf8BSwHRAWMB/wFHAc0BWQH/AU0B0QFzAf8BdQHF
- AXYB/wQAAb0BZgFUAf8ByAFwAVwB/wHIAXABXAH/AcgBcAFcAf8ByAFwAVwB/wHIAXABXAH/AcgBcAFc
- Af8ByAFwAVwB/wHIAXABXAH/AcgBcAFcAf8BwgFtAVoB/wHCAWoBWAH/AcIBagFYAf8BvQFmAVQB/wG9
- AWYBVAH/AbgBYQFPAf90AAGwAVMBRwH/MAABYQHBAWMB/wFRAdgBfQH/AUcBzQFZAf8BSwHSAWYB/wFF
- AcYBZQH/BAABwgFqAVgB/wHRAXsBVwH/AdEBewFXAf8B1QGAAWAB/wHVAYABYAH/AdYBgQFiAf8B0gF7
- AWAB/wHQAXkBXQH/AcgBcAFcAf8BzwGMAX0B/wHIAYEBcwH/AcYBhAF4Af8BvgF5AWgB/wHPAZ8BlQH/
- AbIBXQFMAf8BvQFmAVQB/6wAAUkBvAFSAf8BUQHYAX0B/wFHAc0BWQH/AVEB2AF9Af8BVgG6AVoB/wHI
- AXABXAH/AdEBfAFaAf8B0QF7AVcB/wHVAYABYAH/AdUBgAFgAf8B1gGBAWIB/wHWAYEBYgH/AdYBgQFi
- Af8B1QGAAWAB/wHQAXkBXQH/AckBcQFaAf8B0gGZAYsB/wHIAYEBcwH/Ac8BlQGIAf8BvQFmAVQB/wHI
- AXABXAH/sAABQQG4AVEB/wFTAdsBgQH/AU0B0QFzAf8BdQHFAXYB/wQAAcgBcAFcAf8BwAFvAV0B/wHC
- AWoBWAH/AcgBcAFcAf8ByAFwAVwB/wHAAW8BXQH/AcgBcAFcAf8BvgFrAVoB/wHCAWoBWAH/AcgBcAFc
- Af8BvQFmAVQB/wHIAXABXAH/Ab0BZgFUAf8BvgF5AWgB/7gAAW4BxQFuAf8BhgHOAYUB/5wAAc4CzAH/
+ AZABjgH/TAABxgFwAUgB/wHQAYEBRwH/AdUBiQFOAf8B1QGJAU4B/wHNAXEBRAH/AcIBcAFYAf8MAAG9
+ AWkBXQH/AcYBbgFAAf8sAAGNAdEBjQH/AUkB0QFvAf8BRwHRAV8B/wFDAc0BVQH/AUkB0QFvAf8BcQHF
+ AXIB/wQAAb0BYgFQAf8ByAFsAVgB/wHIAWwBWAH/AcgBbAFYAf8ByAFsAVgB/wHIAWwBWAH/AcgBbAFY
+ Af8ByAFsAVgB/wHIAWwBWAH/AcgBbAFYAf8BwgFpAVYB/wHCAWYBVAH/AcIBZgFUAf8BvQFiAVAB/wG9
+ AWIBUAH/AbgBXQFLAf90AAGwAU8BQwH/MAABXQHBAV8B/wFNAdgBeQH/AUMBzQFVAf8BRwHSAWIB/wFB
+ AcYBYQH/BAABwgFmAVQB/wHRAXcBUwH/AdEBdwFTAf8B1QGAAVwB/wHVAYABXAH/AdYBgQFeAf8B0gF3
+ AVwB/wHQAXUBWQH/AcgBbAFYAf8BzwGMAXkB/wHIAYEBbwH/AcYBhAF0Af8BvgF1AWQB/wHPAZ8BlQH/
+ AbIBWQFIAf8BvQFiAVAB/6wAAUUBvAFOAf8BTQHYAXkB/wFDAc0BVQH/AU0B2AF5Af8BUgG6AVYB/wHI
+ AWwBWAH/AdEBeAFWAf8B0QF3AVMB/wHVAYABXAH/AdUBgAFcAf8B1gGBAV4B/wHWAYEBXgH/AdYBgQFe
+ Af8B1QGAAVwB/wHQAXUBWQH/AckBbQFWAf8B0gGZAYsB/wHIAYEBbwH/Ac8BlQGIAf8BvQFiAVAB/wHI
+ AWwBWAH/sAABPQG4AU0B/wFPAdsBgQH/AUkB0QFvAf8BcQHFAXIB/wQAAcgBbAFYAf8BwAFrAVkB/wHC
+ AWYBVAH/AcgBbAFYAf8ByAFsAVgB/wHAAWsBWQH/AcgBbAFYAf8BvgFnAVYB/wHCAWYBVAH/AcgBbAFY
+ Af8BvQFiAVAB/wHIAWwBWAH/Ab0BYgFQAf8BvgF1AWQB/7gAAWoBxQFqAf8BhgHOAYUB/5wAAc4CzAH/
Ac4CzAH/Ac4CzAH/Ac4CzAH/AcoByAHHAf8BzgLMAf8BygHIAccB/wHKAcgBxwH/AcoByAHHAf8QAAHI
- AYEBbAH/AcIBcAFUAf8BxQGBAXAB/xAAAbsBcAFsAf8BsgFZAUsB/wG3AWoBaAH/JAAByQHHAcgB/wHK
+ AYEBaAH/AcIBbAFQAf8BxQGBAWwB/xAAAbsBbAFoAf8BsgFVAUcB/wG3AWYBZAH/JAAByQHHAcgB/wHK
AsgB/wHKAsgB/wHJAccByAH/AckBxwHIAf8ByQHHAcgB/wHGAsUB/wHGAsUB/wHGAsUB/1wAAfoB9gH1
Af8B9wHwAe0B/wH2Ae0B6QH/AfYB7QHpAf8B9gHtAekB/wH0AeYB4QH/AfQB5gHhAf8B9AHmAeEB/wH3
- AfMB8gH/DAAByAF5AVwB/wHrAZUBcQH/AdgBgQFZAf8B2gGEAVkB/wG8AWIBRQH/CAABsgFZAUsB/wHM
- AXcBSAH/AcABZgFCAf8BzAF3AUgB/wGyAVsBVgH/DAABUAGbAdsB/wFBAZEB2QH/AUEBkQHZAf8BQQGP
- AdkB/wFEAY8B2AH/Ac0BzwHTAf8B9gHtAekB/wH0AekB5QH/AfIB5gHiAf8B8gHkAd4B/wHyAeQB3gH/
+ AfMB8gH/DAAByAF1AVgB/wHrAZUBbQH/AdgBgQFVAf8B2gGEAVUB/wG8AV4BQQH/CAABsgFVAUcB/wHM
+ AXMBRAH/AcABYgE+Af8BzAFzAUQB/wGyAVcBUgH/DAABTAGbAdsB/wE9AZEB2QH/AT0BkQHZAf8BPQGP
+ AdkB/wFAAY8B2AH/Ac0BzwHTAf8B9gHtAekB/wH0AekB5QH/AfIB5gHiAf8B8gHkAd4B/wHyAeQB3gH/
AfEB4AHaAf8B8gHkAd4B/wH0AekB5QH/XAAB+gH2AfUB/wH2Ae0B6QH/AfQB5gHhAf8B8QHfAdgB/wHv
- AdsB1AH/Ae8B2wHUAf8B7wHbAdQB/wHuAdgB0AH/AfYB7QHpAf8MAAHSAXoBUgH/AdQBfAFWAf8EAAHC
- AXABVAH/AdoBhAFZAf8ByQGGAYEB/wQAAcwBdwFIAf8BtgFhAVQB/wQAAbgBWwE+Af8BswFUATwB/wgA
- AXQBsAHhAf8BdQHcAfYB/wF1AeoC/wFuAd8C/wFpAdUB/gH/AWUBzgL/AdAB0wHVAf8B9gHtAekB/wHy
+ AdsB1AH/Ae8B2wHUAf8B7wHbAdQB/wHuAdgB0AH/AfYB7QHpAf8MAAHSAXYBTgH/AdQBeAFSAf8EAAHC
+ AWwBUAH/AdoBhAFVAf8ByQGGAYEB/wQAAcwBcwFEAf8BtgFdAVAB/wQAAbgBVwE6Af8BswFQATgB/wgA
+ AXABsAHhAf8BcQHcAfYB/wFxAeoC/wFqAd8C/wFlAdUB/gH/AWEBzgL/AdAB0wHVAf8B9gHtAekB/wHy
AeYB4gH/AfIB5AHeAf8B7gHfAdkB/wHtAdsB1QH/Ae0B1wHQAf8B7QHXAdAB/wHwAecB5AH/WAABxwLF
Af8B+gH2AfUB/wHlAdsB1wH/AdgBzwHNAf8B1QHLAcgB/wHTAckBxgH/AdEBxQHCAf8B0QHDAb8B/wHb
- AcoBxQH/AfYB7QHpAf8MAAHPAXgBUAH/AdQBfAFWAf8IAAHaAYQBWQH/AcIBcAFUAf8BwgF5AWgB/wHI
- AXIBRQH/CAABugFeAT8B/wGzAVQBPAH/CAABZgGqAd4B/wGAAe8B/AH/AWsB9AL/AWMB5wL/AVoB2AL/
- AVEBygL/AdAB0wHVAf8B9AHpAeUB/wHcAdQB0gH/AdkB0AHNAf8B2QHOAcsB/wHXAcsByAH/AdUByAHE
- Af8B4wHSAcwB/wH0AekB5QH/BAABvgFpAVMB/wHAAWkBQwH/Ab4BaAFDAf8BvgFoAUMB/wG5AWEBRAH/
- AbkBYQFEAf8BtwFdAUQB/wG0AVsBRQH/AbQBWwFFAf8BqAFIAUcB/xgAAcEBvwG+Af8B3QHYAdYB/wHa
+ AcoBxQH/AfYB7QHpAf8MAAHPAXQBTAH/AdQBeAFSAf8IAAHaAYQBVQH/AcIBbAFQAf8BwgF1AWQB/wHI
+ AW4BQQH/CAABugFaATsB/wGzAVABOAH/CAABYgGqAd4B/wGAAe8B/AH/AWcB9AL/AV8B5wL/AVYB2AL/
+ AU0BygL/AdAB0wHVAf8B9AHpAeUB/wHcAdQB0gH/AdkB0AHNAf8B2QHOAcsB/wHXAcsByAH/AdUByAHE
+ Af8B4wHSAcwB/wH0AekB5QH/BAABvgFlAU8B/wHAAWUBPwH/Ab4BZAE/Af8BvgFkAT8B/wG5AV0BQAH/
+ AbkBXQFAAf8BtwFZAUAB/wG0AVcBQQH/AbQBVwFBAf8BqAFEAUMB/xgAAcEBvwG+Af8B3QHYAdYB/wHa
AdUB1AH/AdoB1QHUAf8B2gHVAdQB/wHFAcABvwH/AfoB9gH1Af8B8AHoAeUB/wHoAeEB3gH/Ae4B5QHi
- Af8B5QHbAdcB/wHjAdcB0wH/AeIB1AHPAf8B5gHWAdAB/wH2Ae0B6QH/DAAB0AGIAW4B/wHlAZABbQH/
- AckBfQFgAf8BywGEAXIB/wHkAY0BZwH/AcgBbgFKAf8BvAFiAUUB/wHMAXcBSAH/Ab8BdQFrAf8BuAFn
- AVoB/wHMAXcBSAH/AbsBcAFsAf8IAAFmAaoB3gH/AYEB8AH8Af8BcgH9Av8BawH0Av8BYwHnAv8BWgHY
+ Af8B5QHbAdcB/wHjAdcB0wH/AeIB1AHPAf8B5gHWAdAB/wH2Ae0B6QH/DAAB0AGIAWoB/wHlAZABaQH/
+ AckBeQFcAf8BywGEAW4B/wHkAY0BYwH/AcgBagFGAf8BvAFeAUEB/wHMAXMBRAH/Ab8BcQFnAf8BuAFj
+ AVYB/wHMAXMBRAH/AbsBbAFoAf8IAAFiAaoB3gH/AYEB8AH8Af8BbgH9Av8BZwH0Av8BXwHnAv8BVgHY
Av8B0AHTAdUB/wHwAekB5gH/AdwB1AHSAf8B5AHdAdoB/wHhAdgB1QH/AdwB1AHSAf8B2QHQAc0B/wHk
- AdYB0QH/AfYB7QHpAf8EAAHIAYEBbAH/AfABsQFxAf8B8QGhAXkB/wHxAaEBeQH/AfIBpgF2Af8B7wGj
- AXEB/wHqAZ0BaQH/AeoBpwFkAf8BwAFuAUUB/xwAAcoByAHHAf8B6AHhAd4B/wHqAdwB2AH/Ae8B2wHU
+ AdYB0QH/AfYB7QHpAf8EAAHIAYEBaAH/AfABsQFtAf8B8QGhAXUB/wHxAaEBdQH/AfIBpgFyAf8B7wGj
+ AW0B/wHqAZ0BZQH/AeoBpwFgAf8BwAFqAUEB/xwAAcoByAHHAf8B6AHhAd4B/wHqAdwB2AH/Ae8B2wHU
Af8B5gHWAdAB/wHMAcEBvQH/AfoB9gH1Af8B9gHtAekB/wHoAeEB3gH/AfYB7QHpAf8B2gHVAdQB/wHu
- AeUB4gH/AegB4QHeAf8B2AHPAc0B/wH4AfAB7QH/EAAB0gF8AVIB/wHpAZIBdAH/AesBlQFxAf8B8AGa
- AXYB/wHYAYEBWQH/AcwBdAFMAf8B2gGEAVkB/wHMAXcBSAH/AcwBdwFIAf8BugFeAT8B/wwAAWYBqgHe
- Af8BgQHwAfwB/wFyAf0C/wFyAf0C/wFrAfQC/wFjAecC/wHTAdcB2AH/AfYB7QHpAf8B8AHnAeQB/wHw
+ AeUB4gH/AegB4QHeAf8B2AHPAc0B/wH4AfAB7QH/EAAB0gF4AU4B/wHpAZIBcAH/AesBlQFtAf8B8AGa
+ AXIB/wHYAYEBVQH/AcwBcAFIAf8B2gGEAVUB/wHMAXMBRAH/AcwBcwFEAf8BugFaATsB/wwAAWIBqgHe
+ Af8BgQHwAfwB/wFuAf0C/wFuAf0C/wFnAfQC/wFfAecC/wHTAdcB2AH/AfYB7QHpAf8B8AHnAeQB/wHw
AekB5gH/AeQB3QHaAf8B9gHtAekB/wH0AekB5QH/AdwB1AHSAf8B9gHtAekB/wQAAdcBoAGRAf8B4wGc
- AWMB/wHrAZABeAH/AesBkAF4Af8B8AGYAXkB/wHvAZUBdwH/Ae0BmQFxAf8B0wGHAVMB/wHMAY8BiwH/
+ AV8B/wHrAZABdAH/AesBkAF0Af8B8AGYAXUB/wHvAZUBcwH/Ae0BmQFtAf8B0wGHAU8B/wHMAY8BiwH/
HAABygHIAccB/wHwAegB5QH/AdUBywHIAf8B0wHJAcYB/wHKAcgBxwH/AcEBuQG2Af8B+gH2AfUB/wHl
AdsB1wH/AdgB0QHPAf8B5QHbAdcB/wHdAdgB1gH/AfgB8AHtAf8B+AHwAe0B/wHiAdQBzwH/AfoB9gH1
- Af8UAAHOAYEBYgH/Ac4BgQFiAf8BwAFqAUsB/wHtAZ0BcQH/AegBmAFpAf8BvAFiAUUB/wHDAXYBXwH/
- Ab8BcQFbAf8QAAFmAbIB3gH/AYAB7wH8Af8BcgH9Av8BcgH9Av8BcgH9Av8BawH0Av8B0wHXAdgB/wH2
+ Af8UAAHOAYEBXgH/Ac4BgQFeAf8BwAFmAUcB/wHtAZ0BbQH/AegBmAFlAf8BvAFeAUEB/wHDAXIBWwH/
+ Ab8BbQFXAf8QAAFiAbIB3gH/AYAB7wH8Af8BbgH9Av8BbgH9Av8BbgH9Av8BZwH0Av8B0wHXAdgB/wH2
Ae0B6QH/AeQB3QHaAf8B8AHnAeQB/wHfAdgB1gH/AfgB8AHtAf8B+AHwAe0B/wHhAdgB1QH/AfUB8AHu
- Af8IAAHYAYwBVQH/AegBjQF1Af8B6wGQAXgB/wHwAZUBegH/AfABlQF6Af8B8gGuAXIB/wGvAU4BPAH/
+ Af8IAAHYAYwBUQH/AegBjQFxAf8B6wGQAXQB/wHwAZUBdgH/AfABlQF2Af8B8gGuAW4B/wGvAUoBOAH/
IAABygHIAccB/wHwAegB5QH/AegB4QHeAf8B5QHbAdcB/wHjAdcB0wH/AcoByAHHAf8B+gH2AfUB/wH2
Ae0B6QH/AegB4QHeAf8B9gHtAekB/wHaAdUB1AH/AfQB5gHhAf8B7gHlAeIB/wHaAdUB1AH/AfoB9gH1
- Af8cAAG6AYoBgQH/AckBiwF9Af8BxwGJAXwB/wG0AYQBfQH/GAABZgGqAd4B/wGAAecB/AH/AXIB8wL/
- AXIB/QL/AXIB/QL/AXIB/QL/AdMC2AH/AfAB6QHmAf8B3AHUAdIB/wHkAd0B2gH/Ad8B2AHWAf8B3wHY
- AdYB/wHcAdQB0gH/AecB4AHeAf8B9QHxAfAB/wgAAc4BgQFJAf8B4gGMAW4B/wHoAY0BdQH/AesBkAF4
- Af8B8AGVAXoB/wHxAZ0BeQH/AecBowFmAf8BuQFhAUQB/xwAAc4CzAH/Ae4B5QHiAf8B1QHLAcgB/wHV
+ Af8cAAG6AYoBgQH/AckBiwF5Af8BxwGJAXgB/wG0AYQBeQH/GAABYgGqAd4B/wGAAecB/AH/AW4B8wL/
+ AW4B/QL/AW4B/QL/AW4B/QL/AdMC2AH/AfAB6QHmAf8B3AHUAdIB/wHkAd0B2gH/Ad8B2AHWAf8B3wHY
+ AdYB/wHcAdQB0gH/AecB4AHeAf8B9QHxAfAB/wgAAc4BgQFFAf8B4gGMAWoB/wHoAY0BcQH/AesBkAF0
+ Af8B8AGVAXYB/wHxAZ0BdQH/AecBowFiAf8BuQFdAUAB/xwAAc4CzAH/Ae4B5QHiAf8B1QHLAcgB/wHV
AcsByAH/AdoB1QHUAf8BwQG5AbYB/wH6AfYB9QH/Ae4B5QHiAf8B6AHhAd4B/wHuAeUB4gH/Ae4B5QHi
Af8B5QHbAdcB/wHoAeEB3gH/Ae4B5QHiAf8B9wHzAfIB/xgAAbkBtQG0Af8B6AHcAdcB/wHSAckBxgH/
- AdIByQHGAf8B5QHXAdMB/wG1ArIB/xQAAWYBsgHeAf8BgAHnAfwB/wFwAeoC/wFyAfMC/wFyAf0C/wFy
+ AdIByQHGAf8B5QHXAdMB/wG1ArIB/xQAAWIBsgHeAf8BgAHnAfwB/wFsAeoC/wFuAfMC/wFuAf0C/wFu
Af0C/wHTAtgB/wH4AfAB7QH/AfgB8AHtAf8B+AHwAe0B/wH4AfAB7QH/AfgB8AHtAf8B9gHtAekB/wHZ
- AdABzQH/AdwB1AHSAf8IAAHGAXQBSQH/AeABkAFqAf8B4AGDAW8B/wHoAY0BdQH/AesBkAF4Af8B8AGV
- AXoB/wHwAZgBeQH/AfIBpgF2Af8BzwGBAVAB/wG5AWYBWAH/FAABzgLMAf8B7gHlAeIB/wHaAdUB1AH/
+ AdABzQH/AdwB1AHSAf8IAAHGAXABRQH/AeABkAFmAf8B4AGDAWsB/wHoAY0BcQH/AesBkAF0Af8B8AGV
+ AXYB/wHwAZgBdQH/AfIBpgFyAf8BzwGBAUwB/wG5AWIBVAH/FAABzgLMAf8B7gHlAeIB/wHaAdUB1AH/
AdUBzgHMAf8B3QHYAdYB/wHFAcABvwH/AfoB9gH1Af8B9wHwAe0B/wH4AfAB7QH/AfoB9gH1Af8B9gHt
AekB/wH6AfYB9QH/AeUB2wHXAf8BwAK6Af8BwQG/Ab4B/xgAAdQBzAHKAf8B6gHeAdoB/wG5AbUBtAH/
- AbkBtQG0Af8B6AHcAdcB/wHRAccBxQH/FAABZgGyAd4B/wF5AdgB/AH/AW4B3wL/AXAB6gL/AXIB8wL/
- AXIB/QL/AdMB1wHYAf8B+AHwAe0B/wH4AfAB7QH/AfgB8AHtAf8B+AHwAe0B/wH1AfAB7gH/AdwB1AHS
- Af8ByQHHAcgB/wGrAqgB/wgAAcsBgQFnAf8B4AGYAWUB/wHgAZABagH/Ad0BlwFcAf8B7QGnAXEB/wHu
- AZUBegH/AfABmAF5Af8B7wGVAXcB/wHtAZkBcQH/AeoBpwFkAf8B1QGIAVQB/wG+AWgBQwH/AbUBWgFC
- Af8BpQE/ATcB/wHEAoEB/wHOAswB/wHwAegB5QH/AeUB2wHXAf8B6AHhAd4B/wHlAdsB1wH/AcUBwAG/
+ AbkBtQG0Af8B6AHcAdcB/wHRAccBxQH/FAABYgGyAd4B/wF1AdgB/AH/AWoB3wL/AWwB6gL/AW4B8wL/
+ AW4B/QL/AdMB1wHYAf8B+AHwAe0B/wH4AfAB7QH/AfgB8AHtAf8B+AHwAe0B/wH1AfAB7gH/AdwB1AHS
+ Af8ByQHHAcgB/wGrAqgB/wgAAcsBgQFjAf8B4AGYAWEB/wHgAZABZgH/Ad0BlwFYAf8B7QGnAW0B/wHu
+ AZUBdgH/AfABmAF1Af8B7wGVAXMB/wHtAZkBbQH/AeoBpwFgAf8B1QGIAVAB/wG+AWQBPwH/AbUBVgE+
+ Af8BpQE7ATMB/wHEAoEB/wHOAswB/wHwAegB5QH/AeUB2wHXAf8B6AHhAd4B/wHlAdsB1wH/AcUBwAG/
Af8B+gH2AfUB/wH4AfAB7QH/AfgB8AHtAf8B+AHwAe0B/wH4AfAB7QH/AfgB8AHtAf8B1QHOAcwB/wHa
AdgB2QH/AbMCsAH/FAABuQG1AbQB/wH0AegB4wH/AbkBtQG0Af8IAAG0AbABrwH/AfIB4wHdAf8BtAGw
- Aa8B/xAAAWYBsgHeAf8BeQHYAfwB/wFpAdUB/gH/AW4B3wL/AXAB6gL/AXIB8wL/AdMC2AH/AfkB9QHz
+ Aa8B/xAAAWIBsgHeAf8BdQHYAfwB/wFlAdUB/gH/AWoB3wL/AWwB6gL/AW4B8wL/AdMC2AH/AfkB9QHz
Af8B+QH1AfMB/wH5AfUB8wH/AfkB9QHzAf8B+QH1AfMB/wHfAdoB2QH/AbUBsQGyAf8MAAHYAZ8BigH/
- Ad0BlwFcAf8B1gGLAVMB/wHNAYYBdAH/AcMBcAFOAf8B3QGXAVwB/wHyAaYBdgH/AfMBpgF5Af8B8QGd
- AXkB/wHrAZABeAH/AeABkAFqAf8B6gGpAWQB/wHMAYEBTAH/Ab0BdAFuAf8EAAHOAswB/wHwAegB5QH/
+ Ad0BlwFYAf8B1gGLAU8B/wHNAYYBcAH/AcMBbAFKAf8B3QGXAVgB/wHyAaYBcgH/AfMBpgF1Af8B8QGd
+ AXUB/wHrAZABdAH/AeABkAFmAf8B6gGpAWAB/wHMAYEBSAH/Ab0BcAFqAf8EAAHOAswB/wHwAegB5QH/
AdUBywHIAf8BzgLMAf8B4wHXAdMB/wHHAsUB/wH6AfYB9QH/AfoB9gH1Af8B+gH2AfUB/wH6AfYB9QH/
AfoB9gH1Af8B+wL5Af8B2gHVAdQB/wGzArAB/xgAAeEB2QHWAf8B1AHMAcoB/xAAAdIByQHGAf8B3gHU
- AdAB/xAAAWYBsgHeAf8BeAHUAfwB/wFlAc4C/wFpAdUB/gH/AWgB1gHzAf8BagHfAfIB/wGJAcYBzQH/
- AZABzAHOAf8BjwLOAf8BkALQAf8BkAHVAdgB/wGEAbUBzQH/AasBuQHHAf8UAAHOAYEBSQH/Ac0BgwFs
- Af8MAAHDAXQBWAH/AcoBegFKAf8B1QGIAVQB/wHWAYsBUwH/Ac4BgQFJAf8BuAFiAU4B/wwAAc4CzAH/
+ AdAB/xAAAWIBsgHeAf8BdAHUAfwB/wFhAc4C/wFlAdUB/gH/AWQB1gHzAf8BZgHfAfIB/wGJAcYBzQH/
+ AZABzAHOAf8BjwLOAf8BkALQAf8BkAHVAdgB/wGEAbUBzQH/AasBuQHHAf8UAAHOAYEBRQH/Ac0BgwFo
+ Af8MAAHDAXABVAH/AcoBdgFGAf8B1QGIAVAB/wHWAYsBTwH/Ac4BgQFFAf8BuAFeAUoB/wwAAc4CzAH/
AfAB6AHlAf8B8AHoAeUB/wHwAegB5QH/Ae4B5QHiAf8B3QHYAdYB/wHVAcsByAH/AcEBvwG+Af8BtQGx
- AbAB/wGzArAB/yQAAb0CuQH/Ae4B5gHjAf8BvQK5Af8QAAG1ArIB/wHsAeEB3AH/AbQBsAGvAf8MAAFm
- AbIB3gH/AXgB1AH8Af8BZQHOAv8BbgG1AdcB/wFpAZoBqQH/AWkBmgGpAf8BaQGeAacB/wFpAaEBpQH/
- AWkBoQGlAf8BXAK2Af8BbQHzAfUB/wFVAboB6AH/GAABwwFwAU4B/zQAAc4CzAH/Ae4B5QHiAf8B8AHo
+ AbAB/wGzArAB/yQAAb0CuQH/Ae4B5gHjAf8BvQK5Af8QAAG1ArIB/wHsAeEB3AH/AbQBsAGvAf8MAAFi
+ AbIB3gH/AXQB1AH8Af8BYQHOAv8BagG1AdcB/wFlAZoBqQH/AWUBmgGpAf8BZQGeAacB/wFlAaEBpQH/
+ AWUBoQGlAf8BWAK2Af8BaQHzAfUB/wFRAboB6AH/GAABwwFsAUoB/zQAAc4CzAH/Ae4B5QHiAf8B8AHo
AeUB/wHuAeUB4gH/AfAB6AHlAf8B8AHoAeUB/wHuAeUB4gH/AbUBsQGwAf8BwQG/Ab4B/wGjAqAB/yQA
- AcsBxgHFAf8BwAG7AboB/xgAAbkBtQG0Af8BwAG7AboB/wwAAW4BtwHfAf8BeAHUAfwB/wFtAc4C/wGf
- AagBrgH/AbwCugH/AbECrwH/AasCqAH/AbECrwH/AbECrwH/AXoBqAGqAf8BeAH3AfoB/wFRAbUB5QH/
+ AcsBxgHFAf8BwAG7AboB/xgAAbkBtQG0Af8BwAG7AboB/wwAAWoBtwHfAf8BdAHUAfwB/wFpAc4C/wGf
+ AagBrgH/AbwCugH/AbECrwH/AasCqAH/AbECrwH/AbECrwH/AXYBqAGqAf8BdAH3AfoB/wFNAbUB5QH/
UAABzgLMAf8B7wHqAegB/wHvAeoB6AH/Ae8B6gHoAf8B8AHoAeUB/wHvAeoB6AH/Ae8B6gHoAf8BwQG/
- Ab4B/wGzArAB/ygAAbkBtQG0Af8gAAG0AbABrwH/EAABOAGgAdYB/wE0AaMB2QH/AVMBmAG9Af8BxgLF
- Af8B3wHaAdkB/wHfAdoB2QH/Ad8B2gHZAf8BnAGeAaEB/wEzAYUBtwH/ATUBnAHYAf8BWAGkAdwB/1QA
+ Ab4B/wGzArAB/ygAAbkBtQG0Af8gAAG0AbABrwH/EAABNAGgAdYB/wEwAaMB2QH/AU8BmAG9Af8BxgLF
+ Af8B3wHaAdkB/wHfAdoB2QH/Ad8B2gHZAf8BnAGeAaEB/wEvAYUBtwH/ATEBnAHYAf8BVAGkAdwB/1QA
Ac4CzAH/Ac4CzAH/AcgCxgH/AcgCxgH/Ac4CzAH/AccCxQH/AcACugH/LAABwAG7AboB/yAAAbUCsgH/
HAABtQGxAbIB/wG1AbEBsgH/AbUBsQGyAf8BsQKvAf8BqwKoAf9cAAFCAU0BPgcAAT4DAAEoAwABQAMA
ASADAAEBAQABAQYAAQEWAAP/AQAC/wH5A/8CAAL/AfAB/wGAAQECAAL/AeABfwQAAfwBAAHAAX8EAAH+
Modified: trunk/Tools/Maestro/Maestro/Strings/FormMain.Designer.cs
===================================================================
--- trunk/Tools/Maestro/Maestro/Strings/FormMain.Designer.cs 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/Strings/FormMain.Designer.cs 2009-12-12 19:27:41 UTC (rev 4427)
@@ -70,16 +70,6 @@
}
/// <summary>
- /// Looks up a localized string similar to Unable to create the resource {0}
- ///Error message: {1}.
- /// </summary>
- internal static string CreateResourceError {
- get {
- return ResourceManager.GetString("CreateResourceError", resourceCulture);
- }
- }
-
- /// <summary>
/// Looks up a localized string similar to If you delete the folder, any resource that references an item in the selected folder will become unusable.
///
///Delete folder and all contents?.
Modified: trunk/Tools/Maestro/Maestro/Strings/FormMain.resx
===================================================================
--- trunk/Tools/Maestro/Maestro/Strings/FormMain.resx 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/Maestro/Strings/FormMain.resx 2009-12-12 19:27:41 UTC (rev 4427)
@@ -121,11 +121,6 @@
<value>Copy {0} of {1}</value>
<comment>The name of a new item that is a copy of an existing item</comment>
</data>
- <data name="CreateResourceError" xml:space="preserve">
- <value>Unable to create the resource {0}
-Error message: {1}</value>
- <comment>An error message that is displayed if the resource creation fails</comment>
- </data>
<data name="DeleteFolderAndResourcesConfirmation" xml:space="preserve">
<value>If you delete the folder, any resource that references an item in the selected folder will become unusable.
Modified: trunk/Tools/Maestro/MaestroAPI/Utf8XmlWriter.cs
===================================================================
--- trunk/Tools/Maestro/MaestroAPI/Utf8XmlWriter.cs 2009-12-12 12:48:58 UTC (rev 4426)
+++ trunk/Tools/Maestro/MaestroAPI/Utf8XmlWriter.cs 2009-12-12 19:27:41 UTC (rev 4427)
@@ -30,14 +30,23 @@
//This creation of the UTF8 encoder removes the BOM
//Which is required because MapGuide has trouble reading files with a BOM.
: base(s, new System.Text.UTF8Encoding(false, true))
- {
- //The MapGuide Studio parser is broken, it can't read Xml without whitespace :)
- base.Formatting = System.Xml.Formatting.Indented;
- base.Indentation = 2;
- base.IndentChar = ' ';
+ {
+ Initialize();
}
- public Utf8XmlWriter(System.IO.TextWriter w) : base(w) {}
+ private void Initialize()
+ {
+ //The MapGuide Studio parser is broken, it can't read Xml without whitespace :)
+ base.Formatting = System.Xml.Formatting.Indented;
+ base.Indentation = 2;
+ base.IndentChar = ' ';
+ }
+
+ public Utf8XmlWriter(System.IO.TextWriter w) : base(w)
+ {
+ Initialize();
+ }
+
public override void WriteStartDocument() {Utf8WriteHeader();}
public override void WriteStartDocument(bool standalone) {Utf8WriteHeader();}
More information about the mapguide-commits
mailing list