import QtQuick 2.7

// AlgStyle.helpers
// WARNING: for this to work properly you must be a direct child of AlgStyle

QtObject {
  readonly property QtObject widgets: QtObject {
    function color(pressed, hovered, enabled, palette, highlighted) {
      return enabled ?
              pressed ?
                palette.pressed :
                hovered ?
                  palette.hovered :
                  ((typeof highlighted !== 'undefined') && highlighted) ?
                    palette.highlighted:
                    palette.idle :
              palette.disabled
    }
    function backgroundColor(pressed, hovered, enabled, palette, highlighted) {
      if (!palette) palette = background.defaultPalette
      return color(pressed, hovered, enabled, palette, highlighted)
    }
    function borderColor(pressed, hovered, enabled, palette, highlighted) {
      if (!palette) palette = border.defaultPalette
      return color(pressed, hovered, enabled, palette, highlighted)
    }
    function textColor(pressed, hovered, enabled, palette, highlighted) {
      if (!palette) palette = text.defaultPalette
      return color(pressed, hovered, enabled, palette, highlighted)
    }
  }
  readonly property QtObject icons: QtObject {
    function opacity(enabled) {
      return enabled ? 1. : 0.3
    }
  }
}
