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

#ifndef oyranos_config_fltk_h
#define oyranos_config_fltk_h
#include <FL/Fl.H>
#include <FL/Fl_Choice.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_File_Chooser.H>
#include <FL/Fl_Output.H>
#include <FL/Fl_Pack.H>
#include <FL/Fl_Scroll.H>
#include <FL/Flmm_Tabs.H>
#include <FL/fl_ask.H>
#include <FL/fl_draw.H>
#include "oyranos_config_internal.h"
#include "oyranos.h"
#include "oyranos_debug.h"
#include "oyranos_config.h"
#include "oyranos_core.h"
#include "oyranos_devices.h"
#include "oyranos_helper.h"
#include "oyranos_i18n.h"
#include "oyranos_sentinel.h"
#include "oyranos_texts.h"
#include "Oy_Fl_Double_Window.h"
#ifdef HAVE_X11
# include <X11/Xcm/XcmEvents.h>
#endif /* HAVE_X11 */
#include <iostream>
#include <fstream>
#include <cstdio>
#define BOX_WIDTH 250
#define SELECT_WIDTH 176
void selectDefaultProfile_callback( Fl_Widget* w, void* );
void showDefaultProfile_callback( Fl_Widget* w, void* );
void selectBehaviourCallback( Fl_Widget* w, void* x );
void debug_me( );

class OyFl_Pack : public Fl_Pack {
public:
  OyFl_Pack(int x, int y, int w, int h , const char *t = 0) ;
private:
  void draw();
};

class OyFl_Box : public Fl_Box {
public:
  OyFl_Box(int x, int y, int w, int h , const char *t = 0) ;
private:
  void draw();
  char *label_orig; 
public:
  const char * label();
  void label(const char * l);
  void copy_label(const char* l);
};

class Option : public OyFl_Pack {
public:
  OyFl_Box   *box;
  Fl_Choice*choice;

  oyWIDGET_e option;
  oyWIDGET_TYPE_e type;
  int       i; 
  Option( int x, int y, int w, int h, const char *name,
  oyWIDGET_e option_,
  oyWIDGET_TYPE_e type_,
  int choices_n,
  const char **choices,
  int current,
  const char *tooltip,
  int flags) ;
};

class ListEntry : public OyFl_Pack {
public:
  Fl_Box   *box;
  Fl_Button*button_add, *button_remove;
  int flags; 
  ListEntry( int x, int y, int w, int h, const char * name, int flags )
    ;
};
void createUI();
void updateUI();
void updateUIIdle(void*);
extern Oy_Fl_Double_Window *top_group;
#include <FL/Fl_Box.H>
extern Flmm_Tabs *top_tabs;
#include <FL/Fl_Group.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Pack.H>
extern Fl_Box *policy_box;
void listWindow( Fl_Widget *w );
int event_handler( int e );
extern Oy_Fl_Double_Window *help_window;
#include <FL/Fl_Help_View.H>
extern Fl_Help_View *help_browser;
Oy_Fl_Double_Window* make_help();
#endif
