Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

emailsetup.cpp

Go to the documentation of this file.
00001 /*
00002      This file is part of Advanced Strategic Command; http://www.asc-hq.de
00003      Copyright (C) 1994-1999  Martin Bickel  and  Marc Schellenberger
00004  
00005      This program is free software; you can redistribute it and/or modify
00006      it under the terms of the GNU General Public License as published by
00007      the Free Software Foundation; either version 2 of the License, or
00008      (at your option) any later version.
00009  
00010      This program is distributed in the hope that it will be useful,
00011      but WITHOUT ANY WARRANTY; without even the implied warranty of
00012      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013      GNU General Public License for more details.
00014  
00015      You should have received a copy of the GNU General Public License
00016      along with this program; see the file COPYING. If not, write to the 
00017      Free Software Foundation, Inc., 59 Temple Place, Suite 330, 
00018      Boston, MA  02111-1307  USA
00019 */
00020 
00021 
00022 #include <sstream>
00023 #include <pgimage.h>
00024 
00025 #include "../iconrepository.h"
00026 #include "../gamemap.h"
00027 #include "../paradialog.h"
00028 #include "emailsetup.h"
00029 
00030 
00031  
00032 EmailSetupWidget::EmailSetupWidget( GameMap* gamemap, int editablePlayers, PG_Widget *parent, const PG_Rect &r, const std::string &style ) : PG_ScrollWidget( parent, r, style ) , actmap ( gamemap )
00033 {
00034    int counter = 0; 
00035    int y1 = Width() * 4 / 10;
00036    
00037    const int colBarXStart = 20;
00038    new PG_Label( this, PG_Rect( colBarXStart + y1, 20, 200, 20 ), "Email Address" );
00039    
00040    for ( int i = 0; i < actmap->getPlayerCount(); ++i ) 
00041       if ( actmap->player[i].exist() ) {
00042       
00043          PlayerWidgets pw;
00044          pw.pos  = i;
00045          
00046          int y = 50 + counter * spacing;
00047          
00048          ColoredBar* colbar = new ColoredBar( actmap->player[i].getColor(), this, PG_Rect( colBarXStart, y, Width() - 60, 30 ));
00049          colbar->SetTransparency( 128 );
00050          
00051          
00052         
00053          pw.name = new PG_LineEdit( colbar, PG_Rect( 40, 5, y1 - 40, 20 ));
00054          pw.name->SetText( actmap->player[i].getName());
00055          pw.name->SetEditable(false );
00056          
00057          PG_Rect r = PG_Rect( y1 + 20, 5, colbar->Width() - y1 - 40, 20 );
00058          pw.email = new PG_LineEdit( colbar, r );
00059          pw.email->SetText( actmap->player[i].email );
00060 
00061                   
00062          if ( editablePlayers == -1 || editablePlayers == gamemap->actplayer ) {
00063             pw.email->SetEditable(true);
00064          } else {
00065             pw.email->SetEditable(false);
00066          }
00067          
00068          PG_ThemeWidget* col = new PG_ThemeWidget( colbar, PG_Rect( 5, 5, 20, 20 ));
00069          col->SetSimpleBackground(true);
00070          col->SetBackgroundColor ( actmap->player[i].getColor());
00071          col->SetBorderSize(0);
00072 
00073          playerWidgets.push_back( pw );
00074                         
00075          ++counter;
00076       } 
00077       
00078    SetTransparency(255);
00079 };
00080 
00081 
00082 void EmailSetupWidget::Apply() 
00083 {
00084    for ( vector<PlayerWidgets>::iterator i = playerWidgets.begin(); i != playerWidgets.end(); ++i ) 
00085       actmap->player[i->pos].email = i->email->GetText();
00086 };

Generated on Tue Jun 24 01:27:41 2008 for Advanced Strategic Command by  doxygen 1.4.2