示例#1
0
 public ResourceColumnScheme(int[] propIds, int startRow, int endRow, int startX, int width,
                             MultiLineColumnFlags flags, Color textColor, HorizontalAlignment textAlign)
 {
     _propIds   = propIds;
     _startRow  = startRow;
     _endRow    = endRow;
     _startX    = startX;
     _width     = width;
     _flags     = flags;
     _textColor = textColor;
     _textAlign = textAlign;
 }
示例#2
0
        public void RegisterMultiLineColumn(string resourceType, int[] propIds, int startRow, int endRow,
                                            int startX, int width, MultiLineColumnFlags flags, Color textColor, HorizontalAlignment textAlign)
        {
            ArrayList list = (ArrayList)_columnSchemeMap [resourceType];

            if (list == null)
            {
                list = new ArrayList();
                _columnSchemeMap [resourceType] = list;
            }
            list.Add(new ResourceColumnScheme(propIds, startRow, endRow, startX, width, flags, textColor, textAlign));
        }
示例#3
0
        private ColumnAnchor AnchorFromFlags(MultiLineColumnFlags flags)
        {
            ColumnAnchor anchor = 0;

            if ((flags & MultiLineColumnFlags.AnchorLeft) != 0)
            {
                anchor |= ColumnAnchor.Left;
            }
            if ((flags & MultiLineColumnFlags.AnchorRight) != 0)
            {
                anchor |= ColumnAnchor.Right;
            }
            return(anchor);
        }
示例#4
0
        private static void LoadMultiLineColumn(string resourceType, string[] propNames, XmlNode node)
        {
            int row    = XmlTools.GetRequiredIntAttribute(node, "row");
            int endRow = XmlTools.GetIntAttribute(node, "endRow", -1);

            if (endRow == -1)
            {
                endRow = row;
            }
            int startX = XmlTools.GetRequiredIntAttribute(node, "startX");
            int width  = XmlTools.GetRequiredIntAttribute(node, "width");

            MultiLineColumnFlags flags = 0;

            string anchor = XmlTools.GetRequiredAttribute(node, "anchor");

            switch (anchor)
            {
            case "left":  flags |= MultiLineColumnFlags.AnchorLeft; break;

            case "right": flags |= MultiLineColumnFlags.AnchorRight; break;

            case "both":  flags |= MultiLineColumnFlags.AnchorLeft | MultiLineColumnFlags.AnchorRight; break;

            default:
                throw new Exception("Invalid column anchor '" + anchor + "'");
            }

            if (XmlTools.GetIntAttribute(node, "hideIfNoProp", 0) == 1)
            {
                flags |= MultiLineColumnFlags.HideIfNoProp;
            }

            Color color = SystemColors.ControlText;
            int   r     = XmlTools.GetIntAttribute(node, "r", -1);

            if (r != -1)
            {
                int g = XmlTools.GetRequiredIntAttribute(node, "g");
                int b = XmlTools.GetRequiredIntAttribute(node, "b");
                color = Color.FromArgb(r, g, b);
            }

            HorizontalAlignment textAlign = HorizontalAlignment.Left;

            if (node.Attributes ["align"] != null)
            {
                switch (node.Attributes ["align"].Value)
                {
                case "left":   textAlign = HorizontalAlignment.Left; break;

                case "center": textAlign = HorizontalAlignment.Center; break;

                case "right":  textAlign = HorizontalAlignment.Right; break;

                default:
                    throw new Exception("Invalid column alignment '" + anchor + "'");
                }
            }

            DisplayColumnManager colManager = Core.DisplayColumnManager as DisplayColumnManager;

            Core.DisplayColumnManager.RegisterMultiLineColumn(resourceType,
                                                              colManager.PropNamesToIDs(propNames, true), row, endRow, startX, width, flags, color, textAlign);
        }
示例#5
0
 public void RegisterMultiLineColumn(string resourceType, int propId, int startRow, int endRow,
                                     int startX, int width, MultiLineColumnFlags flags, Color textColor, HorizontalAlignment textAlign)
 {
     RegisterMultiLineColumn(resourceType, new int[] { propId }, startRow, endRow,
                             startX, width, flags, textColor, textAlign);
 }
示例#6
0
 public void RegisterDefaultMultiLineColumn(int[] propIds, int startRow, int endRow,
                                            int startX, int width, MultiLineColumnFlags flags, Color textColor, HorizontalAlignment textAlign)
 {
     RegisterMultiLineColumn("*", propIds, startRow, endRow, startX, width, flags,
                             textColor, textAlign);
 }
示例#7
0
 public void RegisterAllTypesMultiLineColumn(int propId, int startRow, int endRow,
                                             int startX, int width, MultiLineColumnFlags flags, Color textColor, HorizontalAlignment textAlign)
 {
     RegisterMultiLineColumn("?", new int[] { propId }, startRow, endRow, startX, width, flags,
                             textColor, textAlign);
 }