Author: dongxu Date: Thu Sep 12 03:33:03 2013 New Revision: 1522218 URL: http://svn.apache.org/r1522218 Log: fixed issue #16 [Issue 16]click events should be attached to the CellTree so that the messages list can display at the main panel.
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderTreeViewModel.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java?rev=1522218&r1=1522217&r2=1522218&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java Thu Sep 12 03:33:03 2013 @@ -1355,10 +1355,16 @@ System.out.println("1111111"+response); // MailInboxPlace(folder.getName()).with(user)); } +<<<<<<< HEAD private void showMessage(User user, ImapFolder folder, Message message, MessageDetails details) { placeController.goTo(IMAPMessagePlaceProvider.get()); >>>>>>> try to change fetch messages to use RF } +======= +// private void showMessage(User user, ImapFolder folder, Message message, MessageDetails details) { +// placeController.goTo(IMAPMessagePlaceProvider.get()); +// } +>>>>>>> fixed issue #16 private void showNewMessage() { placeController.goTo(this.messageSendPlaceProvider.get().with(user, null, null, null, Type.NEW)); @@ -1375,7 +1381,7 @@ System.out.println("1111111"+response); } @Inject private Displayable display; - @Inject private Provider<IMAPMessagePlace> IMAPMessagePlaceProvider; +// @Inject private Provider<IMAPMessagePlace> IMAPMessagePlaceProvider; @Inject private Provider<MessageSendPlace> messageSendPlaceProvider; @Inject private Provider<IMAPMessagePlace> messagePlaceProvider; private User user; Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderTreeViewModel.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderTreeViewModel.java?rev=1522218&r1=1522217&r2=1522218&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderTreeViewModel.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderTreeViewModel.java Thu Sep 12 03:33:03 2013 @@ -21,17 +21,18 @@ package org.apache.hupa.client.ui; import java.util.List; -import org.apache.hupa.client.rf.FetchFoldersRequest; import org.apache.hupa.client.rf.HupaRequestFactory; import org.apache.hupa.shared.domain.ImapFolder; +import org.apache.hupa.shared.events.LoadMessagesEvent; import com.google.gwt.cell.client.AbstractCell; -import com.google.gwt.cell.client.Cell; +import com.google.gwt.event.shared.EventBus; import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.view.client.AsyncDataProvider; import com.google.gwt.view.client.HasData; -import com.google.gwt.view.client.ListDataProvider; -import com.google.gwt.view.client.Range; +import com.google.gwt.view.client.ProvidesKey; +import com.google.gwt.view.client.SelectionChangeEvent; +import com.google.gwt.view.client.SingleSelectionModel; import com.google.gwt.view.client.TreeViewModel; import com.google.inject.Inject; import com.google.web.bindery.requestfactory.shared.Receiver; @@ -39,12 +40,37 @@ import com.google.web.bindery.requestfac public class FolderTreeViewModel implements TreeViewModel { @Inject protected HupaRequestFactory rf; + @Inject protected EventBus eventBus; + + protected SingleSelectionModel<ImapFolder> selectionModel; + + protected void setSelectionModel(SingleSelectionModel<ImapFolder> selectionModel){ + this.selectionModel = selectionModel; + } /** * Get the {@link NodeInfo} that provides the children of the specified * value. */ + @Override public <T> NodeInfo<?> getNodeInfo(T value) { + +// final ProvidesKey<ImapFolder> KEY_PROVIDER = new ProvidesKey<ImapFolder>() { +// @Override +// public Object getKey(ImapFolder item) { +// return item == null ? null : item.getFullName(); +// } +// }; +// final SingleSelectionModel<ImapFolder> selectionModel = new SingleSelectionModel<ImapFolder>(KEY_PROVIDER); +// selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { +// +// @Override +// public void onSelectionChange(SelectionChangeEvent event) { +// ImapFolder folder = (ImapFolder)event.getSource(); +// +// eventBus.fireEvent(new LoadMessagesEvent(user, folder)); +// +// }}); return new DefaultNodeInfo<ImapFolder>(new ImapFolderListDataProvider((ImapFolder) value), new AbstractCell<ImapFolder>() { @Override @@ -53,7 +79,7 @@ public class FolderTreeViewModel impleme sb.appendEscaped(value.getName()); } } - }); + }, selectionModel, null); } private class ImapFolderListDataProvider extends AsyncDataProvider<ImapFolder> { @@ -67,7 +93,6 @@ public class FolderTreeViewModel impleme @Override public void addDataDisplay(HasData<ImapFolder> display) { super.addDataDisplay(display); - } @Override @@ -90,6 +115,7 @@ public class FolderTreeViewModel impleme * Check if the specified value represents a leaf node. Leaf nodes cannot be * opened. */ + @Override public boolean isLeaf(Object value) { if (value == null) return false; Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java?rev=1522218&r1=1522217&r2=1522218&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java Thu Sep 12 03:33:03 2013 @@ -570,15 +570,15 @@ public class MessagesCellTable extends D }); addColumn(checkboxCol, header); - this.setColumnWidth(checkboxCol, 3, Unit.EM); + setColumnWidth(checkboxCol, 3, Unit.EM); addColumn(fromCol, constants.mailTableFrom()); - this.setColumnWidth(fromCol, 40, Unit.PCT); + setColumnWidth(fromCol, 40, Unit.PCT); addColumn(subjectCol, constants.mailTableSubject()); - this.setColumnWidth(subjectCol, 60, Unit.PCT); + setColumnWidth(subjectCol, 60, Unit.PCT); addColumn(attachedCol, "Attached");// TODO i18n - this.setColumnWidth(attachedCol, 7, Unit.EM); + setColumnWidth(attachedCol, 7, Unit.EM); addColumn(dateCol, constants.mailTableDate()); - this.setColumnWidth(dateCol, 10, Unit.EM); + setColumnWidth(dateCol, 10, Unit.EM); setRowCount(PAGE_SIZE, false); setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED); setSelectionModel(selectionModel, DefaultSelectionEventManager.<Message> createCheckboxManager(0)); Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java?rev=1522218&r1=1522217&r2=1522218&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java Thu Sep 12 03:33:03 2013 @@ -96,6 +96,7 @@ import org.apache.hupa.shared.data.Messa import org.apache.hupa.shared.domain.ImapFolder; import org.apache.hupa.shared.domain.Message; import org.apache.hupa.shared.domain.User; +import org.apache.hupa.shared.events.LoadMessagesEvent; import org.apache.hupa.shared.events.LoginEvent; import org.apache.hupa.shared.events.LoginEventHandler; import org.apache.hupa.shared.events.LogoutEvent; @@ -144,6 +145,7 @@ import com.google.gwt.user.client.ui.Tre import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; import com.google.gwt.view.client.ProvidesKey; +import com.google.gwt.view.client.SelectionChangeEvent; import com.google.gwt.view.client.SingleSelectionModel; import com.google.gwt.view.client.TreeViewModel; import com.google.inject.Inject; @@ -189,12 +191,22 @@ public class WestView extends Composite private TreeViewModel viewModel; @Inject - public WestView(FolderTreeViewModel viewModel, EventBus bus, PagingScrollTableRowDragController controllerProvider, HupaConstants constants, HupaMessages messages) { + public WestView(FolderTreeViewModel viewModel, final EventBus eventBus, PagingScrollTableRowDragController controllerProvider, HupaConstants constants, HupaMessages messages) { this.viewModel = viewModel; + selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { + + @Override + public void onSelectionChange(SelectionChangeEvent event) { + @SuppressWarnings("unchecked") + SingleSelectionModel<ImapFolder> selectionModel =(SingleSelectionModel<ImapFolder>) event.getSource(); + eventBus.fireEvent(new LoadMessagesEvent(user, selectionModel.getSelectedObject())); + + }}); + viewModel.setSelectionModel(selectionModel); this.constants = constants; this.messages = messages; this.controller = controllerProvider; - this.bus = bus; + this.bus = eventBus; loader = new Loading(constants.loading()); <<<<<<< HEAD <<<<<<< HEAD --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org