hbQT - Post queries in this thread only

Moderator: Rathinagiri

User avatar
bedipritpal
Posts: 122
Joined: Thu Sep 02, 2010 10:47 pm

Re: hbQT - Post queries in this thread only

Post by bedipritpal » Mon Sep 27, 2010 7:50 pm

rathinagiri wrote:Hi Pritpal,

Can you please tell me if you have a proposal to implement QDesktopServices class?
Done.
But not committed yet.

And probably with next commit, HMG code will have
to be updated in entirety. There will be a massive change in hbQT which
will be more like Qt itself.

Keep watching this space.
enjoy hbIDEing... Pritpal Bedi

User avatar
bedipritpal
Posts: 122
Joined: Thu Sep 02, 2010 10:47 pm

Post by bedipritpal » Tue Sep 28, 2010 5:09 pm

Hello All

These commits will be quiet important for you to adjust your code.

2010-09-28 09:43 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtwebkit/g/TQWebSecurityOrigin.prg
* contrib/hbqt/qtwebkit/g/TQWebSettings.prg
* contrib/hbqt/qtwebkit/g/TQWebView.prg

* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/hbqtoolbar.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idedocwriter.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideshortcuts.prg
* contrib/hbide/ideskeletons.prg
* contrib/hbide/idethemes.prg
* contrib/hbide/idetools.prg
! Adopted to latest changes.

* contrib/hbxbp/hbpprocess.prg
* contrib/hbxbp/xbp3state.prg
* contrib/hbxbp/xbpappevent.prg
* contrib/hbxbp/xbpbitmap.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpcheckbox.prg
* contrib/hbxbp/xbpclipboard.prg
* contrib/hbxbp/xbpcombobox.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/xbpfontdialog.prg
* contrib/hbxbp/xbphtmlviewer.prg
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbpmle.prg
* contrib/hbxbp/xbpprintdialog.prg
* contrib/hbxbp/xbppushbutton.prg
* contrib/hbxbp/xbpradiobutton.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpsle.prg
* contrib/hbxbp/xbpspinbutton.prg
* contrib/hbxbp/xbpstatic.prg
* contrib/hbxbp/xbpstatusbar.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbptoolbar.prg
* contrib/hbxbp/xbptreeview.prg
* contrib/hbxbp/xbpwindow.prg
* Adopted to latest changes.

* contrib/hbqt/tests/demoqt.prg
* Adopted to latest changes.

* contrib/hbqt/utils/hbqtgen.prg
+ Implemented: many-t-one class method call on PRG level.

NOTES: this implementation is a leap forward in the evolution of hbQT.
Now any method call returns the Harbour compatible type.
It means any Qt method call which is expected to return a
hbQT object was returning a pointer to the object, now returns
a hbQT class object instance instead.

So, the code like this:
qCursor := QTextCursor():from( qDoc:textCursor() )
=>
qCursor := qDoc:textCursor()
And this implementation is exactly like Qt itself
where you can pass the return object directly as an
argument to the another method call.
pw := iif( abs( ::pen():widthF() ) > 0, abs( ::pen():widthF() ), 1 )

See hbIDE code to review how it is simplified by now.

WARNING: regression is highly possible and may be hbIDE become
unstable for some time.

3rd party libraries: adopt new code to your advantage.
Many things are incompatible now.

2010-09-28 09:14 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/qth/QDesktopServices.qth
* contrib/hbqt/qtgui/qth/QGraphicsScene.qth
* contrib/hbqt/qtgui/qth/QImage.qth
* contrib/hbqt/qtgui/qth/QPainter.qth
* contrib/hbqt/qtgui/qth/QPainterPath.qth
* contrib/hbqt/qtgui/qth/QPixmap.qth
* Normalized. Pulled all c++ level constructs.

* contrib/hbqt/qtgui/THbQtUI.prg
* contrib/hbqt/utils/hbqtgen.prg
* contrib/hbqt/utils/qtgui.qtp
+ Implemented: many-to-one method call resolving protocol.

