ZFFramework
 
Loading...
Searching...
No Matches
ZFMainEntry_sys_Qt.h
1#ifndef _ZFI_ZFMainEntry_sys_Qt_h_
2#define _ZFI_ZFMainEntry_sys_Qt_h_
3
4#include "ZFCore.h"
5#include "ZFImpl_sys_Qt_ZF_impl.h"
6
7#if ZF_ENV_sys_Qt
8
9#include <QGraphicsLayout>
10#include <QGraphicsView>
11#include <QGraphicsWidget>
12#include <QLibrary>
13
14zfclassNotPOD ZFLIB_ZF_impl ZFImpl_sys_Qt_BaseView : public QGraphicsWidget {
15 Q_OBJECT
16
17public:
18 static void ForceGeometry(QGraphicsWidget *item, const QRectF &rect);
19 void forceGeometry(const QRectF &rect);
20
21protected:
22 virtual QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const;
23 virtual void updateGeometry(void);
24private:
25 QRectF _forceGeometry;
26 int _forceGeometryFlag;
27public:
28 ZFImpl_sys_Qt_BaseView(void);
29};
30
31zfclassNotPOD ZFLIB_ZF_impl ZFImpl_sys_Qt_BaseLayout : public QGraphicsLayout {
32protected:
34protected:
35 virtual void onLayout(const QRectF &rect) {}
36public:
37 void forceGeometry(const QRectF &rect);
38
39public:
40 virtual zfindex childCount(void) const;
41 virtual QGraphicsWidget *childAt(ZF_IN zfindex index) const;
42 virtual void child(
43 ZF_IN QGraphicsWidget *item
44 , ZF_IN_OPT zfindex index = zfindexMax()
45 );
46 virtual void childRemove(ZF_IN QGraphicsWidget *item);
47 virtual void childRemoveAt(ZF_IN zfindex index);
48 virtual void childRemoveAll(void);
49
50public:
51 ZFImpl_sys_Qt_BaseLayout(void);
52public:
53 virtual int count() const;
54 virtual QGraphicsLayoutItem *itemAt(int i) const;
55 virtual void removeAt(int index);
56 virtual void setGeometry(const QRectF &rect);
57protected:
58 virtual QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const;
59 virtual void updateGeometry(void);
60private:
61 QRectF _forceGeometry;
62 int _forceGeometryFlag;
63 friend zfclassFwd ZFImpl_sys_Qt_BaseView;
64};
65
66// ============================================================
67zfclassNotPOD ZFLIB_ZF_impl ZFImpl_sys_Qt_Window : public ZFImpl_sys_Qt_BaseView {
68 Q_OBJECT
69
70public:
71 ZFImpl_sys_Qt_Window(void);
72};
73zfclassNotPOD ZFLIB_ZF_impl ZFImpl_sys_Qt_WindowLayout : public ZFImpl_sys_Qt_BaseLayout {
74protected:
75 virtual void onLayout(const QRectF &rect);
76};
77
79
130extern ZFLIB_ZF_impl int ZFMainEntry_sys_Qt(int argc, char **argv);
131#define ZFImpl_sys_Qt_requireLib(libName) \
132 QLibrary _lib##libName(#libName); \
133 _lib##libName.load();
134
135extern ZFLIB_ZF_impl QGraphicsWidget *ZFImpl_sys_Qt_rootWindow(void);
136
137extern ZFLIB_ZF_impl int ZFMainEntry_sys_Qt_attach(
138 ZF_IN QGraphicsWidget *rootWindow
139 , ZF_IN_OPT int argc = 0
140 , ZF_IN_OPT char **argv = NULL
141 );
142extern ZFLIB_ZF_impl void ZFMainEntry_sys_Qt_detach(void);
143
145#endif // #if ZF_ENV_sys_Qt
146#endif // #ifndef _ZFI_ZFMainEntry_sys_Qt_h_
147
header file for ZFCore module
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
#define ZF_IN_OPT
dummy macro that shows the param used as optional input
Definition ZFCoreTypeDef_ClassType.h:184
#define zfclassNotPOD
shows the class is not a POD type, you should not memset it or declare it in stack or copy value by c...
Definition ZFCoreTypeDef_ClassType.h:48
#define zfclassFwd
forward declaration of a class type
Definition ZFCoreTypeDef_ClassType.h:31
_ZFT_t_zfindex zfindex
similar to size_t, used for index and size only
Definition ZFCoreTypeDef_CoreType.h:154
#define zfindexMax()
(zfindex)-1, indicate a max index value, see zfindex
Definition ZFCoreTypeDef_CoreType.h:159
#define ZFLIB_ZF_impl
used to export symbols
Definition ZFImpl_ZF_impl.h:15
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
light weight array
Definition ZFCoreArray.h:331