示例#1
0
 private void UpdateFeedLayout(FeedColumnLayout layout)
 {
     for (var i = 0; i < layout.ColumnWidthList.Count; i++)
     {
         layout.ColumnWidthList[i] = (int)(layout.ColumnWidthList[i] * scaleFactor);
     }
 }
示例#2
0
        /// <summary>
        /// Compares  two layouts for equality.
        /// </summary>
        /// <param name="obj">the objects to compare</param>
        /// <param name="ignoreColumnWidths">indicates whether column widths should be ignored</param>
        /// <returns>true if they are equal</returns>
        public bool Equals(object obj, bool ignoreColumnWidths)
        {
            if (obj == null)
            {
                return(false);
            }
            FeedColumnLayout o = obj as FeedColumnLayout;

            if (o == null)
            {
                return(false);
            }
            if (SortOrder != o.SortOrder)
            {
                return(false);
            }
            if (SortByColumn != o.SortByColumn)
            {
                return(false);
            }
            if (_columns == null && o._columns == null)
            {
                return(true);
            }
            if (_columns == null || o._columns == null)
            {
                return(false);
            }
            if (_columns.Count != o._columns.Count)
            {
                return(false);
            }

            if (ignoreColumnWidths)
            {
                for (int i = 0; i < _columns.Count; i++)
                {
                    if (String.Compare(_columns[i], o._columns[i]) != 0)
                    {
                        return(false);
                    }
                }
            }
            else
            {
                for (int i = 0; i < _columns.Count; i++)
                {
                    if (String.Compare(_columns[i], o._columns[i]) != 0 ||
                        _columnWidths[i] != o._columnWidths[i])
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
示例#3
0
        /// <summary>
        /// Returns true, if the layout is a kind of a category layout (global, individual) and
        /// they are equal except for column widths.
        /// </summary>
        /// <param name="layout"></param>
        /// <returns>bool</returns>
        public bool IsSimilarCategoryLayout(FeedColumnLayout layout)
        {
            if (layout == null)
            {
                return(false);
            }

            if ((_layoutType == LayoutType.IndividualLayout || _layoutType == LayoutType.GlobalCategoryLayout) &&
                (layout._layoutType == LayoutType.IndividualLayout || layout._layoutType == LayoutType.GlobalFeedLayout))
            {
                return(Equals(layout, true));
            }
            return(false);
        }
示例#4
0
        private string ValidateFeedColumnLayout(LayoutType type, FeedColumnLayout defaultLayout)
        {
            foreach (var key in _layouts.Keys)
            {
                if (_layouts[key].LayoutType == type)
                {
                    return(key);
                }
            }

            string newkey = FeedColumnLayoutCollection.CreateNewKey();

            _layouts.Add(newkey, defaultLayout);
            // feedHandler.SaveColumLayouts();
            return(newkey);
        }
示例#5
0
 /// <summary>
 /// Saves as XML.
 /// </summary>
 /// <param name="layout">The layout.</param>
 /// <returns></returns>
 public static string SaveAsXML(FeedColumnLayout layout)
 {
     if (layout == null)
     {
         return(null);
     }
     try
     {
         XmlSerializer formatter = XmlHelper.SerializerCache.GetSerializer(typeof(FeedColumnLayout));
         StringWriter  writer    = new StringWriter();
         formatter.Serialize(writer, layout);
         return(writer.ToString());
     }
     catch (Exception ex)
     {
         Trace.WriteLine("SaveAsXML() failed.", ex.Message);
     }
     return(null);
 }