revisando fivelinux

Post Reply
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

revisando fivelinux

Post by mastintin »

Con fines didacticos he intentado instalar y hacer funcionar el fivelinux-gpl .
El primer paso fué descargar harbour del repositorio y construir sus librerías .
Segundo paso descargar la ultima version de fivelinux y construir sus librerias .
1º problema al compilar database.prg no encuentra el include hbcompat.ch . Este no está dentro del repositorio de harbour .Supongo que podre usar el hbcompat.ch de harbour para bcc de windows , pero sería bueno no tificarlo al grupo de desarrollo de harbour para linux o en su defecto incluirlo detro de fivelinux.
2ºProblema demtro del mismo archivo makefile vienen los comandos para compilar con harbour y con xharbour sería bueno poner una variable de ambiente que distingua con que compilador trabajamos.

Saludos.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: revisando fivelinux

Post by Antonio Linares »

Manuel,

hbcompat.ch pertenece a Harbour, está en harbour/contrib/xhb/

El makefile, efectivamente, usa Harbour y xHarbour, la idea es borrar la parte que no se use, aunque seria mejor como indicas, que fuese facilmente configurable
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: revisando fivelinux

Post by Antonio Linares »

Manuel,

El diseñador de ventanas, fiveform.prg, con FiveLinux, ya va tomando forma y acercándose a los de FiveWin y FiveMac :-)

Una delicia... :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: revisando fivelinux

Post by mastintin »

he intentado con este makefile que a mi para harbour me funciona bien . Seria bueno probarlo con xharbour.

Code: Select all


# FiveLinux makefile

HB_COMPILER:= harbour

all : ./lib/libfive.a ./lib/libfivec.a

ifneq ($(HB_COMPILER),xharbour)
PRG_OBJS = ./obj/bar.o        \
           ./obj/button.o     \
           ./obj/checkbox.o   \
       ./obj/combobox.o   \
       ./obj/control.o    \
       ./obj/database.o   \
       ./obj/dbtools.o    \
       ./obj/dialog.o     \
       ./obj/errsys.o     \
       ./obj/file.o       \
       ./obj/filename.o   \
       ./obj/folder.o     \
       ./obj/font.o       \
       ./obj/form.o       \
       ./obj/get.o        \
       ./obj/group.o      \
       ./obj/harbour.o    \
       ./obj/image.o      \
       ./obj/ini.o        \
       ./obj/listbox.o    \
           ./obj/memoedit.o   \
       ./obj/menu.o       \
       ./obj/menuitem.o   \
       ./obj/mget.o       \
       ./obj/msgbar.o     \
       ./obj/pdmenu.o     \
       ./obj/printer.o    \
       ./obj/progres.o    \
       ./obj/radio.o      \
       ./obj/radmenu.o    \
       ./obj/say.o        \
       ./obj/scrollbar.o  \
       ./obj/timer.o      \
       ./obj/valblank.o   \
       ./obj/wbrowse.o    \
       ./obj/wbcolumn.o   \
           ./obj/window.o
else
PRGX_OBJS = ./objx/bar.o        \
           ./objx/button.o     \
           ./objx/checkbox.o   \
           ./objx/combobox.o   \
           ./objx/control.o    \
           ./objx/dialog.o     \
           ./objx/errsys.o     \
           ./objx/file.o       \
           ./objx/folder.o     \
           ./objx/font.o       \
           ./objx/form.o       \
           ./objx/get.o        \
           ./objx/group.o      \
           ./objx/harbour.o    \
           ./objx/image.o      \
           ./objx/listbox.o    \
           ./objx/menu.o       \
           ./objx/menuitem.o   \
           ./objx/mget.o       \
           ./objx/msgbar.o     \
           ./objx/pdmenu.o     \
           ./objx/printer.o    \
           ./objx/progres.o    \
           ./objx/radio.o      \
           ./objx/radmenu.o    \
           ./objx/say.o        \
           ./objx/scrollbar.o  \
           ./objx/timer.o      \
           ./objx/valblank.o   \
           ./objx/wbrowse.o    \
           ./objx/wbcolumn.o   \
           ./objx/window.o

endif

C_OBJS = ./objc/bars.o        \
         ./objc/buttons.o     \
         ./objc/checkboxes.o  \
     ./objc/comboboxes.o  \
     ./objc/dialogs.o     \
     ./objc/files.o       \
     ./objc/folders.o     \
     ./objc/fonts.o       \
     ./objc/getcolor.o    \
     ./objc/getfile.o     \
     ./objc/getfont.o     \
     ./objc/gets.o        \
     ./objc/groups.o      \
     ./objc/images.o      \
     ./objc/listboxes.o   \
         ./objc/lnx.o         \
         ./objc/menus.o       \
     ./objc/mgets.o       \
     ./objc/mouse.o       \
     ./objc/msgbars.o     \
         ./objc/msgbox.o      \
     ./objc/printers.o    \
     ./objc/progress.o    \
     ./objc/radios.o      \
     ./objc/says.o        \
     ./objc/scrollbars.o  \
     ./objc/spawn.o       \
         ./objc/strtoken.o    \
         ./objc/wbrowses.o    \
     ./objc/windows.o

./lib/libfive.a  : $(PRG_OBJS)

ifneq ($(HB_COMPILER),xharbour)

  ./lib/libfivec.a : $(C_OBJS)

./obj/%.c : ./source/classes/%.prg
    ./../harbour/bin/harbour $< -o./$@ -n -I./../harbour/include -I./include

./obj/%.c : ./source/function/%.prg
    ./../harbour/bin/harbour $< -o./$@ -n -I./../harbour/include -I./include


./obj/%.o : ./obj/%.c
    gcc -c -D_HARBOUR_ -o $@ -I./../harbour/include -I./include $<
    ar rc ./lib/libfive.a $@

else

 ./lib/libfivex.a : $(PRGX_OBJS)

./objx/%.c : ./source/classes/%.prg
        ./../xharbour/bin/harbour $< -o./$@ -n -I./../xharbour/include -I./include

./objx/%.c : ./source/function/%.prg
        ./../xharbour/bin/harbour $< -o./$@ -n -I./../xharbour/include -I./include

./objx/%.o : ./objx/%.c
        gcc -c -o $@ -I./../xharbour/include $<
        ar rc ./lib/libfivex.a $@

endif



./objc/%.o : ./source/function/%.c
    gcc  -D_HARBOUR_ `pkg-config --cflags gtk+-2.0` `pkg-config --cflags libgnomeprintui-2.2` -I./../harbour/include -I./include -Wall -c -o $@ $<
    ar rc ./lib/libfivec.a $@

./objc/%.o : ./source/winapi/%.c
    gcc -D_HARBOUR_ `pkg-config --cflags gtk+-2.0` `pkg-config --cflags libgnomeprintui-2.2` -I./../harbour/include -I./include -Wall -c -o $@ $<
    ar rc ./lib/libfivec.a $@

./objc/%.o : ./source/internal/%.c
    gcc -D_HARBOUR_ `pkg-config --cflags gtk+-2.0` `pkg-config --cflags libglade-2.0` -I./../harbour/include -I./include -Wall -c -o $@ $<
    ar rc ./lib/libfivec.a $@
 
User avatar
mastintin
Posts: 1502
Joined: Thu May 27, 2010 2:06 pm

Re: revisando fivelinux

Post by mastintin »

viendo un poco como va el tema de añadir funcionalidades a los controles he metido este codigo que parece que funciona :

Para say :

Code: Select all

en says.c 
HB_FUNC( SAYSETANGLE )
{
   GtkWidget * hWnd = ( GtkWidget * ) hb_parnl( 1 );
  GList * children = gtk_container_get_children( ( GtkContainer * ) hWnd );
   gtk_label_set_angle(  children->data ,  hb_parnl( 2 ) );
}

en say.prg
  METHOD setangle(nAngle) INLINE SaySetAngle(::hWnd,nAngle)

 
para meter:

Code: Select all

en progress.c 

HB_FUNC( PROSETVERTICAL )
{
   GtkWidget * hWnd = ( GtkWidget * ) hb_parnl( 1 );

   gtk_progress_bar_set_orientation( ( GtkProgressBar * ) hWnd, GTK_PROGRESS_BOTTOM_TO_TOP );
}

en progres.prg

 METHOD SetVertical() INLINE ProSetVertical( ::hWnd )


 
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: revisando fivelinux

Post by Antonio Linares »

Manuel,

Veo que te estas animando, bien! :-)

Si te parece te doy de alta en el proyecto FiveLinux en Google code y asi puedes subir tu código directamente.

gracias!

Editado: ya estás dado de alta. Bienvenido y gracias! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply