Example #1
0
        private void OpenUrl()
        {
            var text = MessageItems.ToText();
            var list = ExtractUrl(text);

            if (list.Count > 0)
            {
                Process.Start(list[0]);
            }
        }
        //---------------------------------------------------------------------
        #region ViewMessage

        public void ViewMessage(MessageModel msg, HorizontalAlignment alignment = HorizontalAlignment.Left)
        {
            lock (MessageItemsBlock)
                MessageItems.Add(new MessageVievModel(msg)
                {
                    Alignment = alignment
                });

            MessageTextParam = string.Empty;
        }
        private void CopyComment()
        {
            var message = MessageItems.ToText();

            try
            {
                System.Windows.Clipboard.SetText(message);
            }
            catch (System.Runtime.InteropServices.COMException) { }
            //SetSystemInfo("copy: " + message, InfoType.Debug);
        }
        private string GetUrlFromSelectedComment()
        {
            var message = MessageItems.ToText();
            var match   = Regex.Match(message, "(https?://([\\w-]+.)+[\\w-]+(?:/[\\w- ./?%&=]))?");

            if (match.Success)
            {
                return(match.Groups[1].Value);
            }
            return(null);
        }
        /// <summary>
        /// speichert den übergebenen Wert in den Optimalcode der im String übergebenen MessagItems(Zeichen)
        /// </summary>
        /// <param name="messageItemsString"></param>
        /// <param name="value"></param>
        void AddOptimalcode(string messageItemsString, string value)
        {
            if (messageItemsString.Length == 1)
            {
                var exp = MessageItems.Where(x => x.Character == messageItemsString).FirstOrDefault();
                exp.Optimalcode = value + exp.Optimalcode;  // WErt links anfügen -> dann muss am Ende dei Reihenfolge nicht gedreht werden
                return;
            }

            var items = messageItemsString.Split('+');

            foreach (var item in items)
            {
                var exp = MessageItems.Where(x => x.Character == item).FirstOrDefault();
                exp.Optimalcode = value + exp.Optimalcode;
            }
        }
 public ChatMessage(string messageText)
     : base(messageText)
 {
     if (MessageItems["type"] != "chatmsg")
     {
         throw new MessageException("{0}不是弹幕消息!", messageText);
     }
     SendingTime = MessageItems.ContainsKey("cst") ? GetTime(long.Parse(MessageItems["cst"])) : DateTime.Now;
     Text        = MessageItems["txt"];
     RoomId      = int.Parse(MessageItems["rid"]);
     UserId      = int.Parse(MessageItems["uid"]);
     UserName    = MessageItems["nn"];
     UserLevel   = int.Parse(MessageItems["level"]);
     BadgeName   = MessageItems["bnn"];
     BadgeLevel  = int.Parse(MessageItems["bl"]);
     BadgeRoomId = int.Parse(MessageItems["brid"]);
 }
Example #7
0
        private void LoadDesigntimeData()
        {
            this.MessageItems.Clear();
            this.MessageItems.Add(new Models.MessageItem {
                ID = "1", Body = "Design Data Body", Title = "Design Title", IsRead = false
            });
            this.MessageItems.Add(new Models.MessageItem {
                ID = "2", Body = "Design Data Body 2", Title = "Design Title 2", IsRead = true
            });
            this.MessageItems.Add(new Models.MessageItem {
                ID = "3", Body = "Design Data Body 3", Title = "Design Title 3", IsRead = false
            });
            this.MessageItems.Add(new Models.MessageItem {
                ID = "4", Body = "Design Data Body 4", Title = "Design Title 4", IsRead = true
            });

            this.Selected = (this.MessageItems.Any()) ? MessageItems.First() : default(Models.MessageItem);
        }