* contrib/hbqt/qt*/g/*.cpp, *.prg, *.txt
* Re-generated.

Details follow in next commit.




QDesktopServices() class is also been implemented.
enjoy hbIDEing... Pritpal Bedi

User avatar
Rathinagiri
Posts: 5172
Joined: Tue Jul 29, 2008 6:30 pm
DBs Used: MariaDB, SQLite, SQLCipher and MySQL
Location: Sivakasi, India
Has thanked: 136 times
Been thanked: 131 times
Contact:

Post by Rathinagiri » Tue Sep 28, 2010 5:57 pm

Thanks for the info Pritpal.
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.

User avatar
Rathinagiri
Posts: 5172
Joined: Tue Jul 29, 2008 6:30 pm
DBs Used: MariaDB, SQLite, SQLCipher and MySQL
Location: Sivakasi, India
Has thanked: 136 times
Been thanked: 131 times
Contact:

Post by Rathinagiri » Wed Oct 06, 2010 2:32 pm

Hi,

I think QSortFilterProxyModel class is not implemented. This is required to dynamically sort a combobox when inserting an item.

Please include in your to-do list this class too.

Thanks in advance.
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.

User avatar
bedipritpal
Posts: 122
Joined: Thu Sep 02, 2010 10:47 pm

Post by bedipritpal » Wed Oct 06, 2010 3:56 pm

rathinagiri wrote:Hi,

I think QSortFilterProxyModel class is not implemented. This is required to dynamically sort a combobox when inserting an item.

Please include in your to-do list this class too.

Thanks in advance.
Committed.

NOTE: before updating to latest hbQT, make sure you implement
all the new changed ther in HMG also.
enjoy hbIDEing... Pritpal Bedi

User avatar
bedipritpal
Posts: 122
Joined: Thu Sep 02, 2010 10:47 pm

Post by bedipritpal » Mon Oct 11, 2010 7:09 am

Hello Everybody

The latest hbQT and hbIDE is based on following ChangeLog(s).
Latest hbIDE is also posted at http://hbide.vouch.info.

The ChngeLog will give you a first hand info about what went into
hbQT changes all along few days last, and those are important
for you to implement in HMG also.


2010-10-10 22:32 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.h
- Removed: events synonymous signals, i.e., :mousePressEvent() and
family. These must be trapped via events interface instead of
signals interface.

INCOMPATIBLE: if any third party lib is using them, please update.

* contrib/hbqt/qtgui/g/HBQTableView.cpp
* contrib/hbqt/qtgui/g/THBQTableView.prg
* contrib/hbqt/qtgui/hbqt_hbqtableview.cpp
* contrib/hbqt/qtgui/hbqt_hbqtableview.h
* contrib/hbqt/qtgui/qth/HBQTableView.qth
- Removed: events synonymous signals.
+ Introduced: :hbSetBlock( bBlock ) method along the
lines of similar mechanism for other sub-classes.
This maybe the building block for thought-of
sub-calling of Qt classes.

* contrib/hbqt/qtgui/hbqtgui.ch
+ Added: HBQT_HBQTABLEVIEW_scrollContentsBy constant.

* contrib/hbxbp/xbpappevent.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpdataref.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbptabpage.prg
! Fixed: many artifacts which are the results of recent
changes in hbQT structure and implementation. New protocol
surfaced many shortcomings in previous implementation.

* contrib/hbide/hbqtoolbar.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/idemain.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesources.prg
! Fixed: many artifacts, specially in editing area.
Now you may enjoy better editing experience than before.

2010-10-10 14:23 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbxbp/xbpfiledialog.prg
! Fixed: a regression bug surfaced after recent changes.
QDialog() was not setting the focus to original widger at "close".

* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
Fixed: "windowStateChanged(Qt::WindowStates,Qt::WindowStates)" signal parameters.

* contrib/hbqt/qtgui/hbqt_hbqgraphicsitem.cpp
* contrib/hbqt/qtgui/hbqt_hbqtableview.cpp
* contrib/hbqt/qtgui/hbqt_hbqtableview.h
! Minor.

* contrib/hbqt/utils/qtgui.qtp
+ Added: new class QSortFilterProxyModel.qth

2010-10-10 13:55 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qscintilla/qth/*.qth
* contrib/hbqt/qtcore/qth/*.qth
* contrib/hbqt/qtdesigner/qth/*.qth
* contrib/hbqt/qtgui/qth/*.qth
* contrib/hbqt/qtnetwork/qth/*.qth
* contrib/hbqt/qtwebkit/qth/*.qth
! Cleaned: very old constructs needed no more. Code is more readable now.
! Changed: copyright info.

* contrib/hbqt/qscintilla/g/*.cpp *.prg *.txt
* contrib/hbqt/qtcore/g/*.cpp *.prg *.txt
* contrib/hbqt/qtdesigner/g/*.cpp *.prg *.txt
* contrib/hbqt/qtgui/g/*.cpp *.prg *.txt
* contrib/hbqt/qtnetwork/g/*.cpp *.prg *.txt
* contrib/hbqt/qtwebkit/g/*.cpp *.prg *.txt
* Re-generated, whichever are affected.

This commit prepares .qth(s) for next overhaul for constructors.

2010-10-07 18:05 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/ideedit.prg
! Fixed: paste operation was not deleting the selected text
before pasting new text.

2010-10-06 16:33 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbxbp/xbpwindow.prg
! An important regression fix.
Please always construct an object when :from() is used as:
HB_Q*Class():from( pPtr )
instead of
Q*Class():from( pPtr )

2010-10-06 12:22 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/ideedit.prg
! Fixed: regression reported by Itamar.

2010-10-06 08:47 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
+ contrib/hbqt/qtgui/doc/en/class_qcommonstyle.txt
+ contrib/hbqt/qtgui/doc/en/class_qdateedit.txt
+ contrib/hbqt/qtgui/doc/en/class_qdragenterevent.txt
+ contrib/hbqt/qtgui/doc/en/class_qdragleaveevent.txt
+ contrib/hbqt/qtgui/doc/en/class_qhboxlayout.txt
+ contrib/hbqt/qtgui/doc/en/class_qhideevent.txt
+ contrib/hbqt/qtgui/doc/en/class_qradiobutton.txt
+ contrib/hbqt/qtgui/doc/en/class_qscrollbar.txt
+ contrib/hbqt/qtgui/doc/en/class_qshowevent.txt
+ contrib/hbqt/qtgui/doc/en/class_qsizegrip.txt
+ contrib/hbqt/qtgui/doc/en/class_qstylehintreturn.txt
+ contrib/hbqt/qtgui/doc/en/class_qstylehintreturnmask.txt
+ contrib/hbqt/qtgui/doc/en/class_qstylehintreturnvariant.txt
+ contrib/hbqt/qtgui/doc/en/class_qtextblockgroup.txt
+ contrib/hbqt/qtgui/doc/en/class_qtimeedit.txt
+ contrib/hbqt/qtgui/doc/en/class_qvboxlayout.txt
+ contrib/hbqt/qtgui/doc/en/class_qwindowsstyle.txt
+ Added: missing doc files.

+ contrib/hbqt/qtgui/qth/QSortFilterProxyModel.qth
+ Added: new class, requeted on HMG forums.

+ contrib/hbqt/qtgui/g/QSortFilterProxyModel.cpp
+ contrib/hbqt/qtgui/g/TQSortFilterProxyModel.prg
+ contrib/hbqt/qtgui/doc/en/class_qsortfilterproxymodel.txt
+ Re-generated.

* contrib/hbqt/qtgui/g/filelist.hbm
* contrib/hbqt/qtgui/g/hbqtgui.h
! Re-generated.

2010-10-04 08:57 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbxbp/xbplistbox.prg
! Changed: the way context menu was being fired.

* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
* contrib/hbqt/qtcore/hbqt_hbqslots.h
+ Added: Francesco Perillo's new SIGNAL/SLOT mechanism.
It is guarded against #ifdef __PRITPAL__ which is defined
by default in hbqt_hbqslots.h. To switch over to new
mechanism, simply comment out #define __PRITPAL__ and
recompile hbQT. Once all slots will be working, sections
covered under __PRITPAL__ will be removed. This way
we can test new protocol whosoever wants to investigate
insides.

2010-10-03 15:10 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbxbp/xbptreeview.prg
! Fix: to last commit. Thanks Francesco for reporting.

2010-10-03 14:03 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/qth/HBQEvents.qth
* contrib/hbqt/qtcore/qth/HBQSlots.qth
* contrib/hbqt/qtcore/qth/HBQString.qth
* contrib/hbqt/qtcore/qth/QAbstractEventDispatcher.qth
* contrib/hbqt/qtcore/qth/QAbstractItemModel.qth
* contrib/hbqt/qtgui/qth/HBQAbstractItemModel.qth
* contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth
* contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth
* contrib/hbqt/qtgui/qth/HBQSyntaxHighlighter.qth
* contrib/hbqt/qtgui/qth/HBQTableView.qth
* contrib/hbqt/qtgui/qth/HBQTextBlockUserData.qth
* contrib/hbqt/qtgui/qth/QBrush.qth
* contrib/hbqt/qtgui/qth/QWidget.qth
! Some tweaks to be ready for next massive commit
where CONSTRIUCTORS will be managed automatically.

* contrib/hbqt/utils/hbqtgen.prg
+ Added: constructs to manage CONSTRUCTORS automatically.
( yet not activated - a work-in-progress )

* contrib/hbxbp/xbptreeview.prg
! Refined SLOTS as per Fracesco's tips.

* contrib/hbqt/qtcore/hbqt_hbqslots.cpp
! Refined SLOTS as per Fracesco's tips for QTreeWidget().

* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/ideskeletons.prg
! Fixed: two reported regressions.

* contrib/hbide/idemain.prg
! Small optimization.

* Re-generated sources.

2010-10-03 11:14 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_pointer.cpp
! Fixed: to not reach end of code with return type.

* contrib/hbqt/utils/qtcore.qtp
! Commented out: wrongly commented QMimeData.qth.

* contrib/hbqt/qtcore/g/filelist.hbm
* contrib/hbqt/qtcore/g/hbqtcore.h
* Re-generated.

2010-10-02 23:18 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/g/filelist.hbm
* contrib/hbqt/utils/qtcore.qtp
! Commented out not ready classes.

2010-10-02 17:34 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/idebrowse.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemain.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideshortcuts.prg
* contrib/hbide/idethemes.prg
* contrib/hbide/idetools.prg

* contrib/hbqt/hbqt_hbmk2_plugin.hbs

* contrib/hbqt/qtcore/hbqt.h
* contrib/hbqt/qtcore/hbqt_misc.prg
* contrib/hbqt/qtcore/hbqt_pointer.cpp
* contrib/hbqt/qtcore/qth/HBQEvents.qth
* contrib/hbqt/qtcore/qth/HBQSlots.qth
* contrib/hbqt/qtcore/qth/HBQString.qth
* contrib/hbqt/qtcore/qth/QAbstractEventDispatcher.qth
* contrib/hbqt/qtcore/qth/QAbstractItemModel.qth
* contrib/hbqt/qtcore/qth/QMetaObject.qth
* contrib/hbqt/qtcore/qth/QMetaType.qth

* contrib/hbqt/qtgui/qth/QBitmap.qth
* contrib/hbqt/qtgui/qth/QBrush.qth
* contrib/hbqt/qtgui/qth/QColor.qth
* contrib/hbqt/qtgui/qth/QComboBox.qth
* contrib/hbqt/qtgui/qth/QWidget.qth

* contrib/hbqt/qtgui/THbQtUI.prg

* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbptreeview.prg

* contrib/hbqt/utils/hbqtgen.prg
! Changed: massively to produce optimized and 0 fault
tolerant code.

* contrib/hbqt/qt*/*.cpp, *.prg, *.txt
* Re-generated, whichever fall into above changes.

