Page 1 of 1

New FTDN January/Enero 2009 (9.01)

Posted: Mon Jan 26, 2009 1:16 pm
by Antonio Linares
January 2009
============

* Fix: Minor fix in Class TComboBox for VK_ESCAPE management. Thanks to Roberto Parisi!

* Enhancement: source\function\helpchm.prg function ExtHtm( cTopic ) has been modified to
accept anchors. Thanks to Günther!

* Fix: Class TMenuItem Method End() decrements CLASSDATA nInitId. This solves the problem
of non working menus after many hours of use, if many menus are created again and again.

* Enhancement: We are working on Unicode support for FiveWin to have support for languages
where two bytes for one character is required (Chinese, etc.). There are new functions:
DialogBoxW(), DialogBoxIndirectW(), CreateDlgW() and CreateDlgIndirectW(). These functions
are going to be automatically managed from Class TDialog. Thanks to Ruediger help!

* New: New examples FWH\samples\TestMap.prg and TestMap2.prg show how to build a map using
some images. It is a very interesting example that we recommend you to review. You can use
any image (plans, photos, etc.) and create a copy of it with unique colors for each area, and
you will be able to identify each area. See also FWH\samples\TestMap2.prg for a map on a
"photo".

* New: (SuperHeaders) MultiHeaders for XBrowse! Please review samples\TestHead.prg for a working
example. We have posted a screenshot in the forums to review how it looks. Thanks to Silvio!

To create a Xbrowse with MultiHeader:

oBrw:nHeader := 1
oBrw:aHeaderTop := { "Title1", "Title2" }

and assign to each column the type of header to use:

oCol:nHeaderType := nHeaderType

nHeaderType 0 = Normale
'' 1 = of type +
'' 2 = INIT |-
'' 3 = END -|

* New: OpenOffice support for XBrowse! New METHOD ToCalc( bProgress, nGroupBy, nPasteMode )
exports data from xBrowse to OpenOffice Calc. Thanks to Anser!

the following are the limitations as of now:

1) Group totals not implemented.
2) Another drawback is that OpenOffice Calc is showing a dialog while pasting data from
clipboard to calc. User has to click on the OK button of that Dialog to proceed with the
data transfer. As of now I don't know how to avoid that dialog but definitlely there will
be an option to bypass this.
3) Date format technique needs to be modified

* Fix: Class TWBrowse function WBrwLine(), it was not properly painting the bitmaps due to some
recent changes in it. Now it is ok.

* Fix: Class TPrinter function PrintBegin(), minor fix that was causing troubles in Windows XP.
It was fine in Vista. Now it is fine in both.

* Fix: function CtrlDrawFocus() was not working fine when dragging a control being child of
another control. Now it is ok. This applies to the use of the DESIGN clause.

* Fix: Reverted back the recent changes in Class TPrinter as they solved Vista SP2 compatibility
but break XP support.

* Enhancement: Class TDialog Method KeyChar() was not checking SetDialogEsc() state. Now it is
ok. Also, function SetDialogEsc( [<lOnoff>] ) --> lOldStatus now returns the previous status
value.

* Fix: Class TFolder Method SetPrompts( aPrompts, aHelps ), missing aHelps in Class header declaration.
Now it is ok.

* Fix: Class TButton removed default initialization for nHelpID to 100. It was not needed.

* Enhancement: Class TControl DATAs nHelpPosX, nHelpPosY have been removed as they are no longer
used.

* Enhancement: Class TWindow Method __HelpTopic(), added support to check help for TWindow too.

* Fix: Minor fix in Class TMsgItem Method Paint(). Thanks to Enrico!

* Enhancement: Class TPrinter Method Say(), now it uses a 1.5 factor to properly paint the part of
the letter under the groundline, i.e.: "g". Thanks to Günther!

