From 5dc460fc1a72a3dfe83453f4c6683be20a1a2a2d Mon Sep 17 00:00:00 2001 From: Marvin W Date: Thu, 4 May 2017 22:05:48 +0200 Subject: libdino: remove dependency to GTK+ (all GTK+ code is in main+plugins) --- libdino/src/plugin/interfaces.vala | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'libdino/src/plugin') diff --git a/libdino/src/plugin/interfaces.vala b/libdino/src/plugin/interfaces.vala index dbed6a00..729f7b26 100644 --- a/libdino/src/plugin/interfaces.vala +++ b/libdino/src/plugin/interfaces.vala @@ -1,5 +1,3 @@ -using Gtk; - using Dino.Entities; namespace Dino.Plugins { @@ -12,6 +10,10 @@ public enum Priority { HIGHEST } +public enum WidgetType { + GTK +} + public interface RootInterface : Object { public abstract void registered(Dino.Application app); @@ -31,10 +33,10 @@ public abstract class AccountSettingsEntry : Object { public abstract string name { get; } public virtual int16 label_top_padding { get { return -1; } } - public abstract AccountSettingsWidget get_widget(); + public abstract AccountSettingsWidget? get_widget(WidgetType type); } -public interface AccountSettingsWidget : Gtk.Widget { +public interface AccountSettingsWidget : Object { public abstract void set_account(Account account); public abstract signal void activated(); @@ -42,24 +44,30 @@ public interface AccountSettingsWidget : Gtk.Widget { public abstract void deactivate(); } -public abstract class ContactDetailsProvider : Object { +public interface ContactDetailsProvider : Object { public abstract string id { get; } - public abstract void populate(Conversation conversation, ContactDetails contact_details); + public abstract void populate(Conversation conversation, ContactDetails contact_details, WidgetType type); } public class ContactDetails : Object { public signal void save(); - public signal void add(string category, string label, string? desc, Widget widget); + public signal void add(string category, string label, string? desc, Object widget); +} + +public interface TextCommand : Object { + public abstract string cmd { get; } + + public abstract string? handle_command(string? text, Entities.Conversation? conversation); } -public abstract class ConversationTitlebarEntry : Object { +public interface ConversationTitlebarEntry : Object { public abstract string id { get; } public abstract double order { get; } - public abstract ConversationTitlebarWidget get_widget(); + public abstract ConversationTitlebarWidget get_widget(WidgetType type); } -public interface ConversationTitlebarWidget : Gtk.Widget { +public interface ConversationTitlebarWidget : Object { public abstract void set_conversation(Conversation conversation); } -- cgit v1.2.3-70-g09d2