• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Engine.MessageModel类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中Smuxi.Engine.MessageModel的典型用法代码示例。如果您正苦于以下问题:C# MessageModel类的具体用法?C# MessageModel怎么用?C# MessageModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



MessageModel类属于Smuxi.Engine命名空间,在下文中一共展示了MessageModel类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: MessageHookEnvironment

        public MessageHookEnvironment(MessageModel msg, string sender, string receiver)
        {
            if (msg == null) {
                throw new ArgumentNullException("msg");
            }
            if (sender == null) {
                throw new ArgumentNullException("sender");
            }
            if (receiver == null) {
                throw new ArgumentNullException("receiver");
            }

            var nick = msg.GetNick();
            var message = msg.ToString();
            if (String.IsNullOrEmpty(nick)) {
                this["MSG"] = message;
            } else {
                this["MSG"] = message.Substring(nick.Length + 3);
            }
            this["MSG_TYPE"] = msg.MessageType.ToString();

            var timestamp = (Int64) (msg .TimeStamp - UnixEpoch).TotalSeconds;
            this["MSG_TIMESTAMP_UNIX"] = timestamp.ToString();
            this["MSG_TIMESTAMP_ISO_UTC"] = msg.TimeStamp.ToString("u").Replace('Z', ' ').TrimEnd();
            this["MSG_TIMESTAMP_ISO_LOCAL"] = msg.TimeStamp.ToLocalTime().ToString("u").Replace('Z', ' ').TrimEnd();

            this["SENDER"] = sender;
            this["RECEIVER"] = receiver;
        }
开发者ID:pacificIT,项目名称:smuxi,代码行数:29,代码来源:MessageHookEnvironment.cs


示例2: ParseSmileys

        public static void ParseSmileys(MessageModel msg)
        {
            string simleyRegex;
            simleyRegex = @":-?(\(|\))";
            Regex reg = new Regex(simleyRegex);
            // clone MessageParts
            IList<MessagePartModel> parts = new List<MessagePartModel>(msg.MessageParts);
            foreach (MessagePartModel part in parts) {
                if (!(part is TextMessagePartModel)) {
                    continue;
                }

                TextMessagePartModel textPart = (TextMessagePartModel) part;
                Match simleyMatch = reg.Match(textPart.Text);
                // OPT: fast regex scan
                if (!simleyMatch.Success) {
                    // no smileys in this MessagePart, nothing to do
                    continue;
                }

                // found smiley(s)
                // remove current MessagePartModel as we need to split it
                int idx = msg.MessageParts.IndexOf(part);
                msg.MessageParts.RemoveAt(idx);

                string[] textPartParts = textPart.Text.Split(new char[] {' '});
                for (int i = 0; i < textPartParts.Length; i++) {
                    string textPartPart = textPartParts[i];
                    simleyMatch = reg.Match(textPartPart);
                    if (simleyMatch.Success) {
                        string filename = null;
                        if (textPartPart == ":-)") {
                            filename = "smile.png";
                        }
                        ImageMessagePartModel imagePart = new ImageMessagePartModel(
                            filename,
                            textPartPart
                        );
                        msg.MessageParts.Insert(idx++, imagePart);
                        msg.MessageParts.Insert(idx++, new TextMessagePartModel(" "));
                    } else {
                        // FIXME: we put each text part into it's own object, instead of combining them (the smart way)
                        TextMessagePartModel notUrlPart = new TextMessagePartModel(textPartPart + " ");
                        // restore formatting / colors from the original text part
                        notUrlPart.IsHighlight     = textPart.IsHighlight;
                        notUrlPart.ForegroundColor = textPart.ForegroundColor;
                        notUrlPart.BackgroundColor = textPart.BackgroundColor;
                        notUrlPart.Bold            = textPart.Bold;
                        notUrlPart.Italic          = textPart.Italic;
                        notUrlPart.Underline       = textPart.Underline;
                        msg.MessageParts.Insert(idx++, notUrlPart);
                    }
                }
            }
        }
开发者ID:tuukka,项目名称:smuxi,代码行数:55,代码来源:MessageParser.cs


示例3: MessageModel

        public MessageModel(MessageModel msg)
            : this()
        {
            if (msg == null) {
                throw new ArgumentNullException("msg");
            }

            var writer = SerializationWriter.GetWriter();
            msg.GetObjectData(writer);
            var data = writer.GetData();
            var reader = SerializationReader.GetReader(data);
            SetObjectData(reader);
        }
