QTfrontend/teamselhelper.cpp
author unc0rr
Thu, 05 Oct 2006 16:33:18 +0000
changeset 183 57c2ef19f719
parent 153 dc10da2a73f9
child 184 f97a7a3dc8f6
permissions -rw-r--r--
Relicense to GPL
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
153
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
     1
/*
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
     2
 * Hedgewars, a worms-like game
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
     3
 * Copyright (c) 2006 Ulyanov Igor <iulyanov@gmail.com>
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
     4
 *
183
57c2ef19f719 Relicense to GPL
unc0rr
parents: 153
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
57c2ef19f719 Relicense to GPL
unc0rr
parents: 153
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
57c2ef19f719 Relicense to GPL
unc0rr
parents: 153
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
153
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
     8
 *
183
57c2ef19f719 Relicense to GPL
unc0rr
parents: 153
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
57c2ef19f719 Relicense to GPL
unc0rr
parents: 153
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
57c2ef19f719 Relicense to GPL
unc0rr
parents: 153
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
57c2ef19f719 Relicense to GPL
unc0rr
parents: 153
diff changeset
    12
 * GNU General Public License for more details.
153
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
    13
 *
183
57c2ef19f719 Relicense to GPL
unc0rr
parents: 153
diff changeset
    14
 * You should have received a copy of the GNU General Public License
57c2ef19f719 Relicense to GPL
unc0rr
parents: 153
diff changeset
    15
 * along with this program; if not, write to the Free Software
57c2ef19f719 Relicense to GPL
unc0rr
parents: 153
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
153
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
    17
 */
dc10da2a73f9 license and copyright info added
displacer
parents: 152
diff changeset
    18
80
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    19
#include "teamselhelper.h"
132
2d0f404cdf05 first hedgehogs number selection added
displacer
parents: 123
diff changeset
    20
#include "hwconsts.h"
80
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    21
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    22
#include <QPixmap>
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    23
#include <QPushButton>
132
2d0f404cdf05 first hedgehogs number selection added
displacer
parents: 123
diff changeset
    24
#include <QPainter>
2d0f404cdf05 first hedgehogs number selection added
displacer
parents: 123
diff changeset
    25
80
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    26
void TeamLabel::teamButtonClicked()
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    27
{
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    28
  emit teamActivated(text());
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    29
}
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    30
132
2d0f404cdf05 first hedgehogs number selection added
displacer
parents: 123
diff changeset
    31
TeamShowWidget::TeamShowWidget(HWTeam team, bool isPlaying, QWidget * parent) :
140
50ccde437ea1 teams and hedgedogs num selection added to HWgame
displacer
parents: 135
diff changeset
    32
  QWidget(parent), mainLayout(this), m_team(team), m_isPlaying(isPlaying), phhoger(0)
80
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    33
{
134
3d87d8e58020 spacing reduced, 4 hedgehog per team by default
displacer
parents: 133
diff changeset
    34
  mainLayout.setSpacing(1);
135
53faa20669de margin reduced (space between commands in teamselect widget)
displacer
parents: 134
diff changeset
    35
  mainLayout.setMargin(2);
53faa20669de margin reduced (space between commands in teamselect widget)
displacer
parents: 134
diff changeset
    36
  this->setMaximumHeight(35);
123
6987769ced3d Various small fixes
unc0rr
parents: 120
diff changeset
    37
  QPixmap* px=new QPixmap(QPixmap(datadir->absolutePath() + "/Forts/" + m_team.Fort + "L.png").scaled(40, 40));
80
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    38
135
53faa20669de margin reduced (space between commands in teamselect widget)
displacer
parents: 134
diff changeset
    39
  QPalette newPalette = palette();
53faa20669de margin reduced (space between commands in teamselect widget)
displacer
parents: 134
diff changeset
    40
  newPalette.setColor(QPalette::Button, palette().color(backgroundRole()));
53faa20669de margin reduced (space between commands in teamselect widget)
displacer
parents: 134
diff changeset
    41
120
87264c35b09a flat buttons
displacer
parents: 118
diff changeset
    42
  QPushButton* butt=new QPushButton(*px, "", this);
87264c35b09a flat buttons
displacer
parents: 118
diff changeset
    43
  butt->setFlat(true);
87264c35b09a flat buttons
displacer
parents: 118
diff changeset
    44
  butt->setGeometry(0, 0, 30, 30);
86
664b536a1c27 Predefined teams, 'simple game' doesn't need to create team
unc0rr
parents: 84
diff changeset
    45
  butt->setMaximumWidth(30);
135
53faa20669de margin reduced (space between commands in teamselect widget)
displacer
parents: 134
diff changeset
    46
  butt->setPalette(newPalette);
80
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    47
  mainLayout.addWidget(butt);
120
87264c35b09a flat buttons
displacer
parents: 118
diff changeset
    48
  butt->setIconSize(butt->size());
87264c35b09a flat buttons
displacer
parents: 118
diff changeset
    49
87264c35b09a flat buttons
displacer
parents: 118
diff changeset
    50
  QPushButton* bText=new QPushButton(team.TeamName, this);
87264c35b09a flat buttons
displacer
parents: 118
diff changeset
    51
  bText->setPalette(newPalette);
87264c35b09a flat buttons
displacer
parents: 118
diff changeset
    52
  bText->setFlat(true);
87264c35b09a flat buttons
displacer
parents: 118
diff changeset
    53
  mainLayout.addWidget(bText);
80
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    54
132
2d0f404cdf05 first hedgehogs number selection added
displacer
parents: 123
diff changeset
    55
  if(m_isPlaying) {
140
50ccde437ea1 teams and hedgedogs num selection added to HWgame
displacer
parents: 135
diff changeset
    56
    phhoger=new CHedgehogerWidget(this);
132
2d0f404cdf05 first hedgehogs number selection added
displacer
parents: 123
diff changeset
    57
    mainLayout.addWidget(phhoger);
2d0f404cdf05 first hedgehogs number selection added
displacer
parents: 123
diff changeset
    58
  }
2d0f404cdf05 first hedgehogs number selection added
displacer
parents: 123
diff changeset
    59
80
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    60
  QObject::connect(butt, SIGNAL(clicked()), this, SLOT(activateTeam()));
120
87264c35b09a flat buttons
displacer
parents: 118
diff changeset
    61
  QObject::connect(bText, SIGNAL(clicked()), this, SLOT(activateTeam()));
80
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    62
}
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    63
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    64
void TeamShowWidget::activateTeam()
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    65
{
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    66
  emit teamStatusChanged(m_team);
3c3dc6a148ca - Fixed bug with hedgehog under water using rope
unc0rr
parents: 63
diff changeset
    67
}
140
50ccde437ea1 teams and hedgedogs num selection added to HWgame
displacer
parents: 135
diff changeset
    68
152
c558957ef644 teams moving order fixed
displacer
parents: 140
diff changeset
    69
unsigned char TeamShowWidget::getHedgehogsNum() const
140
50ccde437ea1 teams and hedgedogs num selection added to HWgame
displacer
parents: 135
diff changeset
    70
{
50ccde437ea1 teams and hedgedogs num selection added to HWgame
displacer
parents: 135
diff changeset
    71
  return phhoger ? phhoger->getHedgehogsNum() : 0;
50ccde437ea1 teams and hedgedogs num selection added to HWgame
displacer
parents: 135
diff changeset
    72
}