Viktor Szakáts wrote:
> 
> I understand that, but .xml is just the container 
> format, what really matters is the content and the 
> specification which describes this content. In this 
> case the content of the .ui file is seemingly a 
> QT specific implementation of UI element description, 
> with QT specific rules to describe UI elements, 
> positions, string and visual behavior. We may not 
> even know some parts of it which may be used in final 
> Harbour apps, so to switch to GTK someone will need to 
> create a _complete QT compatible parser for the .ui format_.
> Moreover it may be that GTK, WX or other GUI have their 
> own similar formats already, and in this case such 
> emulated QT version will even look alien there. So IOW 
> IMO it's not a good idea to adopt QT-specific .ui 
> format as _the_ portable format for HBXBP.
> 
> F.e. current .ui file have such line:
>    <widget class="QDialog" name="ProjectProperties">
> 
> I can't see how that can be made to look/work portable 
> and QT independent. It has the QT class name in it.
> 
> So, the clean solution here is either to create a 
> HBXBP specific file format, which implements a portable 
> way of describing UI elements, OR (and this is definitely 
> the easiest) to implement such class in HBQT.
> 

Ok, I do it. 
What be the name : hbqt_qtuiloader.prg ?



> I can understand that. Well, I'm not sure if it 
> helps our case to introduce a 4th contrib for QT 
> to address QT - XBP specific needs, so if such 
> issues are too pressing, maybe we should 
> simply drop original ideas and rename HBXBP to 
> HBQTXBP, which allows you to add HBPQT* classes. 
> This of course means that HBXBP won't live up 
> to original promise to be a generic Xbase++ 
> class implementation, which can either mean the 
> original idea was over-optimistic and such thing 
> can't exist (possible), or it can mean it would 
> require a too complicated layout not usable in 
> practice, or over our capacity.
> 
> As a workaround such QT-XBP connector functionality 
> can be contained inside HBIDE, but in this case 
> end-users will have to add this same hack to their 
> own app.
> 
> Maybe some other GUI gurus could add some more 
> ideas to solve that.
> 

hbXBP remains as is and I am transferring hbpQtUI to hbQT.



> I was thinking about HBDBFMODEL and HBQTABLEVIEW.
> Where it seems that some more fine grained layering 
> could be used to keep HBQT on the generic side and 
> implement exact HBXBP needs as .prg level class/functions 
> in HBXBP.
> 

This is essentially a Qt specific. There was no other way 
to receive protected events. One idea could be that 
parent class ( in this case QAbstractModelView and QTableView )
are constructed from hbqt_* classes and delete separate 
classes. But in certain situations this is not possible.
The constucture is designed with Harbour specific 
parameters. Ideas are welcome...



> The naming is perfectly right. But, in HBXBP there 
> should be no such names. For reasons outlined many 
> times. Just think what happens if we want to implement 
> HBXBPGTK once in the future.
> 

Already agreed.



> Yes. We have one .c module, maybe that could be 
> replaced with some sort of generic .c function, 
> but that's not huge or priority issue for now.
> 

This .c module is plain string parser on Harbour levels.
Any other implementation can adopt it, no ?



> I'd be glad to see the exact problems you were 
> having with HB_PROCESS*(), possibly with a small 
> and up to the point example. I'm sure that by addressing 
> those we may be able to either give better guidelines 
> on using this Harbour API, or make appropriate enhancements 
> in core to address the issues.
> 

First and foremost, how we can disable console appearnce?
The secon - how we can capture the output in real time?



> For the first one: I wrote a msg asking "to 
> hold on for while", because I needed some time 
> to enhance it, which I did. 
> 

Till then I had already done.
Also note that at the point I ask user to feed in 
an .xhb or .hbp I do not want to call hbMK2.
The make engine is called on build process.

You must have seen I retained the exact same 
code you sent for .hbp. I can replace my parser
with yours it it helps any way.



> As for the rest I'd 
> need to know what exactly do you need which is 
> missing from hbmk2, maybe it can be added in some 
> ways. If you needed the %HOME%-like variables, 
> I can convert them to {HOME} macros. But I need 
> to know which are these exactly.
> 

No, I need an array to be returned with different 
components as you provided in .hbp code. 
%HOME% in xMate always points to resident folder
of .xhp and it is already retrived. 
Again I have to host this code in hbIDE instead
of calling hbMK2 at this point.



> I can see it, but reusing our own code is 
> essential. There are other ways like moving  
> these conversions into a lib, anyhow I can't 
> see what's wrong in calling an external utility 
> for some rare, one-time functionality. Tools 
> do that all the time. If the popping up window 
> is an issue, we should solve that.
> 

As above.



> HBQT is fine in this respect (though QProcess is certainly 
> not needed), but it still have the problems, see the 
> TOFIXes in main lib, there is still a shortcut about 
> the :pPtr issue (you told it's too much work to change it), 
> which is now solved with a low-level hack, there is 
> the crash when exiting, there is the slots/events potential 
> leaks by requiring precis high level management. Plus 
> it's still has places where leaks or GPFs are possible.
> Plus: MT issues. These are the known ones.
> 

MT issue: I will turn to it later. I could not resolve the
painting issue of Qt in MT scenario. 
For the rest I am aware of but probably there 
could be any way to eleiminate that altogether.
The problem is : subsytem cannot recognize which object 
is firing this event. I will give it a thought again...



> Here I can see a certain level of what I described.
> I think it needs much more testing against original 
> Xbase++ and fixing existing problems before starting 
> to pump even more code into it.
> 

Testing comes along the way.
Angel has forwarded some issues which I resolved.
Rest will be resolved as these are known. Currenly 
all concentration is on hbIDE.



> Here I find the priorities mixed. F.e. until an app 
> crashes on exit every time, I simply couldn't find it 
> justified to add theme support or similar things. For 
> me even a simple build didn't work until I added the hbmk2 
> dir solution. Here I cannot help without big time 
> investment, but as a general idea: Make it usable and 
> complete first for basic cases, then extend it with 
> "bells and whistles". My general impression is that 
> even HBIDE basic features have things lacking, and the 
> UI looks casual and it's not getting fixed. F.e. look 
> at how the menu gets greyed and stays that way when 
> opening a dialog and closing it, strange focusing issues 
> on the project pane, etc. Maybe these are HBQT or HBXBP 
> problems, but not addressing these tells to me that we're 
> rushing forward without fixing things behind.
> 

I know your view points. And I always look into the
points. Sometimes I can get to it, sometimes at some 
later time. It is all about developing an application.
Features comes like a flow and you cannot resist it.
If you look into the commits, everytime some aspects
are reworked. This is a normal process in this direction.
This is why I stalled Vailton's contributions for some time.



-----
                 enjoy hbIDEing...
                    Pritpal Bedi 
_a_student_of_software_analysis_&_design_
-- 
View this message in context: 
http://n2.nabble.com/hbpqtui-class-tp4464679p4474576.html
Sent from the harbour-devel mailing list archive at Nabble.com.
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to