public static IStyleGalleryItem FindStyleGalleryItem(string string_0, string string_1, string string_2, string string_3) { IStyleGalleryItem styleGalleryItem; IStyleGallery myStyleGallery; try { if (File.Exists(string_1)) { string lower = Path.GetExtension(string_1).ToLower(); if (lower == ".style") { myStyleGallery = new MyStyleGallery(); } else if (lower != ".serverstyle") { styleGalleryItem = null; return(styleGalleryItem); } else { myStyleGallery = new ServerStyleGallery(); for (int i = (myStyleGallery as IStyleGalleryStorage).FileCount - 1; i >= 0; i--) { if (Path.GetExtension((myStyleGallery as IStyleGalleryStorage).File[i]).ToLower() != ".serverstyle") { (myStyleGallery as IStyleGalleryStorage).RemoveFile( (myStyleGallery as IStyleGalleryStorage).File[i]); } } } (myStyleGallery as IStyleGalleryStorage).AddFile(string_1); IStyleGalleryItem styleGalleryItem1 = SymbolFind.FindStyleGalleryItem(string_0, myStyleGallery, string_1, string_2, string_3); myStyleGallery = null; GC.Collect(); styleGalleryItem = styleGalleryItem1; } else { styleGalleryItem = null; } } catch (Exception exception) { styleGalleryItem = null; } return(styleGalleryItem); }
private void btnConvert_Click(object sender, EventArgs e) { if (this.listBox1.Items.Count == 0) { MessageBox.Show("请选择要转换的源符号库"); } else if (this.txtDest.Text.Length == 0) { MessageBox.Show("请输入转出目录"); } else { IStyleGallery gallery; int num3; string str; SaveFileDialog dialog = new SaveFileDialog { FileName = this.txtDest.Text }; Stream stream = dialog.OpenFile(); if (stream != null) { Stream manifestResourceStream; int num; if (!this.m_IsStyleFile) { manifestResourceStream = base.GetType() .Assembly.GetManifestResourceStream( "Yutai.ArcGIS.Controls.Controls.SymbolUI.template.style"); } else { manifestResourceStream = base.GetType() .Assembly.GetManifestResourceStream( "Yutai.ArcGIS.Controls.Controls.SymbolUI.template.ServerStyle"); } byte[] buffer = new byte[4096]; while ((num = manifestResourceStream.Read(buffer, 0, 4096)) > 0) { stream.Write(buffer, 0, num); } stream.Close(); } if (this.m_IsStyleFile) { gallery = new ServerStyleGalleryClass(); num3 = (gallery as IStyleGalleryStorage).FileCount - 1; while (num3 >= 0) { str = (gallery as IStyleGalleryStorage).get_File(num3); (gallery as IStyleGalleryStorage).RemoveFile(str); num3--; } } else { gallery = new MyStyleGallery(); } gallery.Clear(); (gallery as IStyleGalleryStorage).TargetFile = this.txtDest.Text; foreach (object obj2 in this.listBox1.Items) { try { IStyleGallery gallery2; if (this.m_IsStyleFile) { gallery2 = new MyStyleGallery(); } else { gallery2 = new ServerStyleGalleryClass(); num3 = (gallery2 as IStyleGalleryStorage).FileCount - 1; while (num3 >= 0) { str = (gallery2 as IStyleGalleryStorage).get_File(num3); (gallery2 as IStyleGalleryStorage).RemoveFile(str); num3--; } } gallery2.Clear(); (gallery2 as IStyleGalleryStorage).AddFile(obj2.ToString()); for (num3 = 0; num3 < gallery2.ClassCount; num3++) { string name = gallery2.get_Class(num3).Name; IEnumBSTR mbstr = gallery2.get_Categories(name); string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(obj2.ToString()); mbstr.Reset(); for (string str4 = mbstr.Next(); str4 != null; str4 = mbstr.Next()) { IEnumStyleGalleryItem item = gallery2.get_Items(name, obj2.ToString(), str4); item.Reset(); IStyleGalleryItem item2 = null; try { item2 = item.Next(); } catch { } while (item2 != null) { string str6; if (this.m_IsStyleFile) { IStyleGalleryItem item3 = new ServerStyleGalleryItemClass(); object obj3 = item2.Item; item3.Item = obj3; string str5 = item2.Name; item3.Name = str5; if (item2.Category.Length > 0) { str6 = fileNameWithoutExtension + "_" + item2.Category; item3.Category = str6; } else { item3.Category = fileNameWithoutExtension; } try { string defaultStylePath = (gallery as IStyleGalleryStorage).DefaultStylePath; int fileCount = (gallery as IStyleGalleryStorage).FileCount; gallery.AddItem(item3); } catch (Exception) { } } else { if (item2.Category.Length > 0) { str6 = fileNameWithoutExtension + "_" + item2.Category; item2.Category = str6; } else { item2.Category = fileNameWithoutExtension; } gallery.AddItem(item2); } try { item2 = item.Next(); } catch { } } } } (gallery2 as IStyleGalleryStorage).RemoveFile(obj2.ToString()); } catch (Exception) { } } try { (gallery as IStyleGalleryStorage).RemoveFile(this.txtDest.Text); } catch { } base.Close(); } }
private void btnConvert_Click(object sender, EventArgs e) { if (this.txtOrigin.Text.Length == 0) { MessageBox.Show("请选择要转换的源符号库"); } else if (this.txtDest.Text.Length == 0) { MessageBox.Show("请输入目的符号库"); } else { SaveFileDialog dialog = new SaveFileDialog { FileName = this.txtDest.Text }; Stream stream = dialog.OpenFile(); if (stream != null) { Stream manifestResourceStream; int num; IStyleGallery gallery; IStyleGallery gallery2; int num3; if (this.m_IsStyleFile) { manifestResourceStream = base.GetType() .Assembly.GetManifestResourceStream("Yutai.ArcGIS.Controls.SymbolUI.template.style"); } else { manifestResourceStream = base.GetType() .Assembly.GetManifestResourceStream( "Yutai.ArcGIS.Controls.SymbolUI.template.ServerStyle"); } byte[] buffer = new byte[4096]; while ((num = manifestResourceStream.Read(buffer, 0, 4096)) > 0) { stream.Write(buffer, 0, num); } stream.Close(); if (this.m_IsStyleFile) { gallery = new ServerStyleGalleryClass(); gallery2 = new MyStyleGallery(); } else { gallery = new MyStyleGallery(); gallery2 = new ServerStyleGalleryClass(); for (num3 = (gallery2 as IStyleGalleryStorage).FileCount - 1; num3 >= 0; num3--) { string path = (gallery2 as IStyleGalleryStorage).get_File(num3); (gallery2 as IStyleGalleryStorage).RemoveFile(path); } } (gallery as IStyleGalleryStorage).AddFile(this.txtOrigin.Text); (gallery2 as IStyleGalleryStorage).AddFile(this.txtDest.Text); for (num3 = 0; num3 < gallery.ClassCount; num3++) { string name = gallery.get_Class(num3).Name; IEnumStyleGalleryItem item = gallery.get_Items(name, this.txtOrigin.Text, ""); item.Reset(); for (IStyleGalleryItem item2 = item.Next(); item2 != null; item2 = item.Next()) { gallery2.AddItem(item2); } } } } }
private void btnConvert_Click(object sender, EventArgs e) { if (this.listBox1.Items.Count == 0) { MessageBox.Show("请选择要转换的源符号库"); } else if (this.txtDest.Text.Length == 0) { MessageBox.Show("请输入转出目录"); } else { this.Cursor = Cursors.WaitCursor; foreach (object obj2 in this.listBox1.Items) { try { string path = obj2.ToString(); SaveFileDialog dialog = new SaveFileDialog(); string str2 = ".style"; if (this.m_IsStyleFile) { str2 = ".ServerStyle"; } string str3 = Path.Combine(this.txtDest.Text, Path.GetFileNameWithoutExtension(path) + str2); if (File.Exists(str3)) { File.Delete(str3); } dialog.FileName = str3; Stream stream = dialog.OpenFile(); if (stream != null) { Stream manifestResourceStream; int num; IStyleGallery gallery; IStyleGallery gallery2; int num3; string str4; if (!this.m_IsStyleFile) { manifestResourceStream = base.GetType() .Assembly.GetManifestResourceStream( "Yutai.ArcGIS.Controls.Controls.SymbolUI.template.style"); } else { manifestResourceStream = base.GetType() .Assembly.GetManifestResourceStream( "Yutai.ArcGIS.Controls.Controls.SymbolUI.template.ServerStyle"); } byte[] buffer = new byte[4096]; while ((num = manifestResourceStream.Read(buffer, 0, 4096)) > 0) { stream.Write(buffer, 0, num); } stream.Close(); if (this.m_IsStyleFile) { gallery = new MyStyleGallery(); gallery2 = new ServerStyleGalleryClass(); num3 = (gallery2 as IStyleGalleryStorage).FileCount - 1; while (num3 >= 0) { str4 = (gallery2 as IStyleGalleryStorage).get_File(num3); (gallery2 as IStyleGalleryStorage).RemoveFile(str4); num3--; } } else { gallery = new ServerStyleGalleryClass(); gallery2 = new MyStyleGallery(); num3 = (gallery as IStyleGalleryStorage).FileCount - 1; while (num3 >= 0) { str4 = (gallery as IStyleGalleryStorage).get_File(num3); (gallery as IStyleGalleryStorage).RemoveFile(str4); num3--; } } gallery.Clear(); gallery2.Clear(); (gallery as IStyleGalleryStorage).AddFile(path); (gallery2 as IStyleGalleryStorage).TargetFile = str3; for (num3 = 0; num3 < gallery.ClassCount; num3++) { string name = gallery.get_Class(num3).Name; IEnumBSTR mbstr = gallery.get_Categories(name); mbstr.Reset(); for (string str6 = mbstr.Next(); str6 != null; str6 = mbstr.Next()) { IEnumStyleGalleryItem item = gallery.get_Items(name, path, str6); item.Reset(); IStyleGalleryItem item2 = null; try { item2 = item.Next(); } catch { } while (item2 != null) { if (this.m_IsStyleFile) { IStyleGalleryItem item3 = new ServerStyleGalleryItemClass(); object obj3 = item2.Item; item3.Item = obj3; string str7 = item2.Name; item3.Name = str7; string category = item2.Category; item3.Category = category; gallery2.AddItem(item3); } else { gallery2.AddItem(item2); } try { item2 = item.Next(); } catch { } } } } (gallery as IStyleGalleryStorage).RemoveFile(path); (gallery2 as IStyleGalleryStorage).RemoveFile(str3); } } catch (Exception) { } } this.Cursor = Cursors.Default; base.Close(); } }