using Adw; using Gtk; using Gee; public class MessageListView : Adw.Bin { private Adw.ToolbarView container; private MessageDrawingArea message_drawing_area = new MessageDrawingArea(); private ScrolledWindow scrolled_window = new ScrolledWindow(); public MessageListView(MessageListModel model) { container = new Adw.ToolbarView(); set_child(container); scrolled_window.set_child(message_drawing_area); scrolled_window.add_css_class("message-list-scroller"); container.set_content(scrolled_window); var header_bar = new Adw.HeaderBar(); header_bar.set_title_widget(new Label("Messages")); container.add_top_bar(header_bar); // Create test message set var messages = new TreeSet(); messages.add(new Message("Hello, world!", 1, "user")); messages.add(new Message("How, are you?", 2, null)); messages.add(new Message("I'm fine, thank you!", 3, "user")); messages.add(new Message("GTK also supports color expressions, which allow colors to be transformed to new ones and can be nested, providing a rich language to define colors. Color expressions resemble functions, taking 1 or more colors and in some cases a number as arguments.", 4, "user")); message_drawing_area.set_messages(messages); } }