@Override protected String getFactoryID( String id ) { if( KNOWN.equals( id )) return factory.getID(); else return id.substring( UNKNOWN.length() ); }
/** * Creates a new {@link PredefinedPerspective}. This perspective will write the layout in * such a way that a {@link PredefinedDockSituation} can read it again.<br> * Please note that clients need to register {@link DockElement}s using {@link PredefinedPerspective#put(String, PerspectiveElement)} * before the perspective can be used. The {@link DockElement}s registered to <code>this</code> by using {@link #put(String, DockElement)} * are ignored by the perspective. */ @Override public PredefinedPerspective createPerspective(){ return new PredefinedPerspective( this ){ private PreloadFactory preload; { preload = new PreloadFactory(this); } protected String getID( PerspectiveElement element ){ return PredefinedDockSituation.this.getID( element, this ); } protected DockFactory<?, ?, ?> getFactory( String id ){ DockFactory<?, ?, ?> factory = PredefinedDockSituation.this.getFactory( id ); if( factory == PredefinedDockSituation.this.factory ){ return preload; } return factory; } }; }
/** * Creates a new {@link PredefinedPerspective}. This perspective will write the layout in * such a way that a {@link PredefinedDockSituation} can read it again.<br> * Please note that clients need to register {@link DockElement}s using {@link PredefinedPerspective#put(String, PerspectiveElement)} * before the perspective can be used. The {@link DockElement}s registered to <code>this</code> by using {@link #put(String, DockElement)} * are ignored by the perspective. */ @Override public PredefinedPerspective createPerspective(){ return new PredefinedPerspective( this ){ private PreloadFactory preload; { preload = new PreloadFactory(this); } protected String getID( PerspectiveElement element ){ return PredefinedDockSituation.this.getID( element, this ); } protected DockFactory<?, ?, ?> getFactory( String id ){ DockFactory<?, ?, ?> factory = PredefinedDockSituation.this.getFactory( id ); if( factory == PredefinedDockSituation.this.factory ){ return preload; } return factory; } }; }
@SuppressWarnings("unchecked") public DockElement layout( PredefinedLayout layout, PlaceholderStrategy placeholders ) { DockLayoutInfo delegate = layout.getDelegate(); boolean isLayout = delegate.getKind() == DockLayoutInfo.Data.DOCK_LAYOUT; boolean isNull = delegate.getKind() == DockLayoutInfo.Data.NULL; if( !isLayout && !isNull ){ return null; } DockElement element = stringToElement.get( layout.getPredefined() ); if( element == null && isLayout ){ if( layout.getDelegate() == null ) return null; String factoryId = delegate.getDataLayout().getFactoryID(); DockFactory<?, ?, BackupFactoryData<?>> factory = getBackup( factoryId ); if( factory != null ){ return factory.layout( new BackupFactoryData<Object>( layout.getPredefined(), delegate.getDataLayout().getData()), placeholders); } return null; } setLayout( element, layout, placeholders ); return element; }
public DockElement layout( PredefinedLayout layout, PlaceholderStrategy placeholders ) { DockLayoutInfo delegate = layout.getDelegate(); boolean isLayout = delegate.getKind() == DockLayoutInfo.Data.DOCK_LAYOUT; boolean isNull = delegate.getKind() == DockLayoutInfo.Data.NULL; if( !isLayout && !isNull ){ return null; } DockElement element = stringToElement.get( layout.getPredefined() ); if( element == null && isLayout ){ if( layout.getDelegate() == null ) return null; String factoryId = delegate.getDataLayout().getFactoryID(); DockFactory<?, ?, BackupFactoryData<?>> factory = getBackup( factoryId ); if( factory != null ){ return factory.layout( new BackupFactoryData<Object>( layout.getPredefined(), delegate.getDataLayout().getData()), placeholders); } return null; } setLayout( element, layout, placeholders ); return element; }
@SuppressWarnings("unchecked") public PerspectiveElement layoutPerspective( PredefinedLayout layout, Map<Integer, PerspectiveDockable> children ){ if( perspective == null ){ throw new IllegalStateException( "the perspective of this factory is not set, meaning this factory cannot be used handling perspective dependent tasks" ); } DockLayoutInfo delegate = layout.getDelegate(); boolean isLayout = delegate.getKind() == DockLayoutInfo.Data.DOCK_LAYOUT; boolean isNull = delegate.getKind() == DockLayoutInfo.Data.NULL; if( !isLayout && !isNull ){ return null; } PerspectiveElement element = perspective.get( layout.getPredefined() ); if( element == null && isLayout ){ String factoryId = delegate.getDataLayout().getFactoryID(); DockFactory factory = getBackup( factoryId ); if( factory != null ){ return factory.layoutPerspective(new BackupFactoryData<Object>( layout.getPredefined(), delegate.getDataLayout().getData()), children ); } return null; } layoutPerspective( element, layout, children ); return element; }
public DockElement layout( PredefinedLayout layout, Map<Integer, Dockable> children, PlaceholderStrategy placeholders ) { DockLayoutInfo delegate = layout.getDelegate(); boolean isLayout = delegate.getKind() == DockLayoutInfo.Data.DOCK_LAYOUT; boolean isNull = delegate.getKind() == DockLayoutInfo.Data.NULL; if( !isLayout && !isNull ){ return null; } DockElement element = stringToElement.get( layout.getPredefined() ); if( element == null && isLayout ){ String factoryId = delegate.getDataLayout().getFactoryID(); DockFactory<?, ?, BackupFactoryData<?>> factory = getBackup( factoryId ); if( factory != null ){ return factory.layout( new BackupFactoryData<Object>( layout.getPredefined(), delegate.getDataLayout().getData()), children, placeholders ); } return null; } setLayout( element, layout, children, placeholders ); return element; }
@SuppressWarnings("unchecked") public PerspectiveElement layoutPerspective( PredefinedLayout layout, Map<Integer, PerspectiveDockable> children ){ if( perspective == null ){ throw new IllegalStateException( "the perspective of this factory is not set, meaning this factory cannot be used handling perspective dependent tasks" ); } DockLayoutInfo delegate = layout.getDelegate(); boolean isLayout = delegate.getKind() == DockLayoutInfo.Data.DOCK_LAYOUT; boolean isNull = delegate.getKind() == DockLayoutInfo.Data.NULL; if( !isLayout && !isNull ){ return null; } PerspectiveElement element = perspective.get( layout.getPredefined() ); if( element == null && isLayout ){ String factoryId = delegate.getDataLayout().getFactoryID(); DockFactory factory = getBackup( factoryId ); if( factory != null ){ return factory.layoutPerspective(new BackupFactoryData<Object>( layout.getPredefined(), delegate.getDataLayout().getData()), children ); } return null; } layoutPerspective( element, layout, children ); return element; }
public DockElement layout( PredefinedLayout layout, Map<Integer, Dockable> children, PlaceholderStrategy placeholders ) { DockLayoutInfo delegate = layout.getDelegate(); boolean isLayout = delegate.getKind() == DockLayoutInfo.Data.DOCK_LAYOUT; boolean isNull = delegate.getKind() == DockLayoutInfo.Data.NULL; if( !isLayout && !isNull ){ return null; } DockElement element = stringToElement.get( layout.getPredefined() ); if( element == null && isLayout ){ String factoryId = delegate.getDataLayout().getFactoryID(); DockFactory<?, ?, BackupFactoryData<?>> factory = getBackup( factoryId ); if( factory != null ){ return factory.layout( new BackupFactoryData<Object>( layout.getPredefined(), delegate.getDataLayout().getData()), children, placeholders ); } return null; } setLayout( element, layout, children, placeholders ); return element; }
@Override protected String getFactoryID( String id ) { if( KNOWN.equals( id )) return factory.getID(); else return id.substring( UNKNOWN.length() ); }