Skip to content

Commit

Permalink
Create estado_preparacion_pizzas_to_vista()
Browse files Browse the repository at this point in the history
  • Loading branch information
autosquash committed Jan 12, 2024
1 parent 0cf2d5b commit 0995c3f
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 20 deletions.
16 changes: 9 additions & 7 deletions dev/estructura.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@

- modelo/modelo.h:
- modelo/dominio.h
- modelo/modelo_shared.h

- modelo/modelo_interno.cpp:
- modelo/modelo_interno.h
Expand Down Expand Up @@ -204,6 +205,7 @@

- vista/barras_progreso.h:
- vista/componentes/barra_progreso.h
- vista/presentador.h

- vista/basicos_vista.cpp:
- vista/basicos_vista.h
Expand Down Expand Up @@ -333,21 +335,24 @@
- vista/barras_progreso.h
- vista/componentes/varios.h

- vista/presentacion_vista.h:
- vista/etiquetas/visibilidad_etiquetas_info.h

- vista/presentador.cpp:
- vista/presentador.h
- modelo/dominio.h
- modelo/modelo.h
- templates/helpers.h
- vista/vista_shared.h

- vista/presentador.h:
- modelo/modelo.h
- modelo/modelo_shared.h
- vista/vista_shared.h

- vista/vista.cpp:
- vista/vista.h
- fase_nivel.h
- templates/helpers.h
- vista/basicos_vista.h
- vista/grid.h
- vista/presentador.h
- vista/vista_data.h

- vista/vista.h:
Expand All @@ -358,6 +363,3 @@
- vista/paneles.h
- vista/presentacion_vista.h

- vista/vista_shared.h:
- modelo/dominio.h

2 changes: 2 additions & 0 deletions src/modelo/modelo_shared.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
#include <map>

struct Contadores;
struct EstadoPreparacionPizzas;
struct Pedido;

namespace dominio {
enum class TipoPizza;
Expand Down
18 changes: 10 additions & 8 deletions src/vista/barras_progreso.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,34 @@ std::vector<BarraProgresoConNombre> crear_barras_progreso(
const EstadoPreparacionPizzas &preparacion, const sf::Vector2f &pos_panel,
const sf::Font &font
) {
const auto vista_preparaciones_pizzas =
presentador::estado_preparacion_pizzas_to_vista(preparacion);

std::vector<BarraProgresoConNombre> vect{};
const int pos_x = pos_panel.x + medidas::MARGEN_IZQ_ETIQUETAS;
const int pos_y_inicial = pos_panel.y + medidas::FILA_CONTENIDO_PANEL;
const int ancho = 300;
const int largo = 40;
const auto dimensiones = sf::Vector2f(ancho, largo);
int i = 0;
for (auto &preparacion_pizza : preparacion.datos) {
for (auto &vista_preparacion_pizza : vista_preparaciones_pizzas) {
const int offset_y =
i * medidas::DIFERENCIA_VERTICAL_ENTRE_BARRAS_PROGRESO;
const int pos_y = pos_y_inicial + offset_y;
const auto posicion = sf::Vector2f(pos_x, pos_y);
const auto texto = tipo_pizza_to_string.at(preparacion_pizza.tipo);
const BPNColors bpn_colors = {
colores::barra_progreso::FONDO,
colores::barra_progreso::RELLENO,
colores::barra_progreso::TEXTO,
};
BarraProgresoConNombre bpn(
dimensiones, //
texto, //
posicion, //
bpn_colors, //
font //
dimensiones, //
vista_preparacion_pizza.nombre_pizza, //
posicion, //
bpn_colors, //
font //
);
bpn.actualizar_porcentaje(preparacion_pizza.porcentaje);
bpn.actualizar_porcentaje(vista_preparacion_pizza.porcentaje);
vect.push_back(bpn);
i++;
}
Expand Down
9 changes: 6 additions & 3 deletions src/vista/barras_progreso.h
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
#pragma once

#include "componentes/barra_progreso.h"
#include "presentador.h"
#include <vector>

struct EstadoPreparacionPizzas;

std::vector<BarraProgresoConNombre> crear_barras_progreso(
const EstadoPreparacionPizzas &preparacion, const sf::Vector2f &pos_panel,
const sf::Font &font
std::vector<BarraProgresoConNombre> crear_barras_progreso( //
const EstadoPreparacionPizzas &, //
const sf::Vector2f &pos_panel, //
const sf::Font & //
);
24 changes: 23 additions & 1 deletion src/vista/presentador.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#include "presentador.h"
#include "../modelo/dominio.h"
#include "../modelo/modelo.h"
#include "../templates/helpers.h"
#include "vista_shared.h"
#include <algorithm>
#include <cassert>
#include <iterator>
#include <vector>

namespace presentador {
std::string crea_linea_completitud_pizza(
Expand Down Expand Up @@ -52,4 +55,23 @@ namespace presentador {
return textos_preparadas;
}

VistaPreparacionPizza to_vista(EstadoPreparacionPizzaIndividual preparacion
) {
VistaPreparacionPizza vista;
vista.nombre_pizza = tipo_pizza_to_string.at(preparacion.tipo);
vista.porcentaje = preparacion.porcentaje;
return vista;
}

std::vector<VistaPreparacionPizza> estado_preparacion_pizzas_to_vista( //
const EstadoPreparacionPizzas &preparacion
) {
std::vector<VistaPreparacionPizza> vista_preparaciones_pizzas;
std::transform(
preparacion.datos.begin(), preparacion.datos.end(),
std::back_inserter(vista_preparaciones_pizzas),
presentador::to_vista
);
return vista_preparaciones_pizzas;
}
} // namespace presentador
12 changes: 11 additions & 1 deletion src/vista/presentador.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
#pragma once

#include "../modelo/modelo.h"
#include "../modelo/modelo_shared.h"
#include "vista_shared.h"
#include <string>
#include <vector>

class Pedido;
struct VistaPreparacionPizza {
std::string nombre_pizza;
int porcentaje;
};

namespace presentador {

Expand All @@ -16,4 +22,8 @@ namespace presentador {
VistaPizzasToStrings contadores_to_preparadas( //
const modelo::PizzasAContadores &
);
std::vector<VistaPreparacionPizza> estado_preparacion_pizzas_to_vista( //
const EstadoPreparacionPizzas & //
);

} // namespace presentador

0 comments on commit 0995c3f

Please sign in to comment.