This commit addresses a lot of issues:
1. Parameters checking is now mandatory. You have to supply
the correct number of parameters. No defaults are assumed.
PLUS you need to supply correct type of parameter.

2. PRG class representation is changed.
Now you can get fairly good documentation from looking
at the class declaration. You will never have to refer
the method body which has no meaning as such.
Here is a snippet:

METHOD itemAbove // ( oQTreeWidgetItem ) -> oQTreeWidgetItem
METHOD itemAt // ( oQPoint ) -> oQTreeWidgetItem
// ( nX, nY ) -> oQTreeWidgetItem
METHOD itemBelow // ( oQTreeWidgetItem ) -> oQTreeWidgetItem
METHOD itemWidget // ( oQTreeWidgetItem, nColumn ) -> oQWidget
METHOD openPersistentEditor // ( oQTreeWidgetItem, nColumn ) -> NIL

The methods with variable number and type of parameters
are shown beneth first call.

3. Accordingly, class_*.txt documentation is also updated.

4. A method call now never accepts a pointer, only an
hbQT object. This fixes one/half of the issue - one sided.
TODO: fix sending raw pointers to PRG code from C++ code.

:-)) hbIDE is up and running with all its glory, no GPFs.
Some regression would be possible but you will have
RTE popping up, so easily fixable.

