PDA

View Full Version : Q_EXPORT - The Journey



mkts
11th December 2010, 22:16
Hi all
This is file is for emulation functionality for old QFocusData class witch i need
Macro Q_EXPORT is making me errors but i need it in my prog.



1#ifndef QFOCUSDATA_H
2#define QFOCUSDATA_H

3#ifndef QT_H
4#include <qwidgetlist.h>
5#endif // QT_H
6#include <qevent.h>

class Q_EXPORT QFocusData {
public:
QWidget* focusWidget() const { return it.current(); }
QWidget* home();
QWidget* next();
QWidget* prev();
QWidget* first() const;
QWidget* last() const;
int count() const { return focusWidgets.count(); }

private:
friend class QWidget;

QFocusData() : it(focusWidgets) {}
QWidgetList focusWidgets;
//QWidgetListIt it;
};

#endif // QFOCUSDATA_H


So if some has any suggestions please for help

wysota
11th December 2010, 23:12
What is Q_EXPORT?

mkts
11th December 2010, 23:37
Qt <3 tools part for expanding internal transfer or usability- i am not sure about this

mkts
11th December 2010, 23:57
error: variable ‘Q_EXPORT QFocusData’ has initializer but incomplete type

wysota
12th December 2010, 00:49
That's because in Qt4 there is no such thing as Q_EXPORT.

mkts
26th December 2010, 19:27
Hi all
If anyone is interested this is my solution of Q_EXPORT macro problem ;)


qfocusdata.h

#ifndef QFOCUSDATA_H
#define QFOCUSDATA_H

#ifdef Q_WIN
#include <qwindowsystem_qws.h>
#ifdef LIBAPP_EXPORTS
#define LIBAPP_API __declspec(dllexport)
#else // !LIBAPP_EXPORTS
#define LIBAPP_API __declspec(dllimport)
#endif // LIBAPP_EXPORTS
#else
#define LIBAPP_API // Q_EXPORT = LIBAPP_API
#endif
// all You see hire is copy from Qt help pages;
http://web.mit.edu/qt/www/qfocusdata-h.html
and
http://lists.trolltech.com/qt-interest/2004-12/thread00790-0.html

#ifndef QT_H
#include <QWidgetList> // "qwidgetlist.h"
#endif // QT_H


class LIBAPP_API QFocusData {
public:
//QWidget* focusWidget() const { return it.current(); }
// current is not supported by QWidget but it is up to You- i do not need it.
QWidget* home();
QWidget* next();
QWidget* prev();
QWidget* first() const;
QWidget* last() const;
int count() const { return focusWidgets.count(); }

private:
friend class QWidget;
QFocusData() : it(focusWidgets) {}
QWidgetList focusWidgets;
QWidgetList it;
};

#endif // QFOCUSDATA_H