001 package org.springframework.richclient.taskpane; 002 003 import org.springframework.richclient.application.Application; 004 import org.springframework.richclient.application.ApplicationWindow; 005 import org.springframework.richclient.application.ApplicationWindowFactory; 006 import org.springframework.richclient.application.config.ApplicationLifecycleAdvisor; 007 import org.springframework.richclient.command.AbstractCommand; 008 009 public class TaskPaneNavigatorApplicationWindowFactory implements ApplicationWindowFactory 010 { 011 private IconGenerator<AbstractCommand> taskPaneIconGenerator; 012 013 public ApplicationWindow createApplicationWindow() 014 { 015 ApplicationLifecycleAdvisor lifecycleAdvisor = Application.instance().getLifecycleAdvisor(); 016 if (lifecycleAdvisor instanceof TaskPaneNavigatorApplicationLifecycleAdvisor) 017 { 018 TaskPaneNavigatorApplicationLifecycleAdvisor taskPaneNavigatorApplicationLifecycleAdvisor = (TaskPaneNavigatorApplicationLifecycleAdvisor) lifecycleAdvisor; 019 TaskPaneNavigatorApplicationWindow window = new TaskPaneNavigatorApplicationWindow(); 020 window.setTaskPaneIconGenerator(getTaskPaneIconGenerator()); 021 window.setOnlyOneExpanded(taskPaneNavigatorApplicationLifecycleAdvisor.hasOnlyOneExpanded()); 022 return window; 023 } 024 else 025 { 026 throw new IllegalArgumentException(); 027 } 028 } 029 030 public IconGenerator<AbstractCommand> getTaskPaneIconGenerator() 031 { 032 return taskPaneIconGenerator; 033 } 034 035 public void setTaskPaneIconGenerator(IconGenerator<AbstractCommand> taskPaneIconGenerator) 036 { 037 this.taskPaneIconGenerator = taskPaneIconGenerator; 038 } 039 }