// generated by Fast Light User Interface Designer (fluid) version 1.0300

#ifndef MicrotonalUI_h
#define MicrotonalUI_h
#include <FL/Fl.H>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <FL/Fl_File_Chooser.H>
#include <FL/fl_ask.H>
#include "../Misc/Microtonal.h"
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_Group.H>
#include <FL/Fl_Check_Button.H>
#include <FL/Fl_Counter.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Value_Output.H>
#include <FL/Fl_Input.H>
#include <FL/Fl_Value_Input.H>

class MicrotonalUI {
public:
  Fl_Double_Window* make_window();
  Fl_Double_Window *microtonaluiwindow;
private:
  void cb_Invert_i(Fl_Check_Button*, void*);
  static void cb_Invert(Fl_Check_Button*, void*);
public:
  Fl_Counter *centerinvertcounter;
private:
  void cb_centerinvertcounter_i(Fl_Counter*, void*);
  static void cb_centerinvertcounter(Fl_Counter*, void*);
public:
  Fl_Group *microtonalgroup;
  Fl_Button *applybutton;
private:
  void cb_applybutton_i(Fl_Button*, void*);
  static void cb_applybutton(Fl_Button*, void*);
public:
  Fl_Value_Output *octavesizeoutput;
private:
  void cb_octavesizeoutput_i(Fl_Value_Output*, void*);
  static void cb_octavesizeoutput(Fl_Value_Output*, void*);
public:
  Fl_Input *nameinput;
private:
  void cb_nameinput_i(Fl_Input*, void*);
  static void cb_nameinput(Fl_Input*, void*);
public:
  Fl_Input *tuningsinput;
  Fl_Input *commentinput;
private:
  void cb_commentinput_i(Fl_Input*, void*);
  static void cb_commentinput(Fl_Input*, void*);
  void cb_Shift_i(Fl_Counter*, void*);
  static void cb_Shift(Fl_Counter*, void*);
  void cb_Import_i(Fl_Button*, void*);
  static void cb_Import(Fl_Button*, void*);
public:
  Fl_Group *keymappinggroup;
  Fl_Input *mappinginput;
  Fl_Counter *firstnotecounter;
private:
  void cb_firstnotecounter_i(Fl_Counter*, void*);
  static void cb_firstnotecounter(Fl_Counter*, void*);
public:
  Fl_Counter *lastnotecounter;
private:
  void cb_lastnotecounter_i(Fl_Counter*, void*);
  static void cb_lastnotecounter(Fl_Counter*, void*);
public:
  Fl_Counter *middlenotecounter;
private:
  void cb_middlenotecounter_i(Fl_Counter*, void*);
  static void cb_middlenotecounter(Fl_Counter*, void*);
public:
  Fl_Value_Output *mapsizeoutput;
private:
  void cb_mapsizeoutput_i(Fl_Value_Output*, void*);
  static void cb_mapsizeoutput(Fl_Value_Output*, void*);
public:
  Fl_Check_Button *mappingenabledbutton;
private:
  void cb_mappingenabledbutton_i(Fl_Check_Button*, void*);
  static void cb_mappingenabledbutton(Fl_Check_Button*, void*);
  void cb_Import1_i(Fl_Button*, void*);
  static void cb_Import1(Fl_Button*, void*);
public:
  Fl_Counter *anotecounter;
private:
  void cb_anotecounter_i(Fl_Counter*, void*);
  static void cb_anotecounter(Fl_Counter*, void*);
public:
  Fl_Value_Input *afreqinput;
private:
  void cb_afreqinput_i(Fl_Value_Input*, void*);
  static void cb_afreqinput(Fl_Value_Input*, void*);
  void cb_Close_i(Fl_Button*, void*);
  static void cb_Close(Fl_Button*, void*);
  void cb_Enable_i(Fl_Check_Button*, void*);
  static void cb_Enable(Fl_Check_Button*, void*);
public:
  void updateTuningsInput();
  void updateMappingInput();
  MicrotonalUI(Microtonal *microtonal_);
  ~MicrotonalUI();
  void show();
  void apply();
private:
  Microtonal *microtonal; 
};
#endif
