package net.thesocialos.client.desktop.window;
import net.thesocialos.client.desktop.window.events.WindowCloseEvent;
import net.thesocialos.client.desktop.window.events.WindowMaximizeEvent;
import net.thesocialos.client.desktop.window.events.WindowMinimizeEvent;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.MouseDownHandler;
import com.google.gwt.event.dom.client.MouseMoveHandler;
import com.google.gwt.event.dom.client.MouseOutHandler;
import com.google.gwt.event.dom.client.MouseOverHandler;
import com.google.gwt.event.dom.client.MouseUpHandler;
import com.google.gwt.event.dom.client.MouseWheelHandler;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.WindowPanelLayout.Caption;
import com.google.web.bindery.event.shared.SimpleEventBus;
public class MyCaption extends SimplePanel implements Caption {
HorizontalPanel panel = new HorizontalPanel();
Label label = new Label();
Menu menu = new Menu();
SimpleEventBus windowEventBus;
HandlerRegistration reg;
public MyCaption() {
setStyleName("Caption");
panel.setVerticalAlignment(HasVerticalAlignment.ALIGN_BOTTOM);
panel.setSize("100%", "100%");
this.add(panel);
label.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
// fPanel.setSize("100%", "100%");
// fPanel.add(label);
panel.add(label);
label.setSize("100%", "15px");
panel.setCellWidth(label, "100%");
panel.setCellVerticalAlignment(label, HasVerticalAlignment.ALIGN_MIDDLE);
// panel.setCellHorizontalAlignment(fPanel, HasHorizontalAlignment.ALIGN_CENTER);
// panel.setCellVerticalAlignment(fPanel, HasVerticalAlignment.ALIGN_MIDDLE);
panel.add(menu);
menu.setWidth("1");
panel.setCellHorizontalAlignment(menu, HasHorizontalAlignment.ALIGN_RIGHT);
menu.setWidth("1");
menu.getBtnMin().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
windowEventBus.fireEvent(new WindowMinimizeEvent());
}
});
menu.getBtnMax().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
windowEventBus.fireEvent(new WindowMaximizeEvent());
}
});
menu.getBtnClose().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
windowEventBus.fireEvent(new WindowCloseEvent());
}
});
}
@Override
public HandlerRegistration addMouseDownHandler(MouseDownHandler handler) {
// TODO Auto-generated method stub
// return addMouseDownHandler(handler);//fPanel.addMouseDownHandler(handler);
return label.addMouseDownHandler(handler);
}
@Override
public HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler) {
// TODO Auto-generated method stub
return null;
}
@Override
public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) {
// TODO Auto-generated method stub
return null;
}
@Override
public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) {
// TODO Auto-generated method stub
return null;
}
@Override
public HandlerRegistration addMouseUpHandler(MouseUpHandler handler) {
// TODO Auto-generated method stub
return null;
}
@Override
public HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler) {
// TODO Auto-generated method stub
return null;
}
/**
* Add a window EventBus
*
* @param windowEventBus
*/
@Override
public void addWindowEventBus(SimpleEventBus windowEventBus) {
this.windowEventBus = windowEventBus;
}
@Override
public int getHeight() {
// TODO Auto-generated method stub
return this.getOffsetHeight();
}
@Override
public String getHTML() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getText() {
return label.getText();
}
@Override
public void setHTML(SafeHtml html) {
// TODO Auto-generated method stub
}
@Override
public void setHTML(String html) {
// TODO Auto-generated method stub
}
@Override
public void setText(String text) {
label.setText(text);
}
}