New not common test hmg3, hmg extended, oohg

134 views
Skip to first unread message

José Quintas

unread,
May 27, 2025, 10:00:50 AM5/27/25
to Harbour Minigui
demoa is a sample with buttons

demoa.png




demob create tab and show demoa on folders
demob.prg - show demoa.prg on tabfolder - 3 times

demob.png

democ use another level, use tabs to show previous samples, tab inside tab
democ.prg - shows demoa.prg and demob.prg on tabfolder - 3 times, than demoa.prg is showed 12 times

democ.png

democ.prg - only OOHG works with more levels on tab
icons - only HMG Extended if change to buttonex
hmg 3.6 or 3.61 fail on all, using previous version 3.5 ok

- hmg extended do not need public vars anymore, i think this is one of the best changes not available on hmg3 (not sure about oohg)
- oohg already have the feature of more tab level
- fake oop is not as powerfull as to use tradicional syntax, and it is needed caution to one do not destroy another
- Try to change CHs of HMG 3.6.1 with no success

Source code is compatible with all.
To do this, button colors do not works, and icons on buttons do not works.
I do not have full knowledge of each library needs, may be color format is not the same on all minigui libraries.

It is a test only.
May be usefull, to test if feature used is not destroyed.

Note: controls need unique name to works together on tabpages.

José M. C. Quintas


demo.zip

Grigory Filatov

unread,
May 27, 2025, 2:08:28 PM5/27/25
to Harbour Minigui
Hi Jose,

Thanks for your efforts!

A color version using icons is attached.

This is a result in the picture.
capture.png

Have a good evening.

Grigory

вторник, 27 мая 2025 г. в 16:00:50 UTC+2, jmcqu...@gmail.com:
demoa.prg

José Quintas

unread,
May 28, 2025, 7:07:24 PM5/28/25
to Harbour Minigui
A big mystery:

hmg 3.6

      CENTER WINDOW ( xDlg )

hbmk2: Error: Referenced, missing, but unknown function(s): WINDOW()

Looking to ppo:
      _HMG_SYSDATA [ 489 ] := WINDOW ( xDlg )

#xcommand CENTER WINDOW <name> ;
=>;
DoMethod ( <name> , 'Center' )

#xcommand CENTER              <center>             => _HMG_SYSDATA \[ 489 \]  := <center>

Solved changing order on minigui.ch

#include "i_altsyntax.ch"
#include "i_window.ch"

OK ? i_altsyntax.ch before i_window.ch solves the question, but this order seems wrong.

HMG Extended uses same order as HMG3, i_window.ch is before i_altsyntax.ch
On HMG Extended no problem.

Can't found a valid explanation about this.

Grigory Filatov

unread,
May 29, 2025, 4:35:03 AM5/29/25
to Harbour Minigui
Hello Jose,

> On HMG Extended no problem
Thanks for your confirmation.

There is a simple explanation about this issue in HMG:
You couldn't use here

CENTER WINDOW ( xDlg )
You should use instead
CENTER WINDOW &xDlg

The reason is different definitions of this command in HMG Extended and Oficial HMG.
HMG Extended uses intelectual marker for window name (name) but HMG3 uses a simple marker "name" in this command.

That's all.

Regards,
Grigory

четверг, 29 мая 2025 г. в 01:07:24 UTC+2, jmcqu...@gmail.com:

José Quintas

unread,
May 29, 2025, 9:44:27 AM5/29/25
to Harbour Minigui
It is about pre-compiler.
I found the difference, I do not pay attention before.

On hmg3 (with changes):
#xcommand CENTER WINDOW <name>  => DoMethod ( <(name)> , 'Center' )
#xcommand CENTER              <center>             => _HMG_SYSDATA \[ 489 \]  := <center>

On hmg extended:
#xtranslate CENTER WINDOW <name>  => DoMethod ( <(name)>, 'Center' )
#xcommand CENTER   <center> => _HMG_ActiveControlCenter      := <center>

Confirmed here:
changing hmg3 to #xtranslate, no matter about ch order.
Seems that pre-compiler uses all #xtranslate of all ch files before any #xcommand
If use #xcommand for all, ch order have different results

Last doubt:
Why it is needed to change on my machine only ?

José M. C. Quintas
Reply all
Reply to author
Forward
0 new messages