return '\0';
}
+//////////////////////////////////////////////////////////////////////////
+//
+void BSDoc::changeFleet(QString battle, QString group, QString fleet, const Fleet* fl)
+{
+ delete m_Battles[battle][group][fleet];
+
+ const Planet* planet = 0;
+ if((planet = dynamic_cast<const Planet*>(fl)))
+ {
+ m_Battles[battle][group][fleet] = new Planet(*planet);
+ }
+ else
+ {
+ m_Battles[battle][group][fleet] = new Fleet(*fl);
+ }
+ emit documentChanged();
+}
+
+
*/
const Fleet* specificFleet(QString battle, QString group, QString fleet) const;
+ void changeFleet(QString battle, QString group, QString fleet, const Fleet* fl);
+
signals:
void documentChanged();
m_GenericFleetView = new FleetView(&fl2, true);
m_FleetViews->addWidget(m_GenericFleetView, 2);
//m_FleetViews->raiseWidget(0);
- connect(m_NumberView, SIGNAL(selectionChanged(QListViewItem *)), SLOT(slotFleetSelection(QListViewItem *)));
+ connect(m_NumberView, SIGNAL(selectionChanged(QListViewItem *)), SLOT(slotFleetSelection(QListViewItem *)));
+ connect(m_FleetView, SIGNAL(fleetChanged(const Fleet*)), SLOT(slotFleetChanged(const Fleet*)));
+ connect(m_GenericFleetView, SIGNAL(fleetChanged(const Fleet*)), SLOT(slotFleetChanged(const Fleet*)));
}
BSView::~BSView()
{
bool friendly = false;
bool home = false;
- QString fleet = lvi->text(0);
- QString group = lvi->parent()->text(0);
- QString battle = lvi->parent()->parent()->text(0);
- if ( group == tr("Friendly"))
+ m_sFleet = lvi->text(0);
+ m_sGroup = lvi->parent()->text(0);
+ m_sBattle = lvi->parent()->parent()->text(0);
+ if ( m_sGroup == tr("Friendly"))
{
friendly = true;
- if(fleet == tr("Home Planet"))
+ if(m_sFleet == tr("Home Planet"))
home=true;
}
- const Fleet* fl = m_doc->specificFleet(battle, group, fleet);
+ const Fleet* fl = m_doc->specificFleet(m_sBattle, m_sGroup, m_sFleet);
m_InfoView->setRace(fl->race().c_str());
- m_InfoView->setFleetName(fleet);
+ m_InfoView->setFleetName(m_sFleet);
m_InfoView->setEta(fl->ETA());
if (fl->race() == tr("Generic").latin1())
{
else
{
m_FleetViews->removeWidget(m_FleetView);
+ delete m_FleetView;
m_FleetView = new FleetView(fl, friendly);
+ connect(m_FleetView, SIGNAL(fleetChanged(const Fleet*)), SLOT(slotFleetChanged(const Fleet*)));
m_FleetViews->addWidget(m_FleetView, 1);
}
m_FleetViews->raiseWidget(1);
}
}
+//////////////////////////////////////////////////////////////////////////
+//
+void BSView::slotFleetChanged(const Fleet* fleet)
+{
+ m_doc->changeFleet(m_sBattle, m_sGroup, m_sFleet, fleet);
+}
+
protected slots:
void slotDocumentChanged();
+ void slotFleetChanged(const Fleet*);
protected:
BattleSum *m_BattleSum;
FleetView *m_GenericFleetView;
BSDoc *m_doc;
std::map<QString, std::map<QString, bool> > m_TreeExpanded;
+
+ QString m_sBattle;
+ QString m_sGroup;
+ QString m_sFleet;
public slots: // Public slots
/** No descriptions */
return tot_score;
}
+//////////////////////////////////////////////////////////////////////////
+//
+void Fleet::setFleet(string unittype, int number)
+{
+ if (m_Fleet[unittype].size() == 0)
+ {
+ m_Fleet[unittype].push_back(number);
+ return;
+ }
+ m_Fleet[unittype][0] = number;
+}
+
+//////////////////////////////////////////////////////////////////////////
+//
+int Fleet::fleet(string unittype, int tick = 0)
+{
+ if (m_Fleet[unittype].size() == 0)
+ return 0;
+
+ return m_Fleet[unittype][tick];
+}
+
+
*/
virtual unsigned score(int tick = 0) const;
+ void setFleet(std::string unittype, int number);
+ int fleet(std::string unittype, int tick = 0);
+
static void setRaces(RaceList& races);
static void setUnits(UnitList& units);
#include "planet.h"
-Planet::Planet(){
+Planet::Planet()
+{
+ m_sRace = "Planet";
}
Planet::~Planet(){
}
<rect>
<x>0</x>
<y>0</y>
- <width>222</width>
- <height>103</height>
+ <width>198</width>
+ <height>89</height>
</rect>
</property>
- <property name="maximumSize">
- <size>
- <width>32767</width>
- <height>110</height>
- </size>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
</property>
<property name="caption">
<string>QGroupBoxForm</string>
<cstring>unnamed</cstring>
</property>
<property name="margin">
- <number>11</number>
+ <number>5</number>
</property>
<property name="spacing">
- <number>6</number>
+ <number>2</number>
</property>
<widget class="QLabel" row="0" column="1">
<property name="name">
<rect>
<x>0</x>
<y>0</y>
- <width>219</width>
- <height>103</height>
+ <width>227</width>
+ <height>115</height>
</rect>
</property>
- <property name="maximumSize">
+ <property name="minimumSize">
<size>
- <width>32767</width>
- <height>119</height>
+ <width>0</width>
+ <height>115</height>
</size>
</property>
<property name="caption">
<number>2</number>
</property>
<property name="spacing">
- <number>0</number>
+ <number>2</number>
</property>
<widget class="QLabel" row="0" column="3">
<property name="name">