Exemple #1
0
        public DataCollection Serialize(ITypeSerializer handler)
        {
            DataCollection dc = handler.Serialize(this);

            dc.Extract("filters");
            dc.Extract("icon");

            DataItem filtersItem = new DataItem();

            filtersItem.Name = "filters";
            dc.Add(filtersItem);

            foreach (ToolboxItemFilterAttribute tbfa in itemFilters)
            {
                DataItem item = new DataItem();
                item.Name = "filter";
                item.ItemData.Add(new DataValue("string", tbfa.FilterString));
                item.ItemData.Add(new DataValue("type", System.Enum.GetName(typeof(ToolboxItemFilterType), tbfa.FilterType)));
                filtersItem.ItemData.Add(item);
            }

            if (icon != null)
            {
                DataItem item = new DataItem();
                item.Name = "icon";
                dc.Add(item);
                MemoryStream ms = new MemoryStream();
                icon.Save(ms, Xwt.Drawing.ImageFileType.Png);
                string iconString = Convert.ToBase64String(ms.ToArray());
                item.ItemData.Add(new DataValue("enc", iconString));
            }

            return(dc);
        }