Trabajando con gtk con fivelinux

Post Reply
jgayoso
Posts: 170
Joined: Sat Aug 07, 2010 11:36 pm
Location: Chile

Trabajando con gtk con fivelinux

Post by jgayoso »

Tengo el siguiente extracto de codigo, pero al mostrar el valor cPaso no me muestra ningun valor y yo esperaba que me mostrara "OPCION-33".
Me compila bien sin errores, pero no hace lo esperado.
Estoy con trabajando con FiveLinux y Linux Suse.

Desde ya se agradece cualquier ayuda.



Local oDlg, oBtn,oBtn2,cPaso

DEFINE DIALOG oDlg SIZE nAnchoDialogo, nAltoDialogo
@ nL, nC BUTTON oBtn PROMPT "OPCION-1" OF oDlg SIZE nLB*nAnchoLetra,nAltoLetra ACTION ( nSeleccion:=1, lExit := .T., oDlg:End() )
@nL, nC BUTTON oBtn2 PROMPT "OPCION-2" OF oDlg SIZE nLB*nAnchoLetra,nAltoLetra ACTION ( nSeleccion:=2, lExit := .T., oDlg:End() )

gtk_button_set_label(oBtn,"OPCION-33")
cPaso:=gtk_button_get_label(oBtn)

ACTIVATE DIALOG oDlg VALID lExit CENTER

msgalert(cPaso)



#IfDef __FIVELINUX__

#pragma BEGINDUMP

#include <gtk/gtk.h>
#include "hbapi.h"

HB_FUNC( GTK_BUTTON_GET_LABEL ) // widget -> cExt
{
gchar *cText;
gchar *msg;
cText = ( gchar *) gtk_button_get_label( GTK_BUTTON( hb_parptr( 1 ) ) );
msg = ( gchar *) g_convert( cText, -1,"ISO-8859-1","UTF-8",NULL,NULL,NULL );
hb_retc( ( gchar * ) msg );
}

HB_FUNC( GTK_BUTTON_SET_LABEL ) // widget, cText
{
gchar *msg = g_convert( hb_parc(2), -1,"UTF-8","ISO-8859-1",NULL,NULL,NULL );
gtk_button_set_label( GTK_BUTTON( hb_parptr( 1 ) ), msg );
}

#pragma ENDDUMP
#Endif
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Trabajando con gtk con fivelinux

Post by Daniel Garcia-Gil »

Hola

estas pasando un objeto a la funcion en C, debes pasar el handle (que esta representado por un numero y no por un puntero), entonces pienso que deberia quedar de esta manera

desde PRG

Code: Select all

gtk_button_set_label(oBtn:hWnd,"OPCION-33")
cPaso:=gtk_button_get_label(oBtn:hWnd)
desde C, cambia estas lineas

Code: Select all

 ( gchar *) gtk_button_get_label( ( GtkButton * ) hb_parnl( 1 ) );

Code: Select all

   gtk_button_set_label( ( GtkButton * ) hb_parnl( 1 ), msg );
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Trabajando con gtk con fivelinux

Post by Antonio Linares »

Jorge,

Cambia estas líneas:

gtk_button_set_label(oBtn,"OPCION-33")
cPaso:=gtk_button_get_label(oBtn)

por:

oBtn:SetText( "OPCION-33" )
cPaso = oBtn:GetText()
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply