Package Controllers

Source Code of Controllers.FrontController

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Controllers;
import Modules.CjtElements;
import Modules.CjtMap;
import Modules.CjtRestrictions;
import Modules.CjtRoomType;

import Views.MainFrame;
import java.util.ArrayList;


import java.util.Stack;
import main.AuxiliarElement;

/**
*
* @author 11.2
*/
public class FrontController {
  
    private ConfigurationController controllerConfiguration;   
    private CjtElements cjtElements; 
    private CjtRestrictions cjtRestrictions;
    private LoadController loadController;
    private CjtRoomType cjtRoomType;
    private ArrayList<Controllers.Observer> observers;
    private DesignController designController;
    private MapController mapController;
    private CjtMap cjtMap;
    private MainFrame mainFrame;
  
    /**
     * Crea un controlador frontal y incializa todas sus estructuras     
     */
    public FrontController(){       
        init();
   
    private void init(){
        this.cjtElements = new CjtElements();
        this.cjtMap = new CjtMap();
        this.mainFrame = new MainFrame(this);
        this.cjtRestrictions = new CjtRestrictions();
        this.observers = new ArrayList();
        this.cjtRoomType = new CjtRoomType(this.observers);
        this.controllerConfiguration = new ConfigurationController(this)
        this.loadController = new LoadController(this.cjtElements, this.cjtRestrictions, this.cjtRoomType, this.cjtMap);
        this.cjtRoomType.addObserver(this.cjtRestrictions);
        this.designController = new DesignController(this, this.controllerConfiguration,this.mainFrame);
        this.mapController = new MapController(this, cjtMap);     
    }
  
    /**
     * Visualiza el menu.     
     */
    public void main(){          
        mainFrame.frontView();       
    }
   
    /**
     * Carga todas las estructuras de datos.     
     */
    public void loadParameters(){
        this.loadController.loadParameters();
    }
   
    /**
     * Guarda todas las estructuras de datos.     
     */
    public void saveParameters(){
        this.loadController.saveParameters();       
    }
  
    /**
     * Selecciona la operacion deseada.
     * @param op Operacion deseada.
     */
    public void selector(String op){
        mainFrame.removeFrontView();
        if(op.equals("1")){
                this.designController.main();                            
        }      
        else if(op.equals("2")){
                this.controllerConfiguration.main();               
        }
        else if(op.equals("3")){
                this.mapController.showMaps();
        }
        else if(op.equals("exit")){          
                this.saveParameters();
                mainFrame.close();
                System.exit(0);
        }
    }  
   
    /**
     * Consultora del conjunto de elementos.  
     */
    public CjtElements getCjtElements(){
        return this.cjtElements;
    }
   
    /**
     * Consultora del conjunto de tipos de habitacion.    
     */
    public CjtRoomType getCjtRoomType(){
        return this.cjtRoomType;
    }
   
    /**
     * Consultora del conjunto de restricciones.    
     */
    public CjtRestrictions getCjtRestrictions(){
        return this.cjtRestrictions;
    }
   
    /**
     * Consultora del controlador de configuracion.    
     */
    public ConfigurationController getConfigurationController(){       
        return this.controllerConfiguration;
    }
   
    /**
     * Consultora del controlador de mapas.
     */
    public MapController getMapController(){
        return this.mapController;
    }
   
    /**
     * Consultora del controlador de diseño.
     */
    public DesignController getDesignController(){
        return this.designController;
    }
   
    /**
     * Resetea todos los valores de las estructuras de datos.   
     */
    public void resetValues(){             
        this.loadController.deleteFiles();
        this.init();      
    }
   
    /**
     * Consultora del frame.   
     */
    public MainFrame getWindow(){
        return this.mainFrame;
    }
   
    /**
     * Guarda una habitacion diseñada.
     * @param idRoom Identificador del tipo de habitacion.
     * @param x Parametro X de la dimension del mapa.
     * @param y Parametro Y de la dimension del mapa.
     * @param areaOc Area ocupada por los elementos del mapa.
     * @param cjtElem Conjunto de elementos.
     * @param nameRoom Nombre del mapa.
     * @param doors Conjunto de puertas.
     * @param windows Conjunto de ventanas.
     */
    public void saveDesignedRoom(int idRoom, int x, int y, int areaOc, Stack<AuxiliarElement> cjtElem, String nameRoom, int[][] doors, int[][] windows){       
        this.mapController.createMap(idRoom, x, y, cjtElem, nameRoom, doors, windows);        
    }
}
TOP

Related Classes of Controllers.FrontController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.