diff --git a/modules/gwtorganise/.classpath b/modules/gwtorganise/.classpath index a240a4e4..f3207544 100644 --- a/modules/gwtorganise/.classpath +++ b/modules/gwtorganise/.classpath @@ -4,8 +4,9 @@ - - + + + diff --git a/modules/gwtorganise/.settings/com.google.appengine.eclipse.core.prefs b/modules/gwtorganise/.settings/com.google.appengine.eclipse.core.prefs index 1a43c478..2d415391 100644 --- a/modules/gwtorganise/.settings/com.google.appengine.eclipse.core.prefs +++ b/modules/gwtorganise/.settings/com.google.appengine.eclipse.core.prefs @@ -1,3 +1,3 @@ -#Sun Aug 30 20:30:24 NZST 2009 +#Tue Dec 22 13:14:57 NZDT 2009 eclipse.preferences.version=1 -filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.2.2.jar|datanucleus-appengine-1.0.2.final.jar|datanucleus-core-1.1.4-gae.jar|datanucleus-jpa-1.1.4.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-ea.jar +filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.2.5.jar|appengine-api-labs-1.2.5.jar|datanucleus-appengine-1.0.3.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar diff --git a/modules/gwtorganise/.settings/com.google.gdt.eclipse.core.prefs b/modules/gwtorganise/.settings/com.google.gdt.eclipse.core.prefs new file mode 100644 index 00000000..62909a5c --- /dev/null +++ b/modules/gwtorganise/.settings/com.google.gdt.eclipse.core.prefs @@ -0,0 +1,3 @@ +#Thu Dec 31 12:58:02 NZDT 2009 +eclipse.preferences.version=1 +jarsExcludedFromWebInfLib= diff --git a/modules/gwtorganise/.settings/com.google.gwt.eclipse.core.prefs b/modules/gwtorganise/.settings/com.google.gwt.eclipse.core.prefs index 3e2783ad..661aaef1 100644 --- a/modules/gwtorganise/.settings/com.google.gwt.eclipse.core.prefs +++ b/modules/gwtorganise/.settings/com.google.gwt.eclipse.core.prefs @@ -1,4 +1,5 @@ -#Thu Sep 24 11:47:04 NZST 2009 +#Tue Jan 26 16:51:26 NZDT 2010 eclipse.preferences.version=1 +entryPointModules= filesCopiedToWebInfLib=gwt-servlet.jar gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBW11dPjwvZXh0cmEtYXJncz48dm0tYXJncz48IVtDREFUQVstWG14NTEybV1dPjwvdm0tYXJncz48L2d3dC1jb21waWxlLXNldHRpbmdzPg\=\= diff --git a/modules/gwtorganise/controllers/admin_upload_configure.php b/modules/gwtorganise/controllers/admin_upload_configure.php new file mode 100644 index 00000000..27266194 --- /dev/null +++ b/modules/gwtorganise/controllers/admin_upload_configure.php @@ -0,0 +1,45 @@ +validate()) { + + upload_configuration::extractForm($form); + message::success(t("GWTOrganise Module Configured!")); + } + } + else + { + upload_configuration::populateForm($form); + } + + print $form; + } +} diff --git a/modules/gwtorganise/controllers/json_album.php b/modules/gwtorganise/controllers/json_album.php index 70743e3d..bd378b10 100644 --- a/modules/gwtorganise/controllers/json_album.php +++ b/modules/gwtorganise/controllers/json_album.php @@ -34,7 +34,7 @@ class Json_Album_Controller extends Controller { $item = ORM::factory("item", $item_id); access::required("view", $item); - $children = $item->children(null, 0, $where); + $children = $item->children(null, null, $where); $encoded = array(); foreach ($children as $id => $child){ $encoded[$id] = self::child_json_encode($child); @@ -44,7 +44,7 @@ class Json_Album_Controller extends Controller { } function is_admin() { - if (user::active()->admin) { + if (identity::active_user()->admin) { print json_encode(array("result" => "success", "csrf" => access::csrf_token())); return; } @@ -53,8 +53,7 @@ class Json_Album_Controller extends Controller { } function albums($item_id) { - - print $this->child_elements($item_id,array("type" => "album")); + print $this->child_elements($item_id, array(array("type", "=", "album"))); } function children($item_id){ @@ -102,7 +101,11 @@ class Json_Album_Controller extends Controller { $i = 0; foreach ($album->children() as $child) { // Do this directly in the database to avoid sending notifications - Database::Instance()->update("items", array("weight" => ++$i), array("id" => $child->id)); + b::build() + ->update("items") + ->set("weight", ++$i) + ->where("id", "=", $child->id) + ->execute(); } $album->sort_column = "weight"; $album->sort_order = "ASC"; @@ -118,15 +121,19 @@ class Json_Album_Controller extends Controller { // Make a hole $count = count($source_ids); - Database::Instance()->query( - "UPDATE {items} " . - "SET `weight` = `weight` + $count " . - "WHERE `weight` >= $target_weight AND `parent_id` = {$album->id}"); - + db::build() + ->update("items") + ->set("weight", new Database_Expression("`weight` + $count")) + ->where("weight", ">=", $target_weight) + ->where("parent_id", "=", $album->id) + ->execute(); // Insert source items into the hole foreach ($source_ids as $source_id) { - Database::Instance()->update( - "items", array("weight" => $target_weight++), array("id" => $source_id)); + db::build() + ->update("items") + ->set("weight", $target_weight++) + ->where("id", "=", $source_id) + ->execute(); } module::event("album_rearrange", $album); @@ -232,7 +239,7 @@ class Json_Album_Controller extends Controller { } if ($degrees) { - graphics::rotate($item->file_path(), $item->file_path(), array("degrees" => $degrees)); + gallery_graphics::rotate($item->file_path(), $item->file_path(), array("degrees" => $degrees)); list($item->width, $item->height) = getimagesize($item->file_path()); $item->resize_dirty= 1; @@ -253,5 +260,18 @@ class Json_Album_Controller extends Controller { print json_encode(self::child_json_encode($item)); } + public function resize_config(){ + if (upload_configuration::isResize()) + { + print json_encode(array( + "resize" => true, + "max_width" => upload_configuration::getMaxWidth(), + "max_height" => upload_configuration::getMaxHeight())); + } + else + { + print json_encode(array("resize" => false)); + } + } } \ No newline at end of file diff --git a/modules/gwtorganise/helpers/gwtorganise_installer.php b/modules/gwtorganise/helpers/gwtorganise_installer.php index f06e911d..ca3f6842 100644 --- a/modules/gwtorganise/helpers/gwtorganise_installer.php +++ b/modules/gwtorganise/helpers/gwtorganise_installer.php @@ -22,6 +22,9 @@ class gwtorganise_installer { static function install(){ module::set_version("gwtorganise", 1); + upload_configuration::setResize(false); + upload_configuration::setMaxWidth(500); + upload_configuration::setMaxHeight(400); } static function activate() { } diff --git a/modules/gwtorganise/helpers/upload_configuration.php b/modules/gwtorganise/helpers/upload_configuration.php new file mode 100644 index 00000000..41c20770 --- /dev/null +++ b/modules/gwtorganise/helpers/upload_configuration.php @@ -0,0 +1,70 @@ + "gConfigureForm")); + $group = $form->group("configure")->label(t("Configure Upload Options")); + $group->checkbox("resize")->label(t("Resize before upload"))->id("gResize"); + $group->input("max_width")->label(t("Max Width"))->id("gMaxWidth"); + $group->input("max_height")->label(t("Max Height"))->id("gMax Height"); + $group->submit("")->value(t("Save")); + return $form; + } + + static function populateForm($form){ + $form->configure->resize->checked(upload_configuration::isResize()); + $form->configure->max_width->value(upload_configuration::getMaxWidth()); + $form->configure->max_height->value(upload_configuration::getMaxHeight()); + } + + static function extractForm($form){ + $resize = $form->configure->resize->value; + $max_width = $form->configure->max_width->value; + $max_height= $form->configure->max_height->value; + upload_configuration::setResize($resize); + upload_configuration::setMaxWidth($max_width); + upload_configuration::setMaxHeight($max_height); + } + + static function isResize(){ + return module::get_var("gwtorganise","resize"); + } + + static function getMaxWidth(){ + return intval(module::get_var("gwtorganise","max_width")); + } + + static function getMaxHeight(){ + return intval(module::get_var("gwtorganise","max_height")); + } + + static function setResize($isResize){ + module::set_var("gwtorganise","resize",$isResize); + } + + static function setMaxWidth($max_width){ + module::set_var("gwtorganise","max_width",$max_width); + } + + static function setMaxHeight($max_height){ + module::set_var("gwtorganise","max_height",$max_height); + } +} \ No newline at end of file diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/G3viewer.gwt.xml b/modules/gwtorganise/src/com/gloopics/g3viewer/G3viewer.gwt.xml index 02bcf924..389a35ef 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/G3viewer.gwt.xml +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/G3viewer.gwt.xml @@ -2,8 +2,10 @@ - + + + + @@ -11,4 +13,21 @@ + + + + + + + + + + + + + + + + + diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Album.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Album.java index 7667005a..cb0be367 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Album.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Album.java @@ -62,7 +62,7 @@ public class Album extends TreeItem { public Album(JSONObject jsonObject, G3Viewer a_Container) { - m_ID = (int)((JSONNumber)jsonObject.get("id")).doubleValue(); + m_ID = Utils.extractId(jsonObject.get("id")); m_Title = ((JSONString)jsonObject.get("title")).stringValue(); m_Sort = ((JSONString)jsonObject.get("sort")).stringValue(); @@ -233,7 +233,9 @@ public class Album extends TreeItem { for (int i = 0; i < jsonArray.size(); ++i) { JSONObject jso = (JSONObject)jsonArray.get(i); - int id = (int)((JSONNumber)jso.get("id")).doubleValue(); + + + int id = Utils.extractId(jso.get("id")); if (m_IDtoAlbum.containsKey(id)) { @@ -268,7 +270,7 @@ public class Album extends TreeItem { * moves the given array of ids to this album */ public void moveTo(JSONArray a_Ids){ - Loading.getInstance().loading(); + Loading.getInstance().loading("Moving Items.."); m_Container.doJSONRequest(G3Viewer.MOVE_TO_ALBUM_URL + getId() + "?sourceids=" + a_Ids.toString(), new HttpSuccessHandler() { @@ -287,7 +289,7 @@ public class Album extends TreeItem { */ public void rearrangeTo(JSONArray a_Ids, Item m_CompareTo, boolean m_Before){ - Loading.getInstance().loading(); + Loading.getInstance().loading("Re-arranging.."); String bora = m_Before?"before":"after"; m_Container.doJSONRequest(G3Viewer.REARRANGE_URL + m_CompareTo.getID() + "/" + bora @@ -334,7 +336,7 @@ public class Album extends TreeItem { public void select() { - Loading.getInstance().loading(); + Loading.getInstance().loading("Loading Contents.."); m_Container.doJSONRequest(G3Viewer.VIEW_CHILDREN_URL + getId(), new HttpSuccessHandler() { @@ -362,7 +364,7 @@ public class Album extends TreeItem { for (int i = 0; i < jsonArray.size(); ++i) { jso = (JSONObject)jsonArray.get(i); - id = (int)((JSONNumber)jso.get("id")).doubleValue(); + id = Utils.extractId(jso.get("id")); if (m_IDtoItem.containsKey(id)){ item = m_IDtoItem.get(id); @@ -414,24 +416,40 @@ public class Album extends TreeItem { desktop.openFiles(new OpenFilesHandler() { public void onOpenFiles(OpenFilesEvent event) { - File[] files = event.getFiles(); - UploadFile uf; - for (File file : files){ - uf = new UploadFile(Album.this, file); - m_View.addToView(uf); - m_UploadQueue.addLast(uf); - } - - if (!m_Running){ - m_Running = true; - next(); - } - + uploadFiles(event.getFiles()); } }, false); } + public void uploadFiles(final File[] files){ + + m_Container.doJSONRequest(G3Viewer.RESIZE_DETAILS_URL, new HttpSuccessHandler() { + + public void success(JSONValue a_Value) { + JSONObject jso = a_Value.isObject(); + if (jso != null) { + + ResizeOptions ro = new ResizeOptions(jso); + UploadFile uf; + for (File file : files){ + uf = new UploadFile(Album.this, file, ro); + m_View.addToView(uf); + m_UploadQueue.addLast(uf); + m_Container.addUpload(uf); + } + + if (!m_Running){ + m_Running = true; + next(); + } + } + } + },false); + + + } + public void addPendingDownloads() { for (UploadFile uf: m_UploadQueue) @@ -443,6 +461,7 @@ public class Album extends TreeItem { public void finishedUpload(UploadFile uf, JSONValue a_Return) { m_UploadQueue.remove(uf); + m_Container.removeUpload(uf); next(); JSONObject jo = a_Return.isObject(); diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/AsyncResizer.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/AsyncResizer.java new file mode 100644 index 00000000..03a7aaaf --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/AsyncResizer.java @@ -0,0 +1,58 @@ +package com.gloopics.g3viewer.client; + +import com.gloopics.g3viewer.client.canvas.Canvas; + +import com.google.gwt.core.client.RunAsyncCallback; +import com.google.gwt.gears.client.blob.Blob; + +public class AsyncResizer implements RunAsyncCallback{ + + private final Blob m_Blob; + + private final UploadFile m_UploadFile; + + private final ResizeOptions m_ResizeOptions; + + public AsyncResizer(Blob a_Blob, UploadFile a_UploadFile){ + m_Blob = a_Blob; + m_UploadFile = a_UploadFile; + m_ResizeOptions = a_UploadFile.getResizeOptions(); + } + + @Override + public void onFailure(Throwable reason) { + G3Viewer.displayError("Error Resizing image", reason.toString()); + } + + @Override + public void onSuccess() { + // resize file + Canvas upThumb = com.gloopics.g3viewer.client.canvas.Factory.getInstance().createCanvas(); + upThumb.decode(m_Blob); + + + int imageWidth = upThumb.getWidth(); + int imageHeight = upThumb.getHeight(); + + int widthRatio = imageWidth/m_ResizeOptions.getMaxWidth(); + int heightRatio = imageHeight/m_ResizeOptions.getMaxHeight(); + + if (widthRatio > heightRatio){ + if (widthRatio > 1) { + upThumb.resize(m_ResizeOptions.getMaxWidth(), imageHeight / widthRatio ); + m_UploadFile.uploadBlob(upThumb.encode()); + } + } + else + { + if (heightRatio > 1){ + upThumb.resize(imageWidth / heightRatio, m_ResizeOptions.getMaxHeight()); + m_UploadFile.uploadBlob(upThumb.encode()); + } + } + + + } + + +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/G3Viewer.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/G3Viewer.java index a05f1f8c..d520319b 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/G3Viewer.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/G3Viewer.java @@ -19,6 +19,7 @@ package com.gloopics.g3viewer.client; import com.allen_sauer.gwt.dnd.client.PickupDragController; import com.google.gwt.dom.client.Document; import com.google.gwt.dom.client.InputElement; +import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.http.client.RequestBuilder; @@ -30,6 +31,7 @@ import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.Event; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.DialogBox; +import com.google.gwt.user.client.ui.DockLayoutPanel; import com.google.gwt.user.client.ui.DockPanel; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HorizontalSplitPanel; @@ -128,12 +130,22 @@ public class G3Viewer { * rotate url */ public static final String ROTATE_URL = BASE_URL + "index.php/json_album/rotate/"; - + + /** + * Resize details URL + */ + public static final String RESIZE_DETAILS_URL = BASE_URL + "index.php/json_album/resize_config"; + /* * tree */ private final AlbumTree m_Tree; + /** + * the info panel + */ + private final InformationBar m_InfoBar; + /** * the only image dialog box */ @@ -221,7 +233,9 @@ public class G3Viewer { m_DragController.setBehaviorDragStartSensitivity(5); m_DragController.setBehaviorDragProxy(true); + m_InfoBar = new InformationBar(this); m_Tree = new AlbumTree(this); + checkAdmin(); } @@ -293,6 +307,13 @@ public class G3Viewer { return m_View; } + public void addUpload(UploadFile a_UF){ + m_InfoBar.addUpload(a_UF); + } + + public void removeUpload(UploadFile a_UF){ + m_InfoBar.removeUpload(a_UF); + } public void doDialog(String a_Url, HttpDialogHandler a_Handler) @@ -328,8 +349,24 @@ public class G3Viewer { @Override public void onError(Throwable aThrowable) { - displayError("Unexpected Error", + + if (aThrowable.getCause() != null) + { + StringBuffer stack = new StringBuffer(); + StackTraceElement[] stes = aThrowable.getCause().getStackTrace(); + for (StackTraceElement ste: stes){ + stack.append(ste.toString()); + stack.append(" \n "); + } + displayError("a Unexpected Error ", + aThrowable.toString() + " - " + a_URL + "\n " + stack.toString()); + + } + else + { + displayError("a Unexpected Error ", aThrowable.toString() + " - " + a_URL); + } }} )); @@ -356,8 +393,10 @@ public class G3Viewer { SimplePanel sp = new SimplePanelEx(); sp.add(m_SplitPanel); - - RootPanel.get("main").add(sp); + + m_InfoBar.initializeForm(); + RootPanel.get("main").add(sp); + RootPanel.get("main").add(m_InfoBar); } } diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/HttpDialogBox.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/HttpDialogBox.java index 8c61e9cd..b40cfc34 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/HttpDialogBox.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/HttpDialogBox.java @@ -61,7 +61,7 @@ public class HttpDialogBox extends DialogBox{ } HttpDialogBox.this.hide(); - Loading.getInstance().loading(); + Loading.getInstance().loading("Please Wait.."); } }); @@ -155,7 +155,7 @@ public class HttpDialogBox extends DialogBox{ public void doDialog(String url, HttpDialogHandler a_Callback){ m_Callback = a_Callback; - Loading.getInstance().loading(); + Loading.getInstance().loading("Please Wait"); RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); try { diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/ImageDialogBox.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/ImageDialogBox.java index 49dda06a..5b95d116 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/ImageDialogBox.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/ImageDialogBox.java @@ -42,7 +42,7 @@ public class ImageDialogBox extends PopupPanel{ public void doDialog(String a_Image){ - Loading.getInstance().loading(); + Loading.getInstance().loading("Loading Image.."); if (m_Image != null){ m_Image.removeFromParent(); diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/InformationBar.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/InformationBar.java new file mode 100644 index 00000000..1e26df5d --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/InformationBar.java @@ -0,0 +1,77 @@ +package com.gloopics.g3viewer.client; + +import java.util.HashSet; +import java.util.Set; + +import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; +import com.google.gwt.user.client.ui.Anchor; +import com.google.gwt.user.client.ui.Button; +import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.Label; + +public class InformationBar extends FlowPanel{ + + private final G3Viewer m_Container; + + private final Label m_Label = new Label(); + + private final Set m_Uploads = new HashSet(); + + public InformationBar(G3Viewer a_Container){ + m_Container = a_Container; + setStylePrimaryName("infobar"); + } + + public void initializeForm(){ + Anchor button = new Anchor("Upload Options"); + button.addClickHandler(new ClickHandler() { + + @Override + public void onClick(ClickEvent event) { + m_Container.doDialog("index.php/admin/upload_configure", new HttpDialogHandler() { + @Override + public void success(String aResult) { + } + }); + + + } + }); + + add(button); + + updateInformation(); + add(m_Label); + } + + private void updateInformation() + { + int size = m_Uploads.size(); + if (size == 0){ + m_Label.setText(""); + } + else + { + if (size == 1){ + m_Label.setText("Uploading file."); + } + else{ + m_Label.setText("Uploading " + size + " files."); + } + + } + } + + public void addUpload(UploadFile a_Upload) + { + m_Uploads.add(a_Upload); + updateInformation(); + } + + public void removeUpload(UploadFile a_Upload) + { + m_Uploads.remove(a_Upload); + updateInformation(); + } +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Item.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Item.java index c2c5744c..46119aa9 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Item.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Item.java @@ -1,5 +1,11 @@ package com.gloopics.g3viewer.client; +import java.util.Iterator; + +import com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile; +import com.gloopics.g3viewer.client.dnddesktop.DesktopDroppableWidget; +import com.gloopics.g3viewer.client.dnddesktop.DndDesktopFactory; +import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ContextMenuEvent; import com.google.gwt.event.dom.client.ContextMenuHandler; import com.google.gwt.event.dom.client.DoubleClickEvent; @@ -20,6 +26,7 @@ import com.google.gwt.event.dom.client.MouseWheelHandler; import com.google.gwt.event.logical.shared.CloseEvent; import com.google.gwt.event.logical.shared.CloseHandler; import com.google.gwt.event.shared.HandlerRegistration; +import com.google.gwt.gears.client.desktop.File; import com.google.gwt.json.client.JSONNumber; import com.google.gwt.json.client.JSONObject; import com.google.gwt.json.client.JSONString; @@ -34,9 +41,10 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.MenuBar; import com.google.gwt.user.client.ui.MenuItem; import com.google.gwt.user.client.ui.PopupPanel; +import com.google.gwt.user.client.ui.Widget; -public class Item extends Composite implements HasAllMouseHandlers{ +public class Item extends Composite implements HasAllMouseHandlers, DesktopDroppableWidget{ private final int m_ID; @@ -69,7 +77,7 @@ public class Item extends Composite implements HasAllMouseHandlers{ m_Container = a_Container; m_View = a_Container.getView(); m_Parent = a_Parent; - m_ID = (int)((JSONNumber)a_Value.get("id")).doubleValue(); + m_ID = Utils.extractId(a_Value.get("id")); m_Title = ((JSONString)a_Value.get("title")).stringValue(); m_Thumb = ((JSONString)a_Value.get("thumb")).stringValue(); m_Type = ((JSONString)a_Value.get("type")).stringValue(); @@ -78,6 +86,7 @@ public class Item extends Composite implements HasAllMouseHandlers{ m_IsPhoto = m_Type.equals("photo"); FlowPanel dp = new FlowPanel(); + m_ThumbImage = new Image(m_Thumb); dp.add(m_ThumbImage); @@ -114,6 +123,11 @@ public class Item extends Composite implements HasAllMouseHandlers{ },DoubleClickEvent.getType()); a_Container.getDragController().makeDraggable(this); + + if (m_IsAlbum) + { + ((DndDesktopFactory)GWT.create(DndDesktopFactory.class)).getInstance(this); + } } @@ -176,6 +190,20 @@ public class Item extends Composite implements HasAllMouseHandlers{ } public void showPopupMenu(ContextMenuEvent event){ + Iterator iter = m_Container.getDragController().getSelectedWidgets().iterator(); + + // show views popup menu if items are selected + if (iter.hasNext()) + { + iter.next(); + if (iter.hasNext()) + { + m_View.showPopupMenu(event); + return; + } + + } + this.addStyleName("popped"); final PopupPanel popupPanel = new PopupPanel(true); popupPanel.setAnimationEnabled(true); @@ -332,6 +360,20 @@ public class Item extends Composite implements HasAllMouseHandlers{ public HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler) { return addDomHandler(handler, MouseWheelEvent.getType()); } + + @Override + public void dropFiles(File[] aFile) { + if (m_IsAlbum) + { + m_LinkedAlbum.uploadFiles(aFile); + } + + } + + @Override + public Widget getActualWidget() { + return this; + } diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Loading.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Loading.java index 9d7fead4..5b453e2f 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Loading.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Loading.java @@ -1,54 +1,78 @@ package com.gloopics.g3viewer.client; + +import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.AbsolutePanel; import com.google.gwt.user.client.ui.HTML; +import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.RootPanel; -public class Loading extends AbsolutePanel{ - +public class Loading{ + + public static final String URL = GWT.getModuleBaseURL() + "loading.gif"; + private static final Loading INSTANCE = new Loading(); - public static final String URL = "images/loading.gif"; - - /** - * the image widget - */ - private Image m_Image = new Image("images/loading.gif"); + /** + * the image widget + */ + private final Image m_Image = new Image(URL); + + private final Label m_Label = new Label(); + + private final HTML m_Back = new HTML(); - private Loading(){ - HTML back = new HTML(); - back.addStyleName("loading"); - add(back, 0, 0); - Image.prefetch(URL); - } - - /** - * get instance - */ - public static Loading getInstance(){ - return INSTANCE; - } - - public void loading(){ - int width = RootPanel.get().getOffsetWidth(); - int height = RootPanel.get().getOffsetHeight(); - height = height / 2 - 25; - width = width / 2 - 25; - add(m_Image); - this.setWidgetPosition(m_Image, width, height); - RootPanel.get().add(this); - } - - public void endLoading(){ - if (m_Image.isAttached()){ - remove(m_Image); + private Loading(){ + m_Back.addStyleName("loading"); + m_Label.setStyleName("loading-label"); + m_Image.setStyleName("loading-image"); } - RootPanel.get().remove(this); - } - - public void hideAnimation(){ - remove(m_Image); - } - + + /** + * get instance + */ + public static Loading getInstance(){ + return INSTANCE; + } + + public void loading(String message){ + RootPanel.get().add(m_Back); + + int width = RootPanel.get().getOffsetWidth(); + int height = RootPanel.get().getOffsetHeight(); + height = height / 2 - 20; + width = width / 2 - 40; + RootPanel.get().add(m_Image, width, height); + + if (message != null) + { + m_Label.setText(message); + RootPanel.get().add(m_Label, 0, height + 45); + } + + //RootPanel.get().add(this); + } + + public void endLoading(){ + if (m_Image.isAttached()){ + RootPanel.get().remove(m_Image); + } + if (m_Label.isAttached()){ + RootPanel.get().remove(m_Label); + } + if (m_Back.isAttached()){ + RootPanel.get().remove(m_Back); + } + } + + public void hideAnimation(){ + if (m_Image.isAttached()){ + RootPanel.get().remove(m_Image); + } + if (m_Label.isAttached()){ + RootPanel.get().remove(m_Label); + } + } + } diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/ResizeOptions.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/ResizeOptions.java new file mode 100644 index 00000000..e83c21bd --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/ResizeOptions.java @@ -0,0 +1,50 @@ +package com.gloopics.g3viewer.client; + +import com.google.gwt.json.client.JSONBoolean; +import com.google.gwt.json.client.JSONNumber; +import com.google.gwt.json.client.JSONObject; +import com.google.gwt.json.client.JSONString; + +public class ResizeOptions { + + private final boolean m_Resize; + + private final int m_MaxWidth; + + private final int m_MaxHeight; + + + public ResizeOptions(JSONObject a_Value){ + JSONBoolean jbool = a_Value.get("resize").isBoolean(); + if (jbool == null) + { + throw new RuntimeException("JBool was null."); + } + m_Resize = jbool.booleanValue(); + if (m_Resize) + { + m_MaxWidth = Integer.parseInt(a_Value.get("max_width").toString()); + m_MaxHeight = Integer.parseInt(a_Value.get("max_height").toString()); + } + else + { + m_MaxWidth = 0; + m_MaxHeight = 0; + } + } + + public boolean isResize() + { + return m_Resize; + } + + public int getMaxHeight() + { + return m_MaxHeight; + } + + public int getMaxWidth() + { + return m_MaxWidth; + } +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/UploadFile.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/UploadFile.java index 1d858d44..ef234ab4 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/UploadFile.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/UploadFile.java @@ -1,19 +1,28 @@ package com.gloopics.g3viewer.client; -import com.google.gwt.user.client.ui.AbsolutePanel; +import com.gloopics.g3viewer.client.canvas.Canvas; +import com.google.gwt.user.client.ui.Composite; +import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.SimplePanel; +import com.google.gwt.core.client.GWT; import com.google.gwt.gears.client.Factory; +import com.google.gwt.gears.client.blob.Blob; import com.google.gwt.gears.client.desktop.File; import com.google.gwt.gears.client.httprequest.HttpRequest; import com.google.gwt.gears.client.httprequest.ProgressEvent; import com.google.gwt.gears.client.httprequest.ProgressHandler; import com.google.gwt.gears.client.httprequest.RequestCallback; +import com.google.gwt.gears.client.localserver.ResourceStore; import com.google.gwt.json.client.JSONParser; import com.google.gwt.json.client.JSONValue; -public class UploadFile extends AbsolutePanel{ +public class UploadFile extends Composite{ + private final static ResourceStore RS = Factory.getInstance().createLocalServer().createStore("temp"); + + private class ProgressBar extends SimplePanel{ private final SimplePanel m_ProgressInner; public ProgressBar(){ @@ -29,35 +38,66 @@ public class UploadFile extends AbsolutePanel{ } } - private final File m_LocalFile; + private final ResizeOptions m_ResizeOptions; private final String m_Name; private final Album m_Parent; - //private final Label m_PendingLabel = new Label("Upload Pending"); + private final Blob m_Blob; + + //private final Canvas m_UpThumb; + + private final Label m_Label = new Label("Pending.."); private final ProgressBar m_ProgressBar = new ProgressBar(); - public UploadFile(Album a_Parent, File a_File){ + + /** + * Loads an image into this Canvas, replacing the Canvas' current dimensions + * and contents. + * + * @param blob The Blob to decode. The image should be in PNG or JPEG format. + */ + public final native void captureBlob(ResourceStore rs, Blob blob, String a_Url) /*-{ + rs.captureBlob(blob, a_Url, "image/JPEG"); + }-*/; + + /** + * Loads an image into this Canvas, replacing the Canvas' current dimensions + * and contents. + * + * @param blob The Blob to decode. The image should be in PNG or JPEG format. + */ + public final native void removeCapture(ResourceStore rs, String a_Url) /*-{ + rs.remove(a_Url); + }-*/; + + public UploadFile(Album a_Parent, File a_File, ResizeOptions a_ResizeOptions){ + m_ResizeOptions = a_ResizeOptions; m_Parent = a_Parent; - m_LocalFile = a_File; m_Name = a_File.getName(); - Label name = new Label(m_Name); - name.addStyleName("label"); - add(name,5,20); + m_Blob = a_File.getBlob(); + captureBlob(RS, m_Blob , m_Name); + + Image img = new Image(m_Name); + FlowPanel dp = new FlowPanel(); - add(m_ProgressBar,0,80); + dp.add(img); + + dp.add(m_ProgressBar); + dp.add(m_Label); + + initWidget(dp); setStylePrimaryName("item"); addStyleName("iUpload"); } - public void startUpload(){ + protected void uploadBlob(Blob a_Blob){ + m_Label.setText("Uploading.."); HttpRequest request = Factory.getInstance().createHttpRequest(); request.open("POST", G3Viewer.UPLOAD_URL + m_Parent.getId() + "?filename=" + m_Name + "&csrf=" + G3Viewer.getCSRF()); - //request.setRequestHeader("Content-Type", "image/jpg"); - //request.setRequestHeader("Content-Type", "image/jpg"); request.getUpload().setProgressHandler(new ProgressHandler() { @@ -78,17 +118,39 @@ public class UploadFile extends AbsolutePanel{ { G3Viewer.displayError("Upload Error", request.getResponseText() + request.getStatus() + request.getStatusText()); } + removeCapture(RS, m_Name); + try{ - JSONValue jv = JSONParser.parse(request.getResponseText()); - m_Parent.finishedUpload(UploadFile.this, jv); - } catch (Exception e) - { + JSONValue jv = JSONParser.parse(request.getResponseText()); + m_Parent.finishedUpload(UploadFile.this, jv); + } + catch (Exception e){ G3Viewer.displayError("Exception on Upload", e.toString() + " " + request.getResponseText()); } + + } }); - request.send(m_LocalFile.getBlob()); + request.send(a_Blob); + + } + + public ResizeOptions getResizeOptions(){ + return m_ResizeOptions; + } + + public void startUpload(){ + + if (m_ResizeOptions.isResize()) + { + m_Label.setText("Resizing.."); + GWT.runAsync(new AsyncResizer(m_Blob, this)); + } + else + { + uploadBlob(m_Blob); + } } } diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/Utils.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Utils.java new file mode 100644 index 00000000..f1432276 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/Utils.java @@ -0,0 +1,18 @@ +package com.gloopics.g3viewer.client; + +import com.google.gwt.json.client.JSONNumber; +import com.google.gwt.json.client.JSONValue; + +public class Utils { + public static int extractId(JSONValue a_Value){ + JSONNumber jn = a_Value.isNumber(); + if (jn != null){ + return (int) jn.doubleValue(); + } + else{ + String val = a_Value.isString().stringValue(); + return Integer.parseInt(val); + } + } + +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/View.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/View.java index 602db116..7035683c 100644 --- a/modules/gwtorganise/src/com/gloopics/g3viewer/client/View.java +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/View.java @@ -3,17 +3,35 @@ package com.gloopics.g3viewer.client; import java.util.ArrayList; import java.util.List; +import com.allen_sauer.gwt.dnd.client.DragController; +import com.allen_sauer.gwt.dnd.client.PickupDragController; +import com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile; +import com.gloopics.g3viewer.client.dnddesktop.DesktopDroppableWidget; +import com.gloopics.g3viewer.client.dnddesktop.DndDesktopFactory; +import com.google.gwt.core.client.GWT; +import com.google.gwt.event.dom.client.ContextMenuEvent; +import com.google.gwt.event.logical.shared.CloseEvent; +import com.google.gwt.event.logical.shared.CloseHandler; +import com.google.gwt.gears.client.desktop.File; +import com.google.gwt.json.client.JSONValue; +import com.google.gwt.user.client.Command; +import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.Event; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.HTML; +import com.google.gwt.user.client.ui.MenuBar; +import com.google.gwt.user.client.ui.MenuItem; +import com.google.gwt.user.client.ui.PopupPanel; import com.google.gwt.user.client.ui.Widget; -public class View extends FlowPanel{ +public class View extends FlowPanel implements DesktopDroppableWidget{ /** * the current album being viewed */ private Album m_Album; + /** * the list of drop zones */ @@ -24,12 +42,15 @@ public class View extends FlowPanel{ public View(G3Viewer a_Container){ m_Container = a_Container; + ((DndDesktopFactory)GWT.create(DndDesktopFactory.class)).getInstance(this); } + private void clearView(){ + PickupDragController pdc = m_Container.getDragController(); if (m_DropZones.size() > 0){ for (DropZoneController dropController : m_DropZones){ - m_Container.getDragController().unregisterDropController(dropController); + pdc.unregisterDropController(dropController); } m_DropZones.clear(); } @@ -39,6 +60,7 @@ public class View extends FlowPanel{ ((Item)widget).hidding(); } } + pdc.clearSelection(); clear(); } @@ -93,6 +115,58 @@ public class View extends FlowPanel{ public Album getCurrentAlbum(){ return m_Album; } + + + @Override + public void dropFiles(File[] aFile) { + if (m_Album != null){ + m_Album.uploadFiles(aFile); + } + } + + + @Override + public Widget getActualWidget() { + return this; + } + + public void showPopupMenu(ContextMenuEvent event){ + final PopupPanel popupPanel = new PopupPanel(true); + popupPanel.setAnimationEnabled(true); + popupPanel.setStyleName("popup"); + MenuBar popupMenuBar = new MenuBar(true); + + MenuItem deleteItem = new MenuItem("Delete Selected Items", true, new Command() { + + @Override + public void execute() { + /* + m_Container.doDialog("index.php/quick/form_delete/" + m_ID, new HttpDialogHandler() { + public void success(String aResult) { + m_View.removeFromView(Item.this); + if (m_LinkedAlbum != null){ + m_LinkedAlbum.remove(); + } + } + }); + */ + popupPanel.hide(); + + } + }); + deleteItem.addStyleName("popup-item"); + popupMenuBar.addItem(deleteItem); + + popupMenuBar.setVisible(true); + popupPanel.add(popupMenuBar); + + int x = DOM.eventGetClientX((Event)event.getNativeEvent()); + int y = DOM.eventGetClientY((Event)event.getNativeEvent()); + popupPanel.setPopupPosition(x, y); + + popupPanel.show(); + + } } diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Canvas.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Canvas.java new file mode 100644 index 00000000..3e47a126 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Canvas.java @@ -0,0 +1,178 @@ +/* + * Copyright 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.gloopics.g3viewer.client.canvas; + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.gears.client.blob.Blob; + +/** + * The Canvas module is a graphics API that is inspired by the HTML5 canvas, with additional methods to decode from and encode to + * binary formats (such as PNG and JPEG), represented by Blobs. A Gears Canvas + * is not yet a complete implementation of the HTML5 canvas specification, and + * there are two significant differences: + *
    + *
  • A Gears Canvas is off-screen, in that creating a Canvas object doesn't + * directly paint any pixels on the screen. Furthermore, for technical reasons, + * a Gears Canvas is not a DOM Element. On the other hand, you can create a + * Gears Canvas in a Worker. + *
  • A Gears Canvas does not implement getContext, and in + * particular does not provide a 2D context. + *
