Source i (link to git-repo or to original if based on someone elses unmodified work):

Add the source-code for this project on opencode.net

4
Become a Fan
5.0

Description:
QIrDock is a cool QGraphicsView-based fisheye menu (dock) for Qt applications, whose style and icon effects are fully customizable. This widget is part of QIron toolkit which depends on Qt 4.6 and upper.

A typical use of QIrDock is:

....
MainWindow main;
QIrDock * dock = new QIrDock(&main);

dock->setSubStyle(new QIrStyledDockStyle);
dock->setEffectManager(new QIrParabolicEffectManager);

dock->setMaximumIconSize(128);
dock->addDocklet(QIcon(":/images/icon.png"),"Qt Designer");
dock->addSeparator();
dock->addDocklet(new CustomClock);

main.show();
....

Ratings & Comments

38 Comments

KevinHzj

How can I download?

dzimiwine

I am fixing all these widgets. Be patient please.

cmex81

Hello. When can we download new fixed version? :)

dzimiwine

Sorry for the delay. But this is gonna take much longer than I thought because I am really really really busy with other mode important projects and my work. Regards,

hparihar88

i know this thread is old, Is there any new updates?

platonovstas

I try to build QIron on QT 4.6.1 with Visual Studio 2005 compiler. Your classes are defined in a namespace, but MOC generator generates *.moc files which uses your classes without this namespace qualifier. So, when these moc files are compled, the compiler shows the errors like: 'blah-blah is not a class or namespace name' (for example for QIrBreadCrumBar class and others) Can you tell me how to fix this problem? Thank you.

ru551an

Tried on linux/mac/winXP/win7 with both QtCreator and qmake. same errors: Common\qirobject.cpp:29: error: aggregate 'QIron::QIrObjectList QIron::QIrObjectPrivate::allObjects' has incomplete type and cannot be defined Common\qirobject.cpp: In static member function 'static QIron::QIrObjectList QIron::QIrObject::allObjects(const QString&)': Common\qirobject.cpp:68: error: return type 'struct QIron::QIrObjectList' is incomplete Common\qirobject.cpp:71: error: aggregate 'QIron::QIrObjectList list' has incomplete type and cannot be defined Common\qirobject.cpp:75: error: template argument 1 is invalid Common\qirobject.cpp:75: error: invalid type in declaration before '(' token Common\qirobject.cpp:75: error: request for member 'brk' in '_container_', which is of non-class type 'int' Common\qirobject.cpp:75: error: request for member 'i' in '_container_', which is of non-class type 'int' Common\qirobject.cpp:75: error: request for member 'e' in '_container_', which is of non-class type 'int' Common\qirobject.cpp:75: error: request for member 'brk' in '_container_', which is of non-class type 'int' Common\qirobject.cpp:75: error: request for member 'i' in '_container_', which is of non-class type 'int' Common\qirobject.cpp:75: error: request for member 'i' in '_container_', which is of non-class type 'int' Common\qirobject.cpp:75: error: request for member 'brk' in '_container_', which is of non-class type 'int' mingw32-make[2]: *** [debug/qirobject.o] Error 1 mingw32-make[1]: *** [debug] Error 2 mingw32-make: *** [sub-src-make_default-ordered] Error 2 what gives?

dzimiwine

I don't know what wrong yet. But, give me two days(max) to investigate it and I will drop a new release with fixes. I know that the current version has some bugs that I already fixed but not dropped yet. Sorry

vkamakura

exact same error im having. I'm using: Qt Creator 1.3.1 Based on Qt 4.6.1 (32 bit) Built on Jan 17 2010 at 02:23:59 From revision 8de178a067 did not test in linux yet

vkamakura

doesn't work in linux too, with same version of qt/qmake as the above post.

dzimiwine

Will check and fix it as soon as. But I am currently working on several projects. So please, give a weekend to handle your requests. Regards

reypg87

I am having problems during the compilation under Linux such as it can't find include file "private/qpixmapfilter_p.h" in qirdockslyle source file. I saw that it's true, there isn't any file with this name en /usr/include/qt4/qtgui. I am using Qt4.6_RC1.

