⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cwidget.h

📁 Gambas is a graphical development environment based on a Basic interpreter, like Visual Basic. It us
💻 H
字号:
/***************************************************************************  CWidget.h  The Control class  (c) 2000-2003 Beno� Minisini <gambas@users.sourceforge.net>  This program is free software; you can redistribute it and/or modify  it under the terms of the GNU General Public License as published by  the Free Software Foundation; either version 1, or (at your option)  any later version.  This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details.  You should have received a copy of the GNU General Public License  along with this program; if not, write to the Free Software  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.***************************************************************************/#ifndef __CWIDGET_H#define __CWIDGET_H#include "main.h"#include "gb.qt.h"#include <qobject.h>#include <qwidget.h>#include <qptrdict.h>#include <qasciidict.h>#include <qpixmap.h>#include <qcstring.h>/* (!) Reporter les modifications de CWIDGET dans gb.qt.h */typedef  struct CWIDGET {    GB_BASE ob;    QWidget *widget;    unsigned long flag;    GB_VARIANT_VALUE tag;    char *tooltip;    void *cursor;    CWIDGET *next;    CWIDGET *prev;    long level;    }  CWIDGET;typedef  struct {    CWIDGET widget;    QWidget *container;    }  CCONTAINER;enum {  WF_DESIGN           = 0x0001,  WF_FIRST            = 0x0002,  WF_MENUBAR          = 0x0004,  WF_PERSISTENT       = 0x0008,  WF_IN_SHOW          = 0x0010,  WF_IN_CLOSE         = 0x0020,  WF_IN_RESIZE        = 0x0040,  WF_FIXED            = 0x0080,  WF_NO_EVENT         = 0x0100,  WF_CLOSED           = 0x0200,  WF_EXPAND           = 0x0400,  WF_IGNORE_MOVE      = 0x0800,  WF_DELETED          = 0x1000,  WF_LAST             = WF_DELETED  };#ifndef __CWIDGET_CPPextern GB_DESC CWidgetDesc[];extern CWIDGET *CWIDGET_destroy_list;extern CWIDGET *CWIDGET_destroy_last;#else#define THIS (((CWIDGET *)_object))#define WIDGET QWIDGET(_object)#endif#define QWIDGET(object) (((CWIDGET *)object)->widget)#define CONTAINER(_ob) CWidget::getContainerWidget((CCONTAINER *)_ob)DECLARE_METHOD(CWIDGET_delete);DECLARE_PROPERTY(CWIDGET_tag);DECLARE_PROPERTY(CWIDGET_border_full);DECLARE_PROPERTY(CWIDGET_border_simple);DECLARE_PROPERTY(CWIDGET_scrollbar);DECLARE_PROPERTY(CWIDGET_design);DECLARE_PROPERTY(CWIDGET_enabled);DECLARE_PROPERTY(CWIDGET_font);#define CWIDGET_set_flag(wid, f) (((CWIDGET *)wid)->flag |= f)#define CWIDGET_clear_flag(wid, f) (((CWIDGET *)wid)->flag &= ~f)#define CWIDGET_test_flag(wid, f) ((((CWIDGET *)wid)->flag & f) != 0)#define GET_SENDER(_ob)   CWIDGET *_ob = CWidget::get((QObject *)sender())#define CWIDGET_PROPERTIES QT_WIDGET_PROPERTIES#define RAISE_EVENT(_event) \{ \  GET_SENDER(ob); \\  if (ob == NULL) \    return; \\  GB.Raise(ob, _event, 0); \}#define ENUM(type)  (*((type *)GB.GetEnum()))#define EVENT_CLOSE (QEvent::User)#define EVENT_POST ((QEvent::Type)(QEvent::User + 1))#define EVENT_EXPAND ((QEvent::Type)(QEvent::User + 2))#define ALIGN_MASK (Qt::AlignLeft | Qt::AlignRight | Qt::AlignTop | Qt::AlignBottom | Qt::AlignCenter)#define ALIGN_HMASK (Qt::AlignLeft | Qt::AlignRight | Qt::AlignHCenter)#define ALIGN_VMASK (Qt::AlignTop | Qt::Bottom | Qt::AlignVCenter)#define SET_WIDGET(_ob, _wid) (((CWIDGET *)_ob)->widget = (_wid))#define CLEAR_WIDGET(_ob) SET_WIDGET(_ob, 0)void CWIDGET_new(QWidget *w, void *object, char *klass = NULL,                 bool no_filter = false, bool no_tag = false);int CWIDGET_check(void *object);QString CWIDGET_Utf8ToQString(GB_STRING *str);void CWIDGET_destroy(CWIDGET *);#ifndef __CWIDGET_CPPextern#endiflong//EVENT_Move,//EVENT_Resize,EVENT_MouseDown,EVENT_MouseUp,EVENT_MouseMove,EVENT_MouseWheel,EVENT_DblClick,EVENT_KeyPress,EVENT_KeyRelease,EVENT_Enter,EVENT_Leave,EVENT_GotFocus,EVENT_LostFocus,EVENT_Menu,EVENT_Drag,EVENT_DragMove,EVENT_Drop;class CWidget : public QObject{  Q_OBJECTpublic:  static void add(QObject *, void *, bool no_filter);  static CWIDGET *get(QObject *);  static CWIDGET *getReal(QObject *);  static QWidget *getContainerWidget(CCONTAINER *object);  //static void setName(CWIDGET *, const char *);  static void installFilter(QObject *);  static void removeFilter(QObject *);  //static const char *getProperties(const void *klass);  //static void setProperties(const void *klass, const char *prop);  static void resetTooltip(CWIDGET *);  static void removeFocusPolicy(QWidget *);public slots:  void destroy(void);protected:  bool eventFilter(QObject *, QEvent *);private:  static bool real;  static CWidget manager;  static CWIDGET *enter;  static QPtrDict<CWIDGET> dict;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -