import { MainStateManager } from "../../MainStateManager";
import { IMainStateFactory } from "../../Types";
import { ToolStripFactory } from "./ToolStripFactory";

export abstract class ToolStripItemFactory {
    public mainStateManager: MainStateManager;
    public refOfElemetn?: React.RefObject<HTMLButtonElement>;
    public visible: boolean = true;

    public disabled: boolean = false;
    public hidden: boolean = false;
    public refreshDisabled?: () => boolean
    public refreshVisible?: () => boolean

    constructor(
        public mainStateFactory: IMainStateFactory,
        public toolStripFactory: ToolStripFactory,
        public factoryFieldName: string,
        public tabIndex: number,
    ) {
        this.mainStateManager = this.mainStateFactory.mainStateManager;
    }

}