+ *

+ * Permission + *

+ * This API requires user permission. If you would like to customize the default + * dialog, you can explicitly call + * {@link com.google.gwt.gears.client.Factory#getPermission()}. + */ +public class Canvas extends JavaScriptObject { + + public static final String MIMETYPE_JPEG = "image/jpeg"; + public static final String MIMETYPE_PNG = "image/png"; + + protected Canvas() { + // required for overlay types + } + + /** + * Crops the Canvas. The crop happens "in-place", as opposed to returning a + * new Canvas. + * + * @param x The left co-ordinate of the crop rectangle. + * @param y The top co-ordinate of the crop rectangle. + * @param w The width of the crop rectangle. + * @param h The height of the crop rectangle. + */ + public final native void crop(int x, int y, int w, int h) /*-{ + this.crop(x, y, w, h); + }-*/; + + /** + * Loads an image into this Canvas, replacing the Canvas' current dimensions + * and contents. + * + * @param blob The Blob to decode. The image should be in PNG or JPEG format. + */ + public final native void decode(Blob blob) /*-{ + this.decode(blob); + }-*/; + + /** + * Saves the Canvas' contents to PNG format. + * + * @return A new Blob encoding the Canvas' image data. + */ + public final native Blob encode() /*-{ + return this.encode(); + }-*/; + + /** + * Saves the Canvas' contents to a binary format, such as PNG or JPEG. + * + * @param mimeType The image format to encode to. Valid values include + * "image/png" and "image/jpeg". + * @return A new Blob encoding the Canvas' image data. + */ + public final native Blob encode(String mimeType) /*-{ + return this.encode(mimeType); + }-*/; + + /** + * Saves the Canvas' contents to JPEG format. + * + * @param quality the JPEG quality as a number between 0.0 and 1.0 inclusive. + * @return A new Blob encoding the Canvas' image data. + */ + public final native Blob encodeJpeg(float quality) /*-{ + return this.encode("image/jpeg", { quality: quality }); + }-*/; + + /** + * Returns the height of the Canvas. The default value is 150. + * + * @return the canvas height. + */ + public final native int getHeight()/*-{ + return this.height; + }-*/; + + /** + * Returns the width of the Canvas. The default value is 300. + * + * @return the canvas width. + */ + public final native int getWidth() /*-{ + return this.width; + }-*/; + + /** + * Resizes the Canvas. The resize happens "in-place", as opposed to returning + * a new Canvas. + *

+ * Uses bi-linear filtering. + * + * @param w The new width. + * @param h The new height. + */ + public final native void resize(int w, int h) /*-{ + this.resize(w, h); + }-*/; + + /** + * Resizes the Canvas. The resize happens "in-place", as opposed to returning + * a new Canvas. + * + * @param w The new width. + * @param h The new height. + * @param filter The image filter. + */ + public final void resize(int w, int h, ResizeFilter filter) { + resize(w, h, filter.getFilter()); + } + + /** + * Resizes the Canvas. The resize happens "in-place", as opposed to returning + * a new Canvas. + * + * @param w The new width. + * @param h The new height. + * @param filter A string specifying the image filter. There are two options: + * "nearest" for nearest-neighbor filtering, and "bilinear" for + * bi-linear filtering. + */ + public final native void resize(int w, int h, String filter) /*-{ + this.resize(w, h, filter); + }-*/; + + /** + * Sets the height of the Canvas. The default value is 150. + * + * @param height the canvas height. + */ + public final native void setHeight(int height) /*-{ + this.height = height; + }-*/; + + /** + * Sets the width of the Canvas. The default value is 300. + * + * @param width the canvas width. + */ + public final native void setWidth(int width) /*-{ + this.width = width; + }-*/; +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Factory.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Factory.java new file mode 100644 index 00000000..8ac5ba59 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/Factory.java @@ -0,0 +1,69 @@ +/* + * Copyright 2008 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.gloopics.g3viewer.client.canvas; + +import com.google.gwt.core.client.JavaScriptObject; + +/** + * Factory class used to create all other Gears objects. + */ +public final class Factory extends JavaScriptObject { + /** + * String used to request a BlobBuilder instance from Gears. + */ + public static final String BLOBBUILDER = "beta.blobbuilder"; + + /** + * String used to request a Canvas instance from Gears. + */ + public static final String CANVAS = "beta.canvas"; + + + /** + * Returns the singleton instance of the Factory class or null + * if Gears is not installed or accessible. + * + * @return singleton instance of the Factory class or null if + * Gears is not installed or accessible + */ + public static native Factory getInstance() /*-{ + return $wnd.google && $wnd.google.gears && $wnd.google.gears.factory; + }-*/; + + protected Factory() { + // Required for overlay types + } + + /** + * Creates a new {@link Canvas} instance. + * + * @return a new {@link Canvas} instance + */ + public Canvas createCanvas() { + return create(CANVAS); + } + + /** + * Creates an instance of the specified Gears object. + * + * @param Gears object type to return + * @param className name of the object to create + * @return an instance of the specified Gears object + */ + private native T create(String className) /*-{ + return this.create(className); + }-*/; +} \ No newline at end of file diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/ResizeFilter.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/ResizeFilter.java new file mode 100644 index 00000000..198ad8ea --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/canvas/ResizeFilter.java @@ -0,0 +1,36 @@ +/* + * Copyright 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.gloopics.g3viewer.client.canvas; + +/** + * Filters used when resizing a Canvas. + */ +public enum ResizeFilter { + NEAREST { + @Override + public String getFilter() { + return "nearest"; + } + }, + BILINEAR { + @Override + public String getFilter() { + return "bilinear"; + } + }; + + public abstract String getFilter(); +} \ No newline at end of file diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.java new file mode 100644 index 00000000..17373305 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.java @@ -0,0 +1,61 @@ +package com.gloopics.g3viewer.client.dnddesktop; + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.gears.client.Factory; +import com.google.gwt.gears.client.desktop.Desktop; +import com.google.gwt.gears.client.desktop.File; +import com.google.gwt.user.client.ui.Widget; + +public abstract class DesktopDropBase { + private final DesktopDroppableWidget m_DropFile; + protected final Widget m_Widget; + private final Desktop m_Desktop; + + public DesktopDropBase (DesktopDroppableWidget a_Widget){ + m_DropFile = a_Widget; + m_Widget = a_Widget.getActualWidget(); + + m_Desktop = Factory.getInstance().createDesktop(); + } + + public void onDragEnter(JavaScriptObject e) + { + m_Widget.addStyleName("drop-target"); + setDropEffect(m_Desktop, e); + finishDrag(e); + } + + public final native void finishDrag(JavaScriptObject e) /*-{ + if (e.stopPropagation) e.stopPropagation(); + else e.cancelBubble = true; + if (e.preventDefault) e.preventDefault(); + else e.returnValue = false; + }-*/; + + public void onDragLeave(JavaScriptObject e) + { + m_Widget.removeStyleName("drop-target"); + finishDrag(e); + + } + + public void onDrop(JavaScriptObject e) + { + File[] files = getDragData(m_Desktop, e); + if (files != null) + { + m_DropFile.dropFiles(files); + } + + onDragLeave(e); + } + + public final native File[] getDragData(Desktop d, JavaScriptObject e) /*-{ + var data = d.getDragData(e, 'application/x-gears-files'); + return data && data.files; + }-*/; + + public final native File[] setDropEffect(Desktop d, JavaScriptObject e) /*-{ + var data = d.setDropEffect(e, 'copy'); + }-*/; +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.java new file mode 100644 index 00000000..c44f7eea --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.java @@ -0,0 +1,69 @@ +package com.gloopics.g3viewer.client.dnddesktop; + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.dom.client.Element; +import com.google.gwt.gears.client.Factory; +import com.google.gwt.gears.client.desktop.Desktop; +import com.google.gwt.gears.client.desktop.File; +import com.google.gwt.user.client.Window.Navigator; +import com.google.gwt.user.client.ui.Widget; + +public class DesktopDropFile extends DesktopDropBase{ + + public DesktopDropFile(DesktopDroppableWidget a_Widget){ + super(a_Widget); + String nav = Navigator.getUserAgent().toLowerCase(); + + addDropEvents(m_Widget.getElement()); + } + + + public native void addDropEvents(Element e) /*-{ + var t = this; + + e.addEventListener('dragenter', + function(e) + { + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDragEnter(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + } + , false); + + + e.addEventListener('dragleave', + function(e) + { + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDragLeave(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + } + , false); + + e.addEventListener('dragexit', + function(e) + { + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDragLeave(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + } + , false); + + e.addEventListener('dragover', + function(e) + { + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::finishDrag(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + } + , false); + + e.addEventListener('dragdrop', + function(e) + { + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDrop(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + } + , false); + + e.addEventListener('drop', + function(e) + { + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDrop(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + } + , false); + + }-*/; + +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.java new file mode 100644 index 00000000..ae0773d0 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.java @@ -0,0 +1,44 @@ +package com.gloopics.g3viewer.client.dnddesktop; + +import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.dom.client.Element; + +public class DesktopDropFileIE extends DesktopDropBase{ + + public DesktopDropFileIE(DesktopDroppableWidget a_Widget){ + super(a_Widget); + addDropEvents(m_Widget.getElement()); + } + + + public native void addDropEvents(Element e) /*-{ + var t = this; + e.attachEvent('ondragenter', + function(e){ + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDragEnter(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + return false; + + }); + + e.attachEvent('ondragover', + function(e){ + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::finishDrag(Lcom/google/gwt/core/client/JavaScriptObject;)(e); + return false; + }); + + e.attachEvent('ondragleave', + function(e){ + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDragLeave(Lcom/google/gwt/core/client/JavaScriptObject;)(e) + return false; + }); + + e.attachEvent('ondrop', + function(e){ + t.@com.gloopics.g3viewer.client.dnddesktop.DesktopDropFile::onDrop(Lcom/google/gwt/core/client/JavaScriptObject;)(e) + return false; + }); + + }-*/; + + +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.java new file mode 100644 index 00000000..a3efaaf0 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.java @@ -0,0 +1,11 @@ +package com.gloopics.g3viewer.client.dnddesktop; + +import com.google.gwt.gears.client.desktop.File; +import com.google.gwt.user.client.ui.Widget; + +public interface DesktopDroppableWidget { + + Widget getActualWidget(); + + void dropFiles(File[] a_File); +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.java new file mode 100644 index 00000000..14939d25 --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.java @@ -0,0 +1,9 @@ +package com.gloopics.g3viewer.client.dnddesktop; + +public class DndDesktopFactory { + + public DesktopDropBase getInstance(DesktopDroppableWidget a_Widget) + { + return new DesktopDropFile(a_Widget); + } +} diff --git a/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.java b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.java new file mode 100644 index 00000000..d0ab032f --- /dev/null +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.java @@ -0,0 +1,9 @@ +package com.gloopics.g3viewer.client.dnddesktop; + +public class DndDesktopFactoryIE extends DndDesktopFactory{ + + public DesktopDropBase getInstance(DesktopDroppableWidget a_Widget) + { + return new DesktopDropFileIE(a_Widget); + } +} diff --git a/modules/gwtorganise/war/G3viewer.css b/modules/gwtorganise/src/com/gloopics/g3viewer/public/G3viewer.css similarity index 76% rename from modules/gwtorganise/war/G3viewer.css rename to modules/gwtorganise/src/com/gloopics/g3viewer/public/G3viewer.css index 622f3c48..e9b7d304 100644 --- a/modules/gwtorganise/war/G3viewer.css +++ b/modules/gwtorganise/src/com/gloopics/g3viewer/public/G3viewer.css @@ -4,16 +4,20 @@ .error {width:300px; height:200px;} -.item {width:100px; height: 100px; padding:3px; border: 2px solid #FFF; overflow: hidden; float:left; text-align:center; position:relative;margin:3px;} +.item {width:100px; height: 130px; padding:3px; border: 2px solid #FFF; overflow: hidden; float:left; text-align:center; position:relative;margin:3px;} .item img{max-width:96px; max-height:76px; *width:96px; *height:76px; border:2px solid #AAA;} .item h3{font-size:10px; font-weight:normal; position:absolute; bottom:5px; left:0px; width:100%; text-align:center; padding:0; margin:0;} .ialbum {background-color: #e3effb; border: 2px solid #91c0ef; } .popped {background-color: #e3effb;} -.view {padding:3px;} +.view {height: 100%;} .DropZone {height: 100px; width:6px; margin: 0 -3px 0 -3px; padding: 0; float:left; text-align:center; position:relative;} - -.loading{position:absolute; top:0px; left:0px; width:100%; height: 100%; background-color:#888; opacity: 0.3; filter: alpha(opacity = 30);} - +.infobar {background-color: #fff; position: absolute; bottom:0px; border-width: 4px 4px 0 4px; border-style: solid; + border-color: #d2e1f6; height: 15px; width: 240px; right: 50px; font-size:10px; padding: 2px 5px 1px 5px;} +.infobar div {float:right; } +.infobar a {float:left;} +.loading{position:absolute; top:0px; left:0px; width:100%; height: 100%; background-color:#FFF; opacity: 0.7; filter: alpha(opacity = 70);} +.loading-label{z-index:10; position:absolute; width:100%; left:0px; text-align:center;} +.loading-image{z-index:10;} .gwt-TreeItem-selected .Tree-Album {background-color: #333; color: #FFF;} .Tree-Album {padding: 1px;} .Tree-Album:hover{text-decoration:underline;} diff --git a/modules/gwtorganise/war/images/loading.gif b/modules/gwtorganise/src/com/gloopics/g3viewer/public/loading.gif similarity index 100% rename from modules/gwtorganise/war/images/loading.gif rename to modules/gwtorganise/src/com/gloopics/g3viewer/public/loading.gif diff --git a/modules/gwtorganise/war/WEB-INF/appengine-web.xml b/modules/gwtorganise/war/WEB-INF/appengine-web.xml deleted file mode 100644 index 99223a5a..00000000 --- a/modules/gwtorganise/war/WEB-INF/appengine-web.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - 1 - - - - - - - \ No newline at end of file diff --git a/modules/gwtorganise/war/WEB-INF/classes/META-INF/jdoconfig.xml b/modules/gwtorganise/war/WEB-INF/classes/META-INF/jdoconfig.xml new file mode 100644 index 00000000..5f56aa19 --- /dev/null +++ b/modules/gwtorganise/war/WEB-INF/classes/META-INF/jdoconfig.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/G3viewer.gwt.xml b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/G3viewer.gwt.xml new file mode 100644 index 00000000..389a35ef --- /dev/null +++ b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/G3viewer.gwt.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$1.class new file mode 100644 index 00000000..03e8d371 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$10.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$10.class new file mode 100644 index 00000000..75765a5c Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$10.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$11.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$11.class new file mode 100644 index 00000000..91129746 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$11.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$12.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$12.class new file mode 100644 index 00000000..8e6d5234 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$12.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$2$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$2$1.class new file mode 100644 index 00000000..ab033485 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$2$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$2.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$2.class new file mode 100644 index 00000000..fbc37486 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$2.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$3.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$3.class new file mode 100644 index 00000000..7a0a2b59 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$3.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$4$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$4$1.class new file mode 100644 index 00000000..cf455ca2 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$4$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$4.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$4.class new file mode 100644 index 00000000..66118607 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$4.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$5$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$5$1.class new file mode 100644 index 00000000..33365323 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$5$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$5.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$5.class new file mode 100644 index 00000000..6db9d264 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$5.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$6.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$6.class new file mode 100644 index 00000000..a4ac7459 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$6.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$7.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$7.class new file mode 100644 index 00000000..25eddc4f Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$7.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$8.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$8.class new file mode 100644 index 00000000..35d138d2 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$8.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$9.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$9.class new file mode 100644 index 00000000..4260f422 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album$9.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album.class new file mode 100644 index 00000000..ee9e0a6e Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Album.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumItemDropContainer.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumItemDropContainer.class new file mode 100644 index 00000000..d6a3aa43 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumItemDropContainer.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTree$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTree$1.class new file mode 100644 index 00000000..b5142ea0 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTree$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTree.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTree.class new file mode 100644 index 00000000..0f8db508 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTree.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTreeDropController.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTreeDropController.class new file mode 100644 index 00000000..b540915a Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AlbumTreeDropController.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AsyncResizer.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AsyncResizer.class new file mode 100644 index 00000000..392ed4f2 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/AsyncResizer.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/DropZoneController.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/DropZoneController.class new file mode 100644 index 00000000..f8fed7cf Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/DropZoneController.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$1$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$1$1.class new file mode 100644 index 00000000..28ec08b1 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$1$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$1.class new file mode 100644 index 00000000..3b9c4601 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$2.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$2.class new file mode 100644 index 00000000..b7fe6c19 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$2.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$ErrorDialog$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$ErrorDialog$1.class new file mode 100644 index 00000000..7075faa5 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$ErrorDialog$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$ErrorDialog.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$ErrorDialog.class new file mode 100644 index 00000000..f2b3519f Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$ErrorDialog.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$SimplePanelEx.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$SimplePanelEx.class new file mode 100644 index 00000000..d54caa33 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer$SimplePanelEx.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer.class new file mode 100644 index 00000000..a7ce7a58 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/G3Viewer.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$1.class new file mode 100644 index 00000000..a872cfc3 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$2.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$2.class new file mode 100644 index 00000000..620a5286 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$2.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$3.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$3.class new file mode 100644 index 00000000..454e2fe2 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$3.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$RequestCallbackImpl.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$RequestCallbackImpl.class new file mode 100644 index 00000000..7d9a5c74 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox$RequestCallbackImpl.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox.class new file mode 100644 index 00000000..18bd62d6 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogBox.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogHandler.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogHandler.class new file mode 100644 index 00000000..ced48bc3 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpDialogHandler.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpSuccessHandler.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpSuccessHandler.class new file mode 100644 index 00000000..f5dc523a Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/HttpSuccessHandler.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$1.class new file mode 100644 index 00000000..bce80447 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$2.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$2.class new file mode 100644 index 00000000..d390264c Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$2.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$3.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$3.class new file mode 100644 index 00000000..c1ff1330 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox$3.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox.class new file mode 100644 index 00000000..6d9c834b Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ImageDialogBox.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar$1$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar$1$1.class new file mode 100644 index 00000000..6ffb0d5b Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar$1$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar$1.class new file mode 100644 index 00000000..e09159d3 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar.class new file mode 100644 index 00000000..bebe68d3 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/InformationBar.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$1.class new file mode 100644 index 00000000..444af50b Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$2.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$2.class new file mode 100644 index 00000000..cd9258fa Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$2.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$3.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$3.class new file mode 100644 index 00000000..4f3fe711 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$3.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$4$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$4$1.class new file mode 100644 index 00000000..2ace32b3 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$4$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$4.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$4.class new file mode 100644 index 00000000..a6073ad0 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$4.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$5$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$5$1.class new file mode 100644 index 00000000..61e51f61 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$5$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$5.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$5.class new file mode 100644 index 00000000..082b7397 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$5.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$6$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$6$1.class new file mode 100644 index 00000000..329187d4 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$6$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$6.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$6.class new file mode 100644 index 00000000..5d43e6be Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$6.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$7$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$7$1.class new file mode 100644 index 00000000..de9cac81 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$7$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$7.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$7.class new file mode 100644 index 00000000..c02cd8b3 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$7.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$8$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$8$1.class new file mode 100644 index 00000000..f9fe4dc4 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$8$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$8.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$8.class new file mode 100644 index 00000000..9a4a1041 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$8.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$9.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$9.class new file mode 100644 index 00000000..77c496c5 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item$9.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item.class new file mode 100644 index 00000000..3d90297b Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Item.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/JSONResponseCallback.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/JSONResponseCallback.class new file mode 100644 index 00000000..78d986d0 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/JSONResponseCallback.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/JSONResponseTextHandler.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/JSONResponseTextHandler.class new file mode 100644 index 00000000..05ed41b1 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/JSONResponseTextHandler.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Loading.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Loading.class new file mode 100644 index 00000000..a193937b Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Loading.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/NoGears.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/NoGears.class new file mode 100644 index 00000000..268a3117 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/NoGears.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ResizeOptions.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ResizeOptions.class new file mode 100644 index 00000000..dc4050a7 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/ResizeOptions.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$1.class new file mode 100644 index 00000000..bc8f7ecb Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$2.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$2.class new file mode 100644 index 00000000..4b915dda Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$2.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$ProgressBar.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$ProgressBar.class new file mode 100644 index 00000000..d01d465d Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile$ProgressBar.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile.class new file mode 100644 index 00000000..9d888857 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/UploadFile.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Utils.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Utils.class new file mode 100644 index 00000000..3c7d9d9e Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/Utils.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/View$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/View$1.class new file mode 100644 index 00000000..71b9cb7e Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/View$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/View.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/View.class new file mode 100644 index 00000000..ec1a7780 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/View.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/Canvas.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/Canvas.class new file mode 100644 index 00000000..e3224e8c Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/Canvas.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/Factory.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/Factory.class new file mode 100644 index 00000000..8431ae44 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/Factory.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter$1.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter$1.class new file mode 100644 index 00000000..a7211aca Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter$1.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter$2.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter$2.class new file mode 100644 index 00000000..de43b25f Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter$2.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter.class new file mode 100644 index 00000000..e7a21338 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/canvas/ResizeFilter.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.class new file mode 100644 index 00000000..b6e58e1d Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropBase.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.class new file mode 100644 index 00000000..0f3950bb Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFile.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.class new file mode 100644 index 00000000..b7717c7e Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDropFileIE.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.class new file mode 100644 index 00000000..9aaaf96d Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DesktopDroppableWidget.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.class new file mode 100644 index 00000000..ebf79bbf Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactory.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.class b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.class new file mode 100644 index 00000000..b31054d1 Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/client/dnddesktop/DndDesktopFactoryIE.class differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/G3viewer.css b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/G3viewer.css new file mode 100644 index 00000000..e9b7d304 --- /dev/null +++ b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/G3viewer.css @@ -0,0 +1,44 @@ +* {padding:0; margin:0;} + +#main {position:relative; width:100%; height:100%} + +.error {width:300px; height:200px;} + +.item {width:100px; height: 130px; padding:3px; border: 2px solid #FFF; overflow: hidden; float:left; text-align:center; position:relative;margin:3px;} +.item img{max-width:96px; max-height:76px; *width:96px; *height:76px; border:2px solid #AAA;} +.item h3{font-size:10px; font-weight:normal; position:absolute; bottom:5px; left:0px; width:100%; text-align:center; padding:0; margin:0;} +.ialbum {background-color: #e3effb; border: 2px solid #91c0ef; } +.popped {background-color: #e3effb;} +.view {height: 100%;} +.DropZone {height: 100px; width:6px; margin: 0 -3px 0 -3px; padding: 0; float:left; text-align:center; position:relative;} +.infobar {background-color: #fff; position: absolute; bottom:0px; border-width: 4px 4px 0 4px; border-style: solid; + border-color: #d2e1f6; height: 15px; width: 240px; right: 50px; font-size:10px; padding: 2px 5px 1px 5px;} +.infobar div {float:right; } +.infobar a {float:left;} +.loading{position:absolute; top:0px; left:0px; width:100%; height: 100%; background-color:#FFF; opacity: 0.7; filter: alpha(opacity = 70);} +.loading-label{z-index:10; position:absolute; width:100%; left:0px; text-align:center;} +.loading-image{z-index:10;} +.gwt-TreeItem-selected .Tree-Album {background-color: #333; color: #FFF;} +.Tree-Album {padding: 1px;} +.Tree-Album:hover{text-decoration:underline;} +.drop-target{background-color: #91c0ef; color: #000;} + +.popup {padding: 2px; border: 1px solid #91c0ef;background-color:#FFF} + +.dialog fieldset{ border: none; padding: 0px; margin: 0px;} +.dialog legend{ display: none;} +.dialog ul {padding:0; margin:0;} +.dialog ul ul li {float:left;} +.dialog li {list-style: none; padding:0;margin:0;} +.dialog form input[type="password"], .dialog form input[type="text"], .dialog form textarea .dialog form select {border: 1px solid #000; padding: 0.2em; display:block; clear: both;} +.dialog form input[type="password"], .dialog form input[type="text"], .dialog form textarea {width: 100%} +.dialog form textarea {height: 12em;} + +.label {width:90px; text-align:center;} +.progressBar {border: 1px solid #cccccc; width: 100px; height: 10px;} +.progessInner {background: #34628c;width: 0px;height: 10px;} + +.dContents {padding: 2px 5px 2px 5px;} +.dButtons {text-align: right} + +.hideme {overflow:hidden; width:0; height:0; margin:0; padding:0;} \ No newline at end of file diff --git a/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/loading.gif b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/loading.gif new file mode 100644 index 00000000..8f56a82c Binary files /dev/null and b/modules/gwtorganise/war/WEB-INF/classes/com/gloopics/g3viewer/public/loading.gif differ diff --git a/modules/gwtorganise/war/WEB-INF/classes/log4j.properties b/modules/gwtorganise/war/WEB-INF/classes/log4j.properties new file mode 100644 index 00000000..d9c3edc9 --- /dev/null +++ b/modules/gwtorganise/war/WEB-INF/classes/log4j.properties @@ -0,0 +1,24 @@ +# A default log4j configuration for log4j users. +# +# To use this configuration, deploy it into your application's WEB-INF/classes +# directory. You are also encouraged to edit it as you like. + +# Configure the console as our one appender +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n + +# tighten logging on the DataNucleus Categories +log4j.category.DataNucleus.JDO=WARN, A1 +log4j.category.DataNucleus.Persistence=WARN, A1 +log4j.category.DataNucleus.Cache=WARN, A1 +log4j.category.DataNucleus.MetaData=WARN, A1 +log4j.category.DataNucleus.General=WARN, A1 +log4j.category.DataNucleus.Utility=WARN, A1 +log4j.category.DataNucleus.Transaction=WARN, A1 +log4j.category.DataNucleus.Datastore=WARN, A1 +log4j.category.DataNucleus.ClassLoading=WARN, A1 +log4j.category.DataNucleus.Plugin=WARN, A1 +log4j.category.DataNucleus.ValueGeneration=WARN, A1 +log4j.category.DataNucleus.Enhancer=WARN, A1 +log4j.category.DataNucleus.SchemaTool=WARN, A1 diff --git a/modules/gwtorganise/war/WEB-INF/logging.properties b/modules/gwtorganise/war/WEB-INF/logging.properties deleted file mode 100644 index 4a78b7f3..00000000 --- a/modules/gwtorganise/war/WEB-INF/logging.properties +++ /dev/null @@ -1,28 +0,0 @@ -# A default java.util.logging configuration. -# (All App Engine logging is through java.util.logging by default). -# -# To use this configuration, copy it into your application's WEB-INF -# folder and add the following to your appengine-web.xml: -# -# -# -# -# - -# Set the default logging level for all loggers to WARNING -.level = WARNING - -# Set the default logging level for ORM, specifically, to WARNING -DataNucleus.JDO.level=WARNING -DataNucleus.Persistence.level=WARNING -DataNucleus.Cache.level=WARNING -DataNucleus.MetaData.level=WARNING -DataNucleus.General.level=WARNING -DataNucleus.Utility.level=WARNING -DataNucleus.Transaction.level=WARNING -DataNucleus.Datastore.level=WARNING -DataNucleus.ClassLoading.level=WARNING -DataNucleus.Plugin.level=WARNING -DataNucleus.ValueGeneration.level=WARNING -DataNucleus.Enhancer.level=WARNING -DataNucleus.SchemaTool.level=WARNING diff --git a/modules/gwtorganise/war/WEB-INF/web.xml b/modules/gwtorganise/war/WEB-INF/web.xml deleted file mode 100644 index e552dd69..00000000 --- a/modules/gwtorganise/war/WEB-INF/web.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - greetServlet - com.gloopics.g3viewer.server.GreetingServiceImpl - - - - greetServlet - /g3viewer/greet - - - - - G3viewer.html - - - diff --git a/modules/gwtorganise/war/g3viewer/0031994593072F3F8665BB367C2904F3.cache.html b/modules/gwtorganise/war/g3viewer/0031994593072F3F8665BB367C2904F3.cache.html new file mode 100644 index 00000000..198faab1 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/0031994593072F3F8665BB367C2904F3.cache.html @@ -0,0 +1,1839 @@ + + + + + + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/063AB00068E7F94442F89D1B4262AD00.cache.html b/modules/gwtorganise/war/g3viewer/063AB00068E7F94442F89D1B4262AD00.cache.html new file mode 100644 index 00000000..f19e7d27 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/063AB00068E7F94442F89D1B4262AD00.cache.html @@ -0,0 +1,313 @@ + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/0A9476898799A150D840F0B1C3672921.cache.png b/modules/gwtorganise/war/g3viewer/0A9476898799A150D840F0B1C3672921.cache.png new file mode 100644 index 00000000..08671ce8 Binary files /dev/null and b/modules/gwtorganise/war/g3viewer/0A9476898799A150D840F0B1C3672921.cache.png differ diff --git a/modules/gwtorganise/war/g3viewer/2625E6CD0659684104018A069A188996.cache.html b/modules/gwtorganise/war/g3viewer/2625E6CD0659684104018A069A188996.cache.html new file mode 100644 index 00000000..319f475f --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/2625E6CD0659684104018A069A188996.cache.html @@ -0,0 +1,1811 @@ + + + + + + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/36CF5446615AAE9D0FDDA0B123643155.cache.html b/modules/gwtorganise/war/g3viewer/36CF5446615AAE9D0FDDA0B123643155.cache.html new file mode 100644 index 00000000..e46fe353 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/36CF5446615AAE9D0FDDA0B123643155.cache.html @@ -0,0 +1,308 @@ + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/373CE923F09A0C2270E1B0F2D934E253.cache.html b/modules/gwtorganise/war/g3viewer/373CE923F09A0C2270E1B0F2D934E253.cache.html new file mode 100644 index 00000000..e1f106b9 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/373CE923F09A0C2270E1B0F2D934E253.cache.html @@ -0,0 +1,326 @@ + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/396F806CD63ABD414BFBB9D57429F05B.cache.png b/modules/gwtorganise/war/g3viewer/396F806CD63ABD414BFBB9D57429F05B.cache.png new file mode 100644 index 00000000..009e9872 Binary files /dev/null and b/modules/gwtorganise/war/g3viewer/396F806CD63ABD414BFBB9D57429F05B.cache.png differ diff --git a/modules/gwtorganise/war/g3viewer/4FEE434A493BF0E4969DA18CF936A5FD.cache.html b/modules/gwtorganise/war/g3viewer/4FEE434A493BF0E4969DA18CF936A5FD.cache.html new file mode 100644 index 00000000..e24602d9 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/4FEE434A493BF0E4969DA18CF936A5FD.cache.html @@ -0,0 +1,1807 @@ + + + + + + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/5DDD50A96AC2DC41C6BF0EB870994C49.cache.html b/modules/gwtorganise/war/g3viewer/5DDD50A96AC2DC41C6BF0EB870994C49.cache.html new file mode 100644 index 00000000..1f4fd91f --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/5DDD50A96AC2DC41C6BF0EB870994C49.cache.html @@ -0,0 +1,1793 @@ + + + + + + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/6B11280F72B8881FCDF44A0B47F1E96A.cache.html b/modules/gwtorganise/war/g3viewer/6B11280F72B8881FCDF44A0B47F1E96A.cache.html new file mode 100644 index 00000000..073bb0dc --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/6B11280F72B8881FCDF44A0B47F1E96A.cache.html @@ -0,0 +1,314 @@ + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/8603379B5088782D2C0620FAE856E112.cache.png b/modules/gwtorganise/war/g3viewer/8603379B5088782D2C0620FAE856E112.cache.png new file mode 100644 index 00000000..ded37855 Binary files /dev/null and b/modules/gwtorganise/war/g3viewer/8603379B5088782D2C0620FAE856E112.cache.png differ diff --git a/modules/gwtorganise/war/g3viewer/8E9AF58E0E2BDFC35328028FC368ECD2.cache.html b/modules/gwtorganise/war/g3viewer/8E9AF58E0E2BDFC35328028FC368ECD2.cache.html new file mode 100644 index 00000000..dbce1394 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/8E9AF58E0E2BDFC35328028FC368ECD2.cache.html @@ -0,0 +1,1834 @@ + + + + + + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/DF7764EEC1903CD03C9545B354D8D8E4.cache.png b/modules/gwtorganise/war/g3viewer/DF7764EEC1903CD03C9545B354D8D8E4.cache.png new file mode 100644 index 00000000..fbae9473 Binary files /dev/null and b/modules/gwtorganise/war/g3viewer/DF7764EEC1903CD03C9545B354D8D8E4.cache.png differ diff --git a/modules/gwtorganise/war/g3viewer/E44767377485D18D6B6864F65BA8EF73.cache.png b/modules/gwtorganise/war/g3viewer/E44767377485D18D6B6864F65BA8EF73.cache.png new file mode 100644 index 00000000..030ffab4 Binary files /dev/null and b/modules/gwtorganise/war/g3viewer/E44767377485D18D6B6864F65BA8EF73.cache.png differ diff --git a/modules/gwtorganise/war/g3viewer/EDC7827FEEA59EE44AD790B1C6430C45.cache.png b/modules/gwtorganise/war/g3viewer/EDC7827FEEA59EE44AD790B1C6430C45.cache.png new file mode 100644 index 00000000..714cbb11 Binary files /dev/null and b/modules/gwtorganise/war/g3viewer/EDC7827FEEA59EE44AD790B1C6430C45.cache.png differ diff --git a/modules/gwtorganise/war/g3viewer/F0ACC41901D1A45069B29563B600C0E1.cache.html b/modules/gwtorganise/war/g3viewer/F0ACC41901D1A45069B29563B600C0E1.cache.html new file mode 100644 index 00000000..9cf0edc6 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/F0ACC41901D1A45069B29563B600C0E1.cache.html @@ -0,0 +1,1835 @@ + + + + + + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/FFDD2B79ACD26336C36A836612DAEC0A.cache.html b/modules/gwtorganise/war/g3viewer/FFDD2B79ACD26336C36A836612DAEC0A.cache.html new file mode 100644 index 00000000..6380f246 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/FFDD2B79ACD26336C36A836612DAEC0A.cache.html @@ -0,0 +1,311 @@ + \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/G3viewer.css b/modules/gwtorganise/war/g3viewer/G3viewer.css new file mode 100644 index 00000000..e9b7d304 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/G3viewer.css @@ -0,0 +1,44 @@ +* {padding:0; margin:0;} + +#main {position:relative; width:100%; height:100%} + +.error {width:300px; height:200px;} + +.item {width:100px; height: 130px; padding:3px; border: 2px solid #FFF; overflow: hidden; float:left; text-align:center; position:relative;margin:3px;} +.item img{max-width:96px; max-height:76px; *width:96px; *height:76px; border:2px solid #AAA;} +.item h3{font-size:10px; font-weight:normal; position:absolute; bottom:5px; left:0px; width:100%; text-align:center; padding:0; margin:0;} +.ialbum {background-color: #e3effb; border: 2px solid #91c0ef; } +.popped {background-color: #e3effb;} +.view {height: 100%;} +.DropZone {height: 100px; width:6px; margin: 0 -3px 0 -3px; padding: 0; float:left; text-align:center; position:relative;} +.infobar {background-color: #fff; position: absolute; bottom:0px; border-width: 4px 4px 0 4px; border-style: solid; + border-color: #d2e1f6; height: 15px; width: 240px; right: 50px; font-size:10px; padding: 2px 5px 1px 5px;} +.infobar div {float:right; } +.infobar a {float:left;} +.loading{position:absolute; top:0px; left:0px; width:100%; height: 100%; background-color:#FFF; opacity: 0.7; filter: alpha(opacity = 70);} +.loading-label{z-index:10; position:absolute; width:100%; left:0px; text-align:center;} +.loading-image{z-index:10;} +.gwt-TreeItem-selected .Tree-Album {background-color: #333; color: #FFF;} +.Tree-Album {padding: 1px;} +.Tree-Album:hover{text-decoration:underline;} +.drop-target{background-color: #91c0ef; color: #000;} + +.popup {padding: 2px; border: 1px solid #91c0ef;background-color:#FFF} + +.dialog fieldset{ border: none; padding: 0px; margin: 0px;} +.dialog legend{ display: none;} +.dialog ul {padding:0; margin:0;} +.dialog ul ul li {float:left;} +.dialog li {list-style: none; padding:0;margin:0;} +.dialog form input[type="password"], .dialog form input[type="text"], .dialog form textarea .dialog form select {border: 1px solid #000; padding: 0.2em; display:block; clear: both;} +.dialog form input[type="password"], .dialog form input[type="text"], .dialog form textarea {width: 100%} +.dialog form textarea {height: 12em;} + +.label {width:90px; text-align:center;} +.progressBar {border: 1px solid #cccccc; width: 100px; height: 10px;} +.progessInner {background: #34628c;width: 0px;height: 10px;} + +.dContents {padding: 2px 5px 2px 5px;} +.dButtons {text-align: right} + +.hideme {overflow:hidden; width:0; height:0; margin:0; padding:0;} \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/clear.cache.gif b/modules/gwtorganise/war/g3viewer/clear.cache.gif new file mode 100644 index 00000000..e565824a Binary files /dev/null and b/modules/gwtorganise/war/g3viewer/clear.cache.gif differ diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/1.cache.js new file mode 100644 index 00000000..28aba6f0 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/1.cache.js @@ -0,0 +1,6 @@ +function sS(){} +function ES(){return dP} +function IS(){var a;while(xS){a=xS;xS=xS.c;!xS&&(yS=null);qo(a.b)}} +function FS(){AS=true;zS=(CS(),new sS);jy((gy(),fy),1);!!$stats&&$stats(Py(irb,kib,null,null));zS.ac();!!$stats&&$stats(Py(irb,jrb,null,null))} +function qo(a){var b,c,d,e,f;e=($wnd.google&&$wnd.google.gears&&$wnd.google.gears.factory).create(hrb);e.decode(a.b);d=e.width;c=e.height;f=~~(d/a.c.c);b=~~(c/a.c.b);if(f>b){if(f>1){e.resize(a.c.c,~~(c/f));fv(a.d,e.encode())}}else{if(b>1){e.resize(~~(d/b),a.c.b);fv(a.d,e.encode())}}} +var krb='AsyncLoader1',hrb='beta.canvas',irb='runCallbacks1';_=sS.prototype=new tS;_.gC=ES;_.ac=IS;_.tI=0;var dP=P3(Xob,krb);FS(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/2.cache.js new file mode 100644 index 00000000..f801762e --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/0031994593072F3F8665BB367C2904F3/2.cache.js @@ -0,0 +1,4 @@ +function ry(){my(fy)} +function my(a){jy(a,a.e)} +function jy(a,b){var c;c=b==a.e?iib:jib+b;oy(c,jrb,O4(b),null);if(ly(a,b)){Ay(a.f);Y6(a.b,O4(b));qy(a)}} +var jrb='end';ry(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/1.cache.js new file mode 100644 index 00000000..51ec2fbc --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/1.cache.js @@ -0,0 +1,7 @@ +function _g(){} +function Zg(){} +function eh(){} +function Yg(){} +function bh(){bh=op;ah=new Zg} +function dh(){ah=(bh(),new Yg);dc((ac(),_b),1);!!$stats&&$stats(Fc(Ir,Jr,null,null));ah.m();!!$stats&&$stats(Fc(Ir,Kr,null,null))} +var Ir='runCallbacks1';_=Zg.prototype=new O;_.m=_g;_.tI=0;_=Yg.prototype=new Zg;_.m=eh;_.tI=0;var ah;dh(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/2.cache.js new file mode 100644 index 00000000..e32edc87 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/063AB00068E7F94442F89D1B4262AD00/2.cache.js @@ -0,0 +1,75 @@ +function $b(){} +function lc(){} +function uc(){} +function xc(){} +function Nc(){} +function Hk(){} +function Gk(){} +function tn(){} +function An(){} +function Fn(){} +function wo(){} +function Ho(){} +function Qo(){} +function kc(){fc(_b)} +function fc(a){dc(a,a.c)} +function Bc(a){Ac(this,a)} +function qc(a){a.b=0;a.c=0} +function tc(a){return a.c-a.b} +function Mk(){return this.a} +function Nk(){return this.a} +function Go(){return this.b} +function Po(){return No(this)} +function rc(a){return a.a[a.b]} +function pc(a,b){a.a[a.c++]=b} +function wc(a,b){Hd();return a} +function zc(a,b){a.a=b;return a} +function Kk(a,b){a.a=b;return a} +function Cn(a,b){a.a=b;return a} +function sc(a){return a.a[a.b++]} +function zn(){return this.b.a.d} +function Dn(){return _m(this.a.a)} +function xn(a){return Pl(this.a,a)} +function Oo(){return this.b!=this.d.a} +function Kn(){return Bo(pg(this,24),0)} +function So(a){a.a=a.b=a;return a} +function Pc(a,b,c){a.b=b;a.a=c;return a} +function vn(a,b,c){a.a=b;a.b=c;return a} +function Fo(a){return To(new Qo,a,this.a),++this.b,true} +function Eo(a){if(a.b==0){throw hp(new fp)}} +function yo(a){a.a=So(new Qo);a.b=0;return a} +function Ao(a,b,c){To(new Qo,b,c);++a.b} +function Ko(a,b,c,d){a.d=d;a.b=c;a.a=b;return a} +function To(a,b,c){a.c=b;a.a=c;a.b=c.b;c.b.a=a;c.b=a;return a} +function oc(a,b){a.a=_f(Cg,0,-1,b,1);return a} +function Rk(){Rk=op;Qk=_f(Eg,0,12,256,0)} +function ac(){ac=op;_b=cc(new $b,2,ag(Cg,0,-1,[]))} +function Fl(a){var b;b=im(new cm,a);return vn(new tn,a,b)} +function En(){var a;a=pg(an(this.a.a),20).D();return a} +function yn(){var a;a=rm(new pm,this.b.a);return Cn(new An,a)} +function In(a,b){var c;c=Bo(this,a);Ao(c.d,b,c.b);++c.a;c.c=null} +function Co(a){var b;Eo(a);--a.b;b=a.a.a;b.a.b=b.b;b.b.a=b.a;b.a=b.b=b;return b.c} +function Lk(a){return a!=null&&ng(a.tI,12)&&pg(a,12).a==this.a} +function Lc(b,c){function d(a){c.h(a)} +return __gwtStartLoadingFragment(b,d)} +function Pl(a,b){if(a.c&&io(a.b,b)){return true}else if(Ol(a,b)){return true}else if(Ml(a,b)){return true}return false} +function kk(c,a){var b=c;c.onreadystatechange=$entry(function(){a.i(b)})} +function ek(b){var a=b;$wnd.setTimeout(function(){a.onreadystatechange=new Function},0)} +function lk(){if($wnd.XMLHttpRequest){return new XMLHttpRequest}else{try{return new ActiveXObject(Pr)}catch(a){return new ActiveXObject(Qr)}}} +function No(a){if(a.b==a.d.a){throw hp(new fp)}a.c=a.b;a.b=a.b.a;++a.a;return a.c.c} +function cc(a,b,c){ac();a.a=ho(new fo);a.f=yo(new wo);a.c=b;a.b=c;a.e=oc(new lc,b+1);return a} +function Mc(a,b){var c,d;c=Lc(a,b);if(c==null){return}d=lk();d.open(Or,c,true);kk(d,Pc(new Nc,d,b));d.send(null)} +function dc(a,b){var c;c=b==a.c?Lr:Mr+b;hc(c,Kr,Ok(b),null);if(ec(a,b)){sc(a.d);Zl(a.a,Ok(b));jc(a)}} +function Bo(a,b){var c,d;(b<0||b>a.b)&&Vm(b,a.b);if(b>=a.b>>1){d=a.a;for(c=a.b;c>b;--c){d=d.b}}else{d=a.a.a;for(c=0;c-129&&a<128){b=a+128;c=(Rk(),Qk)[b];!c&&(c=Qk[b]=Kk(new Gk,a));return c}return Kk(new Gk,a)} +function Jn(b){var a,d;d=Bo(this,b);try{return No(d)}catch(a){a=Og(a);if(sg(a,23)){throw Fk(new Ck,Rr+b)}else throw a}} +function Rn(a,b){if(b.b.a.d==0){return false}Array.prototype.splice.apply(a.a,[a.b,0].concat(xl(b,_f(Fg,0,0,b.b.a.d,0))));a.b+=b.b.a.d;return true} +function Ac(b,c){var a,e,f,g,h,i;h=On(new Ln);while(tc(b.a.e)>0){Pn(h,pg(Co(b.a.f),2));sc(b.a.e)}qc(b.a.e);Rn(h,Fl(b.a.a));Ll(b.a.a);i=null;for(g=$m(new Xm,h);g.a1){return}if(tc(a.d)>0){c=rc(a.d);hc(c==a.c?Lr:Mr+c,Jr,Ok(c),null);Mc(c,zc(new xc,a));return}while(tc(a.e)>0){c=sc(a.e);b=pg(Co(a.f),2);hc(c==a.c?Lr:Mr+c,Jr,Ok(c),null);Mc(c,b)}} +var Rr="Can't get element ",Or='GET',Pr='MSXML2.XMLHTTP.3.0',Qr='Microsoft.XMLHTTP',Jr='begin',Mr='download',Kr='end',Lr='leftoversDownload',Nr='runAsync';_=$b.prototype=new O;_.tI=0;_.b=null;_.c=0;_.d=null;_.e=null;var _b;_=lc.prototype=new O;_.tI=0;_.a=null;_.b=0;_.c=0;_=uc.prototype=new mb;_.tI=7;_=xc.prototype=new O;_.h=Bc;_.tI=8;_.a=null;_=Nc.prototype=new O;_.i=Qc;_.tI=0;_.a=null;_.b=null;_=Hk.prototype=new O;_.tI=27;_=Gk.prototype=new Hk;_.eQ=Lk;_.hC=Mk;_.w=Nk;_.tI=30;_.a=0;var Qk;_=tn.prototype=new ul;_.y=xn;_.s=yn;_.z=zn;_.tI=0;_.a=null;_.b=null;_=An.prototype=new O;_.u=Dn;_.v=En;_.tI=0;_.a=null;_=Fn.prototype=new Nm;_.F=In;_.G=Jn;_.s=Kn;_.tI=41;_=wo.prototype=new Fn;_.x=Fo;_.z=Go;_.tI=45;_.a=null;_.b=0;_=Ho.prototype=new O;_.u=Oo;_.v=Po;_.tI=0;_.a=0;_.b=null;_.c=null;_.d=null;_=Qo.prototype=new O;_.tI=0;_.a=null;_.b=null;_.c=null;var Cg=new rk,Eg=new rk;kc(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/1.cache.js new file mode 100644 index 00000000..a0015130 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/1.cache.js @@ -0,0 +1,6 @@ +function _R(){} +function lS(){return OO} +function pS(){var a;while(eS){a=eS;eS=eS.c;!eS&&(fS=null);jo(a.b)}} +function mS(){hS=true;gS=(jS(),new _R);cy((_x(),$x),1);!!$stats&&$stats(Iy(uqb,Bhb,null,null));gS.Zb();!!$stats&&$stats(Iy(uqb,vqb,null,null))} +function jo(a){var b,c,d,e,f;e=($wnd.google&&$wnd.google.gears&&$wnd.google.gears.factory).create(tqb);e.decode(a.b);d=e.width;c=e.height;f=~~(d/a.c.c);b=~~(c/a.c.b);if(f>b){if(f>1){e.resize(a.c.c,~~(c/f));$u(a.d,e.encode())}}else{if(b>1){e.resize(~~(d/b),a.c.b);$u(a.d,e.encode())}}} +var wqb='AsyncLoader1',tqb='beta.canvas',uqb='runCallbacks1';_=_R.prototype=new aS;_.gC=lS;_.Zb=pS;_.tI=0;var OO=e3(job,wqb);mS(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/2.cache.js new file mode 100644 index 00000000..4b86a30d --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/2625E6CD0659684104018A069A188996/2.cache.js @@ -0,0 +1,4 @@ +function ky(){fy($x)} +function fy(a){cy(a,a.e)} +function cy(a,b){var c;c=b==a.e?zhb:Ahb+b;hy(c,vqb,d4(b),null);if(ey(a,b)){ty(a.f);n6(a.b,d4(b));jy(a)}} +var vqb='end';ky(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/1.cache.js new file mode 100644 index 00000000..8ac56017 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/1.cache.js @@ -0,0 +1,7 @@ +function Yg(){} +function Wg(){} +function bh(){} +function Vg(){} +function $g(){$g=ep;Zg=new Wg} +function ah(){Zg=($g(),new Vg);ac((Zb(),Yb),1);!!$stats&&$stats(Cc(mr,nr,null,null));Zg.m();!!$stats&&$stats(Cc(mr,or,null,null))} +var mr='runCallbacks1';_=Wg.prototype=new O;_.m=Yg;_.tI=0;_=Vg.prototype=new Wg;_.m=bh;_.tI=0;var Zg;ah(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/2.cache.js new file mode 100644 index 00000000..26150e15 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/36CF5446615AAE9D0FDDA0B123643155/2.cache.js @@ -0,0 +1,75 @@ +function Xb(){} +function ic(){} +function rc(){} +function uc(){} +function Kc(){} +function xk(){} +function wk(){} +function jn(){} +function qn(){} +function vn(){} +function mo(){} +function xo(){} +function Go(){} +function hc(){cc(Yb)} +function cc(a){ac(a,a.d)} +function yc(a){xc(this,a)} +function nc(a){a.c=0;a.d=0} +function qc(a){return a.d-a.c} +function Ck(){return this.b} +function Dk(){return this.b} +function wo(){return this.c} +function Fo(){return Do(this)} +function oc(a){return a.b[a.c]} +function mc(a,b){a.b[a.d++]=b} +function tc(a,b){Dd();return a} +function wc(a,b){a.b=b;return a} +function Ak(a,b){a.b=b;return a} +function sn(a,b){a.b=b;return a} +function pc(a){return a.b[a.c++]} +function pn(){return this.c.b.e} +function tn(){return Rm(this.b.b)} +function nn(a){return Fl(this.b,a)} +function Eo(){return this.c!=this.e.b} +function An(){return ro(mg(this,24),0)} +function Io(a){a.b=a.c=a;return a} +function Mc(a,b,c){a.c=b;a.b=c;return a} +function ln(a,b,c){a.b=b;a.c=c;return a} +function lc(a,b){a.b=Yf(zg,0,-1,b,1);return a} +function qo(a,b,c){Jo(new Go,b,c);++a.c} +function Ao(a,b,c,d){a.e=d;a.c=c;a.b=b;return a} +function Jo(a,b,c){a.d=b;a.b=c;a.c=c.c;c.c.b=a;c.c=a;return a} +function oo(a){a.b=Io(new Go);a.c=0;return a} +function uo(a){if(a.c==0){throw Zo(new Xo)}} +function vo(a){return Jo(new Go,a,this.b),++this.c,true} +function Zb(){Zb=ep;Yb=_b(new Xb,2,Zf(zg,0,-1,[]))} +function Hk(){Hk=ep;Gk=Yf(Bg,0,12,256,0)} +function un(){var a;a=mg(Sm(this.b.b),20).D();return a} +function vl(a){var b;b=$l(new Ul,a);return ln(new jn,a,b)} +function on(){var a;a=hm(new fm,this.c.b);return sn(new qn,a)} +function yn(a,b){var c;c=ro(this,a);qo(c.e,b,c.c);++c.b;c.d=null} +function so(a){var b;uo(a);--a.c;b=a.b.b;b.b.c=b.c;b.c.b=b.b;b.b=b.c=b;return b.d} +function Bk(a){return a!=null&&kg(a.tI,12)&&mg(a,12).b==this.b} +function ec(a,b,c,d){!!$stats&&$stats(Cc(a,b,c,d))} +function Ic(b,c){function d(a){c.i(a)} +return __gwtStartLoadingFragment(b,d)} +function Fl(a,b){if(a.d&&Zn(a.c,b)){return true}else if(El(a,b)){return true}else if(Cl(a,b)){return true}return false} +function Do(a){if(a.c==a.e.b){throw Zo(new Xo)}a.d=a.c;a.c=a.c.b;++a.b;return a.d.d} +function _b(a,b,c){Zb();a.b=Yn(new Wn);a.g=oo(new mo);a.d=b;a.c=c;a.f=lc(new ic,b+1);return a} +function Jc(a,b){var c,d;c=Ic(a,b);if(c==null){return}d=bk();d.open(sr,c,true);ak(d,Mc(new Kc,d,b));d.send(null)} +function ac(a,b){var c;c=b==a.d?pr:qr+b;ec(c,or,Ek(b),null);if(bc(a,b)){pc(a.e);Pl(a.b,Ek(b));gc(a)}} +function ro(a,b){var c,d;(b<0||b>a.c)&&Lm(b,a.c);if(b>=a.c>>1){d=a.b;for(c=a.c;c>b;--c){d=d.c}}else{d=a.b.b;for(c=0;c-129&&a<128){b=a+128;c=(Hk(),Gk)[b];!c&&(c=Gk[b]=Ak(new wk,a));return c}return Ak(new wk,a)} +function Hn(a,b){if(b.c.b.e==0){return false}Array.prototype.splice.apply(a.b,[a.c,0].concat(nl(b,Yf(Cg,0,0,b.c.b.e,0))));a.c+=b.c.b.e;return true} +function xc(b,c){var a,e,f,g,h,i;h=En(new Bn);while(qc(b.b.f)>0){Fn(h,mg(so(b.b.g),2));pc(b.b.f)}nc(b.b.f);Hn(h,vl(b.b.b));Bl(b.b.b);i=null;for(g=Qm(new Nm,h);g.b1){return}if(qc(a.e)>0){c=oc(a.e);ec(c==a.d?pr:qr+c,nr,Ek(c),null);Jc(c,wc(new uc,a));return}while(qc(a.f)>0){c=pc(a.f);b=mg(so(a.g),2);ec(c==a.d?pr:qr+c,nr,Ek(c),null);Jc(c,b)}} +var vr="Can't get element ",sr='GET',tr='MSXML2.XMLHTTP.3.0',ur='Microsoft.XMLHTTP',nr='begin',qr='download',or='end',pr='leftoversDownload',rr='runAsync';_=Xb.prototype=new O;_.tI=0;_.c=null;_.d=0;_.e=null;_.f=null;var Yb;_=ic.prototype=new O;_.tI=0;_.b=null;_.c=0;_.d=0;_=rc.prototype=new mb;_.tI=7;_=uc.prototype=new O;_.i=yc;_.tI=8;_.b=null;_=Kc.prototype=new O;_.j=Nc;_.tI=0;_.b=null;_.c=null;_=xk.prototype=new O;_.tI=27;_=wk.prototype=new xk;_.eQ=Bk;_.hC=Ck;_.w=Dk;_.tI=30;_.b=0;var Gk;_=jn.prototype=new kl;_.y=nn;_.s=on;_.z=pn;_.tI=0;_.b=null;_.c=null;_=qn.prototype=new O;_.u=tn;_.v=un;_.tI=0;_.b=null;_=vn.prototype=new Dm;_.F=yn;_.G=zn;_.s=An;_.tI=41;_=mo.prototype=new vn;_.x=vo;_.z=wo;_.tI=45;_.b=null;_.c=0;_=xo.prototype=new O;_.u=Eo;_.v=Fo;_.tI=0;_.b=0;_.c=null;_.d=null;_.e=null;_=Go.prototype=new O;_.tI=0;_.b=null;_.c=null;_.d=null;var zg=new hk,Bg=new hk;hc(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/1.cache.js new file mode 100644 index 00000000..6625256a --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/1.cache.js @@ -0,0 +1,7 @@ +function jh(){} +function hh(){} +function oh(){} +function gh(){} +function lh(){lh=sp;kh=new hh} +function nh(){kh=(lh(),new gh);ac((Zb(),Yb),1);!!$stats&&$stats(Cc(Dr,Er,null,null));kh.q();!!$stats&&$stats(Cc(Dr,Fr,null,null))} +var Dr='runCallbacks1';_=hh.prototype=new O;_.q=jh;_.tI=0;_=gh.prototype=new hh;_.q=oh;_.tI=0;var kh;nh(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/2.cache.js new file mode 100644 index 00000000..4cd6961e --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/373CE923F09A0C2270E1B0F2D934E253/2.cache.js @@ -0,0 +1,75 @@ +function Xb(){} +function ic(){} +function rc(){} +function uc(){} +function Kc(){} +function Ik(){} +function Hk(){} +function xn(){} +function En(){} +function Jn(){} +function Ao(){} +function Lo(){} +function Uo(){} +function hc(){cc(Yb)} +function cc(a){ac(a,a.d)} +function yc(a){xc(this,a)} +function nc(a){a.c=0;a.d=0} +function qc(a){return a.d-a.c} +function Nk(){return this.b} +function Ok(){return this.b} +function Ko(){return this.c} +function To(){return Ro(this)} +function oc(a){return a.b[a.c]} +function mc(a,b){a.b[a.d++]=b} +function tc(a,b){Ed();return a} +function wc(a,b){a.b=b;return a} +function Lk(a,b){a.b=b;return a} +function Gn(a,b){a.b=b;return a} +function pc(a){return a.b[a.c++]} +function Dn(){return this.c.b.e} +function Hn(){return dn(this.b.b)} +function Bn(a){return Tl(this.b,a)} +function So(){return this.c!=this.e.b} +function On(){return Fo(yg(this,24),0)} +function Wo(a){a.b=a.c=a;return a} +function Mc(a,b,c){a.c=b;a.b=c;return a} +function zn(a,b,c){a.b=b;a.c=c;return a} +function Jo(a){return Xo(new Uo,a,this.b),++this.c,true} +function Io(a){if(a.c==0){throw lp(new jp)}} +function Co(a){a.b=Wo(new Uo);a.c=0;return a} +function Eo(a,b,c){Xo(new Uo,b,c);++a.c} +function Oo(a,b,c,d){a.e=d;a.c=c;a.b=b;return a} +function Xo(a,b,c){a.d=b;a.b=c;a.c=c.c;c.c.b=a;c.c=a;return a} +function lc(a,b){a.b=ig(Mg,0,-1,b,1);return a} +function Sk(){Sk=sp;Rk=ig(Og,0,12,256,0)} +function In(){var a;a=yg(en(this.b.b),20).H();return a} +function Cn(){var a;a=vm(new tm,this.c.b);return Gn(new En,a)} +function Jl(a){var b;b=mm(new gm,a);return zn(new xn,a,b)} +function Zb(){Zb=sp;Yb=_b(new Xb,2,jg(Mg,0,-1,[]))} +function ec(a,b,c,d){!!$stats&&$stats(Cc(a,b,c,d))} +function Ic(b,c){function d(a){c.i(a)} +return __gwtStartLoadingFragment(b,d)} +function Mn(a,b){var c;c=Fo(this,a);Eo(c.e,b,c.c);++c.b;c.d=null} +function Go(a){var b;Io(a);--a.c;b=a.b.b;b.b.c=b.c;b.c.b=b.b;b.b=b.c=b;return b.d} +function lk(c,a){var b=c;c.onreadystatechange=$entry(function(){a.j(b)})} +function fk(b){var a=b;$wnd.setTimeout(function(){a.onreadystatechange=new Function},0)} +function Nn(b){var a,d;d=Fo(this,b);try{return Ro(d)}catch(a){a=Yg(a);if(Bg(a,23)){throw Gk(new Dk,Mr+b)}else throw a}} +function Ro(a){if(a.c==a.e.b){throw lp(new jp)}a.d=a.c;a.c=a.c.b;++a.b;return a.d.d} +function _b(a,b,c){Zb();a.b=lo(new jo);a.g=Co(new Ao);a.d=b;a.c=c;a.f=lc(new ic,b+1);return a} +function Tl(a,b){if(a.d&&mo(a.c,b)){return true}else if(Sl(a,b)){return true}else if(Ql(a,b)){return true}return false} +function ac(a,b){var c;c=b==a.d?Gr:Hr+b;ec(c,Fr,Pk(b),null);if(bc(a,b)){pc(a.e);bm(a.b,Pk(b));gc(a)}} +function Jc(a,b){var c,d;c=Ic(a,b);if(c==null){return}d=mk();d.open(Jr,c,true);lk(d,Mc(new Kc,d,b));d.send(null)} +function bc(a,b){var c,d,e,f;if(b==a.d){return true}for(d=a.c,e=0,f=d.length;e-129&&a<128){b=a+128;c=(Sk(),Rk)[b];!c&&(c=Rk[b]=Lk(new Hk,a));return c}return Lk(new Hk,a)} +function Sl(e,a){var b=e.f;for(var c in b){if(c.charCodeAt(0)==58){var d=b[c];if(e.F(a,d)){return true}}}return false} +function Ql(i,a){var b=i.b;for(var c in b){if(c==parseInt(c)){var d=b[c];for(var e=0,f=d.length;e0){Tn(h,yg(Go(b.b.g),2));pc(b.b.f)}nc(b.b.f);Vn(h,Jl(b.b.b));Pl(b.b.b);i=null;for(g=cn(new _m,h);g.b1){return}if(qc(a.e)>0){c=oc(a.e);ec(c==a.d?Gr:Hr+c,Er,Pk(c),null);Jc(c,wc(new uc,a));return}while(qc(a.f)>0){c=pc(a.f);b=yg(Go(a.g),2);ec(c==a.d?Gr:Hr+c,Er,Pk(c),null);Jc(c,b)}} +function Fo(a,b){var c,d;(b<0||b>a.c)&&Zm(b,a.c);if(b>=a.c>>1){d=a.b;for(c=a.c;c>b;--c){d=d.c}}else{d=a.b.b;for(c=0;cb){if(f>1){e.resize(a.b.b,~~(c/f));Yu(a.c,e.encode())}}else{if(b>1){e.resize(~~(d/b),a.b.a);Yu(a.c,e.encode())}}} +var grb='AsyncLoader1',drb='beta.canvas',erb='runCallbacks1';_=hS.prototype=new iS;_.gC=tS;_.Zb=xS;_.tI=0;var RO=K3(Pob,grb);uS(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/4FEE434A493BF0E4969DA18CF936A5FD/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/4FEE434A493BF0E4969DA18CF936A5FD/2.cache.js new file mode 100644 index 00000000..6cb0eb93 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/4FEE434A493BF0E4969DA18CF936A5FD/2.cache.js @@ -0,0 +1,4 @@ +function ly(){gy(_x)} +function gy(a){dy(a,a.d)} +function dy(a,b){var c;c=b==a.d?Yhb:Zhb+b;iy(c,frb,J4(b),null);if(fy(a,b)){uy(a.e);S6(a.a,J4(b));ky(a)}} +var frb='end';ly(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/1.cache.js new file mode 100644 index 00000000..dc57ad14 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/1.cache.js @@ -0,0 +1,6 @@ +function YR(){} +function iS(){return MO} +function mS(){var a;while(bS){a=bS;bS=bS.c;!bS&&(cS=null);io(a.b)}} +function jS(){eS=true;dS=(gS(),new YR);ay((Zx(),Yx),1);!!$stats&&$stats(Gy(cqb,nhb,null,null));dS.$b();!!$stats&&$stats(Gy(cqb,dqb,null,null))} +function io(a){var b,c,d,e,f;e=($wnd.google&&$wnd.google.gears&&$wnd.google.gears.factory).create(bqb);e.decode(a.b);d=e.width;c=e.height;f=~~(d/a.c.c);b=~~(c/a.c.b);if(f>b){if(f>1){e.resize(a.c.c,~~(c/f));Yu(a.d,e.encode())}}else{if(b>1){e.resize(~~(d/b),a.c.b);Yu(a.d,e.encode())}}} +var eqb='AsyncLoader1',bqb='beta.canvas',cqb='runCallbacks1';_=YR.prototype=new ZR;_.gC=iS;_.$b=mS;_.tI=0;var MO=R2(Unb,eqb);jS(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/2.cache.js new file mode 100644 index 00000000..304e5f17 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/5DDD50A96AC2DC41C6BF0EB870994C49/2.cache.js @@ -0,0 +1,4 @@ +function iy(){dy(Yx)} +function dy(a){ay(a,a.e)} +function ay(a,b){var c;c=b==a.e?lhb:mhb+b;fy(c,dqb,Q3(b),null);if(cy(a,b)){ry(a.f);_5(a.b,Q3(b));hy(a)}} +var dqb='end';iy(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/1.cache.js new file mode 100644 index 00000000..4629cb0b --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/1.cache.js @@ -0,0 +1,7 @@ +function Xg(){} +function Vg(){} +function ah(){} +function Ug(){} +function Zg(){Zg=fp;Yg=new Vg} +function _g(){Yg=(Zg(),new Ug);ac((Zb(),Yb),1);!!$stats&&$stats(Cc(qr,rr,null,null));Yg.m();!!$stats&&$stats(Cc(qr,sr,null,null))} +var qr='runCallbacks1';_=Vg.prototype=new O;_.m=Xg;_.tI=0;_=Ug.prototype=new Vg;_.m=ah;_.tI=0;var Yg;_g(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/2.cache.js new file mode 100644 index 00000000..4f19fa5f --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/6B11280F72B8881FCDF44A0B47F1E96A/2.cache.js @@ -0,0 +1,75 @@ +function Xb(){} +function ic(){} +function rc(){} +function uc(){} +function Kc(){} +function yk(){} +function xk(){} +function kn(){} +function rn(){} +function wn(){} +function no(){} +function yo(){} +function Ho(){} +function hc(){cc(Yb)} +function cc(a){ac(a,a.d)} +function yc(a){xc(this,a)} +function nc(a){a.c=0;a.d=0} +function qc(a){return a.d-a.c} +function Dk(){return this.b} +function Ek(){return this.b} +function xo(){return this.c} +function Go(){return Eo(this)} +function oc(a){return a.b[a.c]} +function mc(a,b){a.b[a.d++]=b} +function tc(a,b){Ed();return a} +function wc(a,b){a.b=b;return a} +function Bk(a,b){a.b=b;return a} +function tn(a,b){a.b=b;return a} +function pc(a){return a.b[a.c++]} +function qn(){return this.c.b.e} +function un(){return Sm(this.b.b)} +function on(a){return Gl(this.b,a)} +function Fo(){return this.c!=this.e.b} +function Bn(){return so(lg(this,24),0)} +function Jo(a){a.b=a.c=a;return a} +function Mc(a,b,c){a.c=b;a.b=c;return a} +function mn(a,b,c){a.b=b;a.c=c;return a} +function wo(a){return Ko(new Ho,a,this.b),++this.c,true} +function vo(a){if(a.c==0){throw $o(new Yo)}} +function po(a){a.b=Jo(new Ho);a.c=0;return a} +function ro(a,b,c){Ko(new Ho,b,c);++a.c} +function Bo(a,b,c,d){a.e=d;a.c=c;a.b=b;return a} +function Ko(a,b,c){a.d=b;a.b=c;a.c=c.c;c.c.b=a;c.c=a;return a} +function lc(a,b){a.b=Xf(yg,0,-1,b,1);return a} +function Ik(){Ik=fp;Hk=Xf(Ag,0,12,256,0)} +function Zb(){Zb=fp;Yb=_b(new Xb,2,Yf(yg,0,-1,[]))} +function wl(a){var b;b=_l(new Vl,a);return mn(new kn,a,b)} +function vn(){var a;a=lg(Tm(this.b.b),20).D();return a} +function pn(){var a;a=im(new gm,this.c.b);return tn(new rn,a)} +function zn(a,b){var c;c=so(this,a);ro(c.e,b,c.c);++c.b;c.d=null} +function to(a){var b;vo(a);--a.c;b=a.b.b;b.b.c=b.c;b.c.b=b.b;b.b=b.c=b;return b.d} +function Ck(a){return a!=null&&jg(a.tI,12)&&lg(a,12).b==this.b} +function ec(a,b,c,d){!!$stats&&$stats(Cc(a,b,c,d))} +function Ic(b,c){function d(a){c.i(a)} +return __gwtStartLoadingFragment(b,d)} +function Gl(a,b){if(a.d&&$n(a.c,b)){return true}else if(Fl(a,b)){return true}else if(Dl(a,b)){return true}return false} +function Eo(a){if(a.c==a.e.b){throw $o(new Yo)}a.d=a.c;a.c=a.c.b;++a.b;return a.d.d} +function _b(a,b,c){Zb();a.b=Zn(new Xn);a.g=po(new no);a.d=b;a.c=c;a.f=lc(new ic,b+1);return a} +function Xj(b){var a=b;$wnd.setTimeout(function(){a.onreadystatechange=new Function},0)} +function bk(c,a){var b=c;c.onreadystatechange=$entry(function(){a.j(b)})} +function Fl(e,a){var b=e.f;for(var c in b){if(c.charCodeAt(0)==58){var d=b[c];if(e.B(a,d)){return true}}}return false} +function Dl(i,a){var b=i.b;for(var c in b){if(c==parseInt(c)){var d=b[c];for(var e=0,f=d.length;ea.c)&&Mm(b,a.c);if(b>=a.c>>1){d=a.b;for(c=a.c;c>b;--c){d=d.c}}else{d=a.b.b;for(c=0;c-129&&a<128){b=a+128;c=(Ik(),Hk)[b];!c&&(c=Hk[b]=Bk(new xk,a));return c}return Bk(new xk,a)} +function ck(){if($wnd.XMLHttpRequest){return new XMLHttpRequest}else{try{return new ActiveXObject(xr)}catch(a){return new ActiveXObject(yr)}}} +function xc(b,c){var a,e,f,g,h,i;h=Fn(new Cn);while(qc(b.b.f)>0){Gn(h,lg(to(b.b.g),2));pc(b.b.f)}nc(b.b.f);In(h,wl(b.b.b));Cl(b.b.b);i=null;for(g=Rm(new Om,h);g.b1){return}if(qc(a.e)>0){c=oc(a.e);ec(c==a.d?tr:ur+c,rr,Fk(c),null);Jc(c,wc(new uc,a));return}while(qc(a.f)>0){c=pc(a.f);b=lg(to(a.g),2);ec(c==a.d?tr:ur+c,rr,Fk(c),null);Jc(c,b)}} +var zr="Can't get element ",wr='GET',xr='MSXML2.XMLHTTP.3.0',yr='Microsoft.XMLHTTP',rr='begin',ur='download',sr='end',tr='leftoversDownload',vr='runAsync';_=Xb.prototype=new O;_.tI=0;_.c=null;_.d=0;_.e=null;_.f=null;var Yb;_=ic.prototype=new O;_.tI=0;_.b=null;_.c=0;_.d=0;_=rc.prototype=new mb;_.tI=7;_=uc.prototype=new O;_.i=yc;_.tI=8;_.b=null;_=Kc.prototype=new O;_.j=Nc;_.tI=0;_.b=null;_.c=null;_=yk.prototype=new O;_.tI=27;_=xk.prototype=new yk;_.eQ=Ck;_.hC=Dk;_.w=Ek;_.tI=30;_.b=0;var Hk;_=kn.prototype=new ll;_.y=on;_.s=pn;_.z=qn;_.tI=0;_.b=null;_.c=null;_=rn.prototype=new O;_.u=un;_.v=vn;_.tI=0;_.b=null;_=wn.prototype=new Em;_.F=zn;_.G=An;_.s=Bn;_.tI=41;_=no.prototype=new wn;_.x=wo;_.z=xo;_.tI=45;_.b=null;_.c=0;_=yo.prototype=new O;_.u=Fo;_.v=Go;_.tI=0;_.b=0;_.c=null;_.d=null;_.e=null;_=Ho.prototype=new O;_.tI=0;_.b=null;_.c=null;_.d=null;var yg=new ik,Ag=new ik;hc(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/1.cache.js new file mode 100644 index 00000000..c628482d --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/1.cache.js @@ -0,0 +1,6 @@ +function zS(){} +function LS(){return fP} +function PS(){var a;while(ES){a=ES;ES=ES.b;!ES&&(FS=null);ko(a.a)}} +function MS(){HS=true;GS=(JS(),new zS);gy((dy(),cy),1);!!$stats&&$stats(My(zsb,Oib,null,null));GS.Zb();!!$stats&&$stats(My(zsb,Asb,null,null))} +function ko(a){var b,c,d,e,f;e=($wnd.google&&$wnd.google.gears&&$wnd.google.gears.factory).create(ysb);e.decode(a.a);d=e.width;c=e.height;f=~~(d/a.b.b);b=~~(c/a.b.a);if(f>b){if(f>1){e.resize(a.b.b,~~(c/f));$u(a.c,e.encode())}}else{if(b>1){e.resize(~~(d/b),a.b.a);$u(a.c,e.encode())}}} +var Bsb='AsyncLoader1',ysb='beta.canvas',zsb='runCallbacks1';_=zS.prototype=new AS;_.gC=LS;_.Zb=PS;_.tI=0;var fP=z4(gqb,Bsb);MS(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/2.cache.js new file mode 100644 index 00000000..22bb2db7 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/8E9AF58E0E2BDFC35328028FC368ECD2/2.cache.js @@ -0,0 +1,4 @@ +function oy(){jy(cy)} +function jy(a){gy(a,a.d)} +function gy(a,b){var c;c=b==a.d?Mib:Nib+b;ly(c,Asb,y5(b),null);if(iy(a,b)){xy(a.e);H7(a.a,y5(b));ny(a)}} +var Asb='end';oy(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/1.cache.js new file mode 100644 index 00000000..f4c58224 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/1.cache.js @@ -0,0 +1,6 @@ +function zS(){} +function LS(){return jP} +function PS(){var a;while(ES){a=ES;ES=ES.c;!ES&&(FS=null);po(a.b)}} +function MS(){HS=true;GS=(JS(),new zS);hy((ey(),dy),1);!!$stats&&$stats(Ny(hrb,hib,null,null));GS.cc();!!$stats&&$stats(Ny(hrb,irb,null,null))} +function po(a){var b,c,d,e,f;e=($wnd.google&&$wnd.google.gears&&$wnd.google.gears.factory).create(grb);e.decode(a.b);d=e.width;c=e.height;f=~~(d/a.c.c);b=~~(c/a.c.b);if(f>b){if(f>1){e.resize(a.c.c,~~(c/f));dv(a.d,e.encode())}}else{if(b>1){e.resize(~~(d/b),a.c.b);dv(a.d,e.encode())}}} +var jrb='AsyncLoader1',grb='beta.canvas',hrb='runCallbacks1';_=zS.prototype=new AS;_.gC=LS;_.cc=PS;_.tI=0;var jP=R3(Vob,jrb);MS(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/2.cache.js new file mode 100644 index 00000000..35b948e8 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/F0ACC41901D1A45069B29563B600C0E1/2.cache.js @@ -0,0 +1,4 @@ +function py(){ky(dy)} +function ky(a){hy(a,a.e)} +function hy(a,b){var c;c=b==a.e?fib:gib+b;my(c,irb,Q4(b),null);if(jy(a,b)){yy(a.f);$6(a.b,Q4(b));oy(a)}} +var irb='end';py(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/1.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/1.cache.js new file mode 100644 index 00000000..1ae48cc1 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/1.cache.js @@ -0,0 +1,7 @@ +function Ug(){} +function Sg(){} +function Zg(){} +function Rg(){} +function Wg(){Wg=cp;Vg=new Sg} +function Yg(){Vg=(Wg(),new Rg);ac((Zb(),Yb),1);!!$stats&&$stats(Cc(nr,or,null,null));Vg.m();!!$stats&&$stats(Cc(nr,pr,null,null))} +var nr='runCallbacks1';_=Sg.prototype=new O;_.m=Ug;_.tI=0;_=Rg.prototype=new Sg;_.m=Zg;_.tI=0;var Vg;Yg(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/2.cache.js b/modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/2.cache.js new file mode 100644 index 00000000..852a926c --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/deferredjs/FFDD2B79ACD26336C36A836612DAEC0A/2.cache.js @@ -0,0 +1,75 @@ +function Xb(){} +function ic(){} +function rc(){} +function uc(){} +function Kc(){} +function vk(){} +function uk(){} +function gn(){} +function on(){} +function tn(){} +function ko(){} +function vo(){} +function Eo(){} +function hc(){cc(Yb)} +function cc(a){ac(a,a.d)} +function yc(a){xc(this,a)} +function nc(a){a.c=0;a.d=0} +function qc(a){return a.d-a.c} +function Ak(){return this.b} +function Bk(){return this.b} +function uo(){return this.c} +function Do(){return Bo(this)} +function oc(a){return a.b[a.c]} +function mc(a,b){a.b[a.d++]=b} +function tc(a,b){Ed();return a} +function wc(a,b){a.b=b;return a} +function yk(a,b){a.b=b;return a} +function qn(a,b){a.b=b;return a} +function pc(a){return a.b[a.c++]} +function nn(){return this.c.b.e} +function rn(){return Pm(this.b.b)} +function ln(a){return Dl(this.b,a)} +function Co(){return this.c!=this.e.b} +function yn(){return po(ig(this,24),0)} +function so(a){if(a.c==0){throw Xo(new Vo)}} +function Go(a){a.b=a.c=a;return a} +function Mc(a,b,c){a.c=b;a.b=c;return a} +function jn(a,b,c){a.b=b;a.c=c;return a} +function to(a){return Ho(new Eo,a,this.b),++this.c,true} +function oo(a,b,c){Ho(new Eo,b,c);++a.c} +function mo(a){a.b=Go(new Eo);a.c=0;return a} +function yo(a,b,c,d){a.e=d;a.c=c;a.b=b;return a} +function Ho(a,b,c){a.d=b;a.b=c;a.c=c.c;c.c.b=a;c.c=a;return a} +function lc(a,b){a.b=Uf(vg,0,-1,b,1);return a} +function Fk(){Fk=cp;Ek=Uf(xg,0,12,256,0)} +function Zb(){Zb=cp;Yb=_b(new Xb,2,Vf(vg,0,-1,[]))} +function tl(a){var b;b=Yl(new Sl,a);return jn(new gn,a,b)} +function sn(){var a;a=ig(Qm(this.b.b),20).D();return a} +function mn(){var a;a=fm(new dm,this.c.b);return qn(new on,a)} +function wn(a,b){var c;c=po(this,a);oo(c.e,b,c.c);++c.b;c.d=null} +function qo(a){var b;so(a);--a.c;b=a.b.b;b.b.c=b.c;b.c.b=b.b;b.b=b.c=b;return b.d} +function zk(a){return a!=null&&gg(a.tI,12)&&ig(a,12).b==this.b} +function ec(a,b,c,d){!!$stats&&$stats(Cc(a,b,c,d))} +function Ic(b,c){function d(a){c.i(a)} +return __gwtStartLoadingFragment(b,d)} +function Dl(a,b){if(a.d&&Xn(a.c,b)){return true}else if(Cl(a,b)){return true}else if(Al(a,b)){return true}return false} +function Bo(a){if(a.c==a.e.b){throw Xo(new Vo)}a.d=a.c;a.c=a.c.b;++a.b;return a.d.d} +function _b(a,b,c){Zb();a.b=Wn(new Un);a.g=mo(new ko);a.d=b;a.c=c;a.f=lc(new ic,b+1);return a} +function Uj(b){var a=b;$wnd.setTimeout(function(){a.onreadystatechange=new Function},0)} +function $j(c,a){var b=c;c.onreadystatechange=$entry(function(){a.j(b)})} +function Cl(e,a){var b=e.f;for(var c in b){if(c.charCodeAt(0)==58){var d=b[c];if(e.B(a,d)){return true}}}return false} +function Al(i,a){var b=i.b;for(var c in b){if(c==parseInt(c)){var d=b[c];for(var e=0,f=d.length;ea.c)&&Jm(b,a.c);if(b>=a.c>>1){d=a.b;for(c=a.c;c>b;--c){d=d.c}}else{d=a.b.b;for(c=0;c-129&&a<128){b=a+128;c=(Fk(),Ek)[b];!c&&(c=Ek[b]=yk(new uk,a));return c}return yk(new uk,a)} +function _j(){if($wnd.XMLHttpRequest){return new XMLHttpRequest}else{try{return new ActiveXObject(ur)}catch(a){return new ActiveXObject(vr)}}} +function xc(b,c){var a,e,f,g,h,i;h=Cn(new zn);while(qc(b.b.f)>0){Dn(h,ig(qo(b.b.g),2));pc(b.b.f)}nc(b.b.f);Fn(h,tl(b.b.b));zl(b.b.b);i=null;for(g=Om(new Lm,h);g.b1){return}if(qc(a.e)>0){c=oc(a.e);ec(c==a.d?qr:rr+c,or,Ck(c),null);Jc(c,wc(new uc,a));return}while(qc(a.f)>0){c=pc(a.f);b=ig(qo(a.g),2);ec(c==a.d?qr:rr+c,or,Ck(c),null);Jc(c,b)}} +var wr="Can't get element ",tr='GET',ur='MSXML2.XMLHTTP.3.0',vr='Microsoft.XMLHTTP',or='begin',rr='download',pr='end',qr='leftoversDownload',sr='runAsync';_=Xb.prototype=new O;_.tI=0;_.c=null;_.d=0;_.e=null;_.f=null;var Yb;_=ic.prototype=new O;_.tI=0;_.b=null;_.c=0;_.d=0;_=rc.prototype=new mb;_.tI=7;_=uc.prototype=new O;_.i=yc;_.tI=8;_.b=null;_=Kc.prototype=new O;_.j=Nc;_.tI=0;_.b=null;_.c=null;_=vk.prototype=new O;_.tI=27;_=uk.prototype=new vk;_.eQ=zk;_.hC=Ak;_.w=Bk;_.tI=30;_.b=0;var Ek;_=gn.prototype=new il;_.y=ln;_.s=mn;_.z=nn;_.tI=0;_.b=null;_.c=null;_=on.prototype=new O;_.u=rn;_.v=sn;_.tI=0;_.b=null;_=tn.prototype=new Bm;_.F=wn;_.G=xn;_.s=yn;_.tI=41;_=ko.prototype=new tn;_.x=to;_.z=uo;_.tI=45;_.b=null;_.c=0;_=vo.prototype=new O;_.u=Co;_.v=Do;_.tI=0;_.b=0;_.c=null;_.d=null;_.e=null;_=Eo.prototype=new O;_.tI=0;_.b=null;_.c=null;_.d=null;var vg=new fk,xg=new fk;hc(); \ No newline at end of file diff --git a/modules/gwtorganise/war/g3viewer/g3viewer.nocache.js b/modules/gwtorganise/war/g3viewer/g3viewer.nocache.js new file mode 100644 index 00000000..c70e2b26 --- /dev/null +++ b/modules/gwtorganise/war/g3viewer/g3viewer.nocache.js @@ -0,0 +1,11 @@ +function g3viewer(){var M='',nb='" for "gwt:onLoadErrorFn"',lb='" for "gwt:onPropertyErrorFn"',Y='"><\/script>',$='#',Wb='.cache.html',ab='/',Lb='0031994593072F3F8665BB367C2904F3',Mb='063AB00068E7F94442F89D1B4262AD00',Nb='2625E6CD0659684104018A069A188996',Ob='36CF5446615AAE9D0FDDA0B123643155',Pb='373CE923F09A0C2270E1B0F2D934E253',Qb='4FEE434A493BF0E4969DA18CF936A5FD',Rb='5DDD50A96AC2DC41C6BF0EB870994C49',Sb='6B11280F72B8881FCDF44A0B47F1E96A',Tb='8E9AF58E0E2BDFC35328028FC368ECD2',gc=' + +This html file is for hosted mode support. + diff --git a/modules/gwtorganise/war/g3viewer/loading.gif b/modules/gwtorganise/war/g3viewer/loading.gif new file mode 100644 index 00000000..8f56a82c Binary files /dev/null and b/modules/gwtorganise/war/g3viewer/loading.gif differ diff --git a/modules/gwtorganise/war/index.php b/modules/gwtorganise/war/index.php index 965b69cd..8928ee20 100644 --- a/modules/gwtorganise/war/index.php +++ b/modules/gwtorganise/war/index.php @@ -1,3 +1,3 @@ Gallery Administration

+?>Gallery Administration