2010-09-30 10:20 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
+ contrib/hbqt/qtcore/qth/QGenericArgument.qth
+ contrib/hbqt/qtcore/qth/QGenericReturnArgument.qth
+ contrib/hbqt/qtcore/qth/QMetaClassInfo.qth
+ contrib/hbqt/qtcore/qth/QMetaEnum.qth
+ contrib/hbqt/qtcore/qth/QMetaMethod.qth
+ contrib/hbqt/qtcore/qth/QMetaObject.qth
+ contrib/hbqt/qtcore/qth/QMetaProperty.qth
+ contrib/hbqt/qtcore/qth/QMetaType.qth
+ Added: classes to manage QMetaObject() and allied.
Still not on compilable levels.

2010-09-30 01:34 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/g/TQFormLayout.prg
* contrib/hbqt/qtgui/g/TQGraphicsItem.prg
* contrib/hbqt/qtgui/g/TQPainter.prg
* contrib/hbqt/qtnetwork/g/TQHttp.prg
! Re-generated.

* contrib/hbqt/utils/hbqtgen.prg
! Tweaked to generate proper SWITCH statements if multi methods
contain more than one Q*Class objects. Only 4 classes are
reported to have this combination. So it will be unlikely
that any one will have three objects to compare with.

2010-09-29 15:00 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idesaveload.prg

* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbptreeview.prg
! Removed all remaining occurances of :pPtr.

2010-09-29 10:51 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbxbp/xbp3state.prg
* contrib/hbxbp/xbpappevent.prg
* contrib/hbxbp/xbpbitmap.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpcheckbox.prg
* contrib/hbxbp/xbpclipboard.prg
* contrib/hbxbp/xbpcombobox.prg
* contrib/hbxbp/xbpdataref.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/xbpfontdialog.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbpgra.prg
* contrib/hbxbp/xbphtmlviewer.prg
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbpmle.prg
* contrib/hbxbp/xbpparthandler.prg
* contrib/hbxbp/xbppresspace.prg
* contrib/hbxbp/xbpprintdialog.prg
* contrib/hbxbp/xbpprinter.prg
* contrib/hbxbp/xbppushbutton.prg
* contrib/hbxbp/xbpradiobutton.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpspinbutton.prg
* contrib/hbxbp/xbpstatic.prg
* contrib/hbxbp/xbpstatusbar.prg
* contrib/hbxbp/xbpstyle.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbptoolbar.prg
* contrib/hbxbp/xbptreeview.prg
* contrib/hbxbp/xbpwindow.prg
! Class structure re-organized.
! Code normalized.
! Copyright touched.

2010-09-28 22:42 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/g/QStatusBar.cpp
* contrib/hbqt/qtgui/qth/QStatusBar.qth
- Detached: items in two methods.

* contrib/hbxbp/xbpcombobox.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbpprintdialog.prg
* contrib/hbxbp/xbpprinter.prg
* contrib/hbxbp/xbpsle.prg
* contrib/hbxbp/xbpstatusbar.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbptoolbar.prg
* contrib/hbxbp/xbptreeview.prg
* contrib/hbxbp/xbpwindow.prg
- Removed: occurances of :pPtr.

* contrib/hbide/idesaveload.prg
- Removed: occurances of :pPtr.
+ hbqt_isEmptyQtPointer( pPtr ) => oWidget:isValidObject()

TODO: rewrite: hbqt_isEqualGcQtPtr( pPtr, pPtr1 )

2010-09-28 18:23 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/doc/en/class_qpainter.txt
* contrib/hbqt/qtgui/g/QPainter.cpp
* contrib/hbqt/qtgui/g/TQPainter.prg
* contrib/hbqt/qtgui/qth/QPainter.qth

* contrib/hbide/hbqreportsmanager.prg
! Few optimizations.

2010-09-28 17:17 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/tests/testbrow.prg
! Adopted to latest changes.

2010-09-28 16:58 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbptreeview.prg
! Code normalized.

2010-09-28 09:43 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtwebkit/g/TQWebSecurityOrigin.prg
* contrib/hbqt/qtwebkit/g/TQWebSettings.prg
* contrib/hbqt/qtwebkit/g/TQWebView.prg

* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/hbqtoolbar.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idedocwriter.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideshortcuts.prg
* contrib/hbide/ideskeletons.prg
* contrib/hbide/idethemes.prg
* contrib/hbide/idetools.prg
! Adopted to latest changes.

* contrib/hbxbp/hbpprocess.prg
* contrib/hbxbp/xbp3state.prg
* contrib/hbxbp/xbpappevent.prg
* contrib/hbxbp/xbpbitmap.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpcheckbox.prg
* contrib/hbxbp/xbpclipboard.prg
* contrib/hbxbp/xbpcombobox.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/xbpfontdialog.prg
* contrib/hbxbp/xbphtmlviewer.prg
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbpmle.prg
* contrib/hbxbp/xbpprintdialog.prg
* contrib/hbxbp/xbppushbutton.prg
* contrib/hbxbp/xbpradiobutton.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpsle.prg
* contrib/hbxbp/xbpspinbutton.prg
* contrib/hbxbp/xbpstatic.prg
* contrib/hbxbp/xbpstatusbar.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbptoolbar.prg
* contrib/hbxbp/xbptreeview.prg
* contrib/hbxbp/xbpwindow.prg
* Adopted to latest changes.

