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>(); }
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; }