reypg87

I am having problems during the compilation under Linux such as it can't find include file "private/qpixmapfilter_p.h" in qirdockslyle source file. I saw that it's true, there isn't any file with this name en /usr/include/qt4/qtgui. I am using Qt4.6_RC1.

dzimiwine

This is a qt private file. If you have the SDK only, you have to copy this file yourself in $(QTDIR)\include\Gui\private\ (you may find this file in $(QTDIR)\src\gui\image\). If you use Qt Creator, it should be Ok. This is a known issue on Linux and Mac. It is Ok on Windows OS.

wirasto

Where I can get QIron documentation ?

dzimiwine

It is partially complete.

rayner

It doesn't work, anyway I become fan of QIron

dzimiwine

What's wrong with the last package? Build errors?

rayner

there is not build errors, I test QIron just fine on a Widget, but I want to show the QIron bar outside any widget.

dzimiwine

This feature is not supported yet.

rayner

MainWindow *widget = new MainWindow(); QIrDock *dock = new QIrDock(widget); .... Qt::WindowFlags flags = 0; flags |= Qt::FramelessWindowHint; flags |= Qt::WindowStaysOnTopHint; widget->setWindowFlags(flags); widget->setAttribute(Qt::WA_TranslucentBackground,true);

dzimiwine

Nice trick even though it won't work every well. Plus, your solution won't look very nice on Windows OS as Qt does not handle Qt::WA_TranslucentBackground properly (child widget won't be opaque as its parent is not, on Windows OS). However, you can easily use the same code to create your own Dock for Desktop. I will probably modify QIrDock to become a Desktop dock when it calls setParent(0). But for now, I tick to the current behavior.

rayner

I finally compile and test the QIron library, but if I wish to show the dock like yours screenshots, outside any container. How I doit??? Sorry for ask so much but I never seen something like QIron before.

dzimiwine

Try this ... //main.cpp #include <QIrDock> #include <QIrParabolicEffectManager> #include <QIrStyledDockStyle> #include <QApplication> #include <QWidget> int main(int argc, char * argv[]) { QApplication app(&argc,&argv); QWidget widget; widget.resize(600,600); QIrDock * dock = new QIrDock(&widget); dock->setSubStyle(new QIrStyledDockStyle); dock->setEffectManager(new QIrParabolicEffectManager(dock)); .... Add some docklets here... widget.show(); app.setQuitOnLastWindowClosed(true); return app.exec(); }

rayner

Now I compile the new src and QtCreator shows the compile error: X:/code/QIron-0.1-preview2/QIron-0.1/src/QIrDock/qirdock.cpp:35: In file included from QIrDock\qirdock.cpp:35: QIrDock\/QIrDockview.h:94: error: extra qualification 'QIrDockView::' on member 'deferPosEvaluation'

Pling
0 Affiliates
Details
license
version 0.1 (Preview)
updated
added
downloads 24h 0
mediaviews 24h 0
pageviews 24h 2

More Qt Widgets from dzimiwine:

QIrExpander
dzimiwine
last update date: 15 years ago

Score 5.0

QIrBreadCrumbBar
dzimiwine
last update date: 15 years ago

Score 5.0

QIrExpanderBox
dzimiwine
last update date: 15 years ago

Score 5.0

QIrQuadSplitter
dzimiwine
last update date: 15 years ago

Score 5.0

Other Qt Widgets:

Widget Virtual Keyboard
embitel
last update date: 15 years ago

Score 5.3

Widget Marquee Label
embitel
last update date: 15 years ago

Score 6.1

Widget Color Picker
embitel
last update date: 15 years ago

Score 4.7

QtitanDataGrid advanced Grid for Qt
BigZ1
last update date: 7 years ago

Score 5.7

QtitanRibbon Microsoft RibbonUI and Office Styles for Qt
BigZ1
last update date: 7 years ago

Score 5.2

Q7TaskBar
QDevelopper
last update date: 13 years ago

Score 6.1