OptionCheckBox < CheckBox
  @onCheckChange: Options.setOption(self:getId(), self:isChecked())
  @onSetup: self:setChecked(Options.getOption(self:getId()))

  $first:
    anchors.left: parent.left
    anchors.right: parent.right
    anchors.top: parent.top

  $middle:
    anchors.left: parent.left
    anchors.right: parent.right
    anchors.top: prev.bottom
    margin-top: 2

MainWindow
  id: optionsWindow
  text: Options
  size: 286 250

  @onEnter: Options.hide()
  @onEscape: Options.hide()

  OptionCheckBox
    id: vsync
    text: Enable vertical synchronization
    tooltip: Limits FPS to 60

  OptionCheckBox
    id: showfps
    text: Show frame rate

  OptionCheckBox
    id: fullscreen
    text: Fullscreen

  OptionCheckBox
    id: classicControl
    text: Classic control

  OptionCheckBox
    id: showInfoMessagesInConsole
    text: Show info messages in console

  OptionCheckBox
    id: showEventMessagesInConsole
    text: Show event messages in console

  OptionCheckBox
    id: showStatusMessagesInConsole
    text: Show status messages in console

  OptionCheckBox
    id: showTimestampsInConsole
    text: Show timestamps in console

  OptionCheckBox
    id: showLevelsInConsole
    text: Show levels in console

  OptionCheckBox
    id: showPrivateMessagesInConsole
    text: Show private messages in console

  Button
    text: Ok
    width: 64
    anchors.right: parent.right
    anchors.bottom: parent.bottom
    @onClick: Options.hide()