Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

[a85834]: src / gui / boolproperty.cc Maximize Restore History

Download this file

boolproperty.cc    107 lines (92 with data), 3.1 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
/*
* PDFedit - free program for PDF document manipulation.
* Copyright (C) 2006, 2007, 2008 PDFedit team: Michal Hocko,
* Miroslav Jahoda,
* Jozef Misutka,
* Martin Petricek
*
* 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 2 of the License.
*
* 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 (in doc/LICENSE.GPL); if not, write to the
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
* Project is hosted on http://sourceforge.net/projects/pdfedit
*/
/** @file
BoolProperty - class for widget containing one editable property of type "Bool"
(represented by checkbox)<br>
Used as one item in property editor
@author Martin Petricek
*/
#include "boolproperty.h"
#include <qcheckbox.h>
#include <kernel/cobject.h>
#include <qevent.h>
namespace gui {
using namespace std;
/** Default constructor of property item
@param parent parent Property Editor containing this control
@param _name name of this property
@param _flags flags of this property items (default 0)
*/
BoolProperty::BoolProperty(const QString &_name, QWidget *parent/*=0*/, PropertyFlags _flags/*=defaultPropertyMode*/)
: Property(_name,parent,_flags) {
ed=new QCheckBox(this,"boolproperty_checkbox");
connect(ed,SIGNAL(clicked()),this,SLOT(emitChange()));
}
/** \copydoc StringProperty::sizeHint */
QSize BoolProperty::sizeHint() const {
return ed->sizeHint();
}
/** \copydoc StringProperty::resizeEvent */
void BoolProperty::resizeEvent (QResizeEvent *e) {
ed->setFixedSize(e->size());
}
/** Called when clicked on the checkbox */
void BoolProperty::emitChange() {
emit propertyChanged(this);
}
/** default destructor */
BoolProperty::~BoolProperty() {
delete ed;
}
/** \copydoc StringProperty::setValue */
void BoolProperty::setValue(IProperty *pdfObject) {
if (effectiveReadonly) return;//Honor readonly setting
CBool* obj=dynamic_cast<CBool*>(pdfObject);
assert(obj);
bool val=ed->isChecked();
obj->setValue(val);
changed=false;
}
/** \copydoc StringProperty::readValue */
void BoolProperty::readValue(IProperty *pdfObject) {
CBool* obj=dynamic_cast<CBool*>(pdfObject);
assert(obj);
bool val;
obj->getValue(val);
ed->setChecked(val);
changed=false;
}
//See Property::setDisabled
void BoolProperty::setDisabled(bool disabled) {
ed->setEnabled(!disabled);
}
//See Property::applyReadOnly
void BoolProperty::applyReadOnly(bool _readonly) {
ed->setEnabled(!_readonly);
}
/** \copydoc Property::isValid() */
bool BoolProperty::isValid() {
return true; //Checkbox is always valid :)
}
} // namespace gui