
QIrDock
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
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();
....
KevinHzj
2 years ago
Report
dzimiwine
10 years ago
Report
cmex81
10 years ago
Report
dzimiwine
10 years ago
Regards,
Report
hparihar88
7 years ago
Report
platonovstas
10 years ago
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.
Report
ru551an
11 years ago
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?
Report
vkamakura
11 years ago
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
Report
vkamakura
11 years ago
Report
dzimiwine
11 years ago
Regards
Report
dzimiwine
11 years ago
I know that the current version has some bugs that I already fixed but not dropped yet. Sorry
Report
reypg87
11 years ago
Report
reypg87
11 years ago
Report
dzimiwine
11 years ago
Report
wirasto
11 years ago
Report
dzimiwine
11 years ago
Report
rayner
11 years ago
Report
dzimiwine
11 years ago
Report
rayner
11 years ago
Report
dzimiwine
11 years ago
Report
rayner
11 years ago
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);
Report
dzimiwine
11 years ago
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.
Report
rayner
11 years ago
Report
dzimiwine
11 years ago
//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();
}
Report
rayner
11 years ago
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'
Report