Ejemplo n.º 1
0
        protected virtual void Dispose(bool disposing)
        {
            Trace.Call(disposing);

            // do not make STFL calls from the finalizer thread!
            if (disposing)
            {
                f_MainWindow.Modify(f_WidgetName, "delete", null);
            }
        }
Ejemplo n.º 2
0
        public ChatView(ChatModel chat, MainWindow window)
        {
            Trace.Call(chat, window);

            if (chat == null)
            {
                throw new ArgumentNullException("chat");
            }
            if (window == null)
            {
                throw new ArgumentNullException("window");
            }

            ChatModel    = chat;
            f_MainWindow = window;
            f_WidgetID   = f_NextID++;
            f_WidgetName = "output_textview_" + f_WidgetID;

            f_MainWindow.Modify("output_vbox", "append",
                                "{" +
                                "textview[" + f_WidgetName + "] " +
                                ".expand:vh " +
                                ".display[" + f_WidgetID + "d]:0 " +
                                "offset[" + f_WidgetID + "os]:0 " +
                                "richtext:1 " +
                                "style_color0_normal:fg=black " +
                                "style_color1_normal:fg=red " +
                                "style_color2_normal:fg=green " +
                                "style_color3_normal:fg=yellow " +
                                "style_color4_normal:fg=blue " +
                                "style_color5_normal:fg=magenta " +
                                "style_color6_normal:fg=cyan " +
                                "style_color7_normal:fg=white " +
                                "style_color8_normal:fg=black,attr=bold " +
                                "style_color9_normal:fg=red,attr=bold " +
                                "style_color10_normal:fg=green,attr=bold " +
                                "style_color11_normal:fg=yellow,attr=bold " +
                                "style_color12_normal:fg=blue,attr=bold " +
                                "style_color13_normal:fg=magenta,attr=bold " +
                                "style_color14_normal:fg=cyan,attr=bold " +
                                "style_color15_normal:fg=white,attr=bold " +
                                "style_url_normal:attr=underline " +
                                "style_u_normal:attr=underline " +
                                "style_b_normal:attr=bold " +
                                "style_i_normal:attr=standout " +
                                "}"
                                );
            MessageTextView = new TextView(f_MainWindow, f_WidgetName);
            MessageTextView.OffsetVariableName = f_WidgetID + "os";
            // HACK: as the chat is not always visible we can't extract the
            // heigth and width information from the textview because it simply
            // returns 0 when invisible, thus we need to abuse output_vbox
            MessageTextView.HeigthVariableName = "output_vbox:h";
            MessageTextView.WidthVariableName  = "output_vbox:w";
            MessageTextView.AutoLineWrap       = true;

            Participants = new List <PersonModel>();
        }
Ejemplo n.º 3
0
        public ChatView(ChatModel chat, MainWindow window)
        {
            Trace.Call(chat, window);

            if (chat == null)
            {
                throw new ArgumentNullException("chat");
            }
            if (window == null)
            {
                throw new ArgumentNullException("window");
            }

            f_ChatModel  = chat;
            f_MainWindow = window;
            f_WidgetID   = f_NextID++;
            f_WidgetName = "output_textview_" + f_WidgetID;

            f_MainWindow.Modify("output_vbox", "append",
                                "{" +
                                "textview[" + f_WidgetName + "] " +
                                ".expand:vh " +
                                ".display[" + f_WidgetID + "d]:0 " +
                                "offset[" + f_WidgetID + "os]:0 " +
                                "richtext:1 " +
                                "style_red_normal:fg=red " +
                                "style_url_normal:attr=underline " +
                                "style_u_normal:attr=underline " +
                                "style_b_normal:attr=bold " +
                                "style_i_normal:attr=standout " +
                                "}"
                                );
            MessageTextView = new TextView(f_MainWindow, f_WidgetName);
            MessageTextView.OffsetVariableName = f_WidgetID + "os";
            // HACK: as the chat is not always visible we can't extract the
            // heigth and width information from the textview because it simply
            // returns 0 when invisible, thus we need to abuse output_vbox
            MessageTextView.HeigthVariableName = "output_vbox:h";
            MessageTextView.WidthVariableName  = "output_vbox:w";
            MessageTextView.AutoLineWrap       = true;
        }
Ejemplo n.º 4
0
 protected virtual void Dispose(bool disposing)
 {
     f_MainWindow.Modify(f_WidgetName, "delete", null);
 }
Ejemplo n.º 5
0
        public ChatView(ChatModel chat, MainWindow window)
        {
            Trace.Call(chat, window);

            if (chat == null) {
                throw new ArgumentNullException("chat");
            }
            if (window == null) {
                throw new ArgumentNullException("window");
            }

            ChatModel = chat;
            f_MainWindow = window;
            f_WidgetID = f_NextID++;
            f_WidgetName = "output_textview_" + f_WidgetID;

            f_MainWindow.Modify("output_vbox", "append",
                "{" +
                    "textview[" + f_WidgetName + "] " +
                        ".expand:vh " +
                        ".display[" + f_WidgetID + "d]:0 " +
                        "offset[" + f_WidgetID + "os]:0 " +
                        "richtext:1 " +
                        "style_color0_normal:fg=black " +
                        "style_color1_normal:fg=red " +
                        "style_color2_normal:fg=green " +
                        "style_color3_normal:fg=yellow " +
                        "style_color4_normal:fg=blue " +
                        "style_color5_normal:fg=magenta " +
                        "style_color6_normal:fg=cyan " +
                        "style_color7_normal:fg=white " +
                        "style_color8_normal:fg=black,attr=bold " +
                        "style_color9_normal:fg=red,attr=bold " +
                        "style_color10_normal:fg=green,attr=bold " +
                        "style_color11_normal:fg=yellow,attr=bold " +
                        "style_color12_normal:fg=blue,attr=bold " +
                        "style_color13_normal:fg=magenta,attr=bold " +
                        "style_color14_normal:fg=cyan,attr=bold " +
                        "style_color15_normal:fg=white,attr=bold " +
                        "style_url_normal:attr=underline " +
                        "style_u_normal:attr=underline " +
                        "style_b_normal:attr=bold " +
                        "style_i_normal:attr=standout " +
                "}"
            );
            MessageTextView = new TextView(f_MainWindow, f_WidgetName);
            MessageTextView.OffsetVariableName = f_WidgetID + "os";
            // HACK: as the chat is not always visible we can't extract the
            // heigth and width information from the textview because it simply
            // returns 0 when invisible, thus we need to abuse output_vbox
            MessageTextView.HeigthVariableName = "output_vbox:h";
            MessageTextView.WidthVariableName = "output_vbox:w";
            MessageTextView.AutoLineWrap = true;

            Participants = new List<PersonModel>();
        }
Ejemplo n.º 6
0
        public ChatView(ChatModel chat, MainWindow window)
        {
            Trace.Call(chat, window);

            if (chat == null) {
                throw new ArgumentNullException("chat");
            }
            if (window == null) {
                throw new ArgumentNullException("window");
            }

            f_ChatModel = chat;
            f_MainWindow = window;
            f_WidgetID = f_NextID++;
            f_WidgetName = "output_textview_" + f_WidgetID;

            f_MainWindow.Modify("output_vbox", "append",
                "{" +
                    "textview[" + f_WidgetName + "] " +
                        ".expand:vh " +
                        ".display[" + f_WidgetID + "d]:0 " +
                        "offset[" + f_WidgetID + "os]:0 " +
                        "richtext:1 " +
                        "style_red_normal:fg=red " +
                        "style_url_normal:attr=underline " +
                        "style_u_normal:attr=underline " +
                        "style_b_normal:attr=bold " +
                        "style_i_normal:attr=standout " +
                "}"
            );
            MessageTextView = new TextView(f_MainWindow, f_WidgetName);
            MessageTextView.OffsetVariableName = f_WidgetID + "os";
            // HACK: as the chat is not always visible we can't extract the
            // heigth and width information from the textview because it simply
            // returns 0 when invisible, thus we need to abuse output_vbox
            MessageTextView.HeigthVariableName = "output_vbox:h";
            MessageTextView.WidthVariableName = "output_vbox:w";
            MessageTextView.AutoLineWrap = true;
        }