View Javadoc

1   package org.kuali.student.lum.lu.ui.course.client.controllers;
2   
3   import org.kuali.student.common.ui.client.application.ViewContext;
4   import org.kuali.student.common.ui.client.configurable.mvc.layouts.BasicLayout;
5   import org.kuali.student.common.ui.client.mvc.Callback;
6   
7   import com.google.gwt.core.client.GWT;
8   
9   public class ViewCourseParentController extends BasicLayout{
10  	
11  	public static enum Views{VIEW, VERSIONS}
12  	
13  	private ViewCourseController view;
14  	private VersionsController versions;
15  
16  	public ViewCourseParentController() {
17  		super(ViewCourseParentController.class.toString());
18          this.setDefaultView(Views.VIEW);
19          setupDefaultView();
20      }
21  
22      private void setupDefaultView() {
23          view = GWT.create(ViewCourseController.class);
24          view.initialize(Views.VIEW);
25          view.setParentController(this);
26          versions = new VersionsController(Views.VERSIONS);
27          view.setParentController(this);
28          this.addView(view);
29          this.addView(versions);
30      }
31  	
32  	@Override
33  	public void setViewContext(ViewContext viewContext) {
34  		//super.setViewContext(viewContext);
35  		view.setViewContext(viewContext);
36  	}
37  	
38  	@Override
39      public <V extends Enum<?>> void showView(final V viewType, final Callback<Boolean> onReadyCallback) {
40  		if(viewType == Views.VERSIONS){
41  			view.setName("");
42  			this.setName(view.getCourseTitle());
43  			versions.setVersionIndId(view.getVersionIndId());
44  			versions.setCurrentVersionId(view.getCurrentId());
45  			versions.setCurrentTitle(view.getCourseTitle());
46  		}
47  		else if(viewType == Views.VIEW){
48  			view.setName(view.getCourseTitle());
49  			this.setName("");
50  		}
51  		super.showView(viewType, onReadyCallback);
52      }
53  
54      @Override
55      public Enum<?> getViewEnumValue(String enumValue) {
56          return Views.valueOf(enumValue);
57      }
58      
59      @Override
60      public void beforeShow(Callback<Boolean> onReadyCallback) {
61      	if(this.getName() != null && !this.getName().equals("")){
62      		this.setName("");
63      	}
64      	super.beforeShow(onReadyCallback);
65      }
66      
67  }