00001 #ifndef __ERGTK_CELL_RENDERER_TEXT_H__ 00002 #define __ERGTK_CELL_RENDERER_TEXT_H__ 00003 00004 /** 00005 * File Name : ergtkcellrenderertext.h 00006 * 00007 * Description: The erGtkCellRendererText object is a GtkCellRendererText 00008 * that can display multiple text line in a single cell. 00009 * It also can draw a border around the entire treeview entry 00010 * to which it belongs. 00011 */ 00012 00013 /* 00014 * This file is part of libergtk. 00015 * 00016 * libergtk is free software: you can redistribute it and/or modify 00017 * it under the terms of the GNU General Public License as published by 00018 * the Free Software Foundation, either version 2 of the License, or 00019 * (at your option) any later version. 00020 * 00021 * libergtk is distributed in the hope that it will be useful, 00022 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00024 * GNU General Public License for more details. 00025 * 00026 * You should have received a copy of the GNU General Public License 00027 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00028 */ 00029 00030 /** 00031 * Copyright (C) 2009 iRex Technologies B.V. 00032 * All rights reserved. 00033 */ 00034 00035 //---------------------------------------------------------------------------- 00036 // Include Files 00037 //---------------------------------------------------------------------------- 00038 00039 // system include files, between < > 00040 #include <glib.h> 00041 #include <gtk/gtk.h> 00042 00043 // ereader include files, between < > 00044 00045 // local include files, between " " 00046 00047 G_BEGIN_DECLS 00048 00049 00050 //---------------------------------------------------------------------------- 00051 // Macro Definitions 00052 //---------------------------------------------------------------------------- 00053 #define ERGTK_CELL_RENDERER_TEXT_TYPE (ergtk_cell_renderer_text_get_type()) 00054 #define ERGTK_CELL_RENDERER_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ERGTK_CELL_RENDERER_TEXT_TYPE, erGtkCellRendererText)) 00055 #define IS_ERGTK_CELL_RENDERER_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ERGTK_CELL_RENDERER_TEXT_TYPE)) 00056 00057 #define ERGTK_CELL_RENDERER_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), ERGTK_CELL_RENDERER_TEXT_TYPE, erGtkCellRendererTextClass)) 00058 #define ERGTK_CELL_RENDERER_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ERGTK_CELL_RENDERER_TEXT_TYPE, erGtkCellRendererTextClass)) 00059 #define ISGTK_CELL_RENDERER_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), ERGTK_CELL_RENDERER_TEXT_TYPE)) 00060 00061 #define ERGTK_CELL_RENDERER_TEXT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), ERGTK_CELL_RENDERER_TEXT_TYPE, erGtkCellRendererTextPrivate)) 00062 00063 00064 //---------------------------------------------------------------------------- 00065 // Forward Declarations 00066 //---------------------------------------------------------------------------- 00067 00068 struct _erGtkCellRendererText; 00069 struct _erGtkCellRendererTextClass; 00070 00071 00072 //---------------------------------------------------------------------------- 00073 // Type Declarations 00074 //---------------------------------------------------------------------------- 00075 00076 typedef struct _erGtkCellRendererText erGtkCellRendererText; 00077 typedef struct _erGtkCellRendererTextClass erGtkCellRendererTextClass; 00078 00079 00080 //---------------------------------------------------------------------------- 00081 // Global Constants 00082 //---------------------------------------------------------------------------- 00083 00084 #define ERGTK_CELL_RENDERER_TEXT_MAX_LINES 2 // maximum number of text lines supported 00085 00086 00087 //============================================================================ 00088 // Public Functions 00089 //============================================================================ 00090 00091 /**--------------------------------------------------------------------------- 00092 * 00093 * Name : ergtk_cell_renderer_text_new 00094 * 00095 * @brief Create a new erGtkCellRendererText object 00096 * 00097 * @param [in] n_lines - the number of text lines to display 00098 * 00099 * @return Pointer to the newly created object, or NULL 00100 * 00101 *--------------------------------------------------------------------------*/ 00102 GtkCellRenderer *ergtk_cell_renderer_text_new (const guint n_lines); 00103 00104 /**--------------------------------------------------------------------------- 00105 * 00106 * Name : ergtk_cell_renderer_text_get_type 00107 * 00108 * @brief Returns the GObject type of an erGtkCellRendererText 00109 * 00110 * @param -- 00111 * 00112 * @return The GObject type of an erGtkCellRendererText 00113 * 00114 *--------------------------------------------------------------------------*/ 00115 GType ergtk_cell_renderer_text_get_type (void); 00116 00117 00118 //============================================================================ 00119 // Class Declarations 00120 //============================================================================ 00121 00122 /**=========================================================================== 00123 * 00124 * Class Name: erGtkCellRendererTextClass 00125 * 00126 * @brief: GObject class for erGtkCellRendererText objects 00127 * 00128 *==========================================================================*/ 00129 struct _erGtkCellRendererTextClass 00130 { 00131 GtkCellRendererTextClass parent_class; 00132 00133 // virtual methods 00134 00135 // signal handlers 00136 }; 00137 00138 00139 /**=========================================================================== 00140 * 00141 * Class Name: erGtkCellRendererText 00142 * 00143 * @brief: A cell renderer similar to GtkCellRendererText but capable of 00144 * rendering multiple lines of text inside a single cell. 00145 * Properties to control this cell renderer: 00146 * text-0, text-1, .. 00147 * Text to be displayed in 1st line, 2nd line, .. 00148 * As in GtkCellRendererText property "text". 00149 * font-0, font-1, .. 00150 * Font description for 1st line, 2nd line, .. 00151 * As in GtkCellRendererText propery "font". 00152 * height-0, height-1. .. 00153 * Height in pixels of 1st line, 2nd line, .. 00154 * 00155 *==========================================================================*/ 00156 struct _erGtkCellRendererText 00157 { 00158 // public: 00159 GtkCellRendererText parent; 00160 }; 00161 00162 00163 00164 G_END_DECLS 00165 00166 #endif // __ERGTK_CELL_RENDERER_TEXT_H__ 00167