>> >> 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 ?
Thank you. It's good. Pls make sure that this class won't contain anything XBP specific, f.e. it cannot inherit from xbpWindow. So some slight changes will be needed, f.e. to receive a QT window object as parameter. >> ... >> 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. Okay. >> 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... Not knowing the gory details I can't help here. IMO it's enough to make sure that these classes are useful in general, not just for XBP and they contain no XBP specific specialities. >> 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. Good. >> 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 ? It's a special string parser tailored for .prg source lines, used in (AFAICS) speed critical code. Here the only solution is to reimplement it from Harbour core parts if possible, anyway it's the "cherry on top" category, so let's just forget this one for now. >> 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? After checking the matter a little more closely I'd think we will need core support for that. > The secon - how we can capture the output in real time? I hope Przemek can jump in, though I remember him answering this exact question once in the past. It would be useful to dig up this message. I remember to implement WAPI_WAITFOR*() functions in hbwin after reading this conversation to help the matter, though we would need some portable core solution for this problem, also. >> 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. What is the reason? With it you could also easily load hbmake and .xbp files with minimal extra work. [ we need to solve the popping window though. ] [ It's pretty easy to do, you copy the source filename to a temp file, call hbmk2 with one parameter, pick the same temp file but with .hbp extension and load it as it as a regular .hbp file. ] > 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. If you want to maintain a copy of it and update it, it's better but still not overly beautiful. I certainly can't dedicate attention to update hbmk2.prg copy in case the code changes in hbide. >> 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 don't understand it. All you'd need to do is converting .xhp to pure .hbp file and use the standard .hbp loader (which I've posted and which you've since implemented) on it to load it. This way it's modular and clean. >> 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... Thank you. >> 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. That's exactly the problem :( (Wrong order of priority) >> ...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. Okay. Brgds, Viktor _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour