示例#1
0
        private static Inline FormatInline(ChatControl control, Inline inline, TraceEventType eventType, int id, Object[] args = null)
        {
            switch (eventType)
            {
                case TraceEventType.Error:
                case TraceEventType.Warning:
                    inline.Foreground = Brushes.Red;
                    inline.FontWeight = FontWeights.Bold;
                    break;
                case TraceEventType.Information:
                    if ((id & EventIds.Chat) != 0)
                        inline.FontWeight = FontWeights.Bold;
                    if (args == null || args.GetUpperBound(0) == -1)
                    {
                        if ((id & EventIds.OtherPlayer) == 0)
                            inline.Foreground = Brushes.DarkGray;
                    }
                    else
                    {
                        int i = 0;
                        var p = args[i] as Player;
                        while (p == null && i < args.Length - 1)
                        {
                            i++;
                            p = args[i] as Player;
                        }
                        inline.Foreground = p != null ? new SolidColorBrush(p.Color) : Brushes.Red;

                        if (p != null && Player.LocalPlayer.Id != p.Id)
                        {
                            var theinline = inline;
                            theinline.Initialized += (sender, eventArgs) =>
                                {
                                    try
                                    {
                                        var curcolor = (theinline.Foreground as SolidColorBrush).Color;
                                        var dbAscending = new ColorAnimation(curcolor, Colors.Tomato, new Duration(TimeSpan.FromMilliseconds(500)))
                                            { RepeatBehavior = new RepeatBehavior(2), AutoReverse = true };
                                        var storyboard = new Storyboard();
                                        Storyboard.SetTarget(dbAscending, theinline);
                                        Storyboard.SetTargetProperty(dbAscending, new PropertyPath("Foreground.Color"));
                                        storyboard.Children.Add(dbAscending);
                                        storyboard.Begin(control);
                                    }
                                    catch (Exception)
                                    {
                                    }
                                };
                        }
                    }
                    break;
            }
            return inline;
        }
示例#2
0
        SetRangeValues
        (
            Range upperLeftCornerMarker,
            Object[,] values
        )
        {
            Debug.Assert(upperLeftCornerMarker != null);
            Debug.Assert(values != null);

            Debug.Assert(upperLeftCornerMarker.Parent is Worksheet);

            Worksheet oWorksheet = (Worksheet)upperLeftCornerMarker.Parent;

            Int32 iRow = upperLeftCornerMarker.Row;
            Int32 iColumn = upperLeftCornerMarker.Column;

            Range oRangeToSet = oWorksheet.get_Range(

                oWorksheet.Cells[iRow, iColumn],

                oWorksheet.Cells[
                    iRow + values.GetUpperBound(0) - values.GetLowerBound(0),
                    iColumn + values.GetUpperBound(1) - values.GetLowerBound(1)
                    ]
                );

            oRangeToSet.set_Value(Missing.Value, values);
        }
示例#3
0
 private Inline FormatInline(Inline inline, TraceEventType eventType, int id, Object[] args=null)
 {
     if (eventType == TraceEventType.Warning || eventType == TraceEventType.Error)
     {
         inline.Foreground = Brushes.Red;
         inline.FontWeight = FontWeights.Bold;
     }
     else if (eventType == TraceEventType.Information)
     {
         if ((id & EventIds.Chat) != 0)
                 inline.FontWeight = FontWeights.Bold;
         if (args == null || args.GetUpperBound(0) == -1)
         {
             if ((id & EventIds.OtherPlayer) == 0)
                 inline.Foreground = Brushes.DarkGray;
         }
         else
         {
             int i = 0;
             Player p = args[i] as Player;
             while (p == null && i < args.Length-1)
             {
                 i++;
                 p = args[i] as Player;
             }
             if (p != null)
                 inline.Foreground = new SolidColorBrush(p.Color);
             else
                 inline.Foreground = Brushes.Red;
         }
     }
     return inline;
 }
    GetRowCount
    (
        Object [,] aoColumnValues
    )
    {
        Debug.Assert(aoColumnValues != null);
        AssertValid();

        return ( aoColumnValues.GetUpperBound(0) -
            aoColumnValues.GetLowerBound(0) + 1);
    }
示例#5
0
 ///<summary>
 ///Creates a XArrayHelper and copies the values from an object array.
 ///</summary>
 ///<param name="array">The source array to be copied.</param>
 public void LoadRows(Object[,] array)
 {
     this.RedimXArray(new int[] { array.GetUpperBound(0), array.GetUpperBound(1) }, new int[] { array.GetLowerBound(0), array.GetLowerBound(1) });
     for (int row = array.GetLowerBound(0); row <= array.GetUpperBound(0); row++)
     {
         for (int col = array.GetLowerBound(1); col <= array.GetUpperBound(1); col++)
         {
             this.SetValue(array[row, col], row, col);
         }
     }
 }