package net.thesocialos.client.desktop.window; import net.thesocialos.client.TheSocialOS; import net.thesocialos.client.app.IApplication; import net.thesocialos.client.desktop.DesktopEventOnClose; import net.thesocialos.client.desktop.DesktopEventOnMaximize; import net.thesocialos.client.desktop.DesktopEventOnMinimize; import net.thesocialos.client.desktop.DesktopEventOnTop; import net.thesocialos.client.desktop.DesktopEventonEndDrag; import net.thesocialos.client.desktop.DesktopUnit; import net.thesocialos.client.desktop.isFrame; import net.thesocialos.client.desktop.window.events.WindowCloseEvent; import net.thesocialos.client.desktop.window.events.WindowEndDragEvent; import net.thesocialos.client.desktop.window.events.WindowEventHandler; import net.thesocialos.client.desktop.window.events.WindowMaximizeEvent; import net.thesocialos.client.desktop.window.events.WindowMinimizeEvent; import net.thesocialos.client.desktop.window.events.WindowOnTopEvent; import net.thesocialos.client.desktop.window.events.WindowResizeEvent; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.AbsolutePanel; import com.google.gwt.user.client.ui.Frame; import com.google.gwt.user.client.ui.WindowPanelLayout; public class FrameWindow extends DesktopUnit implements IApplication, isFrame { String url = ""; String urlImage; Frame frame; public FrameWindow(String url, String name, int idProgram, boolean isSubApplication) { this(idProgram, isSubApplication, name); this.url = url; } public FrameWindow(String name, String urlImage, String url, int idProgram, boolean isSubApplication) { this(idProgram, isSubApplication, name); this.url = url; setImage(urlImage); } public FrameWindow(String url, String name, int idProgram) { this(idProgram, false, name); this.url = url; } private FrameWindow(int idProgram, boolean isSubApplication, String name) { super(idProgram, name, new WindowPanelLayout(new MyCaption(), new Footer()), TypeUnit.WINDOW, isSubApplication); frame = new Frame(); frame.setSize("560px", "315px"); windowDisplay.getWindow().add(frame); x = Window.getClientWidth() / 2 - 280; y = Window.getClientHeight() / 2 - 160; TheSocialOS.getEventBus().fireEvent(new DesktopEventOnTop(FrameWindow.this)); windowDisplay.addWindowEvents(new WindowEventHandler() { @Override public void onClose(WindowCloseEvent event) { TheSocialOS.getEventBus().fireEvent(new DesktopEventOnClose(FrameWindow.this)); } @Override public void onEndDrag(WindowEndDragEvent event) { TheSocialOS.getEventBus().fireEvent(new DesktopEventonEndDrag(FrameWindow.this)); } @Override public void onMaximize(WindowMaximizeEvent windowMaximizeEvent) { if (isMaximizable()) TheSocialOS.getEventBus().fireEvent(new DesktopEventOnMaximize(FrameWindow.this)); // addMedia((HashSet<? extends Media>) files.get(arrayPosition)); } @Override public void onMinimize(WindowMinimizeEvent windowMinimizeEvent) { if (isMinimizable()) TheSocialOS.getEventBus().fireEvent(new DesktopEventOnMinimize(FrameWindow.this, false)); } @Override public void onTop(WindowOnTopEvent event) { TheSocialOS.getEventBus().fireEvent(new DesktopEventOnTop(FrameWindow.this)); } @Override public void onResize(WindowResizeEvent event) { // addMedia((HashSet<? extends Media>) files.get(arrayPosition)); } }); } @Override public String getImage() { // TODO Auto-generated method stub return urlImage; } @Override public String getName() { // TODO Auto-generated method stub return name; } @Override public void setImage(String image) { urlImage = image; } @Override public void setName(String name) { } @Override public void close(AbsolutePanel absolutePanel) { absolutePanel.remove(windowDisplay.getWindow()); } @Override public int getZposition() { // TODO Auto-generated method stub return 0; } @Override public void open(AbsolutePanel absolutePanel) { absolutePanel.add(windowDisplay.getWindow(), x, y); windowDisplay.getWindow().setVisible(true); windowDisplay.setWindowTitle(name); frame.setUrl(url); } @Override public void toZPosition(int position) { // TODO Auto-generated method stub } public void setUrl(String url) { frame.setUrl(url); } @Override public String getUrl() { // TODO Auto-generated method stub return url; } }