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

com.jwebmp.plugins.jqxwidgets.layout.JQXLayoutArray Maven / Gradle / Ivy

/*
 * Copyright (C) 2017 GedMarc
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see .
 */
package com.jwebmp.plugins.jqxwidgets.layout;

import com.fasterxml.jackson.annotation.JsonRawValue;
import com.jwebmp.core.Component;
import com.jwebmp.core.base.servlets.enumarations.Orientation;
import com.jwebmp.core.htmlbuilder.css.measurement.MeasurementCSSImpl;
import com.jwebmp.core.htmlbuilder.javascript.JavaScriptPart;
import com.jwebmp.plugins.jqxwidgets.dockinglayout.JQXDockingLayoutAlignment;

import java.util.ArrayList;
import java.util.List;

/**
 * This Class
 *
 * @author GedMarc
 * @since 15 Dec 2015
 */
//@Json
public class JQXLayoutArray
		extends JavaScriptPart
{

	/**
	 * . Possible values:
	 * 'layoutGroup' - container for other groups. It has no visual features. The root item is always of this type.
	 * 'tabbedGroup' - a group that contains layoutPanels. It is represented by a jqxWindow-like panel with a bottom-aligned jqxRibbon inside.
	 * 'documentGroup' - a group that contains documentPanels. It is represented by a top-aligned jqxRibbon.
	 * 'autoHideGroup' - a group that contains layoutPanels. It is represented by a jqxRibbon with mode: 'popup'. Each ribbon item has a jqxWindow-like panel in its content. This
	 * group has to be
	 * either the first or the last child item of its parent layoutGroup.
	 * 'layoutPanel' - a panel that can be inserted in a tabbedGroup or autoHideGroup. When it is in a tabbedGroup it is represented by a ribbon item and in an autoHideGroup - by a
	 * jqxWindow-like
	 * panel inside a ribbon item.
	 * 'documentPanel' - a panel that can be inserted in a documentGroup. It is represented by a ribbon item.
	 */
	private JQXLayoutType type;
	/**
	 * - sets the alignment of an autoHideGroup. Possible values:
	 * 'left'
	 * 'right'
	 * 'top'
	 * 'bottom'
	 */
	private JQXDockingLayoutAlignment alignment;
	/**
	 * Applicable to tabbedGroups, layoutPanels and documentPanels. If set to true, the group/panel can be closed.
	 */
	private Boolean allowClose;
	/**
	 * Applicable only to tabbedGroups. If set to false, the group cannot be pinned.
	 */
	private Boolean allowPin;
	/**
	 * Applicable only to autoHideGroups. If set to false, the group cannot be unpinned.
	 */
	private Boolean allowUnpin;
	/**
	 * Indicates which HTML element has the content of the panel. The required value is the value of an existing HTML element's data-container attribute. N/A to groups.
	 */
	private String contentContainer;
	/**
	 * Sets the height of a group (N/A to panels). Used only if the parent group's orientation is 'vertical'. The heights of all such groups have to be set either in pixels or
	 * percents (not a mix of
	 * both).
	 */
	private String height;
	/**
	 * A callback function to be called when a panel is opened for the first time. Useful for initializing widgets in panels. N/A to groups.
	 */
	@JsonRawValue(true)
	private String initContent;
	/**
	 * Sets the minimum height (in pixels) of a group which is vertically aligned within its parent group. Disregards the value of the minGroupHeight property.
	 */
	private Integer minHeight;
	/**
	 * Sets the minimum width (in pixels) of a group which is horizontally aligned within its parent group. Disregards the value of the minGroupWidth property.
	 */
	private String minWidth;
	/**
	 * Orients child items either horizontally or vertically. Applicable only to layoutGroups. Possible values:
	 * 'horizontal'
	 * 'vertical'
	 */
	private Orientation orientation;
	/**
	 * Sets what the height of a tabbedGroup will be after it is pinned.
	 */
	private Integer pinnedHeight;
	/**
	 * Sets what the width of a tabbedGroup will be after it is pinned.
	 */
	private Integer pinnedWidth;
	/**
	 * Sets whether a panel is initially selected. N/A to groups.
	 */
	private Boolean selected;
	/**
	 * Sets the title of a panel. Represented by the corresponding ribbon item's title. N/A to groups.
	 */
	private String title;
	/**
	 * sets what the height of an autoHideGroup will be after it is unpinned.
	 */
	private Integer unpinnedHeight;// -
	/**
	 * sets what the width of an autoHideGroup will be after it is unpinned.
	 */
	private Integer unpinnedWidth;// -
	/**
	 * sets the width of a group (N/A to panels). Used only if the parent group's orientation is 'horizontal'. The widths of all such groups have to be set either in pixels or
	 * percents (not a mix of
	 * both).
	 */
	private String width;
	/**
	 * - an array of item objects with the fields described above. N/A to panels.
	 */
	private List items;

	public JQXLayoutArray()
	{
		//Nothing Needed
	}

	@Override
	public String toString()
	{
		return super.toString();
	}

	public JQXLayoutType getType()
	{
		return type;
	}

	public void setType(JQXLayoutType type)
	{
		this.type = type;
	}

	public JQXDockingLayoutAlignment getAlignment()
	{
		return alignment;
	}

	public void setAlignment(JQXDockingLayoutAlignment alignment)
	{
		this.alignment = alignment;
	}

	public Boolean getAllowClose()
	{
		return allowClose;
	}

	public void setAllowClose(Boolean allowClose)
	{
		this.allowClose = allowClose;
	}

	public Boolean getAllowPin()
	{
		return allowPin;
	}

	public void setAllowPin(Boolean allowPin)
	{
		this.allowPin = allowPin;
	}

	public Boolean getAllowUnpin()
	{
		return allowUnpin;
	}

	public void setAllowUnpin(Boolean allowUnpin)
	{
		this.allowUnpin = allowUnpin;
	}

	public String getContentContainer()
	{
		return contentContainer;
	}

	public void setContentContainer(Component contentContainer)
	{
		this.contentContainer = contentContainer.getID();
	}

	public void setContentContainer(String contentContainer)
	{
		this.contentContainer = contentContainer;
	}

	public String getHeight()
	{
		return height;
	}

	public void setHeight(Integer height)
	{
		this.height = height.toString();
	}

	public void setHeight(MeasurementCSSImpl height)
	{
		this.height = height.toString();
	}

	public String getInitContent()
	{
		return initContent;
	}

	public void setInitContent(String initContent)
	{
		this.initContent = initContent;
	}

	public Integer getMinHeight()
	{
		return minHeight;
	}

	public void setMinHeight(Integer minHeight)
	{
		this.minHeight = minHeight;
	}

	public String getMinWidth()
	{
		return minWidth;
	}

	public void setMinWidth(Integer minWidth)
	{
		this.minWidth = minWidth.toString();
	}

	public void setMinWidth(MeasurementCSSImpl minWidth)
	{
		this.minWidth = minWidth.toString();
	}

	public Orientation getOrientation()
	{
		return orientation;
	}

	public void setOrientation(Orientation orientation)
	{
		this.orientation = orientation;
	}

	public Integer getPinnedHeight()
	{
		return pinnedHeight;
	}

	public void setPinnedHeight(Integer pinnedHeight)
	{
		this.pinnedHeight = pinnedHeight;
	}

	public Integer getPinnedWidth()
	{
		return pinnedWidth;
	}

	public void setPinnedWidth(Integer pinnedWidth)
	{
		this.pinnedWidth = pinnedWidth;
	}

	public Boolean getSelected()
	{
		return selected;
	}

	public void setSelected(Boolean selected)
	{
		this.selected = selected;
	}

	public String getTitle()
	{
		return title;
	}

	public void setTitle(String title)
	{
		this.title = title;
	}

	public Integer getUnpinnedHeight()
	{
		return unpinnedHeight;
	}

	public void setUnpinnedHeight(Integer unpinnedHeight)
	{
		this.unpinnedHeight = unpinnedHeight;
	}

	public Integer getUnpinnedWidth()
	{
		return unpinnedWidth;
	}

	public void setUnpinnedWidth(Integer unpinnedWidth)
	{
		this.unpinnedWidth = unpinnedWidth;
	}

	public String getWidth()
	{
		return width;
	}

	public void setWidth(Integer width)
	{
		this.width = width.toString();
	}

	public void setWidth(MeasurementCSSImpl width)
	{
		this.width = width.toString();
	}

	public List getItems()
	{
		if (items == null)
		{
			items = new ArrayList<>();
		}
		return items;
	}

	public void setItems(List items)
	{
		this.items = items;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy