34 lines
1.3 KiB
Vala
34 lines
1.3 KiB
Vala
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<Message>();
|
|
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);
|
|
}
|
|
}
|