// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
// Use of this source code is governed by the GPL 3.0

package main

import (
	"go.wit.com/widget"
)

func (tk *guiWidget) WidgetType() widget.WidgetType {
	if tk.node == nil {
		return widget.Label
	}
	return tk.node.WidgetType
}

func (tk *guiWidget) WidgetId() int {
	return tk.node.WidgetId
}

func (tk *guiWidget) GetLabel() string {
	return tk.node.GetLabel()
}

func (tk *guiWidget) IsEnabled() bool {
	return tk.node.IsEnabled()
}

func (tk *guiWidget) Checked() bool {
	return tk.node.State.Checked
}

func (tk *guiWidget) Hidden() bool {
	if tk.node == nil {
		return false
	}
	if tk.parent == nil {
		return tk.node.Hidden()
	}
	if tk.parent.WidgetId() == 0 {
		return tk.node.Hidden()
	}
	if tk.parent.Hidden() {
		return true
	}
	return tk.node.Hidden()
}

func (tk *guiWidget) Direction() widget.Orientation {
	return tk.node.State.Direction
}

func (tk *guiWidget) GridW() int {
	return tk.node.State.AtW
}

func (tk *guiWidget) GridH() int {
	return tk.node.State.AtH
}

func (tk *guiWidget) SetChecked(b bool) {
	tk.node.State.Checked = b
}