mutter/examples/test-entry.c
Emmanuele Bassi 3c2defee9d 2007-06-07 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-container.[ch]: Add a generic actor container
	interface, for actors to implement without subclassing ClutterGroup.

	* clutter/clutter-group.[ch]: Make ClutterGroup implement the
	ClutterContainer interface, and deprecate the colliding methods.

	* clutter/clutter-layout.[ch]: Add extended layout interface.
	Actors and containers requiring or honouring complex layout
	management should implement this interface and provide at least
	one of the available layout types: width for height, height for
	width, natural size, iterative size request.

	* clutter/clutter-label.c: A ClutterLabel requires height for
	width layout management, so it implements the ClutterLayout
	interface.

	* clutter/Makefile.am: Add new files to the build.

	* tests/*.c:
	* examples/*.c: Update tests and examples code to use the
	new ClutterContainer API instead of ClutterGroup.
2007-06-07 14:41:35 +00:00

62 lines
1.7 KiB
C

#include <clutter/clutter.h>
static void
on_entry_text_changed (ClutterEntry *entry)
{
g_print ("Text changed\n");
}
void
on_key_release_cb (ClutterStage *stage, ClutterEvent *event, ClutterEntry *entry)
{
if (event->type == CLUTTER_KEY_RELEASE)
{
ClutterKeyEvent* kev = (ClutterKeyEvent *) event;
clutter_entry_handle_key_event (entry, kev);
return;
}
}
int
main (int argc, char *argv[])
{
ClutterTimeline *timeline;
ClutterActor *entry;
ClutterActor *stage;
gchar *text;
gsize size;
ClutterColor stage_color = { 0x00, 0x00, 0x00, 0xff };
ClutterColor entry_color = { 0x33, 0xdd, 0xff, 0xff };
clutter_init (&argc, &argv);
stage = clutter_stage_get_default ();
clutter_actor_set_size (stage, 800, 600);
clutter_stage_set_color (CLUTTER_STAGE (stage), &stage_color);
entry = clutter_entry_new_with_text ("Sans 14",
"Type something, be sure to use the "
"left/right arrow keys to move the "
"cursor position.");
clutter_entry_set_color (CLUTTER_ENTRY (entry), &entry_color);
clutter_actor_set_size (entry, 600, 50);
clutter_actor_set_position (entry, 100, 100);
/*clutter_entry_set_visibility (CLUTTER_ENTRY (entry), FALSE);*/
/*clutter_entry_set_max_length (CLUTTER_ENTRY (entry), 50);*/
clutter_group_add (CLUTTER_GROUP (stage), entry);
clutter_actor_show_all (CLUTTER_GROUP (stage));
g_signal_connect (stage, "key-release-event",
G_CALLBACK (on_key_release_cb), (gpointer)entry);
/*
g_signal_connect (entry, "text-changed",
G_CALLBACK (on_entry_text_changed), NULL);
*/
clutter_main();
return 0;
}