⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dockingstate.java

📁 定要上载质量高而定要上载质量高而定要上载质量高而定要上载质量高而定要上载质量高而
💻 JAVA
字号:
package org.flexdock.docking.state;

import java.awt.Point;
import java.io.Serializable;

import org.flexdock.docking.Dockable;
import org.flexdock.docking.DockingConstants;
import org.flexdock.docking.DockingManager;

/**
 * 
 * @author Mateusz Szczap
 */
public class DockingState implements Cloneable, Serializable, DockingConstants {
	
	private String m_dockableId;
	
	private String m_relativeParentId;
	
	private String m_region = UNKNOWN_REGION;
	
	private float m_splitRatio = UNINITIALIZED_RATIO;
	
	private String m_floatingGroup;

	//if the view is minimized we store the dockbar edge to which it is minimized
	private int m_minimizedConstraint = MinimizationManager.UNSPECIFIED_LAYOUT_CONSTRAINT;
	
	private DockingPath m_dockingPath;
	
	private int centerX = DockingConstants.UNINITIALIZED;
	
	private int centerY = DockingConstants.UNINITIALIZED;

	public DockingState(String dockableId) {
		this.m_dockableId = dockableId;
	}

	public Dockable getDockable() {
		return DockingManager.getDockable(m_dockableId);
	}

	public String getDockableId() {
	    return m_dockableId;
	}
	
	public float getSplitRatio() {
		return m_splitRatio;
	}
	
	public void setSplitRatio(float ratio) {
		m_splitRatio = ratio;
	}
	
	public String getRegion() {
		return m_region;
	}
	
	public void setRegion(String region) {
	    m_region = region;
	}
	
	public int getMinimizedConstraint() {
		return m_minimizedConstraint;
	}
	
	public String getFloatingGroup() {
		return m_floatingGroup;
	}
	
	public boolean isFloating() {
		return m_floatingGroup!=null;
	}
	
	public boolean isMinimized() {
		return m_minimizedConstraint!=MinimizationManager.UNSPECIFIED_LAYOUT_CONSTRAINT;
	}
	
	public boolean hasDockingPath() {
		return m_dockingPath!=null;
	}
	
	public DockingPath getPath() {
		return m_dockingPath;
	}
	
	public void setPath(DockingPath path) {
		m_dockingPath = path;
	}
	 
	public void setMinimizedConstraint(int constraint) {
		m_minimizedConstraint = constraint;
		if(constraint!=MinimizationManager.UNSPECIFIED_LAYOUT_CONSTRAINT) {
			m_floatingGroup = null;
		}
	}

	public void setFloatingGroup(String group) {
		m_floatingGroup = group;
		if(group!=null) {
			m_minimizedConstraint = MinimizationManager.UNSPECIFIED_LAYOUT_CONSTRAINT;
		}
	}
	
	public Dockable getRelativeParent() {
		return DockingManager.getDockable(m_relativeParentId);
	}

	public String getRelativeParentId() {
	    return m_relativeParentId;
	}

	public void setRelativeParent(Dockable parent) {
		String parentId = parent==null? null: parent.getPersistentId();
		setRelativeParentId(parentId);
	}

	public void setRelativeParentId(String relativeParentId) {
		m_relativeParentId = relativeParentId;
	}
	
	public String toString() {
		return "DockingState[id=" + m_dockableId + 
				"; center=[" + centerX + "%," + centerY + "%]" +   
				"; parent=" + m_relativeParentId + 
				"; region=" + m_region + "; ratio=" + m_splitRatio + 
				"; float=" + m_floatingGroup + "; minimization=" + m_minimizedConstraint + "; ]";
	}

	public int getCenterX() {
		return centerX;
	}
	public void setCenterX(int centerX) {
		this.centerX = centerX;
	}
	public int getCenterY() {
		return centerY;
	}
	public void setCenterY(int centerY) {
		this.centerY = centerY;
	}
	
	public void setCenter(Point p) {
		centerX = p==null? 0: p.x;
		centerY = p==null? 0: p.y;
	}
    
    public Point getCenterPoint() {
        if (this.centerX == DockingConstants.UNINITIALIZED || this.centerY == DockingConstants.UNINITIALIZED) {
            return null;
        }
        return new Point(this.centerX, this.centerY);
    }
	
	public boolean hasCenterPoint() {
		return (centerX != DockingConstants.UNINITIALIZED && centerY != DockingConstants.UNINITIALIZED);
	}
	
	public Object clone() {
		DockingState dockingStateClone = new DockingState(m_dockableId);

		dockingStateClone.m_relativeParentId = m_relativeParentId;
		dockingStateClone.m_region = m_region;
		dockingStateClone.m_splitRatio = m_splitRatio;
		dockingStateClone.m_floatingGroup = m_floatingGroup;
		dockingStateClone.m_minimizedConstraint = m_minimizedConstraint;
		dockingStateClone.m_dockingPath = m_dockingPath==null? null: (DockingPath)m_dockingPath.clone();
		dockingStateClone.centerX = centerX;
		dockingStateClone.centerY = centerY;
		
		return dockingStateClone;
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -