specify which child widget to be on top in GtkFixed?!
- From: ferar achkar <fachkar datawind gmail com>
- To: gtk-app-devel-list gnome org
- Subject: specify which child widget to be on top in GtkFixed?!
- Date: Tue, 09 Feb 2010 09:21:14 -0500
greetings,
I'm having trouble with GtkFixed and their children, how can I specify
which child widget to be on top. In the code snippet below no matter
were I create the TextEntry it always get drawn on top of the other
widgets! how can specify which child widget to be on top of the others
at run time / or at compile time.
regards,
ferar
/***************************************************************************
* Copyright (C) 2009 by ferar *
* ferar druid *
* *
* 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 of the License, 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. *
* *
* 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. *
***************************************************************************/
#include <gtk/gtk.h>
#include <string>
using namespace std;
GtkWidget* fixedviewo = NULL;
GtkWidget* FocusEntry = NULL;
GtkWidget* next_cache_page = NULL;
GtkWidget* prev_cache_page = NULL;
gint x=5;
gint y=5;
gint x2=5;
gboolean OnLabelButtonPress ( GtkWidget *widget,
GdkEventButton *event, gpointer user_data )
{
// GList *children = gtk_container_get_children ( GTK_CONTAINER (
fixedviewo ) );
//
// while ( children )
// {
// string typeo (g_type_name( GTK_WIDGET_TYPE( children->data ) ));
// if(typeo == "GtkButton")
// {
// gint xx, yy;
// gdk_window_get_origin(((GtkWidget*)( children->data
))->window,&xx,&yy);
// const gchar* labelo = gtk_button_get_label ((GtkButton*)(
children->data )) ;
// printf("Type: %s, Label is: %s\n",typeo.c_str(), labelo);
// }
//
// children = g_list_next ( children );
// }
x+=4;
x2+=6;
gtk_fixed_move ( GTK_FIXED ( fixedviewo ), next_cache_page, x++, y++ );
gtk_fixed_move ( GTK_FIXED ( fixedviewo ), prev_cache_page, x2, y );
return FALSE;
}
int
main ( int argc,
char **argv )
{
/* Initialization */
gtk_init ( &argc, &argv );
GtkWidget* splash_widget = gtk_window_new ( GTK_WINDOW_TOPLEVEL );
gtk_window_set_position ( GTK_WINDOW ( splash_widget ),
GTK_WIN_POS_CENTER_ALWAYS );
gtk_window_set_gravity ( GTK_WINDOW ( splash_widget ),
GDK_GRAVITY_CENTER );
g_signal_connect ( G_OBJECT ( splash_widget ), "destroy", G_CALLBACK
( gtk_main_quit ), NULL );
GtkWidget* vbox = gtk_vbox_new ( FALSE, 0 );
gtk_container_add ( ( GtkContainer* ) splash_widget, vbox );
GtkWidget* progress_spitout = gtk_button_new_with_label ( "move the
buttons up" );
g_signal_connect ( ( gpointer ) progress_spitout, "pressed",
G_CALLBACK ( OnLabelButtonPress ),
NULL );
fixedviewo = gtk_fixed_new ();
gtk_widget_show ( fixedviewo );
gtk_container_add ( GTK_CONTAINER ( vbox ), fixedviewo );
FocusEntry = gtk_entry_new ();
gtk_fixed_put ( GTK_FIXED ( fixedviewo ), FocusEntry, 10, 0 );
prev_cache_page = gtk_button_new_with_label ( "GTK_STOCK_GO_BACK" );
gtk_fixed_put ( GTK_FIXED ( fixedviewo ), prev_cache_page, 30, 0 );
// gtk_widget_set_size_request ( prev_cache_page, 60, 26 );
gtk_widget_show ( prev_cache_page );
next_cache_page = gtk_button_new_from_stock ( GTK_STOCK_GO_FORWARD );
gtk_fixed_put ( GTK_FIXED ( fixedviewo ), next_cache_page, 100, 0 );
// gtk_widget_set_size_request ( next_cache_page, 60, 26 );
gtk_widget_show ( next_cache_page );
gtk_container_add ( GTK_CONTAINER ( vbox ), progress_spitout );
gtk_widget_show_all ( splash_widget );
gtk_main();
return ( 0 );
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]