Exemplo n.º 1
0
GuiInfoGranary::GuiInfoGranary( Widget* parent, const Tile& tile )
    : GuiInfoBox( parent, Rect( 0, 0, 510, 280 ), -1 ), _gd( new Impl )
{
  _gd->building = tile.getTerrain().getOverlay().as<Granary>();
  Size btnOrdersSize( 350, 20 );
  _gd->btnOrders = new PushButton( this, Rect( Point( (getWidth() - btnOrdersSize.getWidth())/ 2, getHeight() - 34 ), btnOrdersSize), 
                                   _("##special_orders##"), -1, false, PushButton::WhiteBorderUp );
  CONNECT( _gd->btnOrders, onClicked(), this, GuiInfoGranary::showSpecialOrdersWindow );

  setTitle( BuildingDataHolder::instance().getData( _gd->building->getType()).getPrettyName() );

  paint();
}
Exemplo n.º 2
0
InfoBoxWarehouse::InfoBoxWarehouse( Widget* parent, const Tile& tile )
  : InfoBoxSimple( parent, Rect( 0, 0, 510, 360 ), Rect( 16, 225, 510 - 16, 225 + 62 ) )
{
  _warehouse = tile.getOverlay().as<Warehouse>();

  Size btnOrdersSize( 350, 20 );
  PushButton* btnOrders = new PushButton( this, Rect( Point( (getWidth() - btnOrdersSize.getWidth()) / 2, getHeight() - 34 ), btnOrdersSize ),
                                          _("##special_orders##"), -1, false, PushButton::whiteBorderUp );

  CONNECT( btnOrders, onClicked(), this, InfoBoxWarehouse::showSpecialOrdersWindow );

  setTitle( MetaDataHolder::getPrettyName( _warehouse->getType() ) );

  // summary: total stock, free capacity
  int _paintY = _getTitle()->getBottom();

  drawGood(Good::wheat,     0, _paintY+25);
  drawGood(Good::vegetable, 0, _paintY+50);
  drawGood(Good::fruit,     0, _paintY+75);
  drawGood(Good::olive,     0, _paintY+100);
  drawGood(Good::grape,     0, _paintY+125);
  drawGood(Good::fish,      0, _paintY+150);

  drawGood(Good::meat,      1, _paintY+25);
  drawGood(Good::wine,      1, _paintY+50);
  drawGood(Good::oil,       1, _paintY+75);
  drawGood(Good::iron,      1, _paintY+100);
  drawGood(Good::timber,    1, _paintY+125);

  drawGood(Good::clay,      2, _paintY+25);
  drawGood(Good::marble,    2, _paintY+50);
  drawGood(Good::weapon,    2, _paintY+75);
  drawGood(Good::furniture, 2, _paintY+100);
  drawGood(Good::pottery,   2, _paintY+125);

  _drawWorkers( Point( 16 + 20, 225 + 10 ), 542, _warehouse->getMaxWorkers(), _warehouse->getWorkersCount() );
}