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

📄 cspinbox.cpp

📁 Gambas is a graphical development environment based on a Basic interpreter, like Visual Basic. It us
💻 CPP
字号:
/***************************************************************************  CSpinBox.cpp  The SpinBox class  Hacked together by Nigel Gerrard using code provided by    (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.***************************************************************************/#define __CSPINBOX_CPP#include "main.h"#include <qapplication.h>#include <qspinbox.h>#include "CSpinBox.h"DECLARE_EVENT(EVENT_Change);BEGIN_METHOD(CSPINBOX_new, GB_OBJECT parent)  QSpinBox *wid = new QSpinBox(QT.GetContainer(VARG(parent)));  QT.InitWidget(wid, _object);  //QT.SetBackgroundRole(_object, QColorGroup::Base);  QObject::connect(wid, SIGNAL(valueChanged(int)), &CSpinBox::manager,  SLOT(event_change()));  //printf("Up Details %i %i %i %i\n", wid->upRect());  // printf("Down Details %i %i %i %i\n", wid->downRect());  //printf("Geometry Details %i %i %i %i\n", wid->geometry());  wid->show();END_METHODBEGIN_PROPERTY(CSPINBOX_prefix)  if (READ_PROPERTY)    GB.ReturnNewZeroString(TO_UTF8(WIDGET->prefix()));  else    WIDGET->setPrefix(QSTRING_PROP());END_PROPERTYBEGIN_PROPERTY(CSPINBOX_suffix)  if (READ_PROPERTY)    GB.ReturnNewZeroString(TO_UTF8(WIDGET->suffix()));  else    WIDGET->setSuffix(QSTRING_PROP());END_PROPERTY/*BEGIN_PROPERTY(CSPINBOX_specialtext)  if (READ_PROPERTY)    GB.ReturnNewZeroString(WIDGET->specialValueText());  else    WIDGET->setSpecialValueText(GB.ToZeroString(PROPERTY(GB_STRING)));END_PROPERTY*/BEGIN_PROPERTY(CSPINBOX_wrapping)  if (READ_PROPERTY)    GB.ReturnBoolean(WIDGET->wrapping());  else    WIDGET->setWrapping(VPROP(GB_BOOLEAN));END_PROPERTYBEGIN_PROPERTY(CSPINBOX_value)  if (READ_PROPERTY)    GB.ReturnInteger(WIDGET->value());  else    WIDGET->setValue(VPROP(GB_INTEGER));END_PROPERTYBEGIN_PROPERTY(CSPINBOX_text)  GB.ReturnNewZeroString(WIDGET->text());END_PROPERTYBEGIN_PROPERTY(CSPINBOX_cleantext)  GB.ReturnNewZeroString(WIDGET->cleanText());END_PROPERTYBEGIN_PROPERTY(CSPINBOX_minval)  if (READ_PROPERTY)    GB.ReturnInteger(WIDGET->minValue());  else    WIDGET->setMinValue(VPROP(GB_INTEGER));END_PROPERTYBEGIN_PROPERTY(CSPINBOX_maxval)  if (READ_PROPERTY)    GB.ReturnInteger(WIDGET->maxValue());  else    WIDGET->setMaxValue(VPROP(GB_INTEGER));END_PROPERTYBEGIN_PROPERTY(CSPINBOX_linestep)  if (READ_PROPERTY)    GB.ReturnInteger(WIDGET->lineStep());  else    WIDGET->setLineStep(VPROP(GB_INTEGER));END_PROPERTY/*BEGIN_PROPERTY(CSPINBOX_button) if (READ_PROPERTY)    GB.ReturnInteger(WIDGET->buttonSymbols()); else {  if ( PROPERTY(GB_INTEGER)  == 1)    WIDGET->setButtonSymbols(QSpinBox::PlusMinus);  else    WIDGET->setButtonSymbols(QSpinBox::UpDownArrows);    // The hide() and show() are needed to force an immediate update which could not be produced through    // repaint()    WIDGET->hide();    WIDGET->show(); }END_PROPERTY*//***************************************************************************  class CSpinBox***************************************************************************/CSpinBox CSpinBox::manager;void CSpinBox::event_change(void){  void *object = QT.GetObject((QWidget *)sender());  GB.Raise(object, EVENT_Change, 0);}GB_DESC CSpinBoxDesc[] ={  GB_DECLARE("SpinBox", sizeof(CSPINBOX)), GB_INHERITS("Control"),  //GB_CONSTANT("UpDownArrows", "i", QSpinBox::UpDownArrows),  //GB_CONSTANT("PlusMinus","i", QSpinBox::PlusMinus),  GB_METHOD("_new", NULL, CSPINBOX_new, "(Parent)Container;"),  GB_PROPERTY("Prefix", "s", CSPINBOX_prefix),  GB_PROPERTY("Suffix", "s", CSPINBOX_suffix),  GB_PROPERTY("Value", "i", CSPINBOX_value),  //GB_PROPERTY("SpecialValueText", "s", CSPINBOX_specialtext),  GB_PROPERTY_READ("FullText", "s", CSPINBOX_text),  GB_PROPERTY_READ("Text", "s", CSPINBOX_cleantext),  GB_PROPERTY("MinValue", "i", CSPINBOX_minval),  GB_PROPERTY("MaxValue", "i", CSPINBOX_maxval),  GB_PROPERTY("Step", "i", CSPINBOX_linestep),  //GB_PROPERTY("ButtonSymbols", "i<SpinBox,UpDownArrows,PlusMinus>", CSPINBOX_button),  GB_PROPERTY("Wrap", "b", CSPINBOX_wrapping),  GB_CONSTANT("_Properties", "s", CSPINBOX_PROPERTIES),  GB_EVENT("Change", NULL, NULL, &EVENT_Change),  GB_END_DECLARE};

⌨️ 快捷键说明

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