private void exportProject(Project project) { Tracking.trackEvent( Tracking.PROJECT_EVENT, Tracking.PROJECT_ACTION_DOWNLOAD_PROJECT_SOURCE_YA, project.getProjectName()); Downloader.getInstance() .download( ServerLayout.DOWNLOAD_SERVLET_BASE + ServerLayout.DOWNLOAD_PROJECT_SOURCE + "/" + project.getProjectId()); }
private boolean deleteConfirmation(List<Project> projects) { String message; if (projects.size() == 1) { message = MESSAGES.confirmDeleteSingleProject(projects.get(0).getProjectName()); } else { StringBuilder sb = new StringBuilder(); String separator = ""; for (Project project : projects) { sb.append(separator).append(project.getProjectName()); separator = ", "; } String projectNames = sb.toString(); message = MESSAGES.confirmDeleteManyProjects(projectNames); } return Window.confirm(message); }
private void deleteProject(Project project) { Tracking.trackEvent( Tracking.PROJECT_EVENT, Tracking.PROJECT_ACTION_DELETE_PROJECT_YA, project.getProjectName()); final long projectId = project.getProjectId(); Ode ode = Ode.getInstance(); boolean isCurrentProject = (projectId == ode.getCurrentYoungAndroidProjectId()); ode.getEditorManager().closeProjectEditor(projectId); if (isCurrentProject) { // If we're deleting the project that is currently open in the Designer we // need to clear the ViewerBox first. ViewerBox.getViewerBox().clear(); } // Make sure that we delete projects even if they are not open. doDeleteProject(projectId); }
private ProjectWidgets(final Project project) { checkBox = new CheckBox(); checkBox.addValueChangeHandler( new ValueChangeHandler<Boolean>() { @Override public void onValueChange(ValueChangeEvent<Boolean> event) { boolean isChecked = event.getValue(); // auto-unbox from Boolean to boolean int row = 1 + projects.indexOf(project); if (isChecked) { table.getRowFormatter().setStyleName(row, "ode-ProjectRowHighlighted"); selectedProjects.add(project); } else { table.getRowFormatter().setStyleName(row, "ode-ProjectRowUnHighlighted"); selectedProjects.remove(project); } Ode.getInstance().getProjectToolbar().updateButtons(); } }); nameLabel = new Label(project.getProjectName()); nameLabel.addClickHandler( new ClickHandler() { @Override public void onClick(ClickEvent event) { Ode.getInstance().openYoungAndroidProjectInDesigner(project); } }); nameLabel.addStyleName("ode-ProjectNameLabel"); DateTimeFormat dateTimeFormat = DateTimeFormat.getMediumDateTimeFormat(); Date dateCreated = new Date(project.getDateCreated()); dateCreatedLabel = new Label(dateTimeFormat.format(dateCreated)); Date dateModified = new Date(project.getDateModified()); dateModifiedLabel = new Label(dateTimeFormat.format(dateModified)); editButton = new Button("Publish"); }
/** Prepares the app publishing process */ private void preparePublishApp(Project p, ProjectWidgets pw) { // final GalleryApp app = new GalleryApp(String title, String developerName, String // description, // String creationDate, String updateDate, String imageURL, String sourceFileName, // int downloads, int views, int likes, int comments, // String imageBlobId, String sourceBlobId, String galleryAppId, // ArrayList<String> tags); String dateCreated = String.valueOf(p.getDateCreated()); String dateModified = String.valueOf(p.getDateModified()); ArrayList<String> tags = new ArrayList<String>(); tags.add("Education"); tags.add("testing"); final GalleryApp app1 = new GalleryApp( "Sports Analyzer", "Joe Hammons", "a great game", "1355091003791", "1355091003791", "http://lh3.ggpht.com/zyfGqqiN4P8GvXFVbVf-RLC--PrEDeRCu5jovFYD6l3TXYfU5pR70HXJ3yr-87p5FUGFSxeUgOMecodBOcTFYA7frUg6QTrS5ocMcNk=s100", "http://www.appinventor.org/apps2/ihaveadream/ihaveadream.aia", 2, 5, 3, 4, "", "", "", tags); pw.editButton.addClickHandler( new ClickHandler() { // @Override public void onClick(ClickEvent event) { Ode.getInstance().switchToGalleryAppView(app1, true); } }); }