Page 21 of 30

Re: hmg-4 Changelog

Posted: Tue Nov 22, 2011 12:41 pm
by Roberto Lopez
mrduck wrote:

Code: Select all

2011-11-23 13:12 UTC+0100 Francesco Perillo ( fperillo at gmail.com )
   * source/*.prg
     * Third and last part of source code changes provided by Ricci

2011-11-23 12:52 UTC+0100 Francesco Perillo ( fperillo at gmail.com )
   * source/*.prg
     * Second part of source code changes provided by Ricci

2011-11-23 12:28 UTC+0100 Francesco Perillo ( fperillo at gmail.com )
   * source/*.prg
     * First part of source code changes provided by Ricci
       actually they are parameter checking and cosmetic changes

Please note that now the program won't stop if the parameter is of the wrong type, it will just ignore it !

Rathi, you can create the new installation setup.
Please... don´t forget the modified buildapp.bat I've posted. Without it, the IDE will not work.

The modifications works only for the optional '/3' patameter. The previous functionality will be not affected at all.

So, please, if someone can commit it to SVN for me...

TIA.

Re: hmg-4 Changelog

Posted: Tue Nov 22, 2011 12:49 pm
by Ricci
[quote="mrduck"]

Code: Select all

2011-11-23 13:12 UTC+0100 Francesco Perillo 
Wow someone from the future ;)

Re: hmg-4 Changelog

Posted: Tue Nov 22, 2011 1:00 pm
by Rathinagiri
:)

Thanks Francesco and Roberto. I will do it tonight.

Re: hmg-4 Changelog

Posted: Tue Nov 22, 2011 2:10 pm
by mrduck
Roberto Lopez wrote: Please... don´t forget the modified buildapp.bat I've posted. Without it, the IDE will not work.
I prepared the patch yesterday night but forgot to commit...

Code: Select all

2011-11-22 15:06 UTC+0100 Francesco Perillo ( fperillo at gmail.com )
   * buildapp.bat
     * now supports /3 as first parameter to enable full hmg3 compatibility
       Change by Roberto
   * Changelog
     * typo in date

Re: hmg-4 Changelog

Posted: Tue Nov 22, 2011 3:46 pm
by Ricci

Code: Select all

2011-11-23 16:36 UTC+0100 Ricci Zepmeusel ( ricci at conzoft.de )
   * source/label.prg
   * source/hyperlink.prg
     Moved border method from hyperlink to label so it is available for both

Re: hmg-4 Changelog

Posted: Tue Nov 22, 2011 5:25 pm
by Roberto Lopez
mrduck wrote:
Roberto Lopez wrote: Please... don´t forget the modified buildapp.bat I've posted. Without it, the IDE will not work.
I prepared the patch yesterday night but forgot to commit...

Code: Select all

2011-11-22 15:06 UTC+0100 Francesco Perillo ( fperillo at gmail.com )
   * buildapp.bat
     * now supports /3 as first parameter to enable full hmg3 compatibility
       Change by Roberto
   * Changelog
     * typo in date
Thanks!

Re: hmg-4 Changelog

Posted: Tue Nov 22, 2011 6:32 pm
by Ricci

Code: Select all

2011-11-23 16:36 UTC+0100 Ricci Zepmeusel ( ricci at conzoft.de )
   * source/window.prg
   * source/childwindow.prg
   * source/combobox.prg
   * source/radiogroup.prg
     Only minor changes (parameter checking and cosmetic changes)

Re: hmg-4 Changelog

Posted: Tue Nov 22, 2011 6:34 pm
by Ricci
mrduck wrote:

Code: Select all

2011-11-22 15:06 UTC+0100 Francesco Perillo ( fperillo at gmail.com )
   * buildapp.bat
     * now supports /3 as first parameter to enable full hmg3 compatibility
HBMK2 %1 %2 %3 %4 %5 %6 %7 %8 -w3 -es2

don´t work for me (compiler error). But without -es2 it´s working here.

Re: hmg-4 Changelog

Posted: Wed Nov 23, 2011 8:13 am
by l3whmg
Hi friends
I found a way to handle TABSTOP (and related usage of TAB, SHIFT+TAB, ENTER and Click on the field).

Basically, I have introduced for "all objects usage of FocusIn and FocusOut events (see __HmgconnetcEv() and related __HmgDisconnectEv() methods in BASIC class) like Close event. In this way some shared vars (s_oCurWindow and s_oCurWidget) are also valorized and they contain "focused/current" HMG4 object; some methods handle their value like THISWINDOW, THISWIDGET (new method to know the current control/widget) and THIS (aligned with HMG3 doc: it can returnes the current widget focused or if not the current window focused).

Now you can go around for all the widget in a form if it has TABSTOP setting up to .T.; this is the default value for all the objects. In the future, we can customized to .F. for some objects like LABEL, BITMAP, simply add ::lTabStop := .F. into their New() method.

At the same time, I do some changes in textbox (I hope a good changes, but they must be tested because I discovered some problems with TEXTBOX) about connected events and related connecting system. For example: I changed from textedit() to textchanged() because the OnChange method it doesn't works. I change from returnPressed() to editingFinished() to handle the OnEnter... and I think we must use ::oQtObject:disconnect( "textChanged(QString)" ) within
__HmgTextChange() to prevent unusefull sending event in this way

Code: Select all

METHOD __HmgTextChange( cText ) CLASS TEXTBOX
   LOCAL icp, InBufferLeft, InBufferRight, InBuffer

   HB_SYMBOL_UNUSED( cText )
  ::oQtObject:disconnect( "textChanged(QString)" )   <=== new
...............
            Eval( ::bOnChange )
         ENDIF
      ENDIF

   ENDIF
   ::oQtObject:connect( "textChanged(QString)",  { |cText| ::__HmgTextChange(cText) } )  <=== new

RETURN NIL
Realted with my other thread and Ricci, I say again: the current method/system to compile end programs and library it's not very "clear". With alternate method http://hmgforum.com/viewtopic.php?f=32&t=2175 some functions work again but other (checked() method) no. Please take a look to my previous post and try by your self what happens.

Code: Select all

2011-11-23 09:00 UTC+0100 Luigi Ferraris ( <luigi at l3w.it> )
   ! include/hmg.ch
     ! changed THISWINDOW command in according with new ThisWin()
     + THISWIDGET command in according with ThisWdg()
     ! THIS command in according with ThisW()

   ! source/bitmap.prg
   ! source/statusbar.prg
   ! source/timer.prg
   ! source/tree.prg
   ! source/waitwin.prg
     ! revised __HmgConnectEv() and __HmgDisconnectEv() methods

   ! source/textbox.prg
     ! ProcessEnter() renamed into __HmgOnEnterExec().
     ! ProcessTextChange() renamed into __HmgTextChange
     ! ProcessTextBoxGotFocus() renamed into __HmgOnGotFocusExec
     ! ProcessTextBoxLostFocus() renamed into __HmgOnLostFocusExec
     - removed OnGotFocus() and OnLostFocus() methods: already defined in
       BASIC class.
     - removed OnChange() method: already defined in CONTROL class.

   ! source/virtualwindow.prg
     - removed OnGotFocus() and OnLostFocus() methods: already defined in
       BASIC class.
     + __HmgConnectEv() and __HmgDisconnectEv() related with focus events
       connected by default
     * renamed __HmgOnFocusInExec() into __HmgOnGotFocusExec
     * renamed __HmgOnFocusOutExec() into __HmgOnLostFocusExec

   * source/basic.prg
     + lTabStop (by default is .T.) and TabStop() method to handle movements
       around widgets on form. For some widgets (like LABEL) it will be .F.
     + __HmgOnGotFocusExec() and __HmgOnLostFocusExec()
     ! QEvent_FocusIn and QEvent_FocusOut events are connected/disconnected by
       default as QEvent_Close. See related __HmgConnectEv() and
       __HmgDisconnectEv(). Now, OnGotFocus() and OnLostFocus() methods only
       managed related var (bOnGotFocus and bOnLostFocus).
     + OnGotFocus() and OnLostFocus() methods in according with: "these events
       are connected/disconnected internally by default"

   * source/hmgapp.prg
     + ThisW() method return focused widget/control if ::s_oCurWidget is
       NOT NIL else ::sCurWindow is returned
     + ThisWin() method return current/focused Hmg Window
     + ThisWdg() method return focused widget/control else NIL. Please
       pay attention: it can be return NIL.
     - CurrHmgWin() method unuseful. Instead you must use ThisWin().

   * source/globshared.prg
   * source/hmgapp.prg
     + s_oCurWidget shared data to stores the current focused widget. It will
       be valorized when receives focus (see __HmgOnGotFocusExec) and will be
       reset (NIL) when loose focus (see __HmgOnLostFocusExec)

   ! source/control.prg
     - lTabStop data and TabStop() method. Moved into BASIC class
     - OnGotFocus() and OnLostFocus() methods moved into BASIC class
     - __HmgOnGotFocusExec() and __HmgOnLostFocusExec()
     ! OnChange() method
Cheers

Re: hmg-4 Changelog

Posted: Wed Nov 23, 2011 8:48 am
by l3whmg
Hi Ricci
Ricci wrote:HBMK2 %1 %2 %3 %4 %5 %6 %7 %8 -w3 -es2
IMHO, this is not right or a strange usage....

Simplified you can use

Code: Select all

SET PRGFLAG=-w3 -es2 -gtgui
HBMK2 -oExeName -gui -prgflag=%PRGFLAG% MyProgram.prg
OR

Code: Select all

HBMk2 MyProgram.hbp
and it contains (for example)

Code: Select all

-gtgui
-w3
-es2

MyProgram.prg

MyResource.qrc
But, I say again, this is My Humble Opinion (see other thread)

Cheers