* Enhancement: Class TGet enhanced support for ReadVar(). Thanks to some new preprocessor values added
in FiveWin.ch, the name of the edited variable is properly stored in the internal GET managed by the
Class TGet. So you can easily access to the GET edited variable name this way:
oMyGet:oGet:Name. Thanks to Colin!

* Enhancement: Class TXBrwColumn new DATA lBmpTransparent to have bitmaps transparency over xBrowse
(and with bitmap) brushed background. Thanks to Daniel Garcia Gil!

* Enhancement: Some changes in METHOD ClpRow( lFullRow ) CLASS TXBrowse, thanks to Günther!

Re: New FTDN January/Enero 2009 (9.01)

Posted: Wed Jan 28, 2009 2:17 pm
by Antonio Linares
A new FWH 9.01 build is already available including:

* latest OpenOffice support for XBrowse, thanks to Anser.

* Improved CtrlDrawFocus() for nested parent windows with or without caption. Used by the DESIGN clause.

* Included fix in Class TMenuItem that was not included in previous 9.01 build.

=====

Un nuevo build de 9.01 esta disponible incluyendo:

* _ mas recientes de soporte de OpenOffice para XBrowse, gracias a Anser.

* Mejorado CtrlDrawFocus() para controles situados en ventanas anidadas, con ó sin título. Usado por la claúsula DESIGN.

* Se han incluido _ en la Clase TMenuItem que no se habían incluido en el build 9.01 anterior.

Re: New FTDN January/Enero 2009 (9.01)

Posted: Fri Feb 06, 2009 7:24 am
by Antonio Linares
Enero 2009
==========

* Corrección: Pequeña corrección en la clase TComboBox para el manejo de VK_ESCAPE. Gracias a Roberto Parisi !

* Mejora: Se ha modificado la función ExtHtm( cTopic ) en source\function\helpchm.prg para aceptar "links". Gracias a Günther!

* Corrección: En la clase TMenuItem el método End() decrementa la DATA nInitId de la clase. Esto soluciona el problema del no funcionamiento de los menús después de muchas horas de uso, si se crean muchos menús una y otra vez.

* Mejora: Estamos trabajando en el soporte de Unicode en Fivewin para tener soporte para idiomas donde se requieren dos bytes para un carácter (chino, etc...). Hay funciones nuevas: DialogBoxW(), DialogBoxIndirectW(), CreateDlgW() y CreateDlgIndirectW(). Estas funciones se manejan automáticamente desde la clase TDialog. Gracias a la ayuda de Ruediger !

* Nuevo: Ejemplos nuevos, FWH\samples\TestMap.prg y TestMap2.prg que muestran como construir mapas usando algunas imágenes. Son ejemplos muy interesantes, los cuales recomendamos revisar. Puedes usar cualquier imagen (planos, fotos, etc...) y crear una copia de ellas con un único color para cada área, y será capaz de identificar cada área.

* Nuevo: (Supercabeceras) Multicabeceras para XBrowse! Por favor revisa el ejemplo samples\TestHead.prg para ver un ejemplo funcionando. Hemos puesto un pantallazo en los foros para que veáis su apariencia. Gracias a Silvio !

Para crear un Xbrowse con multicabecera:

oBrw:nHeader := 1
oBrw:aHeaderTop := { "Title1", "Title2" }

y asigna a cada columna el tipo de cabecera a usar:

oCol:nHeaderType := nHeaderType

nHeaderType 0 = Normale
'' 1 = of type +
'' 2 = INIT |-
'' 3 = END -|

* Nuevo: Soporte de OpenOffice para XBrowse! Nuevo método ToCalc( bProgress, nGroupBy, nPasteMode ), este exporta datos del xBrowse a OpenOffice Calc (Hoja de cálculo de OpenOffice, similara a Excel de Microsoft). Gracias a Anser !

Con las siguientes limitaciones:

1) No se han implementado los totales por Grupo.
2) Otro inconveniente, es que OpenOffice Calc muestra un diálogo mientras pega datos desde el portapapeles a la hoja de cálculo.
El usuario tiene que pulsar sobre el botón OK (Aceptar) del diálogo para iniciar la transferencia de datos. Por ahora no sé como
evitar el diálogo, pero habrá una opción para evitarlo.
3) Se debe modificar el formato de la fecha.

* Corrección: En la función WBrwLine() de la clase TWBrowse, no estaba pintando correctamente los "bitmaps" debido a _ recientes. Ahora lo hace correctamente.

* Corrección: En la función PrintBegin() de la clase TPrinter, pequeña corrección que estaba causando problemas en Windows XP. Estaba funcionando correctamente en Vista :-). Ahora funciona correctamente en ambos.

* Corrección: La función CtrlDrawFocus() no estaba funcionando correctamente cuando se arrastraba un control desde otro control. Esto se aplica al uso de la claúsula DESIGN.

* Corrección: Deshechos los recientes cambios en la clase TPrinter que resolvian la compatibilidad con Vista SP2 pero rompian el soporte de XP.

* Mejora: El método KeyChar() de la clase TDialog no estaba comprobando el estado de SetDialogEsc(). Ahora si lo hace.
También la función SetDialogEsc( [<lOnoff>] ) --> lOldStatus ahora devuelve el valor del estado anterior.

* Corrección: En el método SetPrompts( aPrompts, aHelps ) de la clase TFolder, había desaparecido aHelps en la declaración de la cabecera de la clase. Ahora está correcta.

* Corrección: Se ha borrado la inicialización por defecto de nHelpID a 100 en la clase TButton. Ya no se necesita.

* Mejora: Se han eliminado las DATAs nHelpPosX y nHelpPosY en la clase TControl, debido a que no se utilizan.

* Mejora: En el método __HelpTopic() de la clase TWindow, se ha añadido soporte para comprobar la ayuda para TWindow también.

* Corrección: Pequeña corrección en el método Paint() de la clase TMsgItem. Gracias a Enrico !

* Mejora: En el método Say() de la clase TPrinter, ahora usa un factor de 1.5 para pintar correctamente la parte de la letra por debajo de la línea de escritura, por ejemplo: "g". Gracias Günther !

* Mejora: En la clase TGet se ha mejorado el soporte para ReadVar(). Gracias a alguno de los nuevos valores del preprocesador añadidos al fichero FiveWin.ch, el nombre de la variable editada se almacena correctamente en el GET interno gestionado por la clase TGet. Así que puedes acceder fácilmente al nombre de la variable editada del GET de la siguiente manera: oMyGet:oGet:Name. Gracias a Colin !

* Mejora: Nueva DATA lBmpTransparent en la clase TXBrwColumn para tener "bitmaps" transparentes sobre xBrowse (y con "bitmaps") con fondos. Gracias a Daniel García Gil!

* Mejora: _ en el método ClpRow( lFullRow) de la clase TXBrowse, gracias a Günther !

* _ mas recientes de soporte de OpenOffice para XBrowse, gracias a Anser !

* Mejorado CtrlDrawFocus() para controles situados en ventanas anidadas, con ó sin título. Usado por la claúsula DESIGN.

* Se han incluido _ en la Clase TMenuItem que no se habían incluido en el build 9.01 anterior.

Re: New FTDN January/Enero 2009 (9.01)

Posted: Sun Feb 08, 2009 11:02 pm
by JmGarcia
Antonio Linares wrote:Hay funciones nuevas: DialogBoxW(), DialogBoxIndirectW(), CreateDlgW()
Esas funciones no las encuentro en la documentación de ayuda (fwfun.chm/hlp).

Re: New FTDN January/Enero 2009 (9.01)

Posted: Mon Feb 09, 2009 5:32 am
by Antonio Linares
Jose Maria,

Esas funciones son las equivalentes a las mismas funciones en el API de Windows ( ...W() -wide- se usa para unicode).

Una vez esté completado el soporte de unicode, entonces lo documentaremos en detalle :-)