Package bibliothek.gui

Examples of bibliothek.gui.DockController


     * @param control the control whose settings can be changed by this model
     * @param combiner how to combine paths of models and of preferences
     */
    public CPreferenceModel( CControl control, PathCombiner combiner ){
        super( combiner, control.getController() );
        DockController controller = control.intern().getController();
        putLinked( new Path( "shortcuts" ), "preference.shortcuts", new CKeyStrokePreferenceModel( controller.getProperties() ) );
        putLinked( new Path( "buttonContent" ), "preference.buttonContent", new ButtonContentPreferenceModel( controller ) );
        putLinked( new Path( "layout" ), "preference.layout", new CLayoutPreferenceModel( control ));
        putLinked( new Path( "layout.BubbleTheme" ), "theme.bubble", new BubbleThemePreferenceModel( controller.getProperties() ));
        putLinked( new Path( "layout.EclipseTheme" ), "theme.eclipse", new EclipseThemePreferenceModel( controller.getProperties() ));
    }
View Full Code Here


      DockStation station = dockable.getDockParent();
      if( !(station instanceof ScreenDockStation) ) {
        return;
      }
     
      DockController controller = control.getController();
     
      try {
        controller.freezeLayout();
     
        ExternalizingCGridArea split = createGridArea();
        control.addDockable( split );
       
        station.replace( dockable, split.getStation() );
        split.getStation().drop( dockable );
      }
      finally {
        controller.meltLayout();
      }
    }
View Full Code Here

        }

        this.factory = factory;
       
        register = factory.createRegister( this );
        DockController controller = factory.createController( this );
        controller.getProperties().set( CCONTROL, this, Priority.CLIENT );
        controller.getProperties().finalize( CCONTROL );
        controller.setSingleParentRemover( new CSingleParentRemover( this ) );

        initExtensions( controller );
        initFocusListeners( controller );
        initInputListener( controller );
        initTransferFocusOnMinimize( controller );

        frontend = factory.createFrontend( access, controller );
        frontend.setOwner( window );

        frontend.setMissingDockableStrategy( new MissingDockableStrategy(){
            public boolean shouldStoreHidden( String key ) {
                return shouldStore( key );
            }
            public boolean shouldStoreShown( String key ) {
                return shouldStore( key );
            }
            public <L> boolean shouldCreate( DockFactory<?,?,L> factory, L data ) {
                if( factory instanceof CommonMultipleDockableFactory && data instanceof CommonMultipleDockableLayout ){
                    return CControl.this.shouldCreate(
                            ((CommonMultipleDockableFactory)factory).getFactory(),
                            (CommonMultipleDockableLayout)data );
                }
                return false;
            }
        });

        setIgnoreWorkingForEntry( true );
        frontend.setShowHideAction( false );

        frontend.getController().addActionOffer( new CActionOffer( this ) );
       
        frontend.getController().getRegister().addDockRegisterListener( new DockRegisterAdapter(){
            @Override
            public void dockableRegistered( DockController controller, Dockable dockable ) {
                if( dockable instanceof CommonDockable ){
                    CDockable cdock = ((CommonDockable)dockable).getDockable();
                    CDockableAccess access = accesses.get( cdock );
                    if( access != null ){
                        access.informVisibility( true );
                    }

                    for( CControlListener listener : listeners() )
                        listener.opened( CControl.this, cdock );
                }
            }

            @Override
            public void dockableUnregistered( DockController controller, Dockable dockable ) {
                if( dockable instanceof CommonDockable ){
                    CDockable cdock = ((CommonDockable)dockable).getDockable();
                    CDockableAccess access = accesses.get( cdock );
                    if( access != null ){
                        access.informVisibility( false );
                    }

                    for( CControlListener listener : listeners() )
                        listener.closed( CControl.this, cdock );

                    if( cdock instanceof MultipleCDockable ){
                        MultipleCDockable multiple = (MultipleCDockable)cdock;
                        if( multiple.isRemoveOnClose() ){
                            removeDockable( multiple );
                        }
                    }
                }
            }
        });
       
        frontend.getController().getFocusController().addVetoListener( new ControlVetoFocusListener( this, listenerCollection.getVetoFocusListener() ) );
        frontend.getController().getFocusController().setStrategy( new DefaultFocusStrategy( frontend.getController() ){
          public Component getFocusComponent( FocusStrategyRequest request ){
            Component mouseClicked = request.getMouseClicked();
            Dockable dockable = request.getDockable();
           
        if( mouseClicked != null ){
          if( (mouseClicked.isFocusable() && !excluded( mouseClicked, request )) || focusable( mouseClicked, request )){
            return mouseClicked;
          }
        }
       
        if( dockable instanceof CommonDockable ){
          Component result = ((CommonDockable)dockable).getDockable().getFocusComponent();
          if( result != null ){
            return result;
          }
        }
        return super.getFocusComponent( request );
      }
    });
       
        frontend.addVetoableListener( new ControlVetoClosingListener( this, listenerCollection.getVetoClosingListener() ) );

        frontend.getController().addAcceptance( new StackableAcceptance() );
        frontend.getController().addAcceptance( new WorkingAreaAcceptance( access ) );
        frontend.getController().addAcceptance( new ExtendedModeAcceptance( access ) );

        initFactories();
       
        themes = new ThemeMap( this );

        initPersistentStorage();

        initExtendedModes();
        initProperties();
        initIcons();
        initTexts();

        setTheme( ThemeMap.KEY_SMOOTH_THEME );
       
        controller.getExtensions().load( new ExtensionName<Object>( CCONTROL_EXTENSION, Object.class, EXTENSION_PARAM, this ) );
    }
View Full Code Here

        if( dockable.getComponent().isDisplayable() ){
          corner = new Point();
            SwingUtilities.convertPointToScreen( corner, dockable.getComponent() )
        }
        else{
          DockController controller = dockable.getController();
          Window root = null;
          if( controller != null ){
            root = controller.getRootWindowProvider().searchWindow();
          }
          if( root != null ){
            corner = new Point( root.getX() + (root.getWidth() - size.width) / 2, root.getY() + (root.getHeight() - size.height) / 2);
          }
          else{
View Full Code Here

    controller.getDoubleClickController().addListener( doubleClickListener );
  }
 
  public void destroy(){
    registerListener.connect( null );
    DockController controller = getController();
    controller.getRelocator().removeVetoableDockRelocatorListener( relocatorListener );
    controller.getDoubleClickController().removeListener( doubleClickListener );
   
    for( LocationMode mode : this.modes() ){
      mode.setController( null );
    }
   
View Full Code Here

TOP

Related Classes of bibliothek.gui.DockController

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.