From b2a25c6add10c40eb6d369fdf504f2e7d13d2c97 Mon Sep 17 00:00:00 2001 From: Chris Lahey Date: Mon, 10 Jan 2000 04:55:48 +0000 Subject: Added minicard and text stuff. * widgets/Makefile.am: Added minicard and text stuff. * widgets/e-minicard.c, widgets/e-minicard.h, widgets/e-minicard-label.c, widgets/e-minicard-label.h: Added canvas items for the minicard view in the contact manager. * widgets/test-minicard.c, widgets/test-minicard-label.c: Tests for the minicard items. * widgets/e-text.h, widgets/e-text.c: New canvas item. Based on GnomeCanvasText. Adds ellipsis capabilities. Used in e-minicard*.[ch]. * widgets/.cvsignore: Added minicard-test and minicard-label-test. svn path=/trunk/; revision=1552 --- addressbook/gui/minicard/test-minicard.c | 125 +++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 addressbook/gui/minicard/test-minicard.c (limited to 'addressbook/gui/minicard/test-minicard.c') diff --git a/addressbook/gui/minicard/test-minicard.c b/addressbook/gui/minicard/test-minicard.c new file mode 100644 index 0000000000..4f56fbe936 --- /dev/null +++ b/addressbook/gui/minicard/test-minicard.c @@ -0,0 +1,125 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* test-minicard.c + * + * Copyright (C) 2000 Helix Code, Inc. + * Author: Chris Lahey + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * 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. + */ + + + +#include "config.h" + +#include +#include "e-minicard.h" + +/* This is a horrible thing to do, but it is just a test. */ +GnomeCanvasItem *card; +GnomeCanvasItem *rect; + +static void destroy_callback(GtkWidget *app, gpointer data) +{ + exit(0); +} + +static void allocate_callback(GtkWidget *canvas, GtkAllocation *allocation, gpointer data) +{ + gnome_canvas_set_scroll_region(GNOME_CANVAS( canvas ), 0, 0, allocation->width, allocation->height ); + gnome_canvas_item_set( card, + "width", (double) allocation->width, + NULL ); + gnome_canvas_item_set( rect, + "x2", (double) allocation->width, + "y2", (double) allocation->height, + NULL ); +} + +static void about_callback( GtkWidget *widget, gpointer data ) +{ + + const gchar *authors[] = + { + "Christopher James Lahey ", + NULL + }; + + GtkWidget *about = + gnome_about_new ( _( "Minicard Test" ), VERSION, + _( "Copyright (C) 2000, Helix Code, Inc." ), + authors, + _( "This should test the minicard canvas item" ), + NULL); + gtk_widget_show (about); +} + +static void button_press_callback( GtkWidget *widget, gpointer data ) +{ + gnome_canvas_item_grab_focus( card ); +} + +int main( int argc, char *argv[] ) +{ + GtkWidget *app; + GtkWidget *canvas; + int i; + + /* bindtextdomain (PACKAGE, GNOMELOCALEDIR); + textdomain (PACKAGE);*/ + + gnome_init( "Minicard Test", VERSION, argc, argv); + app = gnome_app_new("Minicard Test", NULL); + + canvas = gnome_canvas_new(); + rect = gnome_canvas_item_new( gnome_canvas_root( GNOME_CANVAS( canvas ) ), + gnome_canvas_rect_get_type(), + "x1", (double) 0, + "y1", (double) 0, + "x2", (double) 100, + "y2", (double) 100, + "fill_color", "white", + NULL ); + for ( i = 0; i < 1; i++ ) + { + card = gnome_canvas_item_new( gnome_canvas_root( GNOME_CANVAS( canvas ) ), + e_minicard_get_type(), + "x", (double) 0, + "y", (double) 0, + "width", (double) 100, + NULL ); + } + gnome_canvas_set_scroll_region ( GNOME_CANVAS( canvas ), + 0, 0, + 100, 100 ); + + gnome_app_set_contents( GNOME_APP( app ), canvas ); + + + /* Connect the signals */ + gtk_signal_connect( GTK_OBJECT( app ), "destroy", + GTK_SIGNAL_FUNC( destroy_callback ), + ( gpointer ) app ); + + gtk_signal_connect( GTK_OBJECT( canvas ), "size_allocate", + GTK_SIGNAL_FUNC( allocate_callback ), + ( gpointer ) app ); + + gtk_signal_connect( GTK_OBJECT( canvas ), "button_press_event", + GTK_SIGNAL_FUNC( button_press_callback ), + ( gpointer ) app ); + + gtk_widget_show_all( app ); + + gtk_main(); + + /* Not reached. */ + return 0; +} -- cgit v1.2.3