/**
 * @license
 * Visual Blocks Editor
 *
 * Copyright 2012 Google Inc.
 * https://developers.google.com/blockly/
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * @fileoverview Colour blocks for Blockly.
 * @author fraser@google.com (Neil Fraser)
 */
'use strict';

goog.provide('Blockly.Blocks.log');

goog.require('Blockly.Blocks');


/**
 * Common HSV hue for all blocks in this category.
 */
Blockly.Blocks.log.HUE = 45;

Blockly.Blocks['log_setup'] = {
  /**
   * Block for log setup.
   * @this Blockly.Block
   */
  init: function() {
    this.setColour(Blockly.Blocks.log.HUE);   
    this.appendDummyInput()
        .appendField(Blockly.Msg.LOGGING_SETUP);
    // this.setInputsInline(false);
    // this.setOutput(true);
    this.setPreviousStatement(true);
    this.setNextStatement(true);
  },
};

Blockly.Blocks['log_conf'] = {
  /**
   * Block for log setup.
   * @this Blockly.Block
   */
  init: function() {
    this.setColour(Blockly.Blocks.log.HUE);   
    this.appendDummyInput()
        .appendField(Blockly.Msg.LOGGING_CONF);
    // this.setInputsInline(false);
    // this.setOutput(true);
    this.setPreviousStatement(true);
    this.setNextStatement(true);
  },
};

Blockly.Blocks['log_import'] = {
  /**
   * Block for log import.
   * @this Blockly.Block
   */
  init: function() {
    this.setColour(Blockly.Blocks.log.HUE);   
    this.appendDummyInput()
        .appendField(Blockly.Msg.LOGGING_IMPORT);
    // this.setInputsInline(false);
    // this.setOutput(true);
    this.setPreviousStatement(true);
    this.setNextStatement(true);
  },
}

Blockly.Blocks['log_info'] = {
  /**
   * Block for log info.
   * @this Blockly.Block
   */
  init: function() {
    this.setColour(Blockly.Blocks.log.HUE);   
    this.appendValueInput("LOG_INPUT")
        .appendField(Blockly.Msg.LOGGING_INFO);
    this.setInputsInline(false);
    // this.setOutput(true);
    this.setPreviousStatement(true);
    this.setNextStatement(true);
  },
}



Blockly.Blocks['log_config'] = {
  /**
   * Block for log setup.
   * @this Blockly.Block
   */
  init: function() {
    this.setColour(Blockly.Blocks.log.HUE);   
    this.appendDummyInput()
        .appendField(Blockly.Msg.LOGGING_CONFIG)
    this.appendDummyInput()
        .appendField(Blockly.Msg.LOGGING_CONFIG_LEVEL)
        .appendField(new Blockly.FieldDropdown([
          ["INFO","logging.INFO"],
          ["ERROR","logging.ERROR"],
          ["WARNING","logging.WARNING"],
          ["CRITICAL","logging.CRITICAL"],          
          ["DEBUG","logging.DEBUG"],
          ["NOTSET","logging.NOTSET"],          
        ]),"LEVEL")
    this.setInputsInline(false);
    // this.setOutput(true);
    this.setPreviousStatement(true);
    this.setNextStatement(true);
  },
}