test prog

2004-11-26  JP Rosevear  <jpr@novell.com>

	* test-info-label.c: test prog

	* e-url-entry.c: get image directly from icon factory

	* e-combo-button.c: ditto; convert to G_DEFINE_TYPE

	* e-activity-handler.c: convert to G_DEFINE_TYPE

	* e-task-widget.c: ditto

	* e-task-bar.c: ditto

	* e-multi-config-dialog.c: ditto

	* e-dropdown-button.c: ditto

	* e-cell-renderer-combo.c: ditto

	* e-cell-date-edit.c: ditto

	* e-calendar.c: ditto

	* e-calendar-item.c: ditto

	* Makefile.am: don't build the title bar, build an info label test
	program

svn path=/trunk/; revision=27999
This commit is contained in:
JP Rosevear
2004-11-26 15:15:36 +00:00
committed by JP Rosevear
parent f484ce17b3
commit ba0bc7dff0
19 changed files with 136 additions and 696 deletions

View File

@ -12,4 +12,9 @@ test-dateedit
test-dropdown-button
test-error
test-multi-config-dialog
test-title-bar
test-info-label

View File

@ -1,3 +1,32 @@
2004-11-26 JP Rosevear <jpr@novell.com>
* test-info-label.c: test prog
* e-url-entry.c: get image directly from icon factory
* e-combo-button.c: ditto; convert to G_DEFINE_TYPE
* e-activity-handler.c: convert to G_DEFINE_TYPE
* e-task-widget.c: ditto
* e-task-bar.c: ditto
* e-multi-config-dialog.c: ditto
* e-dropdown-button.c: ditto
* e-cell-renderer-combo.c: ditto
* e-cell-date-edit.c: ditto
* e-calendar.c: ditto
* e-calendar-item.c: ditto
* Makefile.am: don't build the title bar, build an info label test
program
2004-10-28 Li Yuan <li.yuan@sun.com>
* e-calendar.c: (e_calendar_init), (e_calendar_new): Make

View File

@ -43,7 +43,6 @@ widgetsinclude_HEADERS = \
e-search-bar.h \
e-task-bar.h \
e-task-widget.h \
e-title-bar.h \
e-url-entry.h
libemiscwidgets_la_SOURCES = \
@ -72,7 +71,6 @@ libemiscwidgets_la_SOURCES = \
e-search-bar.c \
e-task-bar.c \
e-task-widget.c \
e-title-bar.c \
e-url-entry.c
MARSHAL_GENERATED = e-util-marshal.c e-util-marshal.h
@ -100,7 +98,7 @@ noinst_PROGRAMS = \
test-dropdown-button \
test-error \
test-multi-config-dialog \
test-title-bar
test-info-label
# test-calendar
@ -142,12 +140,12 @@ test_multi_config_dialog_LDADD = \
$(top_builddir)/e-util/libeutil.la \
$(E_WIDGETS_LIBS)
# test-title-bar
# test-info-label
test_title_bar_SOURCES = \
test-title-bar.c
test_info_label_SOURCES = \
test-info-label.c
test_title_bar_LDADD = \
test_info_label_LDADD = \
./libemiscwidgets.la \
$(top_builddir)/e-util/libeutil.la \
$(E_WIDGETS_LIBS)

View File

@ -32,14 +32,8 @@
#include <libgnome/gnome-i18n.h>
#include <libgnomeui/gnome-popup-menu.h>
#include <gal/util/e-util.h>
#include <gal/widgets/e-popup-menu.h>
#define PARENT_TYPE G_TYPE_OBJECT
static GObjectClass *parent_class = NULL;
#define ICON_SIZE 16
@ -55,11 +49,12 @@ struct _ActivityInfo {
typedef struct _ActivityInfo ActivityInfo;
struct _EActivityHandlerPrivate {
uint next_activity_id;
guint next_activity_id;
GList *activity_infos;
GSList *task_bars;
};
G_DEFINE_TYPE (EActivityHandler, e_activity_handler, G_TYPE_OBJECT)
/* Utility functions. */
@ -230,7 +225,7 @@ impl_dispose (GObject *object)
g_object_weak_unref (G_OBJECT (sp->data), task_bar_destroy_notify, handler);
priv->task_bars = NULL;
(* G_OBJECT_CLASS (parent_class)->dispose) (object);
(* G_OBJECT_CLASS (e_activity_handler_parent_class)->dispose) (object);
}
static void
@ -244,23 +239,20 @@ impl_finalize (GObject *object)
g_free (priv);
(* G_OBJECT_CLASS (parent_class)->finalize) (object);
(* G_OBJECT_CLASS (e_activity_handler_parent_class)->finalize) (object);
}
/* GTK+ type stuff. */
static void
class_init (GObjectClass *object_class)
e_activity_handler_class_init (EActivityHandlerClass *activity_handler_class)
{
parent_class = g_type_class_ref(PARENT_TYPE);
GObjectClass *object_class = (GObjectClass *) activity_handler_class;
object_class->dispose = impl_dispose;
object_class->finalize = impl_finalize;
}
static void
init (EActivityHandler *activity_handler)
e_activity_handler_init (EActivityHandler *activity_handler)
{
EActivityHandlerPrivate *priv;
@ -416,5 +408,3 @@ e_activity_handler_operation_finished (EActivityHandler *activity_handler,
}
}
E_MAKE_TYPE (e_activity_handler, "EActivityHandler", EActivityHandler, class_init, init, PARENT_TYPE)

View File

@ -55,8 +55,6 @@ static const int e_calendar_item_days_in_month[12] = {
&& ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))) ? 1 : 0)
static void e_calendar_item_class_init (ECalendarItemClass *class);
static void e_calendar_item_init (ECalendarItem *calitem);
static void e_calendar_item_destroy (GtkObject *o);
static void e_calendar_item_get_arg (GtkObject *o,
GtkArg *arg,
@ -237,13 +235,9 @@ enum {
};
static GnomeCanvasItemClass *parent_class;
static guint e_calendar_item_signals[LAST_SIGNAL] = { 0 };
E_MAKE_TYPE (e_calendar_item, "ECalendarItem", ECalendarItem,
e_calendar_item_class_init, e_calendar_item_init,
GNOME_TYPE_CANVAS_ITEM)
G_DEFINE_TYPE (ECalendarItem, e_calendar_item, GNOME_TYPE_CANVAS_ITEM)
static void
@ -252,8 +246,6 @@ e_calendar_item_class_init (ECalendarItemClass *class)
GtkObjectClass *object_class;
GnomeCanvasItemClass *item_class;
parent_class = g_type_class_peek_parent (class);
object_class = GTK_OBJECT_CLASS (class);
item_class = GNOME_CANVAS_ITEM_CLASS (class);
@ -458,8 +450,8 @@ e_calendar_item_destroy (GtkObject *o)
if (calitem->selecting_axis)
g_free (calitem->selecting_axis);
if (GTK_OBJECT_CLASS (parent_class)->destroy)
(* GTK_OBJECT_CLASS (parent_class)->destroy) (o);
if (GTK_OBJECT_CLASS (e_calendar_item_parent_class)->destroy)
(* GTK_OBJECT_CLASS (e_calendar_item_parent_class)->destroy) (o);
}
@ -692,8 +684,8 @@ e_calendar_item_realize (GnomeCanvasItem *item)
gboolean success[E_CALENDAR_ITEM_COLOR_LAST];
gint nfailed;
if (GNOME_CANVAS_ITEM_CLASS (parent_class)->realize)
(* GNOME_CANVAS_ITEM_CLASS (parent_class)->realize) (item);
if (GNOME_CANVAS_ITEM_CLASS (e_calendar_item_parent_class)->realize)
(* GNOME_CANVAS_ITEM_CLASS (e_calendar_item_parent_class)->realize) (item);
calitem = E_CALENDAR_ITEM (item);
@ -744,8 +736,8 @@ e_calendar_item_unrealize (GnomeCanvasItem *item)
gdk_colors_free (colormap, (gulong *) &calitem->colors[i].pixel, 1, 0);
}
if (GNOME_CANVAS_ITEM_CLASS (parent_class)->unrealize)
(* GNOME_CANVAS_ITEM_CLASS (parent_class)->unrealize) (item);
if (GNOME_CANVAS_ITEM_CLASS (e_calendar_item_parent_class)->unrealize)
(* GNOME_CANVAS_ITEM_CLASS (e_calendar_item_parent_class)->unrealize) (item);
}
@ -761,8 +753,8 @@ e_calendar_item_unmap (GnomeCanvasItem *item)
calitem->selecting = FALSE;
}
if (GNOME_CANVAS_ITEM_CLASS (parent_class)->unmap)
(* GNOME_CANVAS_ITEM_CLASS (parent_class)->unmap) (item);
if (GNOME_CANVAS_ITEM_CLASS (e_calendar_item_parent_class)->unmap)
(* GNOME_CANVAS_ITEM_CLASS (e_calendar_item_parent_class)->unmap) (item);
}
@ -780,8 +772,8 @@ e_calendar_item_update (GnomeCanvasItem *item,
PangoContext *pango_context;
PangoFontMetrics *font_metrics;
if (GNOME_CANVAS_ITEM_CLASS (parent_class)->update)
(* GNOME_CANVAS_ITEM_CLASS (parent_class)->update) (item, affine, clip_path, flags);
if (GNOME_CANVAS_ITEM_CLASS (e_calendar_item_parent_class)->update)
(* GNOME_CANVAS_ITEM_CLASS (e_calendar_item_parent_class)->update) (item, affine, clip_path, flags);
calitem = E_CALENDAR_ITEM (item);
style = GTK_WIDGET (item->canvas)->style;

View File

@ -30,7 +30,9 @@
* to got to the current day.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "e-calendar.h"
@ -41,7 +43,6 @@
#include <gtk/gtkpixmap.h>
#include <gtk/gtksignal.h>
#include <libgnomecanvas/gnome-canvas-widget.h>
#include <gal/util/e-util.h>
#include <libgnome/gnome-i18n.h>
#define E_CALENDAR_SMALL_FONT_PTSIZE 6
@ -70,8 +71,6 @@
#define E_CALENDAR_AUTO_MOVE_TIMEOUT 150
#define E_CALENDAR_AUTO_MOVE_TIMEOUT_DELAY 2
static void e_calendar_class_init (ECalendarClass *class);
static void e_calendar_init (ECalendar *cal);
static void e_calendar_destroy (GtkObject *object);
static void e_calendar_realize (GtkWidget *widget);
static void e_calendar_style_set (GtkWidget *widget,
@ -104,11 +103,7 @@ static void e_calendar_start_auto_move (ECalendar *cal,
static gboolean e_calendar_auto_move_handler (gpointer data);
static void e_calendar_stop_auto_move (ECalendar *cal);
static GnomeCanvasClass *parent_class;
static GtkLayoutClass *grandparent_class;
E_MAKE_TYPE (e_calendar, "ECalendar", ECalendar,
e_calendar_class_init, e_calendar_init, E_CANVAS_TYPE)
G_DEFINE_TYPE (ECalendar, e_calendar, E_CANVAS_TYPE)
static void
@ -120,9 +115,6 @@ e_calendar_class_init (ECalendarClass *class)
object_class = (GtkObjectClass *) class;
widget_class = (GtkWidgetClass *) class;
parent_class = g_type_class_ref(E_CANVAS_TYPE);
grandparent_class = g_type_class_ref(GTK_TYPE_LAYOUT);
object_class->destroy = e_calendar_destroy;
widget_class->realize = e_calendar_realize;
@ -252,15 +244,15 @@ e_calendar_destroy (GtkObject *object)
cal->timeout_id = 0;
}
if (GTK_OBJECT_CLASS (parent_class)->destroy)
(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
if (GTK_OBJECT_CLASS (e_calendar_parent_class)->destroy)
(* GTK_OBJECT_CLASS (e_calendar_parent_class)->destroy) (object);
}
static void
e_calendar_realize (GtkWidget *widget)
{
(*GTK_WIDGET_CLASS (parent_class)->realize) (widget);
(*GTK_WIDGET_CLASS (e_calendar_parent_class)->realize) (widget);
/* Set the background of the canvas window to the normal color,
or the arrow buttons are not displayed properly. */
@ -273,8 +265,8 @@ static void
e_calendar_style_set (GtkWidget *widget,
GtkStyle *previous_style)
{
if (GTK_WIDGET_CLASS (parent_class)->style_set)
(*GTK_WIDGET_CLASS (parent_class)->style_set) (widget,
if (GTK_WIDGET_CLASS (e_calendar_parent_class)->style_set)
(*GTK_WIDGET_CLASS (e_calendar_parent_class)->style_set) (widget,
previous_style);
/* Set the background of the canvas window to the normal color,
@ -324,7 +316,7 @@ e_calendar_size_allocate (GtkWidget *widget,
xthickness = widget->style->xthickness;
ythickness = widget->style->ythickness;
(*GTK_WIDGET_CLASS (parent_class)->size_allocate) (widget, allocation);
(*GTK_WIDGET_CLASS (e_calendar_parent_class)->size_allocate) (widget, allocation);
/* Set up Pango prerequisites */
font_desc = gtk_widget_get_style (widget)->font_desc;

View File

@ -40,7 +40,6 @@
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
#include <gal/util/e-util.h>
#include <gal/e-table/e-table-item.h>
#include <gal/e-table/e-cell-text.h>
@ -51,8 +50,6 @@
/* This depends on ECalendar which is why I didn't put it in gal. */
#include "e-calendar.h"
static void e_cell_date_edit_class_init (GtkObjectClass *object_class);
static void e_cell_date_edit_init (ECellDateEdit *ecde);
static void e_cell_date_edit_destroy (GtkObject *object);
static void e_cell_date_edit_get_arg (GtkObject *o,
GtkArg *arg,
@ -115,18 +112,14 @@ enum {
ARG_UPPER_HOUR
};
static ECellPopupClass *parent_class;
E_MAKE_TYPE (e_cell_date_edit, "ECellDateEdit", ECellDateEdit,
e_cell_date_edit_class_init, e_cell_date_edit_init,
e_cell_popup_get_type());
G_DEFINE_TYPE (ECellDateEdit, e_cell_date_edit, E_CELL_POPUP_TYPE);
static void
e_cell_date_edit_class_init (GtkObjectClass *object_class)
e_cell_date_edit_class_init (ECellDateEditClass *ecdec)
{
ECellPopupClass *ecpc = (ECellPopupClass *) object_class;
GtkObjectClass *object_class = (GtkObjectClass *) ecdec;
ECellPopupClass *ecpc = (ECellPopupClass *) ecdec;
gtk_object_add_arg_type ("ECellDateEdit::show_time",
GTK_TYPE_BOOL, GTK_ARG_READWRITE,
@ -155,8 +148,6 @@ e_cell_date_edit_class_init (GtkObjectClass *object_class)
object_class->set_arg = e_cell_date_edit_set_arg;
ecpc->popup = e_cell_date_edit_do_popup;
parent_class = g_type_class_ref(e_cell_popup_get_type ());
}
@ -310,7 +301,7 @@ e_cell_date_edit_destroy (GtkObject *object)
gtk_widget_destroy (ecde->popup_window);
ecde->popup_window = NULL;
GTK_OBJECT_CLASS (parent_class)->destroy (object);
GTK_OBJECT_CLASS (e_cell_date_edit_parent_class)->destroy (object);
}

View File

@ -26,22 +26,21 @@
* in an ETable.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <ctype.h>
#include <sys/time.h>
#include <unistd.h>
#include <stdio.h>
#include <gal/util/e-util.h>
#include <libgnomeui/gnome-messagebox.h>
#include <libgnome/gnome-i18n.h>
#include "e-cell-percent.h"
#define PARENT_TYPE e_cell_text_get_type ()
static ECellTextClass *parent_class;
G_DEFINE_TYPE (ECellPercent, e_cell_percent, E_CELL_TEXT_TYPE);
static char *
@ -115,11 +114,9 @@ ecp_set_value (ECellText *cell, ETableModel *model, int col, int row,
}
static void
e_cell_percent_class_init (GtkObjectClass *object_class)
e_cell_percent_class_init (ECellPercentClass *ecpc)
{
ECellTextClass *ectc = (ECellTextClass *) object_class;
parent_class = g_type_class_ref(PARENT_TYPE);
ECellTextClass *ectc = (ECellTextClass *) ecpc;
ectc->get_text = ecp_get_text;
ectc->free_text = ecp_free_text;
@ -127,7 +124,7 @@ e_cell_percent_class_init (GtkObjectClass *object_class)
}
static void
e_cell_percent_init (GtkObject *object)
e_cell_percent_init (ECellPercent *ecp)
{
}
@ -153,6 +150,3 @@ e_cell_percent_new (const char *fontname, GtkJustification justify)
return (ECell *) ecn;
}
E_MAKE_TYPE (e_cell_percent, "ECellPercent", ECellPercent,
e_cell_percent_class_init, e_cell_percent_init, PARENT_TYPE);

View File

@ -20,11 +20,13 @@
* Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <gtk/gtkcellrenderertext.h>
#include <gtk/gtkarrow.h>
#include <gtk/gtkbutton.h>
#include <gal/util/e-util.h>
#include "e-combo-cell-editable.h"
#include "e-cell-renderer-combo.h"
@ -40,7 +42,7 @@ struct _ECellRendererComboPriv {
GList *list;
};
static GtkCellRendererTextClass *parent_class;
G_DEFINE_TYPE (ECellRendererCombo, e_cell_renderer_combo, GTK_TYPE_CELL_RENDERER_TEXT)
static void
ecrc_editing_done (GtkCellEditable *editable, ECellRendererCombo *cell)
@ -88,8 +90,8 @@ ecrc_get_size (GtkCellRenderer *cell, GtkWidget *widget, GdkRectangle *cell_area
GtkWidget *btn;
GtkRequisition req;
if (GTK_CELL_RENDERER_CLASS (parent_class)->get_size)
GTK_CELL_RENDERER_CLASS (parent_class)->get_size (cell, widget, cell_area, x_offset, y_offset, width, height);
if (GTK_CELL_RENDERER_CLASS (e_cell_renderer_combo_parent_class)->get_size)
GTK_CELL_RENDERER_CLASS (e_cell_renderer_combo_parent_class)->get_size (cell, widget, cell_area, x_offset, y_offset, width, height);
btn = gtk_button_new ();
gtk_container_add (GTK_CONTAINER (btn), gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE));
@ -141,24 +143,22 @@ ecrc_finalize (GObject *obj)
g_free (cell->priv);
if (G_OBJECT_CLASS (parent_class)->finalize)
G_OBJECT_CLASS (parent_class)->finalize (obj);
if (G_OBJECT_CLASS (e_cell_renderer_combo_parent_class)->finalize)
G_OBJECT_CLASS (e_cell_renderer_combo_parent_class)->finalize (obj);
}
static void
ecrc_init (ECellRendererCombo *cell)
e_cell_renderer_combo_init (ECellRendererCombo *cell)
{
cell->priv = g_new0 (ECellRendererComboPriv, 1);
}
static void
ecrc_class_init (ECellRendererComboClass *class)
e_cell_renderer_combo_class_init (ECellRendererComboClass *class)
{
GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS (class);
GObjectClass *obj_class = G_OBJECT_CLASS (class);
parent_class = GTK_CELL_RENDERER_TEXT_CLASS (g_type_class_peek_parent (class));
obj_class->get_property = ecrc_get_prop;
obj_class->set_property = ecrc_set_prop;
obj_class->finalize = ecrc_finalize;
@ -170,8 +170,6 @@ ecrc_class_init (ECellRendererComboClass *class)
g_param_spec_pointer ("list", "List", "List of items to popup.", G_PARAM_READWRITE));
}
E_MAKE_TYPE (e_cell_renderer_combo, "ECellRendererCombo", ECellRendererCombo, ecrc_class_init, ecrc_init, GTK_TYPE_CELL_RENDERER_TEXT)
GtkCellRenderer *
e_cell_renderer_combo_new (void)
{

View File

@ -34,9 +34,6 @@
#include <gtk/gtkimage.h>
#include <gtk/gtksignal.h>
#include <gal/util/e-util.h>
struct _EComboButtonPrivate {
GdkPixbuf *icon;
@ -50,13 +47,8 @@ struct _EComboButtonPrivate {
gboolean menu_popped_up;
};
#define SPACING 2
#define PARENT_TYPE gtk_button_get_type ()
static GtkButtonClass *parent_class = NULL;
enum {
ACTIVATE_DEFAULT,
LAST_SIGNAL
@ -64,24 +56,10 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
G_DEFINE_TYPE (EComboButton, e_combo_button, GTK_TYPE_BUTTON)
/* Utility functions. */
static GtkWidget *
create_empty_image_widget (void)
{
GtkWidget *image_widget;
GdkPixbuf *pixbuf;
pixbuf = e_icon_factory_get_icon (NULL, E_ICON_SIZE_MENU);
image_widget = gtk_image_new_from_pixbuf (pixbuf);
g_object_unref (pixbuf);
return image_widget;
}
static void
set_icon (EComboButton *combo_button,
GdkPixbuf *pixbuf)
@ -269,7 +247,7 @@ impl_destroy (GtkObject *object)
combo_button->priv = NULL;
}
(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
(* GTK_OBJECT_CLASS (e_combo_button_parent_class)->destroy) (object);
}
@ -323,7 +301,7 @@ impl_leave_notify_event (GtkWidget *widget,
have just popped up the menu. Otherwise, the button would look as
inactive when the menu is popped up. */
if (! priv->menu_popped_up)
return (* GTK_WIDGET_CLASS (parent_class)->leave_notify_event) (widget, event);
return (* GTK_WIDGET_CLASS (e_combo_button_parent_class)->leave_notify_event) (widget, event);
return FALSE;
}
@ -392,13 +370,13 @@ impl_released (GtkButton *button)
static void
class_init (GtkObjectClass *object_class)
e_combo_button_class_init (EComboButtonClass *combo_button_class)
{
GtkObjectClass *object_class;
GtkWidgetClass *widget_class;
GtkButtonClass *button_class;
parent_class = g_type_class_ref(PARENT_TYPE);
object_class = GTK_OBJECT_CLASS (combo_button_class);
object_class->destroy = impl_destroy;
widget_class = GTK_WIDGET_CLASS (object_class);
@ -418,7 +396,7 @@ class_init (GtkObjectClass *object_class)
}
static void
init (EComboButton *combo_button)
e_combo_button_init (EComboButton *combo_button)
{
EComboButtonPrivate *priv;
@ -429,7 +407,7 @@ init (EComboButton *combo_button)
gtk_container_add (GTK_CONTAINER (combo_button), priv->hbox);
gtk_widget_show (priv->hbox);
priv->icon_image = create_empty_image_widget ();
priv->icon_image = e_icon_factory_get_image (NULL, E_ICON_SIZE_MENU);
gtk_box_pack_start (GTK_BOX (priv->hbox), priv->icon_image, TRUE, TRUE, 0);
gtk_widget_show (priv->icon_image);
@ -531,6 +509,3 @@ e_combo_button_set_menu (EComboButton *combo_button,
G_CALLBACK (menu_deactivate_callback),
combo_button);
}
E_MAKE_TYPE (e_combo_button, "EComboButton", EComboButton, class_init, init, PARENT_TYPE)

View File

@ -27,27 +27,21 @@
#include "e-config-page.h"
#include <gal/util/e-util.h>
#define PARENT_TYPE gtk_event_box_get_type ()
static GtkEventBoxClass *parent_class = NULL;
G_DEFINE_TYPE (EConfigPage, e_config_page, GTK_TYPE_EVENT_BOX)
/* GObject methods. */
static void
class_init (EConfigPageClass *class)
e_config_page_class_init (EConfigPageClass *class)
{
GObjectClass *object_class;
object_class = G_OBJECT_CLASS (class);
parent_class = g_type_class_ref(PARENT_TYPE);
}
static void
init (EConfigPage *page, EConfigPageClass *klass)
e_config_page_init (EConfigPage *page)
{
;
}
GtkWidget *
@ -56,4 +50,4 @@ e_config_page_new (void)
return gtk_type_new (e_config_page_get_type ());
}
E_MAKE_TYPE (e_config_page, "EConfigPage", EConfigPage, class_init, init, PARENT_TYPE)

View File

@ -28,24 +28,19 @@
#include "e-dropdown-button.h"
#include <stdio.h>
#include <gtk/gtkarrow.h>
#include <gtk/gtklabel.h>
#include <gtk/gtkwidget.h>
#include <libgnomeui/gnome-popup-menu.h>
#include <gal/util/e-util.h>
struct _EDropdownButtonPrivate {
GtkAccelGroup *accel_group;
GtkWidget *menu;
};
#define PARENT_TYPE gtk_toggle_button_get_type ()
static GtkToggleButtonClass *parent_class = NULL;
G_DEFINE_TYPE (EDropdownButton, e_dropdown_button, GTK_TYPE_TOGGLE_BUTTON)
/* Callback to position the pop-up menu. */
static void
@ -109,8 +104,8 @@ impl_destroy (GtkObject *object)
g_free (priv);
if (GTK_OBJECT_CLASS (parent_class)->destroy)
(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
if (GTK_OBJECT_CLASS (e_dropdown_button_parent_class)->destroy)
(* GTK_OBJECT_CLASS (e_dropdown_button_parent_class)->destroy) (object);
}
@ -122,8 +117,8 @@ impl_toggled (GtkToggleButton *toggle_button)
EDropdownButton *dropdown_button;
EDropdownButtonPrivate *priv;
if (parent_class->toggled)
parent_class->toggled (toggle_button);
if (GTK_TOGGLE_BUTTON_CLASS (e_dropdown_button_parent_class)->toggled)
GTK_TOGGLE_BUTTON_CLASS (e_dropdown_button_parent_class)->toggled (toggle_button);
dropdown_button = E_DROPDOWN_BUTTON (toggle_button);
priv = dropdown_button->priv;
@ -139,7 +134,7 @@ impl_toggled (GtkToggleButton *toggle_button)
static void
class_init (EDropdownButtonClass *klass)
e_dropdown_button_class_init (EDropdownButtonClass *klass)
{
GtkObjectClass *object_class;
GtkWidgetClass *widget_class;
@ -151,13 +146,11 @@ class_init (EDropdownButtonClass *klass)
object_class->destroy = impl_destroy;
toggle_class->toggled = impl_toggled;
parent_class = g_type_class_ref(PARENT_TYPE);
}
static void
init (EDropdownButton *dropdown_button)
e_dropdown_button_init (EDropdownButton *dropdown_button)
{
EDropdownButtonPrivate *priv;
@ -245,5 +238,3 @@ e_dropdown_button_new (const char *label_text,
return widget;
}
E_MAKE_TYPE (e_dropdown_button, "EDropdownButton", EDropdownButton, class_init, init, PARENT_TYPE)

View File

@ -37,12 +37,8 @@
#include <gdk-pixbuf/gdk-pixbuf.h>
#define PARENT_TYPE gtk_dialog_get_type ()
static GtkDialogClass *parent_class = NULL;
#define SWITCH_PAGE_INTERVAL 250
struct _EMultiConfigDialogPrivate {
GSList *pages;
@ -55,6 +51,8 @@ struct _EMultiConfigDialogPrivate {
int set_page_timeout_page;
};
G_DEFINE_TYPE (EMultiConfigDialog, e_multi_config_dialog, GTK_TYPE_DIALOG)
/* ETable stuff. */
@ -177,7 +175,7 @@ impl_finalize (GObject *object)
g_free (priv);
(* G_OBJECT_CLASS (parent_class)->finalize) (object);
(* G_OBJECT_CLASS (e_multi_config_dialog_parent_class)->finalize) (object);
}
@ -216,7 +214,7 @@ impl_response (GtkDialog *dialog, int response_id)
/* GObject ctors. */
static void
class_init (EMultiConfigDialogClass *class)
e_multi_config_dialog_class_init (EMultiConfigDialogClass *class)
{
GObjectClass *object_class;
GtkDialogClass *dialog_class;
@ -226,8 +224,6 @@ class_init (EMultiConfigDialogClass *class)
dialog_class = GTK_DIALOG_CLASS (class);
dialog_class->response = impl_response;
parent_class = g_type_class_ref (PARENT_TYPE);
}
#define RGB_COLOR(color) (((color).red & 0xff00) << 8 | \
@ -287,7 +283,7 @@ static ETableMemoryStoreColumnInfo columns[] = {
};
static void
init (EMultiConfigDialog *multi_config_dialog)
e_multi_config_dialog_init (EMultiConfigDialog *multi_config_dialog)
{
EMultiConfigDialogPrivate *priv;
ETableModel *list_e_table_model;
@ -449,5 +445,3 @@ e_multi_config_dialog_show_page (EMultiConfigDialog *dialog, int page)
gtk_notebook_set_page (GTK_NOTEBOOK (priv->notebook), page);
}
E_MAKE_TYPE (e_multi_config_dialog, "EMultiConfigDialog", EMultiConfigDialog, class_init, init, PARENT_TYPE)

View File

@ -26,24 +26,19 @@
#include "e-task-bar.h"
#include <gal/util/e-util.h>
#include "widgets/misc/e-clipped-label.h"
struct _ETaskBarPrivate
{
EClippedLabel *message_label;
GtkHBox *hbox;
};
#define PARENT_TYPE gtk_hbox_get_type ()
static GtkHBoxClass *parent_class = NULL;
/* WARNING: Ugly hack starts here. */
#define MAX_ACTIVITIES_PER_COMPONENT 2
G_DEFINE_TYPE (ETaskBar, e_task_bar, GTK_TYPE_HBOX)
static void
reduce_displayed_activities_per_component (ETaskBar *task_bar)
{
@ -89,13 +84,12 @@ reduce_displayed_activities_per_component (ETaskBar *task_bar)
static void
class_init (GtkObjectClass *object_class)
e_task_bar_class_init (ETaskBarClass *klass)
{
parent_class = g_type_class_ref(PARENT_TYPE);
}
static void
init (ETaskBar *task_bar)
e_task_bar_init (ETaskBar *task_bar)
{
GtkWidget *label, *hbox;
@ -227,5 +221,3 @@ e_task_bar_get_task_widget (ETaskBar *task_bar,
return E_TASK_WIDGET (child_info->widget);
}
E_MAKE_TYPE (e_task_bar, "ETaskBar", ETaskBar, class_init, init, PARENT_TYPE)

View File

@ -34,14 +34,9 @@
#include <libgnome/gnome-i18n.h>
#include <gal/util/e-util.h>
#define SPACING 2
#define PARENT_TYPE (gtk_event_box_get_type ())
static GtkEventBoxClass *parent_class = NULL;
struct _ETaskWidgetPrivate {
char *component_id;
@ -52,7 +47,8 @@ struct _ETaskWidgetPrivate {
GtkWidget *image;
};
G_DEFINE_TYPE (ETaskWidget, e_task_widget, GTK_TYPE_EVENT_BOX)
/* GObject methods. */
static void
@ -75,7 +71,7 @@ impl_dispose (GObject *object)
priv->icon_pixbuf = NULL;
}
(* G_OBJECT_CLASS (parent_class)->dispose) (object);
(* G_OBJECT_CLASS (e_task_widget_parent_class)->dispose) (object);
}
static void
@ -90,21 +86,21 @@ impl_finalize (GObject *object)
g_free (priv->component_id);
g_free (priv);
(* G_OBJECT_CLASS (parent_class)->finalize) (object);
(* G_OBJECT_CLASS (e_task_widget_parent_class)->finalize) (object);
}
static void
class_init (GObjectClass *object_class)
e_task_widget_class_init (ETaskWidgetClass *klass)
{
parent_class = g_type_class_ref(PARENT_TYPE);
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->dispose = impl_dispose;
object_class->finalize = impl_finalize;
}
static void
init (ETaskWidget *task_widget)
e_task_widget_init (ETaskWidget *task_widget)
{
ETaskWidgetPrivate *priv;
@ -248,5 +244,3 @@ e_task_widget_get_component_id (ETaskWidget *task_widget)
return task_widget->priv->component_id;
}
E_MAKE_TYPE (e_task_widget, "ETaskWidget", ETaskWidget, class_init, init, PARENT_TYPE)

View File

@ -1,404 +0,0 @@
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* e-title-bar.c
*
* Copyright (C) 2000 Ximian, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU General Public
* License as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Author: Ettore Perazzoli
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <gtk/gtkbox.h>
#include <gtk/gtkbutton.h>
#include <gtk/gtkhbox.h>
#include <gtk/gtklabel.h>
#include <gtk/gtkpixmap.h>
#include <gtk/gtksignal.h>
#include <gtk/gtktypeutils.h>
#include <gal/util/e-util.h>
#include "e-clipped-label.h"
#include "e-title-bar.h"
enum {
LABEL_BUTTON_PRESS_EVENT,
BUTTON_CLICKED,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL] = { 0 };
/* The pixmaps. */
static char *close_xpm[] = {
"16 16 2 1",
" c none",
". c #000000000000",
" ",
" ",
" ",
" .. .. ",
" ... ... ",
" ... ... ",
" ...... ",
" .... ",
" .... ",
" ...... ",
" ... ... ",
" ... ... ",
" .. .. ",
" ",
" ",
" "
};
static char *pin_xpm[] = {
"16 16 33 1",
" c None",
". c #000000",
"+ c #74744D",
"@ c #B2B279",
"# c #6C6C46",
"$ c #CACA9C",
"% c #F4F4AD",
"& c #85855A",
"* c #B1B175",
"= c #9A9A66",
"- c #A9A98A",
"; c #B0B07B",
"> c #535353",
", c #818181",
"' c #B7B7B7",
") c #D8D8D8",
"! c #FFFFFF",
"~ c #EBEBA1",
"{ c #8A8A75",
"] c #9F9F76",
"^ c #9E9E75",
"/ c #8A8A66",
"( c #979770",
"_ c #6B6B46",
": c #28281A",
"< c #505034",
"[ c #666645",
"} c #61614D",
"| c #818155",
"1 c #4A4A31",
"2 c #4D4D34",
"3 c #6C6C48",
"4 c #5D5D3E",
" ",
" ",
" ",
" . . ",
" .. .+. ",
" .@...#$. ",
" ......%&*=-;. ",
".>,')!.~{]^/(. ",
" ......_:<[}|. ",
" .1...23. ",
" .. .4. ",
" . . ",
" ",
" ",
" ",
" "
};
#define PARENT_TYPE GTK_TYPE_FRAME
static GtkFrameClass *parent_class = NULL;
struct _ETitleBarPrivate {
ETitleBarButtonMode button_mode;
GtkWidget *label;
GtkWidget *button;
GtkWidget *close_gtk_pixmap;
GtkWidget *pin_gtk_pixmap;
};
/* Mode handling. We put both the close and pin GtkPixmaps into an hbox in the
button, and hide one of them according to the mode. */
static void
show_and_hide_pixmaps_according_to_mode (ETitleBar *title_bar)
{
ETitleBarPrivate *priv;
priv = title_bar->priv;
if (priv->close_gtk_pixmap == NULL || priv->pin_gtk_pixmap == NULL)
return;
switch (priv->button_mode) {
case E_TITLE_BAR_BUTTON_MODE_PIN:
gtk_widget_hide (priv->close_gtk_pixmap);
gtk_widget_show (priv->pin_gtk_pixmap);
break;
case E_TITLE_BAR_BUTTON_MODE_CLOSE:
gtk_widget_hide (priv->pin_gtk_pixmap);
gtk_widget_show (priv->close_gtk_pixmap);
break;
default:
g_assert_not_reached ();
}
}
/* Child signal callbacks. */
static void
button_realize_cb (GtkWidget *widget,
gpointer data)
{
GdkPixmap *close_pixmap;
GdkBitmap *close_mask;
GdkPixmap *pin_pixmap;
GdkBitmap *pin_mask;
GtkWidget *hbox;
ETitleBar *title_bar;
ETitleBarPrivate *priv;
title_bar = E_TITLE_BAR (data);
priv = title_bar->priv;
if (priv->close_gtk_pixmap != NULL)
return;
close_pixmap = gdk_pixmap_create_from_xpm_d (GTK_WIDGET (priv->button)->window,
&close_mask, NULL, close_xpm);
priv->close_gtk_pixmap = gtk_pixmap_new (close_pixmap, close_mask);
pin_pixmap = gdk_pixmap_create_from_xpm_d (GTK_WIDGET (priv->button)->window,
&pin_mask, NULL, pin_xpm);
priv->pin_gtk_pixmap = gtk_pixmap_new (pin_pixmap, pin_mask);
hbox = gtk_hbox_new (TRUE, 0);
gtk_widget_show (hbox);
gtk_box_pack_start (GTK_BOX (hbox), priv->pin_gtk_pixmap, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox), priv->close_gtk_pixmap, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER (priv->button), hbox);
gdk_pixmap_unref (close_pixmap);
g_object_unref (close_mask);
gdk_pixmap_unref (pin_pixmap);
g_object_unref (pin_mask);
show_and_hide_pixmaps_according_to_mode (title_bar);
}
static void
button_clicked_cb (GtkButton *button,
gpointer data)
{
ETitleBar *title_bar;
title_bar = E_TITLE_BAR (data);
gtk_signal_emit (GTK_OBJECT (title_bar), signals[BUTTON_CLICKED]);
}
static void
label_button_press_event_cb (GtkWidget *widget,
GdkEventButton *event,
gpointer data)
{
ETitleBar *title_bar;
title_bar = E_TITLE_BAR (data);
gtk_signal_emit (GTK_OBJECT (title_bar), signals[LABEL_BUTTON_PRESS_EVENT], event);
}
/* GObject methods. */
static void
impl_finalize (GObject *object)
{
ETitleBar *title_bar;
ETitleBarPrivate *priv;
title_bar = E_TITLE_BAR (object);
priv = title_bar->priv;
g_free (priv);
(* G_OBJECT_CLASS (parent_class)->finalize) (object);
}
static void
class_init (ETitleBarClass *klass)
{
GObjectClass *object_class;
object_class = G_OBJECT_CLASS (klass);
object_class->finalize = impl_finalize;
parent_class = g_type_class_ref(gtk_frame_get_type ());
signals[LABEL_BUTTON_PRESS_EVENT] =
gtk_signal_new ("label_button_press_event",
GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class),
G_STRUCT_OFFSET (ETitleBarClass, label_button_press_event),
gtk_marshal_NONE__POINTER,
GTK_TYPE_NONE, 1,
GTK_TYPE_POINTER);
signals[BUTTON_CLICKED] =
gtk_signal_new ("button_clicked",
GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class),
G_STRUCT_OFFSET (ETitleBarClass, button_clicked),
gtk_marshal_NONE__NONE,
GTK_TYPE_NONE, 0);
}
static void
init (ETitleBar *title_bar)
{
ETitleBarPrivate *priv;
priv = g_new (ETitleBarPrivate, 1);
priv->button_mode = E_TITLE_BAR_BUTTON_MODE_CLOSE;
priv->label = NULL;
priv->button = NULL;
priv->close_gtk_pixmap = NULL;
priv->pin_gtk_pixmap = NULL;
title_bar->priv = priv;
}
void
e_title_bar_construct (ETitleBar *title_bar,
const char *title)
{
ETitleBarPrivate *priv;
GtkWidget *hbox;
g_return_if_fail (title_bar != NULL);
g_return_if_fail (E_IS_TITLE_BAR (title_bar));
priv = title_bar->priv;
priv->label = e_clipped_label_new (title, PANGO_WEIGHT_BOLD, 1.0);
gtk_misc_set_alignment (GTK_MISC (priv->label), 0.0, 0.5);
gtk_misc_set_padding (GTK_MISC (priv->label), 2, 0);
gtk_widget_show (priv->label);
priv->button = gtk_button_new ();
GTK_WIDGET_UNSET_FLAGS (priv->button, GTK_CAN_FOCUS);
gtk_container_set_border_width (GTK_CONTAINER (priv->button), 1);
gtk_button_set_relief (GTK_BUTTON (priv->button), GTK_RELIEF_NONE);
gtk_widget_show (priv->button);
hbox = gtk_hbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX (hbox), priv->label, TRUE, TRUE, 2);
gtk_box_pack_start (GTK_BOX (hbox), priv->button, FALSE, TRUE, 1);
gtk_widget_show (hbox);
gtk_container_add (GTK_CONTAINER (title_bar), hbox);
g_signal_connect((priv->button), "realize",
G_CALLBACK (button_realize_cb), title_bar);
g_signal_connect((priv->button), "clicked",
G_CALLBACK (button_clicked_cb), title_bar);
g_signal_connect((priv->label), "button_press_event",
G_CALLBACK (label_button_press_event_cb), title_bar);
}
GtkWidget *
e_title_bar_new (const char *title)
{
ETitleBar *title_bar;
title_bar = gtk_type_new (e_title_bar_get_type ());
e_title_bar_construct (title_bar, title);
return GTK_WIDGET (title_bar);
}
void
e_title_bar_set_title (ETitleBar *title_bar,
const char *title)
{
g_return_if_fail (title_bar != NULL);
g_return_if_fail (E_IS_TITLE_BAR (title_bar));
e_clipped_label_set_text (E_CLIPPED_LABEL (title_bar->priv->label), title);
}
void
e_title_bar_show_button (ETitleBar *title_bar,
gboolean show)
{
ETitleBarPrivate *priv;
g_return_if_fail (title_bar != NULL);
g_return_if_fail (E_IS_TITLE_BAR (title_bar));
priv = title_bar->priv;
if (show)
gtk_widget_show (priv->button);
else
gtk_widget_hide (priv->button);
}
void
e_title_bar_set_button_mode (ETitleBar *title_bar,
ETitleBarButtonMode button_mode)
{
ETitleBarPrivate *priv;
g_return_if_fail (title_bar != NULL);
g_return_if_fail (E_IS_TITLE_BAR (title_bar));
g_return_if_fail (button_mode == E_TITLE_BAR_BUTTON_MODE_CLOSE
|| button_mode == E_TITLE_BAR_BUTTON_MODE_PIN);
priv = title_bar->priv;
if (priv->button_mode == button_mode)
return;
priv->button_mode = button_mode;
show_and_hide_pixmaps_according_to_mode (title_bar);
}
ETitleBarButtonMode
e_title_bar_get_button_mode (ETitleBar *title_bar)
{
g_return_val_if_fail (title_bar != NULL, E_TITLE_BAR_BUTTON_MODE_CLOSE);
g_return_val_if_fail (E_IS_TITLE_BAR (title_bar), E_TITLE_BAR_BUTTON_MODE_CLOSE);
return title_bar->priv->button_mode;
}
E_MAKE_TYPE (e_title_bar, "ETitleBar", ETitleBar, class_init, init, PARENT_TYPE)

View File

@ -1,86 +0,0 @@
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* e-title-bar.h
*
* Copyright (C) 2000 Ximian, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU General Public
* License as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Author: Ettore Perazzoli
*/
#ifndef __E_TITLE_BAR_H__
#define __E_TITLE_BAR_H__
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <gtk/gtkframe.h>
#ifdef __cplusplus
extern "C" {
#pragma }
#endif /* __cplusplus */
#define E_TYPE_TITLE_BAR (e_title_bar_get_type ())
#define E_TITLE_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_TITLE_BAR, ETitleBar))
#define E_TITLE_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_TITLE_BAR, ETitleBarClass))
#define E_IS_TITLE_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_TITLE_BAR))
#define E_IS_TITLE_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), E_TYPE_TITLE_BAR))
enum _ETitleBarButtonMode {
E_TITLE_BAR_BUTTON_MODE_PIN,
E_TITLE_BAR_BUTTON_MODE_CLOSE
};
typedef enum _ETitleBarButtonMode ETitleBarButtonMode;
typedef struct _ETitleBar ETitleBar;
typedef struct _ETitleBarPrivate ETitleBarPrivate;
typedef struct _ETitleBarClass ETitleBarClass;
struct _ETitleBar {
GtkFrame parent;
ETitleBarPrivate *priv;
};
struct _ETitleBarClass {
GtkFrameClass parent_class;
/* Signals. */
void (* label_button_press_event) (ETitleBar *title_bar, GdkEventButton *event);
void (* button_clicked) (ETitleBar *title_bar);
};
GtkType e_title_bar_get_type (void);
void e_title_bar_construct (ETitleBar *title_bar,
const char *title);
GtkWidget *e_title_bar_new (const char *title);
void e_title_bar_set_title (ETitleBar *title_bar,
const char *title);
void e_title_bar_show_button (ETitleBar *title_bar,
gboolean show);
void e_title_bar_set_button_mode (ETitleBar *title_bar,
ETitleBarButtonMode button_mode);
ETitleBarButtonMode e_title_bar_get_button_mode (ETitleBar *title_bar);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __E_TITLE_BAR_H__ */

View File

@ -94,7 +94,6 @@ init (EUrlEntry *url_entry)
{
EUrlEntryPrivate *priv;
GtkWidget *pixmap;
GdkPixbuf *pixbuf;
priv = g_new0 (EUrlEntryPrivate, 1);
url_entry->priv = priv;
@ -104,9 +103,7 @@ init (EUrlEntry *url_entry)
priv->button = gtk_button_new ();
gtk_widget_set_sensitive (priv->button, FALSE);
gtk_box_pack_start (GTK_BOX (url_entry), priv->button, FALSE, FALSE, 0);
pixbuf = e_icon_factory_get_icon ("stock_connect-to-url", E_ICON_SIZE_BUTTON);
pixmap = gtk_image_new_from_pixbuf (pixbuf);
g_object_unref (pixbuf);
pixmap = e_icon_factory_get_image ("stock_connect-to-url", E_ICON_SIZE_BUTTON);
gtk_container_add (GTK_CONTAINER (priv->button), pixmap);
gtk_widget_show (pixmap);

View File

@ -31,7 +31,8 @@
#include <libgnomeui/gnome-app.h>
#include <libgnomeui/gnome-ui-init.h>
#include "e-title-bar.h"
#include <e-util/e-icon-factory.h>
#include "e-info-label.h"
static void
delete_event_cb (GtkWidget *widget,
@ -39,17 +40,19 @@ delete_event_cb (GtkWidget *widget,
gpointer data)
{
gtk_main_quit ();
e_icon_factory_shutdown ();
}
int
main (int argc, char **argv)
{
GtkWidget *app;
GtkWidget *title_bar;
GtkWidget *info_label;
GtkWidget *label;
GtkWidget *vbox;
gnome_init ("test-title-bar", "0.0", argc, argv);
e_icon_factory_init ();
app = gnome_app_new ("Test", "Test");
gtk_window_set_default_size (GTK_WINDOW (app), 400, 400);
@ -57,14 +60,15 @@ main (int argc, char **argv)
g_signal_connect((app), "delete_event", G_CALLBACK (delete_event_cb), NULL);
title_bar = e_title_bar_new ("This is a very annoyingly long title bar");
gtk_widget_show (title_bar);
info_label = e_info_label_new ("stock_default-folder");
e_info_label_set_info ((EInfoLabel *) info_label, "Component Name", "An annoyingly long component message");
gtk_widget_show (info_label);
label = gtk_label_new ("boo");
gtk_widget_show (label);
vbox = gtk_vbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), title_bar, FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox), info_label, FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0);
gtk_widget_show (vbox);