FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveLinux / FiveDroid (Android) Trabajando con gtk con fivelinux
Posts: 170
Joined: Sat Aug 07, 2010 11:36 PM
Trabajando con gtk con fivelinux
Posted: Tue Dec 06, 2011 03:59 PM

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

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Trabajando con gtk con fivelinux
Posted: Tue Dec 06, 2011 05:48 PM
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 (fw): Select all Collapse
gtk_button_set_label(oBtn:hWnd,"OPCION-33")
cPaso:=gtk_button_get_label(oBtn:hWnd)


desde C, cambia estas lineas

Code (fw): Select all Collapse
 ( gchar *) gtk_button_get_label( ( GtkButton * ) hb_parnl( 1 ) );


Code (fw): Select all Collapse
   gtk_button_set_label( ( GtkButton * ) hb_parnl( 1 ), msg );
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Trabajando con gtk con fivelinux
Posted: Tue Dec 06, 2011 07:44 PM

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

Continue the discussion