package kornell.gui.client.presentation.admin.courseclass.courseclass.generic; import com.google.gwt.core.client.GWT; import com.google.gwt.place.shared.PlaceController; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; import com.google.web.bindery.event.shared.EventBus; import kornell.api.client.KornellSession; import kornell.core.to.CourseClassTO; import kornell.gui.client.ViewFactory; import kornell.gui.client.presentation.admin.courseclass.courseclass.AdminCourseClassPlace; import kornell.gui.client.presentation.message.MessagePresenter; public class GenericCourseClassMessagesView extends Composite { interface MyUiBinder extends UiBinder<Widget, GenericCourseClassMessagesView> { } private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class); PlaceController placeCtrl; ViewFactory viewFactory; boolean isCurrentUser, showContactDetails, isRegisteredWithCPF; private MessagePresenter presenter; @UiField FlowPanel messagesPanel; public GenericCourseClassMessagesView(final KornellSession session, EventBus bus, PlaceController placeCtrl, ViewFactory viewFactory, MessagePresenter presenter, CourseClassTO courseClassTO) { this.placeCtrl = placeCtrl; this.viewFactory = viewFactory; this.presenter = presenter; initWidget(uiBinder.createAndBindUi(this)); initData(); } public void initData() { messagesPanel.clear(); messagesPanel.setVisible(false); messagesPanel.add(getPanel()); messagesPanel.setVisible(true); } private FlowPanel getPanel() { FlowPanel panel = new FlowPanel(); panel.addStyleName("reportPanel"); if(placeCtrl.getWhere() instanceof AdminCourseClassPlace) panel.add(getMessagesInfo()); panel.add(getMessagesContent()); return panel; } private FlowPanel getMessagesInfo() { FlowPanel messagesInfo = new FlowPanel(); messagesInfo.addStyleName("titlePanel"); Label infoTitle = new Label("Mensagens"); infoTitle.addStyleName("title"); messagesInfo.add(infoTitle); Label infoText = new Label("Mensagens entre os alunos e os responsáveis pela turma."); infoText.addStyleName("subTitle"); messagesInfo.add(infoText); return messagesInfo; } private FlowPanel getMessagesContent() { FlowPanel reportContentPanel = new FlowPanel(); reportContentPanel.add(presenter.asWidget()); return reportContentPanel; } }