コード例 #1
0
void WarehouseSpecialOrdersWindow::toggleDevastation()
{
  __D_IMPL(d, WarehouseSpecialOrdersWindow)

  d->warehouse->store().setDevastation( !d->warehouse->store().isDevastation() );
  _updateBtnDevastation();
}
コード例 #2
0
WarehouseSpecialOrdersWindow::WarehouseSpecialOrdersWindow( Widget* parent, const Point& pos, WarehousePtr warehouse )
: BaseSpecialOrdersWindow( parent, pos, defaultHeight ), __INIT_IMPL(WarehouseSpecialOrdersWindow)
{
  __D_IMPL(d, WarehouseSpecialOrdersWindow)

  setupUI( ":/gui/warehousespecial.gui");
  setTitle( _("##warehouse_orders##") );

  d->warehouse = warehouse;
  int index=0;
  for( int goodType=Good::wheat; goodType <= Good::marble; goodType++ )
  {
    const GoodOrders::Order rule = d->warehouse->store().getOrder( (Good::Type)goodType );

    if( rule != GoodOrders::none )
    {
      addOrderWidget<WarehousePtr>( index, (Good::Type)goodType, _ordersArea(), d->warehouse );
      index++;
    }
  }

  GET_DWIDGET_FROM_UI( d, btnToggleDevastation )
  GET_DWIDGET_FROM_UI( d, btnTradeCenter )

  CONNECT( d->btnToggleDevastation, onClicked(), this, WarehouseSpecialOrdersWindow::toggleDevastation );
  _updateBtnDevastation();
}
コード例 #3
0
void GranarySpecialOrdersWindow::_updateBtnDevastation()
{
  __D_IMPL(d, GranarySpecialOrdersWindow)
  d->btnToggleDevastation->setText( d->granary->store().isDevastation()
                                    ? _("##stop_granary_devastation##")
                                    : _("##devastate_granary##") );
}
コード例 #4
0
GranarySpecialOrdersWindow::GranarySpecialOrdersWindow( Widget* parent, const Point& pos, GranaryPtr granary )
: BaseSpecialOrdersWindow( parent, pos, defaultHeight ), __INIT_IMPL(GranarySpecialOrdersWindow)
{
  __D_IMPL(d, GranarySpecialOrdersWindow)

  setupUI( ":/gui/granaryspecial.gui" );

  setTitle( _("##granary_orders##") );
  int index=0;
  d->granary = granary;
  for( auto& goodType : good::foods() )
  {
    const good::Orders::Order rule = granary->store().getOrder( goodType );
    
    if( rule != good::Orders::none )
    {
      OrderGoodWidget::create( index, goodType, _ordersArea(), granary->store() );
      index++;
    }
  }

  d->btnToggleDevastation = new PushButton( this, Rect( 80, height() - 45, width() - 80, height() - 25 ),
                                             "", -1, false, PushButton::whiteBorderUp );

  CONNECT( d->btnToggleDevastation, onClicked(), this, GranarySpecialOrdersWindow::toggleDevastation );
  _updateBtnDevastation();
}
コード例 #5
0
void WarehouseSpecialOrdersWindow::_updateBtnDevastation()
{
  __D_IMPL(d, WarehouseSpecialOrdersWindow)

  d->btnToggleDevastation->setText( d->warehouse->store().isDevastation()
                                      ? _("##stop_warehouse_devastation##")
                                      : _("##devastate_warehouse##") );
}
コード例 #6
0
void GranarySpecialOrdersWindow::toggleDevastation()
{
  __D_IMPL(d, GranarySpecialOrdersWindow)
  d->granary->store().setDevastation( !d->granary->store().isDevastation() );
  _updateBtnDevastation();
}