Advertisement
Fhernd

ControlAvion.cs

Jul 2nd, 2015
4,154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.73 KB | None | 0 0
  1. // ===++===
  2. //
  3. //    OrtizOL - xCSw
  4. //
  5. //  Proyecto: Cupi2.NET
  6. //
  7. // ===--===
  8. /*============================================================
  9. //
  10. // Clase(s): ControlAvion.
  11. //
  12. // Propósito: Representar una avión gráfica.
  13. //
  14. // Original: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/avion/visualizacion-codigo/panelavion
  15. //
  16. ============================================================*/
  17. using System;
  18. using System.Collections.Generic;
  19. using System.ComponentModel;
  20. using System.Drawing;
  21. using System.Data;
  22. using System.Linq;
  23. using System.Text;
  24. using System.Threading.Tasks;
  25. using System.Windows.Forms;
  26. using ElAvión.Modelo;
  27.  
  28. namespace ElAvión.GUI
  29. {
  30.     /// <summary>
  31.     /// Clase que representa el control personalizado de avión gráfica.
  32.     /// </summary>
  33.     public partial class ControlAvion : UserControl
  34.     {
  35.         #region Campos:
  36.         /// <summary>
  37.         /// Instancia de referencia al objeto `Avion` principal.
  38.         /// </summary>
  39.         private Avion m_avion;
  40.         #endregion
  41.  
  42.         #region Constructores
  43.         /// <summary>
  44.         /// Crea un nuevo control avión gráfica.
  45.         /// </summary>
  46.         public ControlAvion()
  47.         {
  48.             InitializeComponent();
  49.         }
  50.  
  51.         /// <summary>
  52.         /// Crea un nuevo control avión gráfica.
  53.         /// </summary>
  54.         /// <param name="avion">Referencia a objeto `Avion` principal.</param>
  55.         public ControlAvion(Avion avion)
  56.         {
  57.             InitializeComponent();
  58.  
  59.             m_avion = avion;
  60.  
  61.             DibujarSillasEjecutivas();
  62.             DibujarSillasEconomicas();
  63.         }
  64.         #endregion
  65.        
  66.         #region Métodos privados:
  67.         /// <summary>
  68.         /// Dibuja las sillas económicas con la iconografía y textos respectivos.
  69.         /// </summary>
  70.         private void DibujarSillasEconomicas()
  71.         {
  72.             Silla[] sillasEconomicas = m_avion.ObtenerSillasEconomicas();
  73.             Silla silla;
  74.             byte fila_silla = 0;
  75.             byte col_silla = 0;
  76.             ControlSillaGrafica ctlSillaGrafica;
  77.  
  78.             for(int num_silla = 0; num_silla < sillasEconomicas.Length; ++num_silla)
  79.             {
  80.                 silla = sillasEconomicas[num_silla];
  81.                 ctlSillaGrafica = new ControlSillaGrafica(silla);
  82.                 ctlSillaGrafica.Dock = DockStyle.Fill;
  83.                 ctlSillaGrafica.BackColor = Color.Black;
  84.  
  85.                 if (num_silla > 0 & num_silla % 6 == 0)
  86.                 {
  87.                     ++fila_silla;
  88.                     col_silla = 0;
  89.                 }
  90.  
  91.                 tplSillasEconomicas.Controls.Add(ctlSillaGrafica, col_silla == 3? ++col_silla : col_silla, fila_silla);
  92.  
  93.                 ++col_silla;
  94.             }
  95.         }
  96.  
  97.         /// <summary>
  98.         /// Dibuja las sillas ejecutivas con la iconografía y textos respectivos.
  99.         /// </summary>
  100.         private void DibujarSillasEjecutivas()
  101.         {
  102.             Silla[] sillasEjecutivas = m_avion.ObtenerSillasEjecutivas();
  103.             Silla silla;
  104.  
  105.             for (int num_silla = 0; num_silla < sillasEjecutivas.Length; ++num_silla)
  106.             {
  107.                 silla = sillasEjecutivas[num_silla];
  108.  
  109.                 ControlSillaGrafica ctlSillaGrafica = new ControlSillaGrafica(silla);
  110.                 ctlSillaGrafica.Dock = DockStyle.Fill;
  111.                 ctlSillaGrafica.BackColor = Color.Black;
  112.  
  113.                 switch (silla.Numero)
  114.                 {
  115.                     case 1:
  116.                         tlpSillasEjecutivas.Controls.Add(ctlSillaGrafica, 0, 0);
  117.                         break;
  118.  
  119.                     case 2:
  120.                         tlpSillasEjecutivas.Controls.Add(ctlSillaGrafica, 1, 0);
  121.                         break;
  122.  
  123.                     case 3:
  124.                         tlpSillasEjecutivas.Controls.Add(ctlSillaGrafica, 3, 0);
  125.                         break;
  126.  
  127.                     case 4:
  128.                         tlpSillasEjecutivas.Controls.Add(ctlSillaGrafica, 4, 0);
  129.                         break;
  130.  
  131.                     case 5:
  132.                         tlpSillasEjecutivas.Controls.Add(ctlSillaGrafica, 0, 1);
  133.                         break;
  134.  
  135.                     case 6:
  136.                         tlpSillasEjecutivas.Controls.Add(ctlSillaGrafica, 1, 1);
  137.                         break;
  138.  
  139.                     case 7:
  140.                         tlpSillasEjecutivas.Controls.Add(ctlSillaGrafica, 3, 1);
  141.                         break;
  142.  
  143.                     case 8:
  144.                         tlpSillasEjecutivas.Controls.Add(ctlSillaGrafica, 4, 1);
  145.                         break;
  146.                 }
  147.  
  148.                 ctlSillaGrafica.Size = new Size(21, 23);
  149.             }
  150.         }
  151.         #endregion
  152.     }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement