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
|
/****************************************************************
**
** Attal : Lords of Doom
**
** sectionExperience.cpp
** section for setting levels of experience
**
** Version : $Id: sectionExperience.cpp,v 1.5 2007/03/16 14:22:48 lusum Exp $
**
** Author(s) : Pascal Audoux
**
** Date : 08/05/2004
**
** Licence :
** 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, 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.
**
****************************************************************/
#include "sectionExperience.h"
// generic include files
// include files for QT
#include <QLabel>
#include <QLayout>
#include <QVBoxLayout>
// application specific include files
#include "libCommon/dataTheme.h"
#include "libClient/askWidget.h"
#include "libClient/gui.h"
SectionExperience::SectionExperience( QWidget * parent, const char * name )
: Section( parent, name )
{
QLabel * labList = new QLabel( this );
labList->setText( tr( "List of required experience to gain for accessing the next level:" ) );
FIXEDSIZE( labList );
_list = new AskIntList( this );
QVBoxLayout * layout = new QVBoxLayout( this );
layout->setMargin( 5 );
layout->setSpacing( 5 );
layout->addWidget( labList );
layout->addWidget( _list );
layout->addStretch( 1 );
layout->activate();
init();
}
void SectionExperience::clear()
{
_list->clear();
}
void SectionExperience::init()
{
uint nbLevels = DataTheme.lordExperience.getLevelNumber();
uint lastLevel = 0;
for( uint i = 1; i < nbLevels; i++ ) {
_list->addValue( DataTheme.lordExperience.getLevel( i ) - lastLevel );
lastLevel = DataTheme.lordExperience.getLevel( i );
}
}
void SectionExperience::save()
{
uint nbLevels = _list->count();
DataTheme.lordExperience.clear();
for( uint i = 0; i < nbLevels; i++ ) {
DataTheme.lordExperience.appendLevelByDiff( _list->getValue( i ) );
}
}
|