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

aidialog.cpp

Go to the documentation of this file.
00001 #include "aidialog.h"
00002 
00003 #include <qgroupbox.h>
00004 
00005 #include <qpe/qpeapplication.h>
00006 
00007 AI_Dialog::AI_Dialog(QWidget* parent,const char* name,bool modal,WFlags f)
00008   : QDialog(parent,name,modal,f)
00009 {
00010     setCaption("AI Configuration");
00011 
00012     QGroupBox* settings=new QGroupBox(tr( "Settings" ),this);
00013     settings->setGeometry(10,5,220,170);
00014     
00015     QLabel* rescue_label=new QLabel(tr( "<b>Rescue</b>" ),settings);
00016     rescue_label->setGeometry(50,20,50,20);
00017     rescue=new QSpinBox(0,6,1,settings);
00018     rescue->setGeometry(100,20,40,20);
00019     QPushButton* rescuehelp=new QPushButton(tr( "?" ),settings);
00020     rescuehelp->setGeometry(140,20,20,20);
00021     connect(rescuehelp,SIGNAL(pressed()),this,SLOT(rescuehelp_pressed()));
00022     connect(rescuehelp,SIGNAL(released()),this,SLOT(rescuehelp_released()));
00023     
00024     QLabel* eliminate_label=new QLabel(tr( "<b>Eliminate</b>" ),settings);
00025     eliminate_label->setGeometry(50,40,50,20);
00026     eliminate=new QSpinBox(0,6,1,settings);
00027     eliminate->setGeometry(100,40,40,20);
00028     QPushButton* eliminatehelp=new QPushButton(tr( "?" ),settings);
00029     eliminatehelp->setGeometry(140,40,20,20);
00030     connect(eliminatehelp,SIGNAL(pressed()),this,SLOT(eliminatehelp_pressed()));
00031     connect(eliminatehelp,SIGNAL(released()),this,SLOT(eliminatehelp_released()));
00032 
00033     QLabel* expose_label=new QLabel(tr( "<b>Expose</b>" ),settings);
00034     expose_label->setGeometry(50,60,50,20);
00035     expose=new QSpinBox(0,6,1,settings);
00036     expose->setGeometry(100,60,40,20);
00037     QPushButton* exposeehelp=new QPushButton(tr( "?" ),settings);
00038     exposeehelp->setGeometry(140,60,20,20);
00039     connect(exposeehelp,SIGNAL(pressed()),this,SLOT(exposehelp_pressed()));
00040     connect(exposeehelp,SIGNAL(released()),this,SLOT(exposehelp_released()));
00041 
00042     QLabel* protect_label=new QLabel(tr( "<b>Protect</b>" ),settings);
00043     protect_label->setGeometry(50,80,50,20);
00044     protect=new QSpinBox(0,6,1,settings);
00045     protect->setGeometry(100,80,40,20);
00046     QPushButton* protecthelp=new QPushButton(tr( "?" ),settings);
00047     protecthelp->setGeometry(140,80,20,20);
00048     connect(protecthelp,SIGNAL(pressed()),this,SLOT(protecthelp_pressed()));
00049     connect(protecthelp,SIGNAL(released()),this,SLOT(protecthelp_released()));
00050 
00051     QLabel* safe_label=new QLabel(tr( "<b>Safe</b>" ),settings);
00052     safe_label->setGeometry(50,100,50,20);
00053     safe=new QSpinBox(0,6,1,settings);
00054     safe->setGeometry(100,100,40,20);
00055     QPushButton* safeehelp=new QPushButton(tr( "?" ),settings);
00056     safeehelp->setGeometry(140,100,20,20);
00057     connect(safeehelp,SIGNAL(pressed()),this,SLOT(safehelp_pressed()));
00058     connect(safeehelp,SIGNAL(released()),this,SLOT(safehelp_released()));
00059 
00060     QLabel* empty_label=new QLabel(tr( "<b>Empty</b>" ),settings);
00061     empty_label->setGeometry(50,120,50,20);
00062     empty=new QSpinBox(0,6,1,settings);
00063     empty->setGeometry(100,120,40,20);
00064     QPushButton* emptyhelp=new QPushButton(tr( "?" ),settings);
00065     emptyhelp->setGeometry(140,120,20,20);
00066     connect(emptyhelp,SIGNAL(pressed()),this,SLOT(emptyhelp_pressed()));
00067     connect(emptyhelp,SIGNAL(released()),this,SLOT(emptyhelp_released()));
00068 
00069     defaultvalues=new QPushButton(tr( "Default Values" ),settings);
00070     defaultvalues->setGeometry(60,140,90,20);
00071     connect(defaultvalues,SIGNAL(clicked()),this,SLOT(setDefaultValues()));
00072 
00073     QGroupBox* helpbox=new QGroupBox(tr( "Help" ),this);
00074     helpbox->setGeometry(10,185,220,90);
00075 
00076     help=new QLabel(helpbox);
00077     help->setGeometry(10,15,200,65);
00078 
00079     setHelpText();
00080     QPEApplication::showDialog( this );
00081 }
00082 
00083 
00084 AI_Dialog::~AI_Dialog()
00085 {
00086 }
00087 
00088 void AI_Dialog::rescuehelp_pressed()
00089 {
00090   setHelpText("rescue");
00091 }
00092 
00093 void AI_Dialog::rescuehelp_released()
00094 {
00095   setHelpText();
00096 }
00097 
00098 void AI_Dialog::eliminatehelp_pressed()
00099 {
00100   setHelpText("eliminate");
00101 }
00102 
00103 void AI_Dialog::eliminatehelp_released()
00104 {
00105   setHelpText();
00106 }
00107 
00108 void AI_Dialog::exposehelp_pressed()
00109 {
00110   setHelpText("expose");
00111 }
00112 
00113 void AI_Dialog::exposehelp_released()
00114 {
00115   setHelpText();
00116 }
00117 
00118 void AI_Dialog::protecthelp_pressed()
00119 {
00120   setHelpText("protect");
00121 }
00122 
00123 void AI_Dialog::protecthelp_released()
00124 {
00125   setHelpText();
00126 }
00127 
00128 void AI_Dialog::safehelp_pressed()
00129 {
00130   setHelpText("safe");
00131 }
00132 
00133 void AI_Dialog::safehelp_released()
00134 {
00135   setHelpText();
00136 }
00137 
00138 void AI_Dialog::emptyhelp_pressed()
00139 {
00140   setHelpText("empty");
00141 }
00142 
00143 void AI_Dialog::emptyhelp_released()
00144 {
00145   setHelpText();
00146 }
00147 
00148   
00149 
00150 void AI_Dialog::setDefaultValues()
00151 {
00152     rescue->setValue(6);
00153     eliminate->setValue(4);
00154     expose->setValue(1);
00155     protect->setValue(5);
00156     safe->setValue(3);
00157     empty->setValue(2);
00158 }
00159 
00160 void AI_Dialog::setAISettings(const AISettings& values)
00161 {
00162     rescue->setValue(values.rescue);
00163     eliminate->setValue(values.eliminate);
00164     expose->setValue(values.expose);
00165     protect->setValue(values.protect);
00166     safe->setValue(values.safe);
00167     empty->setValue(values.empty);
00168 }
00169 
00170 AISettings AI_Dialog::getAISettings()
00171 {
00172     AISettings ai;
00173     ai.rescue=rescue->value();
00174     ai.eliminate=eliminate->value();
00175     ai.expose=expose->value();
00176     ai.protect=protect->value();
00177     ai.safe= safe->value();
00178     ai.empty=empty->value();    
00179     return ai;
00180 }
00181 
00182 void AI_Dialog::setHelpText(const QString& type)
00183 {
00184   if(type=="rescue")
00185   {
00186     help->setText(tr( "Bring the pieces out of the endzone" ));  
00187   }
00188   else if(type=="eliminate")
00189   {
00190     help->setText(tr( "Eliminate an opponents piece" ));
00191   }
00192   else if(type=="expose")
00193   {
00194     help->setText(tr( "Expose you own pieces.\nAfter such a move only one piece will remain in the slot") );  
00195   }
00196   else if(type=="protect")
00197   {
00198     help->setText(tr( "Protect a single piece by\nputting another one in this slot" ));
00199   }
00200   else if(type=="safe")
00201   {
00202     help->setText(tr( "Move piece to a slot already\noccupied by the player" ));  
00203   }
00204   else if(type=="empty")
00205   {
00206     help->setText(tr( "Move piece to an empty slot") );
00207   }
00208   else
00209   {
00210     help->setText(tr( "Press and hold the ? buttton\nnext to a field for help") );
00211   }
00212 }

Generated on Sat Nov 5 16:17:18 2005 for OPIE by  doxygen 1.4.2