1 /* 2 * Copyright (C) 2005 Marc Pavot <marc.pavot@gmail.com> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2, or (at your option) 7 * any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 * 18 */ 19 20 #include <gtk/gtk.h> 21 #include "lyrics/ario-lyrics-provider.h" 22 23 #ifndef __ARIO_LYRICS_EDITOR_H 24 #define __ARIO_LYRICS_EDITOR_H 25 26 G_BEGIN_DECLS 27 28 #define TYPE_ARIO_LYRICS_EDITOR (ario_lyrics_editor_get_type ()) 29 #define ARIO_LYRICS_EDITOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_ARIO_LYRICS_EDITOR, ArioLyricsEditor)) 30 #define ARIO_LYRICS_EDITOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), TYPE_ARIO_LYRICS_EDITOR, ArioLyricsEditorClass)) 31 #define IS_ARIO_LYRICS_EDITOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_ARIO_LYRICS_EDITOR)) 32 #define IS_ARIO_LYRICS_EDITOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_ARIO_LYRICS_EDITOR)) 33 #define ARIO_LYRICS_EDITOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_ARIO_LYRICS_EDITOR, ArioLyricsEditorClass)) 34 35 typedef struct ArioLyricsEditorPrivate ArioLyricsEditorPrivate; 36 37 /* 38 * ArioLyricsEditor can be used to display the lyrics of a song, 39 * to edit them and to download new lyrics 40 */ 41 typedef struct 42 { 43 GtkBox parent; 44 45 ArioLyricsEditorPrivate *priv; 46 } ArioLyricsEditor; 47 48 typedef struct 49 { 50 GtkBoxClass parent_class; 51 } ArioLyricsEditorClass; 52 53 typedef struct ArioLyricsEditorData 54 { 55 gchar *artist; 56 gchar *title; 57 ArioLyricsCandidate *candidate; 58 gboolean finalize; 59 } ArioLyricsEditorData; 60 61 GType ario_lyrics_editor_get_type (void) G_GNUC_CONST; 62 63 GtkWidget * ario_lyrics_editor_new (void); 64 65 void ario_lyrics_editor_push (ArioLyricsEditor *lyrics_editor, 66 ArioLyricsEditorData *data); 67 68 G_END_DECLS 69 70 #endif /* __ARIO_LYRICS_EDITOR_H */ 71