001package com.ericlam.mc.eldgui.component.factory;
002
003import com.ericlam.mc.eldgui.component.ComponentFactory;
004import org.bukkit.Material;
005
006/**
007 * 勾選框組件工廠
008 */
009public interface CheckboxFactory extends ComponentFactory<CheckboxFactory> {
010
011    /**
012     * 綁定組件與 Model 屬性
013     * @param field Model 屬性
014     * @param initValue 初始化數值
015     * @return this
016     */
017    CheckboxFactory bindInput(String field, boolean initValue);
018
019    /**
020     *
021     * @param material 勾選時的圖示
022     * @return this
023     */
024    CheckboxFactory checked(Material material);
025
026    /**
027     *
028     * @param material 取消勾選時圖示
029     * @return this
030     */
031    CheckboxFactory unchecked(Material material);
032
033    /**
034     *
035     * @param show 勾選時的標題
036     * @return this
037     */
038    CheckboxFactory checkedDisplay(String show);
039
040    /**
041     *
042     * @param show 取消勾選時的標題
043     * @return this
044     */
045    CheckboxFactory uncheckedDisplay(String show);
046
047    /**
048     * 設置禁用
049     * @return this
050     */
051    CheckboxFactory disabled();
052
053}