开发者ID:grendello,项目名称:smuxi,代码行数:13,代码来源:MessageModel.cs


示例4: AddMessageToChat

        public void AddMessageToChat(ChatModel chat, MessageModel msg)
        {
            Trace.Call(chat, msg);

            ChatView chatView = _ChatViewManager.GetChat(chat);
            #if LOG4NET
            if (chatView == null) {
                _Logger.Fatal(String.Format("AddMessageToChat(): _ChatViewManager.GetChat(chat) chat.Name: {0} returned null!", chat.Name));
                return;
            }
            #endif
            chatView.AddMessage(msg);
        }
开发者ID:tuukka,项目名称:smuxi,代码行数:13,代码来源:StflUI.cs


示例5: ToMarkup

        public void ToMarkup()
        {
            MessageModel testmodel = new MessageModel();
            testmodel.IsCompactable = false;
            TextMessagePartModel textmodel;
            UrlMessagePartModel urlmodel;

            textmodel = new TextMessagePartModel("normal");
            testmodel.MessageParts.Add(textmodel);

            textmodel = new TextMessagePartModel("blue");
            textmodel.ForegroundColor = TextColor.Parse("0000FF");
            testmodel.MessageParts.Add(textmodel);

            textmodel = new TextMessagePartModel("bold");
            textmodel.Bold = true;
            testmodel.MessageParts.Add(textmodel);

            textmodel = new TextMessagePartModel("bold2");
            textmodel.Bold = true;
            testmodel.MessageParts.Add(textmodel);

            textmodel = new TextMessagePartModel("normal");
            testmodel.MessageParts.Add(textmodel);

            textmodel = new TextMessagePartModel("underline");
            textmodel.Underline = true;
            testmodel.MessageParts.Add(textmodel);

            textmodel = new TextMessagePartModel("combined");
            textmodel.Underline = true;
            textmodel.Bold = true;
            textmodel.Italic = true;
            textmodel.ForegroundColor = TextColor.Parse("00FF00");
            textmodel.BackgroundColor = TextColor.Parse("0000FF");
            testmodel.MessageParts.Add(textmodel);

            urlmodel = new UrlMessagePartModel("http://www.smuxi.org");
            testmodel.MessageParts.Add(urlmodel);

            textmodel = new TextMessagePartModel("normal");
            testmodel.MessageParts.Add(textmodel);

            string expected = "normal<span color='#0000FF'>blue</span>" +
                "<b>bold</b><b>bold2</b>normal<u>underline</u>" +
                "<span color='#00FF00'><u><b><i>combined</i></b></u></span>" +
                "<span color='#00008B'><u>http://www.smuxi.org</u></span>normal";
            string tested = PangoTools.ToMarkup(testmodel);

            Assert.AreEqual(expected, tested);
        }
开发者ID:pacificIT,项目名称:smuxi,代码行数:51,代码来源:PangoToolsTests.cs


示例6: AddMessage

        public override void AddMessage(MessageModel msg)
        {
            base.AddMessage(msg);

            var nick = msg.GetNick();
            if (nick == null) {
                return;
            }

            // update who spoke last
            for (int i = 0; i < Participants.Count; ++i) {
                var speaker = Participants[i];
                if (speaker.IdentityName == nick) {
                    Participants.RemoveAt(i);
                    Participants.Insert(0, speaker);
                    break;
                }
            }
        }
开发者ID:pacificIT,项目名称:smuxi,代码行数:19,代码来源:GroupChatView.cs


示例7: AddMessageToChat

        public void AddMessageToChat(ChatModel chat, MessageModel msg)
        {
            Trace.Call(chat, msg);

            try {
                ChatView chatView = _ChatViewManager.GetChat(chat);
                if (chatView == null) {
            #if LOG4NET
                    _Logger.Fatal(String.Format("AddMessageToChat(): _ChatViewManager.GetChat(chat) chat.Name: {0} returned null!", chat.Name));
            #endif
                    return;
                }

                // FIXME: this must be marshalled into the UI thread!
                chatView.AddMessage(msg);
                _ChatViewManager.UpdateNavigation();
            } catch (Exception ex) {
            #if LOG4NET
                _Logger.Fatal(ex);
            #endif
            }
        }
开发者ID:pacificIT,项目名称:smuxi,代码行数:22,代码来源:StflUI.cs


示例8: AddMessageToChat

        public void AddMessageToChat(ChatModel page, MessageModel msg)
        {
            Trace.Call(page, msg);

            string finalMsg = String.Empty;
            foreach (MessagePartModel msgPart in msg.MessageParts) {
                // TODO: implement other types
                if (msgPart is TextMessagePartModel) {
                    TextMessagePartModel fmsgti = (TextMessagePartModel) msgPart;
                    finalMsg += fmsgti.Text;
                }
            }

            string timestamp;
            try {
                timestamp = msg.TimeStamp.ToLocalTime().ToString((string)Frontend.UserConfig["Interface/Notebook/TimestampFormat"]);
            } catch (FormatException e) {
                timestamp = "Timestamp Format ERROR: " + e.Message;
            }
            finalMsg = timestamp + " " + page.Name + " " + finalMsg;

            Console.WriteLine(finalMsg);
        }
开发者ID:RoninBG,项目名称:smuxi,代码行数:23,代码来源:TestUI.cs


示例9: InsertTimeStamp

        protected override void InsertTimeStamp(Gtk.TextBuffer buffer, ref Gtk.TextIter iter,
                                                string timestamp, MessageModel msg)
        {
            if (String.IsNullOrWhiteSpace(msg.ID)) {
                buffer.Insert(ref iter, timestamp);
            } else {
                var uri = new Uri(String.Format("https://twitter.com/{0}/status/{1}", msg.GetNick(), msg.ID));

                var tags = new List<Gtk.TextTag>();
                // link URI tag
                var linkTag = new LinkTag(uri);
                linkTag.TextEvent += OnLinkTagTextEvent;
                _MessageTextTagTable.Add(linkTag);
                tags.Add(linkTag);

                // link style tag
                tags.Add(LinkTag);

                buffer.InsertWithTags(ref iter, timestamp, tags.ToArray());
            }

            buffer.Insert(ref iter, " ");
        }
开发者ID:meebey,项目名称:smuxi,代码行数:23,代码来源:TwitterMessageTextView.cs


示例10: Insert

 public override void Insert(int index, MessageModel item)
 {
     throw new NotSupportedException();
 }
开发者ID:grendello,项目名称:smuxi,代码行数:4,代码来源:Db4oMessageBuffer.cs


示例11: CopyTo

        public override void CopyTo(MessageModel[] array, int arrayIndex)
        {
            if (array == null) {
                throw new ArgumentNullException("array");
            }

            int i = arrayIndex;
            foreach (var msg in this) {
                array[i++] = msg;
            }
        }
开发者ID:grendello,项目名称:smuxi,代码行数:11,代码来源:Db4oMessageBuffer.cs


示例12: IndexOf

        public override int IndexOf(MessageModel item)
        {
            if (item == null) {
                throw new ArgumentNullException("item");
            }

            var res = Database.QueryByExample(item);
            // return -1 if not found
            if (res.Count == 0) {
                return -1;
            }
            var dbMsg = (MessageModel) res[0];
            var dbId = Database.Ext().GetID(dbMsg);
            return Index.IndexOf(dbId);
        }
开发者ID:grendello,项目名称:smuxi,代码行数:15,代码来源:Db4oMessageBuffer.cs


示例13: Add

        public override void Add(MessageModel item)
        {
            if (item == null) {
                throw new ArgumentNullException("item");
            }

            // make sure the index is initialized at this point else we will
            // load the 1st added item of db4o and end up with a duplicate here
            InitIndex();

            if (MaxCapacity > 0 && Index.Count >= MaxCapacity) {
                RemoveAt(0);
            }

            // TODO: auto-flush every 60 seconds
            var dbMsg = new MessageModel(item);
            Database.Store(dbMsg);
            Database.Deactivate(dbMsg, 5);
            var dbId = Database.Ext().GetID(dbMsg);
            Index.Add(dbId);
            FlushCounter++;
            if (FlushCounter >= FlushInterval) {
                Flush();
            }
        }
开发者ID:grendello,项目名称:smuxi,代码行数:25,代码来源:Db4oMessageBuffer.cs


示例14: Contains

        public override bool Contains(MessageModel item)
        {
            if (item == null) {
                throw new ArgumentNullException("item");
            }

            // TODO: benchmark me!
            //return Database.Query<MessageModel>().Contains(item);
            return IndexOf(item) != -1;
        }
开发者ID:grendello,项目名称:smuxi,代码行数:10,代码来源:Db4oMessageBuffer.cs


示例15: AddMessage

 public virtual void AddMessage(MessageModel msg)
 {
     switch (msg.MessageType) {
         case MessageType.ChatNameChanged:
             ThreadPool.QueueUserWorkItem(delegate {
                 try {
                     // REMOTING CALL
                     var newname = ChatModel.Name;
                     Gtk.Application.Invoke(delegate {
                         Name = newname;
                     });
                 } catch (Exception ex) {
                     Frontend.ShowException(ex);
                 }
             });
             return;
     }
     _OutputMessageTextView.AddMessage(msg);
 }
开发者ID:Jaykul,项目名称:smuxi,代码行数:19,代码来源:ChatView.cs


示例16: ChatViewMessageHighlightedEventArgs

 public ChatViewMessageHighlightedEventArgs(MessageModel msg)
 {
     Message = msg;
 }
开发者ID:Jaykul,项目名称:smuxi,代码行数:4,代码来源:ChatView.cs


示例17: _Say

        private void _Say(CommandModel command, string text)
        {
            if (!command.Chat.IsEnabled) {
                return;
            }

            //            string target = command.Chat.ID;
            //
            //            _JabberClient.Message(target, text);

            MessageModel msg = new MessageModel();
            TextMessagePartModel msgPart;

            msgPart = new TextMessagePartModel();
            msgPart.Text = "<";
            msg.MessageParts.Add(msgPart);

            msgPart = new TextMessagePartModel();
            msgPart.Text = _UsersAddress;
            //msgPart.ForegroundColor = IrcTextColor.Blue;
            msgPart.ForegroundColor = new TextColor(0x0000FF);
            msg.MessageParts.Add(msgPart);

            msgPart = new TextMessagePartModel();
            msgPart.Text = "> ";
            msg.MessageParts.Add(msgPart);

            msgPart = new TextMessagePartModel();
            msgPart.Text = text;
            msg.MessageParts.Add(msgPart);

                Session.AddMessageToChat(command.Chat, msg);
        }
开发者ID:tuukka,项目名称:smuxi,代码行数:33,代码来源:MsnpProtocolManager.cs


示例18: _Say

        private void _Say(ChatModel chat, string message)
        {
            if (!chat.IsEnabled) {
                return;
            }

            MessageModel msg = new MessageModel();
            TextMessagePartModel msgPart;

            _OscarSession.Messages.SendMessage(chat.ID, message);

            msgPart = new TextMessagePartModel();
            msgPart.Text = "<";
            msg.MessageParts.Add(msgPart);

            msgPart = new TextMessagePartModel();
            msgPart.Text = _OscarSession.ScreenName;
            msgPart.ForegroundColor = new TextColor(0x0000FF);
            msg.MessageParts.Add(msgPart);

            msgPart = new TextMessagePartModel();
            msgPart.Text = "> ";
            msg.MessageParts.Add(msgPart);

            msgPart = new TextMessagePartModel();
            msgPart.Text = message;
            msg.MessageParts.Add(msgPart);

            Session.AddMessageToChat(chat, msg);
        }
开发者ID:RoninBG,项目名称:smuxi,代码行数:30,代码来源:OscarProtocolManager.cs


示例19: Equals

        public bool Equals(MessageModel msg)
        {
            if ((object) msg == null) {
                return false;
            }

            if (f_TimeStamp != msg.TimeStamp) {
                return false;
            }
            if (f_MessageType != msg.MessageType) {
                return false;
            }
            if (f_MessageParts.Count != msg.MessageParts.Count) {
                return false;
            }
            for (int i = 0; i < f_MessageParts.Count; i++) {
                if (f_MessageParts[i] != msg.MessageParts[i]) {
                    return false;
                }
            }

            return true;
        }
开发者ID:grendello,项目名称:smuxi,代码行数:23,代码来源:MessageModel.cs


示例20: Remove

        public override bool Remove(MessageModel item)
        {
            if (item == null) {
                throw new ArgumentNullException("item");
            }

            if (!Contains(item)) {
                return false;
            }
            var dbId = Database.Ext().GetID(item);
            Index.Remove(dbId);
            Database.Delete(item);
            return true;
        }
开发者ID:grendello,项目名称:smuxi,代码行数:14,代码来源:Db4oMessageBuffer.cs



注:本文中的Smuxi.Engine.MessageModel类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Engine.PersonModel类代码示例发布时间:2022-05-26
下一篇:
C# Engine.MessageBuilder类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap