hmg-4 Changelog

Moderator: Rathinagiri

User avatar
Roberto Lopez
HMG Founder
Posts: 4023
Joined: Wed Jul 30, 2008 6:43 pm

Re: hmg-4 Changelog

Post by Roberto Lopez »

mrduck wrote:Hi Roberto,
someone added in misc.prg a error handler but it never worked.
I guess I've added it :)
mrduck wrote: So I proposed to call hbqt_errorsys that is included in hbQt and works correctly.

But you know that everybody has his own, personalized, error handler, to log messages in a text file, send mail etc etc, so probably it would be better to create a error handler template to show programmers how to expand and integrate it in their programs.

So, at the moment, I think that it is better to keep the hbQt_errorsys() call in the demos
I understand, but IMHO, since the high-level nature of HMG, some error handler (ie: HbQt_ErrorSys()) should be enabled by default, so the user will be not required to add it.

More advanced users will find a way to use its own error handler.

Just an opinion :)
Regards/Saludos,

Roberto


(Veritas Filia Temporis)
User avatar
Roberto Lopez
HMG Founder
Posts: 4023
Joined: Wed Jul 30, 2008 6:43 pm

Re: hmg-4 Changelog

Post by Roberto Lopez »

l3whmg wrote:Hi Roberto.
This was introduced, many times ago, when the XBase style command assume that the reference name (ie oBtn_Ok) must be a real variable within end program. This is wrong and a lot of demo must be fixed; now, to have the ability to assign object to a LOCAL/PRIVATE/PUBLIC var,
I've designed that for simplicity. IMHO, it could not like it to someone, but it is not 'wrong' :)

Anyway, I like your solution it is very cleaver and a good solution too.
l3whmg wrote: I have extended the old Xbase style command with option TOVAR. In this way we can preserve OLD HMG3 commands and extend this future for HMG4.
You've used the 'old' word twice referring to the xBase syntax.

IMHO, that syntax is not old or obsolete. A lot of people (and me) will still using it.

IMHO, the term 'alternative' is the adequate one and we must care about it, the same as any other feature.

Just my opinion :)
l3whmg wrote: I hope my brief is clear no more technical :mrgreen:
I've almost undesrtood you ;)

Thanks for your detailed explanation and your dedicated work on this.
Regards/Saludos,

Roberto


(Veritas Filia Temporis)
mrduck
Posts: 497
Joined: Fri Sep 10, 2010 5:22 pm

Re: hmg-4 Changelog

Post by mrduck »

Roberto Lopez wrote: More advanced users will find a way to use its own error handler.

Just an opinion :)

I agree, I will do some testing with INIT POCEDURE and then commit
User avatar
Roberto Lopez
HMG Founder
Posts: 4023
Joined: Wed Jul 30, 2008 6:43 pm

Re: hmg-4 Changelog

Post by Roberto Lopez »

mrduck wrote:
Roberto Lopez wrote: More advanced users will find a way to use its own error handler.

Just an opinion :)

I agree, I will do some testing with INIT POCEDURE and then commit
Thanks!
Regards/Saludos,

Roberto


(Veritas Filia Temporis)
User avatar
l3whmg
Posts: 694
Joined: Mon Feb 23, 2009 8:46 pm
Location: Italy
Contact:

Re: hmg-4 Changelog

Post by l3whmg »

Hi Roberto.
Roberto Lopez wrote:You've used the 'old' word twice referring to the xBase syntax.
IMHO, that syntax is not old or obsolete. A lot of people (and me) will still using it.
IMHO, the term 'alternative' is the adequate one and we must care about it, the same as any other feature.
Just my opinion :)
You are right: I still using it ;) It was a way (bad way) to distinguish HMG3 Xbase command (today) the HMG4 Xbase command (perhaps, with added parameter) and an OOP styled program.
Roberto Lopez wrote:I've designed that for simplicity. IMHO, it could not like it to someone, but it is not 'wrong' :)
I understand your pow; IMHO: in that way it was mandatory to add local vars within end program and the end program "it's different" from a standard HMG3 program (I was looking about compatibility). On the other hand, at this moment, there are some "special cases" where you need a real container: ie LAYOUT object and you must add a TEXTBOX....
Roberto Lopez wrote:Anyway, I like your solution it is very cleaver and a good solution too.
Many thanks for your words :) my intention was (and is) to preserve HMG3 Xbase (commands style) end programs.

Welcome back Roberto :D

Ciao
Luigi from Italy
www.L3W.it
mrduck
Posts: 497
Joined: Fri Sep 10, 2010 5:22 pm

Re: hmg-4 Changelog

Post by mrduck »

Code: Select all

2011-09-28 22:52 UTC+0100 Francesco Perillo ( fperillo at gmail.com )
   * source/virtualgrid.prg
     * corrected some bugs
     * disabled editing cells when not specified :aColumnControls
     * onChange event run only when virtualgvrid is fully created
   * source/grid.prg
     * added vertical align (by Ricci)
   * source/abstractgrid.prg
     * removed debug msginfo
   * samples/VirtualGrid/demo_3.prg
     * reduced array dimension from 100.000 to 1.000... it didn't load...
mrduck
Posts: 497
Joined: Fri Sep 10, 2010 5:22 pm

Re: hmg-4 Changelog

Post by mrduck »

Code: Select all

2011-09-28 23:52 UTC+0100 Francesco Perillo ( fperillo at gmail.com )
   * source/grid.prg
     * refactoring code
     * re-enabled movements with arrow-keys
User avatar
l3whmg
Posts: 694
Joined: Mon Feb 23, 2009 8:46 pm
Location: Italy
Contact:

Re: hmg-4 Changelog

Post by l3whmg »

Hi guys
I revised a lot about window Release and Interactive close. For this and other reason, I also added the ability to store properties at HMGAPP level. On the other hand, I activate some defined vars.

The most important thing of this commit is (hopefully) improvement and expansion of management INTERACTIVECLOSE

A) I add a new folder: samples/window.morewin. Source with character "b" are in XBase style format. With demo in OOP style, you can play a lot with many opened form. With XBase style it's not the same.

B) To keep HMG3 compatibility (see "SET INTERACTIVECLOSE .....") there is a "global" property "InteractiveClose"; you can assign one of this values: INTCLOSE_OFF, INTCLOSE_ON, INTCLOSE_QUERY, INTCLOSE_QUERYMAIN. As default you can use INTCLOSE_DEFAULT it's the same of INTCLOSE_ON: in other words you can use [X] or ALT+F4. The other values MIN and MAX are used in some test. It takes precedence. The most important demos for this are samples/window.morewin/demo_3.prg and samples/window.morewin/demo_3b.prg.

C) I have added the same ability for any single form. I have used previous :SetInteractiveClose method. About XBase style there are new related commands: "WININTERACTIVECLOSE....." with usage of the same value (INTCLOSE*). In this way you can have a setting for any window.

D) There is a new future about end Qt. I've introduce this property "WhoQuitQt"; by default (WHOQUITQT_DEFAULT) QApplication quit when the WND_MAIN or the FirstWindow (see below) is released/closed. You can choose to end QApplication in other moment and for this you must use this value WHOQUITQT_USER. For a better description, take a look to the samples/window.morewin/demo_2.prg or samples/window.morewin/demo_2b.prg.

E) These are valid sequences to open forms
E.1) WND_MAIN and then [WND_MODAL | WND_STANDARD ]
E.2) WND_MODAL then [WND_MODAL | WND_STANDARD ]
There is a little trick to open a MODAL form, release it and then open a WND_MAIN form. so the third possibility is
E.3) WND_MODAL, release it (mandatory), WND_MAIN then [WND_MODAL | WND_STANDARD ]. take a look to the samples/window.morewin/demo_2.prg or samples/window.morewin/demo_2b.prg

I done test but I have only two eyes.....

Cheers

Code: Select all

2011-09-30 21:40 UTC+0100 Luigi Ferraris ( <luigi at l3w.it> )
   + samples/window.morewin
   + samples/window.morewin/build.bat
   + samples/window.morewin/demo_1.prg
   + samples/window.morewin/demo_1b.prg
   + samples/window.morewin/demo_2.prg
   + samples/window.morewin/demo_2b.prg
   + samples/window.morewin/demo_3.prg
   + samples/window.morewin/demo_3b.prg
   + samples/window.morewin/demo_int_1.prg
   + samples/window.morewin/hbmk.hbm
   + samples/window.morewin/hmg.ico
   + samples/window.morewin/qt.conf

   ! samples/window.close/demo_1.prg
     ! usage of defined values INTCLOSE_*

   ! samples/window.close/demo_2.prg
     ! usage of defined command WININTERACTIVECLOSE

   * source/virtualwindow.prg
     + METHOD __HmgConnectEv from window.prg
     + METHOD __HmgDisconnectEv from window.prg
     * added METHOD __HmgOnSizeExec and fixed METHOD OnSize
     ! Release(): TODO check when Visible is .F.
     ! __HmgOnCloseExec() to handle INTERACTIVE settings and minor changes

   * source/window.prg
     - moved METHOD __HmgConnectEv ti virtualwindow.prg
     - moved METHOD __HmgDisconnectEv to virtualwindow.prg
     ! Create(), Activate() in according with new properties
     + IsActivated(): it return ::lActivated

   * source/hmgapp.prg
     + WindowsDefined() to find defined forms, check if closable and 
       do an automatized close
     + added property "FirstWindow"; by default is set to NIL.
       This property store the first form object activated
     + added property "MainWindow"; by default is set to NIL.
       This property store the first WND_MAIN form object activated
     + added property "WhoQuitQt"; by default is set to WHOQUITQT_DEFAULT. Qt
       is quit when WND_MAIN or the first opened form is released.
     + added property "InteractiveClose"; by default is INTCLOSE_DEFAULT
       in other words to INTCLOSE_ON. ATTENTION: this setup it's at application
       level (like HMG3) but with HMG4 you can handle also for any form.
       Application-level setting takes precedence
     + added an internal properties system. Related methods are: Property() to
       set and get value, IsProperty() to check its existence; usage:
       to set HMGAPP():Property( "PropName", PropValue )
       to get HMGAPP():Property( "PropName" )
       to check HMGAPP():IsProperty( "PropName" ) it return .T. or .F.

   * include/hmg.ch
     ! SET INTERCATIVECLOSE commands to handle global settings like HMG3
     + WININTERACTIVECLOSE commands to handle window specific settings
     + #define WND_TYPE_MIN and WND_TYPE_MAX to know the minimum and the maximum
       value can be assigned
     + #define WHOQUITQT_DEFAULT and WHOQUITQT_USER to handle who quit Qt
       by default is WHOQUITQT_DEFAULT
     + #define INTCLOSE_OFF, INTCLOSE_ON, INTCLOSE_QUERY, INTCLOSE_QUERYMAIN
       INTCLOSE_DEFAULT, INTCLOSE_MIN, INTCLOSE_MAX
       to handle INTERACTIVECLOSE settings and execution

   * source/virtualwindow.prg
   * source/window.prg
   * source/windowgroup.prg
     * oEventLoop data name changed into oQtEventLoop
Luigi from Italy
www.L3W.it
User avatar
l3whmg
Posts: 694
Joined: Mon Feb 23, 2009 8:46 pm
Location: Italy
Contact:

Re: hmg-4 Changelog

Post by l3whmg »

Code: Select all

2011-10-01 15:05 UTC+0100 Luigi Ferraris ( <luigi at l3w.it> )
   * Changelog
     Wrong data about my last commit

   * source/toolbar.prg
   * source/tabpage.prg
     * style minor changes

   * source/toolbutton.prg
     - Enabled() method already coded in basic.prg
     - bOnClick data and OnClick() method already coded in basic.prg
     * style minor changes

   * source/textbox.prg
     * SendEvent() changed name into __HmgSendEvent()

   * source/basic.prg
     - WinMainDefined() removed unusefull with new management (changelog 739)
     * changed oCursor name to oQtCursor
     + __HmgOnMouseMove() to handle in a right way the OnMouseMove
     + __HmgOnMouseDrag() to handle in a right way the OnMouseDrag
     + __HmgOnClickExec() to handle in a right way the OnClick
     * MouseClickProcess() changed name into __HmgMouseClickProcess(). This is
       an event handler: arranged in according with other handler rules
     * setColorPalette() changed name into __setColorPalette()
     * SendEvent() changed name into __HmgSendEvent()
     + moved lEnabled data and Enabled method from basic.prg; this is
       foundamental method for a lot of object
     ! revised ON... methods
     * minor changes
     * source restyling

   * source/control.prg
     * setColorPalette() changed name into __setColorPalette()
     * SendEvent() changed name into __HmgSendEvent()
     - moved lEnabled data and Enabled method to basic.prg; this is
       foundamental method for a lot of object
Luigi from Italy
www.L3W.it
User avatar
l3whmg
Posts: 694
Joined: Mon Feb 23, 2009 8:46 pm
Location: Italy
Contact:

Re: hmg-4 Changelog

Post by l3whmg »

Code: Select all

2011-10-01 18:55 UTC+0100 Luigi Ferraris ( <luigi at l3w.it> )
   * samples/toolbar/demo_1.prg
   * samples/toolbar/demo_3.prg
   * samples/tab/demo_1.prg
   * samples/tab/demo_2.prg
   * samples/tab/demo_3.prg
   * samples/tab/demo_4.prg
   * samples/tab/demo_5.prg
     * fixed code to prevent compilation errors

   * source/tab.prg
     + __HmgOnChangeExec() to handle in a right way the OnChange
     * minor changes, restyled source code
Cheers
Luigi from Italy
www.L3W.it
Post Reply