shipTemplates = new ListModel(new ShipTemplateItem, this);
componentTemplates = new ListModel(new ComponentTemplateItem, this);
abilityTemplates = new ListModel(new AbilityTemplateItem, this);
mapTable = new ListModel(new MapTemplateItem, this);
abilityTemplates->appendRow(new AbilityTemplateItem("At0ML" ,"Mining Laser" ,ATI::Laser_Weapon ,13,ATI::isActive ,ATI::notPassive,ATI::isAttack ,this));
abilityTemplates->appendRow(new AbilityTemplateItem("Ac0RP" ,"Rocket Propulsor" ,ATI::Combustion_Engine,7 ,ATI::isActive ,ATI::notPassive,ATI::notAttack,this));
abilityTemplates->appendRow(new AbilityTemplateItem("Pa0MLS","Minimal Life Support" ,ATI::Life_Support ,50,ATI::notActive,ATI::isPassive ,ATI::notAttack,this));
abilityTemplates->appendRow(new AbilityTemplateItem("Pa1SCQ","Small Crew Quarters" ,ATI::Crew_Quarters ,50,ATI::notActive,ATI::isPassive ,ATI::notAttack,this));
abilityTemplates->appendRow(new AbilityTemplateItem("Pa2SCC","Single Command Center",ATI::Command_Center ,5 ,ATI::notActive,ATI::isPassive ,ATI::notAttack,this));
componentTemplates->appendRow(new ComponentTemplateItem("We0MLC" ,"Mining Laser Canon" ,1 ,1 ,1 ,5 ,CTI::isRepairable ,CTI::notCritical,this));
componentTemplates->appendRow(new ComponentTemplateItem("Sp1RPE" ,"Rocket Propulsor Engine",10,20,10,15,CTI::isRepairable ,CTI::notCritical,this));
componentTemplates->appendRow(new ComponentTemplateItem("Ot2SSC" ,"Simple Ship Core" ,5 ,10,5 ,10,CTI::isRepairable ,CTI::isCritical ,this));
componentTemplates->appendRow(new ComponentTemplateItem("Ot3OCCC","One Crew Command Center",1 ,5 ,10,20,CTI::notRepairable,CTI::isCritical ,this));
shipTemplates->appendRow(new ShipTemplateItem("Sh0F","Firefly",QPoint(3,2),"image://loader/content/ship/OfficialShip1.png;180,0,0" ,this));
shipTemplates->appendRow(new ShipTemplateItem("Sh1T","Thunder",QPoint(7,7),"image://loader/content/ship/OfficialShip5.png;50,200,50",this));
shipTemplates->appendRow(new ShipTemplateItem("Sh2T","Tales" ,QPoint(8,7),"image://loader/content/ship/OfficialShip4.png;50,200,50",this));
getComponent("We0MLC" )->addAbility(getAbility("At0ML"));
getComponent("Sp1RPE" )->addAbility(getAbility("Ac0RP"));
getComponent("Ot2SSC" )->addAbility(getAbility("Pa0MLS"));
getComponent("Ot2SSC" )->addAbility(getAbility("Pa1SCQ"));
getComponent("Ot3OCCC")->addAbility(getAbility("Pa2SCC"));
getShip("Sh0F")->addComponent(getComponent("We0MLC"));
getShip("Sh0F")->addComponent(getComponent("Sp1RPE"));
getShip("Sh0F")->addComponent(getComponent("Ot2SSC"));
getShip("Sh0F")->addComponent(getComponent("Ot3OCCC"));
getShip("Sh0F")->recalculateValues();
getShip("Sh1T")->addComponent(getComponent("We0MLC"));
getShip("Sh1T")->addComponent(getComponent("Sp1RPE"));
getShip("Sh1T")->addComponent(getComponent("Ot2SSC"));
getShip("Sh1T")->addComponent(getComponent("Ot3OCCC"));
getShip("Sh1T")->recalculateValues();
getShip("Sh2T")->addComponent(getComponent("We0MLC"));
getShip("Sh2T")->addComponent(getComponent("Sp1RPE"));
getShip("Sh2T")->addComponent(getComponent("Ot2SSC"));
getShip("Sh2T")->addComponent(getComponent("Ot3OCCC"));
getShip("Sh2T")->recalculateValues();