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(); }
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() ); }