* contrib/hbqt/tests/demoqt.prg
* Adopted to latest changes.

* contrib/hbqt/utils/hbqtgen.prg
+ Implemented: many-t-one class method call on PRG level.

NOTES: this implementation is a leap forward in the evolution of hbQT.
Now any method call returns the Harbour compatible type.
It means any Qt method call which is expected to return a
hbQT object was returning a pointer to the object, now returns
a hbQT class object instance instead.

So, the code like this:
qCursor := QTextCursor():from( qDoc:textCursor() )
=>
qCursor := qDoc:textCursor()
And this implementation is exactly like Qt itself
where you can pass the return object directly as an
argument to the another method call.
pw := iif( abs( ::pen():widthF() ) > 0, abs( ::pen():widthF() ), 1 )

See hbIDE code to review how it is simplified by now.

WARNING: regression is highly possible and may be hbIDE become
unstable for some time.

3rd party libraries: adopt new code to your advantage.
Many things are incompatible now.

2010-09-28 09:14 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/qth/QDesktopServices.qth
* contrib/hbqt/qtgui/qth/QGraphicsScene.qth
* contrib/hbqt/qtgui/qth/QImage.qth
* contrib/hbqt/qtgui/qth/QPainter.qth
* contrib/hbqt/qtgui/qth/QPainterPath.qth
* contrib/hbqt/qtgui/qth/QPixmap.qth
* Normalized. Pulled all c++ level constructs.

* contrib/hbqt/qtgui/THbQtUI.prg
* contrib/hbqt/utils/hbqtgen.prg
* contrib/hbqt/utils/qtgui.qtp
+ Implemented: many-to-one method call resolving protocol.

* contrib/hbqt/qt*/g/*.cpp, *.prg, *.txt
* Re-generated.

Details follow in next commit.

2010-09-24 17:43 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/THbQtUI.prg
! Synchronized with plugin...hbs.

2010-09-24 15:45 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/qth/QFile.qth
* contrib/hbqt/qtcore/qth/QIODevice.qth
* contrib/hbqt/qtcore/qth/QResource.qth
* contrib/hbqt/qtgui/qth/QBrush.qth
* contrib/hbqt/qtgui/qth/QColor.qth
* contrib/hbqt/qtgui/qth/QFormLayout.qth
* contrib/hbqt/qtgui/qth/QIcon.qth
* contrib/hbqt/qtgui/qth/QImage.qth
* contrib/hbqt/qtgui/qth/QMainWindow.qth
* contrib/hbqt/qtgui/qth/QMenu.qth
* contrib/hbqt/qtgui/qth/QMenuBar.qth
* contrib/hbqt/qtgui/qth/QPainter.qth
* contrib/hbqt/qtgui/qth/QPainterPath.qth
* contrib/hbqt/qtgui/qth/QPixmap.qth
* contrib/hbqt/qtgui/qth/QWidget.qth
+ Normalized as much as possible.
In some cases almost 100%.

* contrib/hbqt/hbqt_hbmk2_plugin.hbs

* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbplistbox.prg
- Changed: calls postfixed with "_1" and family methods.

* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/ideshortcuts.prg
- Changed: calls postfixed with "_1" and family methods.
Nothing else is looked into yet.

* contrib/hbqt/qtcore/hbqt_misc.prg
+ Added one more method :valtypes()

* contrib/hbqt/utils/hbqtgen.prg
+ Implemented: resolving parameters and calling
many-to-one methods at PRG level. It is extremely
complex composition but has been achieved to the point where,
at least, hbIDE is build properly and is running.
Many more points needs to be addressed but that I
will undertake after a couple of days.

REGRESSION is highly possible and reporting
will be extremely helpful to further fine-tune the
concept. Goal is to bring everything on PRG code.

* contrib/hbqt/qt*/g/*.cpp;*.prg,*.txt
* Re-generated.

2010-09-23 18:52 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/qth/HBQString.qth
* contrib/hbqt/qtcore/qth/QBuffer.qth
* contrib/hbqt/qtcore/qth/QByteArray.qth
* contrib/hbqt/qtcore/qth/QChar.qth
* contrib/hbqt/qtcore/qth/QList.qth
* contrib/hbqt/qtcore/qth/QStringList.qth
* contrib/hbqt/qtgui/qth/QImage.qth
* contrib/hbqt/qtgui/qth/QPrintDialog.qth
! Commented out duplicate ( Harbour's type ) methods.
Preparatory work for next commit.

2010-09-22 18:48 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/qth/QBoxLayout.qth
* contrib/hbqt/qtgui/qth/QComboBox.qth
* contrib/hbqt/qtgui/qth/QDrag.qth
* contrib/hbqt/qtgui/qth/QGridLayout.qth
* contrib/hbqt/qtgui/qth/QLayout.qth
* contrib/hbqt/qtgui/qth/QListWidget.qth
* contrib/hbqt/qtgui/qth/QTableWidget.qth
* contrib/hbqt/qtgui/qth/QTabWidget.qth
* contrib/hbqt/qtgui/qth/QToolBar.qth
* contrib/hbqt/qtgui/qth/QTreeWidget.qth
* contrib/hbqt/qtgui/qth/QTreeWidgetItem.qth
* contrib/hbqt/qtgui/qth/QWidget.qth
- Deleted all occurances where a widget was detached from
GC cycle. Now it is done automatically by the generator.
To flag an argument to detach, prototype body is post-fixed
with [*D=n*] where "n" is the ordinal position of the
argument as seen in the prototype body.

* contrib/hbqt/utils/hbqtgen.prg
+ A thoughly simplified, artionalized, object based
implementation. It is now easily possible to extend
it with many more constructs.

WARNING: though this implementation produces the
working code but I have not re-generated sources
because a lot more is still on my drawing-board.
You can generate sources but only at your local
end. DO NOT UPDATE SVN.

2010-09-21 12:37 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtwebkit/g/hbqtwebkit.h
+ Added SVN properties.

2010-09-21 09:39 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/g/QMenu.cpp
* Re-generated.

* contrib/hbqt/qtgui/qth/QMenu.qth
! A try to fix error reported on some builds.
I am not sure if this is the cause but let us try.

2010-09-21 01:15 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/doc/en/class_qbrush.txt
* contrib/hbqt/qtgui/doc/en/class_qcolor.txt
* contrib/hbqt/qtgui/doc/en/class_qicon.txt
* contrib/hbqt/qtgui/doc/en/class_qimage.txt
* contrib/hbqt/qtgui/doc/en/class_qpixmap.txt
* contrib/hbqt/qtgui/g/QBrush.cpp
* contrib/hbqt/qtgui/g/QColor.cpp
* contrib/hbqt/qtgui/g/QIcon.cpp
* contrib/hbqt/qtgui/g/QImage.cpp
* contrib/hbqt/qtgui/g/QPixmap.cpp
* contrib/hbqt/qtgui/g/TQBrush.prg
* contrib/hbqt/qtgui/g/TQColor.prg
* contrib/hbqt/qtgui/g/TQIcon.prg
* contrib/hbqt/qtgui/g/TQImage.prg
* contrib/hbqt/qtgui/g/TQPixmap.prg
* Re-generated.

* contrib/hbqt/qtgui/qth/QBrush.qth
* contrib/hbqt/qtgui/qth/QColor.qth
* contrib/hbqt/qtgui/qth/QIcon.qth
* contrib/hbqt/qtgui/qth/QImage.qth
* contrib/hbqt/qtgui/qth/QPixmap.qth
+ Implemented: many-to-one method calling protocol.
Refined: constructors.

* contrib/hbqt/tests/demoqt.prg
* contrib/hbxbp/xbpstatic.prg
* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/hbqtoolbar.prg
! Adopted to many-to-one changes as per above.

2010-09-20 18:56 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/tests/demoqt.prg

* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbptoolbar.prg

* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idemain.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideskeletons.prg

* contrib/hbqt/qtgui/doc/en/class_qmainwindow.txt
* contrib/hbqt/qtgui/doc/en/class_qmenu.txt
* contrib/hbqt/qtgui/g/QMainWindow.cpp
* contrib/hbqt/qtgui/g/QMenu.cpp
* contrib/hbqt/qtgui/g/TQMainWindow.prg
* contrib/hbqt/qtgui/g/TQMenu.prg
* Re-generated.

* contrib/hbqt/qtgui/qth/QMainWindow.qth
* contrib/hbqt/qtgui/qth/QMenu.qth
+ Implemented: many-to-one method call protocol.

2010-09-20 16:34 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/idedocks.prg
* contrib/hbide/idedocwriter.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/ideshortcuts.prg
* contrib/hbide/ideskeletons.prg
! Adjusted for many-to-one protocol.

* contrib/hbxbp/xbppushbutton.prg
* contrib/hbxbp/xbpwindow.prg
! Adjusted for many-to-one protocol.

* contrib/hbqt/qtgui/doc/en/class_qwidget.txt
* contrib/hbqt/qtgui/g/QWidget.cpp
* contrib/hbqt/qtgui/g/TQWidget.prg
* Re-generated.

* contrib/hbqt/qtgui/qth/QWidget.qth
+ Implemented: many-to-one method call protocol.

2010-09-20 15:07 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/doc/en/class_qpainter.txt
* contrib/hbqt/qtgui/doc/en/class_qpainterpath.txt
* contrib/hbqt/qtgui/g/QPainter.cpp
* contrib/hbqt/qtgui/g/QPainterPath.cpp
* contrib/hbqt/qtgui/g/TQPainter.prg
* contrib/hbqt/qtgui/g/TQPainterPath.prg
* Re-generated.

* contrib/hbqt/qtgui/qth/QPainter.qth
! Implemented remaining methods - many-to-one.

NOTE: :fillRect() with Qt_BrushStyle is omitted.
This omission goes in favour of Qt_GlbalColor
because fill with a color is mostly used call.

* contrib/hbqt/qtgui/qth/QPainterPath.qth
+ Implemented: many-to-one method synchronization.

* contrib/hbide/hbqreportsmanager.prg
! Modified to honor above changes.

WARNING: 3rd Party Developers - Please revisit your printing functions.

2010-09-20 01:30 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/idemisc.prg

* contrib/hbqt/qtgui/doc/en/class_qpainter.txt
* contrib/hbqt/qtgui/g/QPainter.cpp
* contrib/hbqt/qtgui/g/TQPainter.prg
* contrib/hbqt/qtgui/qth/QPainter.qth
+ Implemented: all multiple entry functions of QPainter() class
under single function call. Only exception is :fillRect()
which accepts similar parameters for different overloadings.
enjoy hbIDEing... Pritpal Bedi

User avatar
Rathinagiri
Posts: 5172
Joined: Tue Jul 29, 2008 6:30 pm
DBs Used: MariaDB, SQLite, SQLCipher and MySQL
Location: Sivakasi, India
Has thanked: 136 times
Been thanked: 131 times
Contact:

Post by Rathinagiri » Mon Oct 11, 2010 7:21 am

Great Pritpal.

Fantastic work.

Thanks for sharing the info.
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.

User avatar
Rathinagiri
Posts: 5172
Joined: Tue Jul 29, 2008 6:30 pm
DBs Used: MariaDB, SQLite, SQLCipher and MySQL
Location: Sivakasi, India
Has thanked: 136 times
Been thanked: 131 times
Contact:

Post by Rathinagiri » Wed Oct 13, 2010 9:47 am

Hi Pritpal,

I want to set region to a window. I had used the following and could not be successful. Can you please help?

::oQTObject is QT windowobject

Code: Select all

               ::oRegion := QRegion( 100, 100, 100, 100, 1 )
               QT_QWIDGET_SETMASK_1( ::oQTObject, ::oRegion )
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.

User avatar
bedipritpal
Posts: 122
Joined: Thu Sep 02, 2010 10:47 pm

Post by bedipritpal » Wed Oct 13, 2010 2:15 pm

rathinagiri wrote:Hi Pritpal,

I want to set region to a window. I had used the following and could not be successful. Can you please help?

::oQTObject is QT windowobject

Code: Select all

               ::oRegion := QRegion( 100, 100, 100, 100, 1 )
               QT_QWIDGET_SETMASK_1( ::oQTObject, ::oRegion )

First: QT_QWIDGET_SETMASK_1( ::oQTObject, ::oRegion )
Why c++ function is called directly ?
What was the problem with ::oQTObject:setMask_1( ::oRegion ) ?

Second: QT_QWIDGET_SETMASK_1( ::oQTObject, ::oRegion )
it seems HMG is still using older copy of hbQT, right ?
Update to the latest before I can provide any help.
enjoy hbIDEing... Pritpal Bedi

mrduck
Posts: 497
Joined: Fri Sep 10, 2010 5:22 pm

Post by mrduck » Wed Oct 13, 2010 4:40 pm

bedipritpal wrote: Second: QT_QWIDGET_SETMASK_1( ::oQTObject, ::oRegion )
it seems HMG is still using older copy of hbQT, right ?
Update to the latest before I can provide any help.
It's not easy to have hmg ported to the last hbqt... quite a lot of changes must be done, some mechanical, some not...

Post Reply