All Downloads are FREE. Search and download functionalities are using the official Maven repository.

bibliothek.gui.dock.themes.font.TabFont Maven / Gradle / Ivy

The newest version!
package bibliothek.gui.dock.themes.font;

import bibliothek.gui.DockStation;
import bibliothek.gui.Dockable;
import bibliothek.gui.dock.StackDockStation;
import bibliothek.gui.dock.util.font.AbstractDockFont;
import bibliothek.gui.dock.util.font.FontManager;
import bibliothek.gui.dock.util.font.FontModifier;
import bibliothek.util.Path;

/**
 * A font used for a tab for example on a {@link StackDockStation}.
 * @author Benjamin Sigg
 */
public abstract class TabFont extends AbstractDockFont{
    /** the identifier of this kind of font */
    public final static Path KIND_TAB_FONT = KIND_DOCK_FONT.append( "tab" );
    
    /** the station for which this font is used */
    private DockStation station;
    /** the element with which this font is associated */
    private Dockable dockable;
    
    /**
     * Creates a new font
     * @param id the unique identifier of this font, should match some identifier
     * used in a {@link FontManager}.
     * @param station the station for which this font is used
     * @param dockable the element which is associated with this font
     * @param backup default value for this font
     */
    public TabFont(  String id, DockStation station, Dockable dockable, FontModifier backup ) {
        this( id, KIND_TAB_FONT, station, dockable, backup );
    }

    /**
     * Creates a new font
     * @param id the unique identifier of this font, should match some identifier
     * used in a {@link FontManager}.
     * @param kind the kind of font this represents, should be a child of
     * {@link #KIND_TAB_FONT}.
     * @param station the station for which this font is used
     * @param dockable the element which is associated with this font
     * @param backup default value for this font
     */
    public TabFont( String id, Path kind, DockStation station, Dockable dockable, FontModifier backup ) {
        super( id, kind, backup );
        this.station = station;
        this.dockable = dockable;
    }

    /**
     * Creates a new font
     * @param id the unique identifier of this font, should match some identifier
     * used in a {@link FontManager}.
     * @param kind the kind of font this represents, should be a child of
     * {@link #KIND_TAB_FONT}.
     * @param station the station for which this font is used
     * @param dockable the element which is associated with this font
     */
    public TabFont( String id, Path kind, DockStation station, Dockable dockable ) {
        this( id, kind, station, dockable, null );
    }

    /**
     * Creates a new font
     * @param id the unique identifier of this font, should match some identifier
     * used in a {@link FontManager}.
     * @param station the station for which this font is used
     * @param dockable the element which is associated with this font
     */
    public TabFont( String id, DockStation station, Dockable dockable ) {
        this( id, KIND_TAB_FONT, station, dockable, null );
    }

    /**
     * Gets the station for which this font is used.
     * @return the station
     */
    public DockStation getStation() {
        return station;
    }
    
    /**
     * Gets the element for which this font is used.
     * @return the element
     */
    public Dockable getDockable() {
        return dockable;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy