No al cierre de webs
ShareCode
Permalink: http://www.treeweb.es/u/974/ 01/02/2011

ShareCode

1 package smartResorts.client;2 3 import java.util.ArrayList;4 import java.util.HashMap;5 import java.util.Iterator;6 import java.util.LinkedList;7 import smartResorts.client.ayuda.PanelAyuda;8 import smartResorts.client.ayuda.PanelBienvenida;9 import smartResorts.client.eventos.congresos.PanelCongresos;10 import smartResorts.client.galeria.PanelGalerias;11 import smartResorts.client.materialpromocional.PanelMaterial;12 import smartResorts.client.meetme.PanelMeetMe;13 import smartResorts.client.reservas.Category;14 import smartResorts.client.reservas.MyPopUp;15 import smartResorts.client.reservas.WidgetsHorarios.PanelReservasGenerico;16 import smartResorts.client.services.BotonServicio;17 import smartResorts.client.services.ListadoServicios;18 import smartResorts.client.services.PanelServices;19 import smartResorts.client.services.SubServiceBean;20 import smartResorts.client.services.Subservices;21 import smartResorts.client.services.has_id_service;22 import smartResorts.client.traducciones.PanelTraduccion;23 import smartResorts.client.traducciones.Traducible;24 import smartResorts.client.util.ApiCalls;25 import smartResorts.client.util.StandardRequest;26 import smartResorts.client.weddings.PanelWeddings;27 28 import com.google.gwt.dom.client.Style.Unit;29 import com.google.gwt.event.dom.client.ChangeEvent;30 import com.google.gwt.event.dom.client.ChangeHandler;31 import com.google.gwt.event.dom.client.ClickEvent;32 import com.google.gwt.event.dom.client.ClickHandler;33 import com.google.gwt.json.client.JSONObject;34 import com.google.gwt.json.client.JSONParser;35 import com.google.gwt.user.client.Window;36 import com.google.gwt.user.client.ui.DockLayoutPanel;37 import com.google.gwt.user.client.ui.FlowPanel;38 import com.google.gwt.user.client.ui.HorizontalSplitPanel;39 import com.google.gwt.user.client.ui.ListBox;40 import com.google.gwt.user.client.ui.PopupPanel;41 import com.google.gwt.user.client.ui.ScrollPanel;42 import com.google.gwt.user.client.ui.SimplePanel;43 import com.google.gwt.user.client.ui.Widget;44 import smartResorts.client.social.PanelSocial;45 46 /**47  * Quieres agregar un nuevo modulo-panel-servicio?, es muy sencillo.48  * 49  * 50  * 1.- Solo hay que ir a la BBDD y agregar un id a la tabla sub-services.51  * Si el subservicio va englobado en un servicio hay que poner el identificador52  * como tal, si va en la barra superior está en la categoria "Otros".53  * 54  * 55  * 2.- Hay que agregar el subservicio en el enumerado Subservices de GWT.56  * 57  * 3.- Crear un "PanelDerecho" o FlowPanel o Popup que se lanzará cuando se invoca al58  * servicio.59  * 60  * 4.- Ir al metodo showPanel de esta clase y poner en la lista de enumerados el panel61  * a lanzar en el caso de que se pulse el botón correspondiente.62  * 63  * 64  * 65  * 66  * @author luigi67  *68  */69 70 71 @SuppressWarnings("deprecation")72 public class Estructura extends FlowPanel implements has_id_service{73  74  Subservices subservice;75  76  final FlowPanel header = new FlowPanel();77  SimplePanel logo = new SimplePanel();78  final FlowPanel center = new FlowPanel();79  80  private ListadoServicios left_panel;81  final FlowPanel right_panel = new FlowPanel();82  private PanelDerecho _ultimo_panel_activo = null;83  public static int currentTranslation = 0;84  public static Traducible current_box;85  86  private HashMap<String, Integer> chapuza_complejo = new HashMap<String, Integer>();87  private ListBox _complejos;88  private Button logout = new Button();89  private Button createComplex = new Button();90  private Button adminStrings = new Button();91  92  {93  PopupPanel aux = new PopupPanel();94  aux.setWidget(Log.getInstance());95  aux.show();96  aux.setWidth("200px");97  aux.setHeight("100px");98  }99  100  final Login dialog_login = new Login(new MyCallback<String>() {101 102  @Override103  public void onDone(String result) {104  try{105  Log.log("Va a montar la estructura");106  montarEstructura();107  108  }catch(Exception ex){109  Log.log("Esto revienta");110  }111  }112  @Override113  public void onError(String t) {114  115  }116  });117  118  119  public Estructura() {120  setStyleName("estructura");121  }122  123  private void montarEstructura() {124  125  left_panel = new ListadoServicios(this,false);126  Log.log("Inicializando");127  SmartResorts2_2.centrado_vertical.setVisible(true);128  129  // Cabecera130  header.setStyleName("cabecera");131  add(header);132  133  Log.log("Inicializando");134  135  // Logo136  logo.setStyleName("logo");137  add(logo);138  139  // Big menu140  add(left_panel);141  142  // Center143  right_panel.setStyleName("center");144  add(right_panel);145 146  // Botones de la cabecera147  final ArrayList<BotonServicio> cabeceraBotones = new ArrayList<BotonServicio>();148  try{149  LinkedList<SubServiceBean> auxServices = Global.getSubServices();150  for (int i = 0; i < auxServices.size();i++){151  SubServiceBean sb = auxServices.get(i);152  if (sb == null)153  Log.log("Esto es nulo");154  Log.log("Va a comprobar un boton");155  if (sb.location() == 1){ // Hacer enum para la localizacion.156  Subservices ss = Subservices.values()[sb.getId()];157  Log.log("Va a configurar el id " + sb.getId());158  final BotonServicio auxButton = new BotonServicio(ss);159  auxButton.setText(sb.getName());160  cabeceraBotones.add(auxButton);161  auxButton.setStyleName("gwt-Button boton_cabecera boton_" + i);162  auxButton.setVisible(true);163  header.add(auxButton);164  165  // Inicializamos el clickHandler.166  auxButton.addClickHandler(new ClickHandler() {167  @Override168  public void onClick(ClickEvent event) {169  showPanel(auxButton.getId_service());170  }171  });172  } // Del if.173  }174  Log.log("Inicializa los botones"); 175  176  }catch(Exception ex){177  Log.log("Peta al inicializar la cabecera");178  Log.log(ex);179  } 180  181  // Combo182  if (Global.user_type == "MOBAIL" || Global.user_type == "CORPORATIVO") {183  _complejos = new ListBox();184  header.add(_complejos);185  186  _complejos.addChangeHandler(new ChangeHandler() {187  188  @Override189  public void onChange(ChangeEvent event) {190  191  new StandardRequest(ApiCalls.set_user_complex, new MyCallback<String>() {192  193  @Override194  public void onError(String t) {}195  @Override196  public void onDone(String result) {197  if (_ultimo_panel_activo != null)198  _ultimo_panel_activo.reload();199  Global.id_complex=_complejos.getValue(_complejos.getSelectedIndex());200  201  }202  },"id_complex="+_complejos.getValue(_complejos.getSelectedIndex()));203  204  }205  });206  207  _complejos.clear();208  chapuza_complejo.clear();209  210  211  // Aqui va la peticion.212  new StandardRequest(ApiCalls.get_complex_list, new MyCallback<String>() {213  214  @Override215  public void onError(String t) {}216  @Override217  public void onDone(String result) {218  219  JSONObject complejos = JSONParser.parseStrict(result).isObject();220  Iterator<String> it = complejos.keySet().iterator();221  int i = 0;222  while (it.hasNext()) {223  String key = (String) it.next();224  JSONObject complejo = complejos.get(key).isObject();225  _complejos.addItem(complejo.get("name").isString().stringValue(), ""+complejo.get("id").isNumber().doubleValue());226  chapuza_complejo.put(""+complejo.get("id").isNumber().doubleValue(), i);227  i++;228  }229  230  _complejos.setSelectedIndex(chapuza_complejo.get(Global.id_complex));231  232  }233  },"");234  235  }236  237  //setPanel(new PanelSplash());238  setPanel(new PanelDemo());239  240  // Mostramos ayuda si no se ha marcado que el usuario no quiere volver a verla.241  if (Global.show_wellcome){242  PanelBienvenida pb = new PanelBienvenida();243  pb.center();244  pb.show();245  }246  }247  248  public FlowPanel getHeader() {249  return header;250  }251  252  253  public void setPanel(Widget w) {254  right_panel.clear();255  right_panel.add(w);256  _ultimo_panel_activo = (PanelDerecho) w;257  }258  259  public void setPanelScroll(Widget w) {260  setPanel(w);261  /*262  right_panel.clear();263  right_panel.add(right_panel_scroll);264  right_panel_scroll.clear();265  right_panel_scroll.add(right_panel_scroll_content);266  right_panel_scroll_content.clear();267  right_panel_scroll_content.add(w);268  _ultimo_panel_activo = (PanelDerecho) w;269  */270  }271  272  private void showPanel(Subservices ss){273  274  Widget aux = null;275  Log.log("Te va a mostrar un panel");276  boolean useScrollPanel = false;277  278  279  switch(ss){280  case Info:aux = new PanelInfo();break;281  case Excursiones: aux = new PanelExcursiones();break;282  case Customer_alerts: aux = new PanelAlertasC(1);break;283  case Pre_customer_alerts: aux = new PanelAlertasC(0);break;284  case Post_costumer_alerts: aux = new PanelAlertasC(2);break;285  case Estadisticas: aux = new PanelEstadisticasAlertas();break;286  case Feedback: aux = new PanelFeedbackAlertas();break;287  case Instalaciones: aux = new PanelInstalaciones();break;288  case Actividades: aux = new PanelActividades();break;289  case Mapa: aux = new PanelMapa();break;290  case Habitaciones: aux = new PanelHabitaciones();break;291  case Restaurantes: aux = new PanelReservasGenerico(Category.Restaurantes);break;292  case Spas: aux = new PanelReservasGenerico(Category.Spas);break;293  case Deportes: aux = new PanelReservasGenerico(Category.Deportes);break;294  case Cliente: aux = new ReservasCliente();break;295  case Social: aux = new PanelSocial();break;296  case Empleados: aux = new PanelEmpleados();useScrollPanel = true;break;297  case Clientes: aux = new PanelClientes();break;298  case Post_costumers:aux = new PanelClientes(2);break;299  case Tour_operators:aux = new PanelTourOperators();break;300  case Filtros: aux = new PanelFiltros();break;301  case Configuración:aux = new PanelConfiguration();break;302  case Traducir: aux = (Estructura.currentTranslation == 0)?null:new PanelTraduccion(Estructura.currentTranslation);303  if (aux == null)304  Estructura.showMessage("Debe seleccionar un cuadro de texto para realizar una traducción a otro idioma");305  break;306  307  case Ayuda: aux = new PanelAyuda();break;308  case Services: aux = new PanelServices();break;309  case Publicar: SmartResorts2_2.publish();break;310  311  case MeetMe: aux = new PanelMeetMe();break;312  case Material_promocional: aux = new PanelMaterialPromocional();break;313  case Paneles: aux = new PanelPaneles();break;314  315  case Galerias: aux = new PanelGalerias();break;316  case Congresos: aux = new PanelCongresos();break;317  case Bodas: aux = new PanelWeddings();318  319  320  // Servicios muertos.321  //case Temas: aux = new PanelThemes();break; // Servicio muerto322  // case Pantallas: aux = new PanelScreens();break; // Servicio muerto323  324  325  326  327  }328  329  if (aux == null)330  Log.log("El panel es nulo");331  332  else if (aux instanceof MyPopUp){333  MyPopUp panel = (MyPopUp)aux;334  /*panel.center();*/335  panel.show();336  } else if (aux instanceof PopUp2) {337  PopUp2 panel = (PopUp2)aux;338  panel.show();339  }340  else setPanel(aux);341 342  }343  344  345 346  @Override347  public Subservices get_id_subservice() {348  // TODO Auto-generated method stub349  return subservice;350  }351 352  @Override353  public void set_id_subservice(Subservices subservice) {354  355  // Desde aqui invocamos al subservicio correspondiente.356  this.subservice = subservice;357  showPanel(Subservices.values()[subservice.ordinal()]);358  }359 }360 
Enlace
El enlace para compartir es: