HaiQ updated for Qt 4.4

37 views
Skip to first unread message

magland

unread,
May 24, 2008, 8:10:43 PM5/24/08
to HaiQ Development
I made some important modifications to HaiQ to make it compatible with
Qt 4.4... particularly with respect to designer integration. It is
still not perfect, but please check it out and give feedback. Not yet
tested on Linux.

Note: the changes are only available in the svn version.
Also note: designer plugin will no longer compile with Qt versions
less than 4.4.0

I would like to move forward and make a 99.5% bug free release and
call it HaiQ 1.0.

Jeremy

Jose Maria Garcia-Valdecasas

unread,
May 25, 2008, 6:46:24 AM5/25/08
to ha...@googlegroups.com
I've tried to compile HaiQ under linux, and the designer integration fails.

qdesigner_actions.h includes an inexistent file "assistantclient.h". Maybe youo forgot to copy or update files under the ../src/plugins/haiqdesigner/designer/ folder?

2008/5/25 magland <Jeremy....@gmail.com>:

jeremy....@gmail.com

unread,
May 25, 2008, 1:17:43 PM5/25/08
to ha...@googlegroups.com
You are right! Try it now.
Thanks

magland

unread,
May 26, 2008, 4:33:36 PM5/26/08
to HaiQ Development
Apparently even more files were missing. Should be working now.
(Thanks Jose!)
Jeremy

On May 25, 1:17 pm, jeremy.magl...@gmail.com wrote:
> You are right! Try it now.
> Thanks
>
> On Sun, May 25, 2008 at 6:46 AM, Jose Maria Garcia-Valdecasas <
>
> jgvaldeca...@gmail.com> wrote:
> > I've tried to compile HaiQ under linux, and the designer integration fails.
>
> > qdesigner_actions.h includes an inexistent file "assistantclient.h". Maybe
> > youo forgot to copy or update files under the
> > ../src/plugins/haiqdesigner/designer/ folder?
>
> > 2008/5/25 magland <Jeremy.Magl...@gmail.com>:

Chuong

unread,
May 29, 2008, 12:09:52 AM5/29/08
to HaiQ Development
Hi Jeremy,

Does new Haiq support earlier Qt version? I had this error when
compiling svn Haiq with Qt 4.3.4:

make[2]: Entering directory `/home/chuong/Projects/haiq/src/plugins/
haiqdesigner/designer'
/usr/bin/uic-qt4 ../HaiQDesignerWindow.ui -o ui_HaiQDesignerWindow.h
/usr/bin/uic-qt4 ../qttoolbardialog/qttoolbardialog.ui -o
ui_qttoolbardialog.h
/usr/bin/uic-qt4 newform.ui -o ui_newform.h
/usr/bin/uic-qt4 plugindialog.ui -o ui_plugindialog.h
/usr/bin/uic-qt4 saveformastemplate.ui -o ui_saveformastemplate.h
/usr/bin/uic-qt4 formwindowsettings.ui -o ui_formwindowsettings.h
/usr/bin/uic-qt4 preferencesdialog.ui -o ui_preferencesdialog.h
g++ -c -pipe -fpermissive -O2 -D_REENTRANT -Wall -W -fPIC -DQT_SHARED -
DQT_NO_DEBUG -DQT_PLUGIN -DQT_SCRIPT_LIB -DQT_XML_LIB -DQT_GUI_LIB -
DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -
I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/
QtNetwork -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/
include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtXml -I/
usr/include/qt4/QtScript -I/usr/include/qt4/QtScript -I/usr/include/
qt4 -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/
QtDesignerComponents -I../../../../src/haiqcoreinterface -I../lib/sdk -
I../lib/extension -I../lib/shared -I../lib/uilib -Iextra -I../
qttoolbardialog -I../fontpanel -I. -I. -o build/haiqdesigner.o ../
haiqdesigner.cpp
In file included from ../haiqdesigner.h:7,
from ../haiqdesigner.cpp:1:
./qdesigner_workbench.h:57: error: expected constructor, destructor,
or type conversion before ‘class’
./qdesigner_workbench.h:109: warning: ISO C++ forbids declaration of
‘QDesignerActions’ with no type
./qdesigner_workbench.h:109: error: expected ‘;’ before ‘*’ token
./qdesigner_workbench.h:181: warning: ISO C++ forbids declaration of
‘QDesignerActions’ with no type
./qdesigner_workbench.h:181: error: expected ‘;’ before ‘*’ token
In file included from /usr/include/qt4/QtGui/qabstractscrollarea.h:47,
from /usr/include/qt4/QtGui/qscrollarea.h:47,
from /usr/include/qt4/QtGui/QScrollArea:1,
from ../haiqdesigner.h:8,
from ../haiqdesigner.cpp:1:
/usr/include/qt4/QtGui/qframe.h:51: error: expected constructor,
destructor, or type conversion before ‘typedef’
In file included from ../haiqdesigner.h:12,
from ../haiqdesigner.cpp:1:
./qdesigner_formwindow.h:52: error: expected constructor, destructor,
or type conversion before ‘class’
In file included from /usr/include/qt4/QtGui/QMainWindow:1,
from ./qdesigner_toolwindow.h:48,
from ../haiqdesigner.h:13,
from ../haiqdesigner.cpp:1:
/usr/include/qt4/QtGui/qmainwindow.h:51: error: expected constructor,
destructor, or type conversion before ‘typedef’
In file included from ../haiqdesigner.h:13,
from ../haiqdesigner.cpp:1:
./qdesigner_toolwindow.h:52: error: expected constructor, destructor,
or type conversion before ‘class’
./qdesigner_toolwindow.h:85: error: ‘QT_END_NAMESPACE’ does not name a
type
In file included from ./qdesigner_actions.h:47,
from ../haiqdesigner.h:14,
from ../haiqdesigner.cpp:1:
./assistantclient.h:80: warning: ISO C++ forbids declaration of
‘QProcess’ with no type
./assistantclient.h:80: error: expected ‘;’ before ‘*’ token
In file included from /usr/include/qt4/QtGui/QPrinter:1,
from ./qdesigner_actions.h:51,
from ../haiqdesigner.h:14,
from ../haiqdesigner.cpp:1:
/usr/include/qt4/QtGui/qprinter.h:52: error: expected constructor,
destructor, or type conversion before ‘typedef’
In file included from ../haiqdesigner.h:14,
from ../haiqdesigner.cpp:1:
./qdesigner_actions.h:55: error: expected constructor, destructor, or
type conversion before ‘class’
In file included from /usr/include/qt4/QtCore/qcoreapplication.h:49,
from /usr/include/qt4/QtGui/qapplication.h:47,
from /usr/include/qt4/QtGui/QApplication:1,
from ../designer/ui_HaiQDesignerWindow.h:15,
from ../HaiQDesignerWindow.h:4,
from ../haiqdesigner.h:15,
from ../haiqdesigner.cpp:1:
/usr/include/qt4/QtCore/qeventloop.h:51: error: expected constructor,
destructor, or type conversion before ‘typedef’
In file included from ../haiqdesigner.cpp:1:
../haiqdesigner.h:36: warning: unused parameter ‘event’
In file included from ../haiqdesigner.cpp:1:
../haiqdesigner.h: In member function ‘QList<QAction*>
HaiQDesignerPlugin::form_actions()’:
../haiqdesigner.h:147: error: ‘class QDesignerWorkbench’ has no member
named ‘actionManager’
../haiqdesigner.h: In member function ‘void
HaiQDesignerPlugin::do_initialize()’:
../haiqdesigner.h:162: error: ‘class QDesignerWorkbench’ has no member
named ‘actionManager’
../haiqdesigner.cpp: At global scope:
../haiqdesigner.cpp:50: warning: unused parameter ‘txt’
make[2]: *** [build/haiqdesigner.o] Error 1
make[2]: Leaving directory `/home/chuong/Projects/haiq/src/plugins/
haiqdesigner/designer'
make[1]: *** [sub-haiqdesigner-designer-make_default-ordered] Error 2
make[1]: Leaving directory `/home/chuong/Projects/haiq/src/plugins'
make: *** [sub-src-plugins-make_default-ordered] Error 2

Thanks,

Chuong

Christian Dähn

unread,
May 29, 2008, 3:29:51 AM5/29/08
to ha...@googlegroups.com, Chuong
Hi Chuong,

with the current SVN state of HaiQ I get compile errors with Qt 4.3.x, too.

I'll try to figure out, what causes these and to fix them if possible ...

ciao,
Chris

Christian Dähn

unread,
May 29, 2008, 3:44:22 AM5/29/08
to ha...@googlegroups.com, Chuong
Hi,

ehm.. I found it: QFormLayout and some other classes in:
   ./src/plugins/haiqdesigner/fontpanel
   ./src/plugins/haiqdesigner/
contain the Qt 4.4-only class QFormLayout and some Qt 4.4-only
macros (QT_BEGIN_NAMESPACE).

That's a big pity - so I'm not able to use Qt with my production environment anymore :-(

I'll try to disable the qtdesigner stuff depending on the Qt version.

ciao,
Chris

jeremy....@gmail.com

unread,
May 29, 2008, 5:00:48 AM5/29/08
to ha...@googlegroups.com, Chuong
Sorry for the difficulty. Best thing to do is:

* copy old version of haiqdesigner folder to haiqdesigner_4_3
* choose either haiqdesigner/designer or haiqdesigner_4_3/designer depending on the version of Qt in src/plugins/plugins.pro

I think this should fix the problem.

Jeremy

Christian Dähn

unread,
May 29, 2008, 5:33:43 AM5/29/08
to ha...@googlegroups.com, Chuong
Hi,

I modified the plugins.pro to automatically ignore the haiqdesigner directory
for Qt versions < 4.4.0. So now users with Qt 4.3.x can compile HaiQ without
errors - only the haiqdesigner is missing.

When Qt 4.3.x is found, you'll get a big warning message that the designer is disabled.

ciao,
Chris

Christian Dähn

unread,
Jul 8, 2008, 12:31:51 PM7/8/08
to ha...@googlegroups.com
Hi,

today I checked in a new split screen mode (horiz. and vert.) -
with drag and drop for tabs - working like the old HiQt.

Some open points I couldn't solve today are:
- moving forward/backward between editor windows with the toolbar
 arrows doesn't work correctly - but it works with keyboard shortcuts
- there's no clear highlighting of the current active screen

There are maybe some bugs left - so I need some brave testers ;-)

ciao,
Chris


Diego Iastrubni

unread,
Jul 8, 2008, 1:15:44 PM7/8/08
to ha...@googlegroups.com
I do not understand how can I open a file on each one of the tabs... most of the time only the left tab gets the files. Whats wrong?

jeremy....@gmail.com

unread,
Jul 8, 2008, 1:19:19 PM7/8/08
to ha...@googlegroups.com
Christian, thanks for the update!

I also am having trouble moving editors over to right-hand editor window (I managed to do it once via drag/drop, but could not reproduce). BTW, I needed to comment out slot_close_tab2() in haiqworkspace.h in order to get it to compile.

Jeremy

Christian Dähn

unread,
Jul 8, 2008, 1:27:53 PM7/8/08
to ha...@googlegroups.com
Hi Diego,


> I do not understand how can I open a file on each one of the tabs... most of the time only the left tab gets the files. Whats wrong?
>

To open files you currently can
a) drag files from left screen to right one or
b) open menu "View" and choose "Next Window" and then open a file via menu or clicking

A big disadvantage is the missing highlighting of the current active screen -
maybe this could be solved by coloring the tabs or so...

Any ideas are welcome ;-)

ciao,
Chris

PS: Jeremy: Thanks for the hint and the fast bugfix!


Christian Dähn

unread,
Jul 8, 2008, 4:08:54 PM7/8/08
to ha...@googlegroups.com
Hi,

I fixed the handling of split screen a bit:

- the currently active screen is highlighted by a bright bg color
- a new icon helps going to the next window / screen

I hope these changes are ok...

ciao,
Chris


jeremy....@gmail.com

unread,
Jul 8, 2008, 11:05:13 PM7/8/08
to ha...@googlegroups.com
Thanks Chris,
I was still having trouble getting the split windows to work on Windows, so I changed (and committed) some lines, and now it works perfectly for me. Very useful... and sorry I hadn't gotten around to it like I promised. But I'm glad it's done!
Jeremy

P.S. the change was that I removed the underMouse() condition, which didn't seem to work properly on Windows (not sure why).

Christian Dähn

unread,
Jul 8, 2008, 11:40:10 PM7/8/08
to ha...@googlegroups.com
Hi Jeremy, thanks for the very fast fixes - now HaiQ gets more and more irreplacable for me and my collegue ;-) One year ago I never could imaging to have a better IDE than VisualC++ or Eclipse - and now HaiQ is much more comfortable than it's ancestors. Just the performance is a little problem - during compiling runs of big projects the IDE is nearly unusable (under Linux). But: I'll try to discuss the open points and some other ideas in a separate thread later... ciao, Chris

jeremy....@gmail.com

unread,
Jul 9, 2008, 7:15:11 AM7/9/08
to rsch...@hotmail.com, ha...@googlegroups.com
Hi rschipie,
Latest sources are available via svn. See the url at http://groups.google.com/group/haiq
Any bug fixes or comments would indeed be appreciated. Just post to the group.
Regards, Jeremy

On Wed, Jul 9, 2008 at 6:10 AM, <rsch...@hotmail.com> wrote:
Hello Jeremy,

I use opensuse 11.0 with Qt 4.4. I use HAIQ for my coding but it
doesn't work well in opensuse 11.0. Where can I download your latest
sources so I can test it and maybe bugfix it if I find time.




Reply all
Reply to author
Forward
0 new messages