moved kdeaccessibility kdeaddons kdeadmin kdeartwork kdebindings kdeedu kdegames...
[kdeedu.git] / keduca / keduca / kgroupeduca.cpp
blob7cdb8b38d297b90e59319133407dade8d9a77636
1 /***************************************************************************
2 kgroupeduca.cpp - description
3 -------------------
4 begin : Thu Sep 7 2000
5 copyright : (C) 2000 by Javier Campos Morales
6 email : javi@asyris.org
7 ***************************************************************************/
9 /***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
18 #include "kgroupeduca.h"
19 #include "kgroupeduca.moc"
20 #include "kcheckeduca.h"
21 #include "kradioeduca.h"
23 #include <klocale.h>
25 KGroupEduca::KGroupEduca(QWidget *parent, const char *name ) : QVButtonGroup(i18n("Answers"), parent, name)
27 _sv = new QScrollView(this);
28 _sv->setVScrollBarMode(QScrollView::Auto);
29 _sv->setHScrollBarMode(QScrollView::Auto);
30 _sv->setFrameStyle( QFrame::NoFrame | QFrame::Plain );
31 _vbox2 = new QVBox( _sv->viewport() );
32 _vbox2->setSpacing( 6 );
33 _vbox2->setMargin( 11 );
34 _sv->viewport()->setBackgroundMode( _vbox2->backgroundMode() );
35 _sv->setStaticBackground(true);
36 _sv->addChild( _vbox2 );
37 _typeMode = Radio;
40 KGroupEduca::~KGroupEduca(){
43 /** Insert a check or radio button */
44 void KGroupEduca::insertAnswer( const QString& text)
46 QButton *answer = 0;
48 switch( _typeMode )
50 case Radio:
51 answer = new KRadioEduca( _vbox2 );
52 break;
53 case Check:
54 answer = new KCheckEduca( _vbox2 );
55 break;
57 answer->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)0 ) );
58 answer->setText( text );
59 answer->show();
60 insert(answer);
63 /** Set type */
64 void KGroupEduca::setType(ButtonType type)
66 _typeMode = type;
69 /** Clear all kradio or kcheck answers */
70 void KGroupEduca::clearAnswers()
72 unsigned int maxButton = count();
73 for( unsigned int i=0 ; i<maxButton ; ++i )
75 QButton *tmpButton;
76 if( (tmpButton = find(i)) )
77 remove(tmpButton);
78 delete tmpButton;
83 /** Return if is checked radio or check buttons */
84 bool KGroupEduca::isChecked(int id)
86 switch( _typeMode )
88 case Radio:
90 KRadioEduca *tmpRadioButton = (KRadioEduca*) find(id);
91 if(tmpRadioButton != 0) return tmpRadioButton->isChecked();
93 break;
94 case Check:
96 KCheckEduca *tmpCheckButton = (KCheckEduca*) find(id);
97 if(tmpCheckButton != 0) return tmpCheckButton->isChecked();
99 break;
101 return 0;