Example #8
0
        public GiftMessage(string messageText)
            : base(messageText)
        {
            if (MessageItems["type"] != "dgb")
            {
                throw new MessageException("{0}不是礼物消息!", messageText);
            }

            RoomId      = int.Parse(MessageItems["rid"]);
            UserId      = int.Parse(MessageItems["uid"]);
            UserName    = MessageItems["nn"];
            UserLevel   = int.Parse(MessageItems["level"]);
            Weight      = int.Parse(MessageItems["dw"]);
            Gift        = Gift.GetGift(MessageItems["gfid"]);
            Hits        = MessageItems.ContainsKey("hits") ? int.Parse(MessageItems["hits"]) : 0;
            BadgeName   = MessageItems["bnn"];
            BadgeLevel  = int.Parse(MessageItems["bl"]);
            BadgeRoomId = int.Parse(MessageItems["brid"]);
        }
        private void Draw(DrawingContext drawingContext)
        {
            var PenBlack = new Pen(Brushes.Black, 1);
            var PenBlue  = new Pen(Brushes.Blue, 1);
            var PenGrey  = new Pen(Brushes.LightGray, 1);

            // X-Achse
            drawingContext.DrawLine(PenBlack, FixPoint(new Point(0, 0)), FixPoint(new Point(this.ActualWidth, 0)));
            // Y-Achse
            drawingContext.DrawLine(PenBlack, FixPoint(new Point(0, 0)), FixPoint(new Point(0, this.ActualHeight)));

            // Raster zeichen Links nach Rechts
            for (var i = 1; i < this.ValueCountY + 1; i++)
            {
                drawingContext.DrawLine(PenGrey, FixPoint(new Point(0, i * IntervallY)), FixPoint(new Point(this.ActualWidth, i * IntervallY)));
                // Zeichen
                drawingContext.DrawText(
                    GetFormattedText(MessageItems.ElementAt(i - 1).Character, Brushes.Black, TextAlignment.Right),
                    FixPoint(new Point(-5, i * IntervallY))
                    );
            }
            // Raster zechnen Unten nach Oben
            for (var i = 0.1; i < this.MaxValueX; i += 0.1)
            {
                drawingContext.DrawLine(PenGrey, FixPoint(new Point(i * IntervallX, 0)), FixPoint(new Point(i * IntervallX, this.ActualHeight)));
                // Wahrscheinlichkeit
                drawingContext.DrawText(
                    GetFormattedText(i.ToString(), Brushes.Black),
                    FixPoint(new Point(i * IntervallX, 0))
                    );
            }

            // Punkte zeichnen
            foreach (var point in Points)
            {
                drawingContext.DrawEllipse(Brushes.Black, PenBlack, FixPoint(point), this.ActualWidth / 250, this.ActualHeight / 250);

                drawingContext.DrawText(
                    GetFormattedText(point.Caption, Brushes.Black),
                    FixPoint(point.GetPoint())
                    );
            }

            // Punkt-Verbindungs-Linien zeichnen
            foreach (DiagramLine line in Lines)
            {
                drawingContext.DrawLine(PenBlue, FixPoint(line.Start), FixPoint(line.End));

                drawingContext.DrawText(
                    GetFormattedText(line.GetCaption(), Brushes.Red),
                    FixPoint(new Point((line.Start.X + line.End.X) / 2, (line.Start.Y + line.End.Y) / 2))
                    );
            }

            // ZusatzPunkte zeichnen
            foreach (var point in AdditionalPoints)
            {
                drawingContext.DrawEllipse(Brushes.Blue, PenBlue, FixPoint(point), this.ActualWidth / 250, this.ActualHeight / 250);
                // Beschriftung Zusatzpunkte
                //drawingContext.DrawText(
                //    GetFormattedText(point.Caption, Brushes.Blue),
                //    FixPoint(point.GetPoint())
                //    );
            }
        }
Example #10
0
            }                                            // 0 = root, 1...

            public void Add(TreeMessageItem newItem)
            {
                MessageItems.Add(newItem);
                newItem.Parent = this;
            }