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

📄 clcdnumber.cpp

📁 Gambas is a graphical development environment based on a Basic interpreter, like Visual Basic. It us
💻 CPP
字号:
/***************************************************************************  CLCDNumber.cpp  (c) 2002-2003 Nigel Gerrard <ngerrard@ngerrard.uklinux.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 __CLCDNUMBER_CPP#include "main.h"#include <qapplication.h>#include <qlcdnumber.h>#include "gambas.h"#include "CLCDNumber.h"/* #define DEBUG_CLCDNUMBER */BEGIN_METHOD(CLCDNUMBER_new, GB_OBJECT parent)  QLCDNumber *wid = new QLCDNumber(QT.GetContainer(VARG(parent)));  QT.InitWidget(wid, _object);  //QT.SetBackgroundRole(_object, QColorGroup::Base);  wid->setFrameStyle(QFrame::NoFrame);  wid->show();END_METHODBEGIN_PROPERTY(CLCDNUMBER_value)  if (READ_PROPERTY)    GB.ReturnFloat(WIDGET->value());  else    WIDGET->display(VPROP(GB_FLOAT));END_PROPERTYBEGIN_PROPERTY(CLCDNUMBER_digits)  if (READ_PROPERTY)    GB.ReturnInteger(WIDGET->numDigits());  else  {    int n = VPROP(GB_INTEGER);    if (n < 1)      n = 1;    else if (n > 32)      n = 32;    WIDGET->setNumDigits(n);    /* Increasing the number of digits does not redisplay value */    WIDGET->repaint(WIDGET->visibleRect());    WIDGET->display(WIDGET->value());  }END_PROPERTYBEGIN_PROPERTY(CLCDNUMBER_decimalpoint)  if (READ_PROPERTY)    GB.ReturnBoolean(WIDGET->smallDecimalPoint());  else  {    WIDGET->setSmallDecimalPoint(VPROP(GB_BOOLEAN));    WIDGET->repaint(WIDGET->visibleRect());    WIDGET->display(WIDGET->value()); /* Solves issue where decimal disappears */  }END_PROPERTYBEGIN_PROPERTY(CLCDNUMBER_overflow)  GB.ReturnBoolean(WIDGET->checkOverflow(WIDGET->value()));END_PROPERTY/*BEGIN_PROPERTY(CLCDNUMBER_mode)  if (READ_PROPERTY)    GB.ReturnInteger(WIDGET->mode());  else  {    switch PROPERTY(int)    {      case QLCDNumber::HEX: WIDGET->setHexMode(); break;      case QLCDNumber::DEC: WIDGET->setDecMode(); break;      case QLCDNumber::OCT: WIDGET->setOctMode(); break;      case QLCDNumber::BIN: WIDGET->setBinMode(); break;    }  }END_PROPERTY*/BEGIN_PROPERTY(CLCDNUMBER_segmentStyle)  if (READ_PROPERTY)    GB.ReturnInteger(WIDGET->segmentStyle());  else  {    switch VPROP(GB_INTEGER)    {      case QLCDNumber::Outline: WIDGET->setSegmentStyle(QLCDNumber::Outline); break;      case QLCDNumber::Filled: WIDGET->setSegmentStyle(QLCDNumber::Filled); break;      case QLCDNumber::Flat: WIDGET->setSegmentStyle(QLCDNumber::Flat); break;    }  }END_PROPERTYBEGIN_PROPERTY(CLCDNUMBER_border)  QT.FullBorderProperty(_object, _param);END_PROPERTYGB_DESC CLCDNumberDesc[] ={  GB_DECLARE("LCDNumber", sizeof(CLCDNUMBER)), GB_INHERITS("Control"),  //GB_CONSTANT("Hexadecimal","i", QLCDNumber::HEX),  //GB_CONSTANT("Decimal","i", QLCDNumber::DEC),  //GB_CONSTANT("Octal","i", QLCDNumber::OCT),  //GB_CONSTANT("Binary","i", QLCDNumber::BIN),  GB_CONSTANT("Outline","i", QLCDNumber::Outline),  GB_CONSTANT("Filled","i", QLCDNumber::Filled),  GB_CONSTANT("Flat","i", QLCDNumber::Flat),  GB_METHOD("_new", NULL, CLCDNUMBER_new, "(Parent)Container;"),  GB_PROPERTY("Value", "f", CLCDNUMBER_value),  //GB_PROPERTY("Mode", "i<LCDNumber,Hexadecimal,Decimal,Octal,Binary>", CLCDNUMBER_mode),  GB_PROPERTY("SmallDecimalPoint", "b", CLCDNUMBER_decimalpoint),  GB_PROPERTY_READ("Overflow", "b", CLCDNUMBER_overflow),  GB_PROPERTY("Digits", "i", CLCDNUMBER_digits),  GB_PROPERTY("Border", "i<Border>", CLCDNUMBER_border),  GB_PROPERTY("Style", "i<LCDNumber,Outline,Filled,Flat>", CLCDNUMBER_segmentStyle),  GB_CONSTANT("_Properties", "s", CLCDNUMBER_PROPERTIES),  GB_END_DECLARE};

⌨️ 快捷键说明

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