#ifndef __Preferences_h__
#define __Preferences_h__
#include <map>
#include <gui/WidgetUpdate.h>
#include <gui/GladeApp.h>
#include <config/PathConfig.h>
#include <config/HstColor.h>
/**
* This class handles the Preferences Dialog
*/
class Preferences : public GladeApp
{
private:
PathConfig::PathType path_type;
std::map<PathConfig::PathType, GtkTreeModel *> stores;
HstColor hcolor, tcolor;
void create_store(PathConfig::PathType);
void write_path_list();
void move_row(gboolean up);
static void on_OK(GtkWidget *, Preferences *);
static void on_Apply(GtkWidget *, Preferences *);
static void on_Cancel(GtkWidget *, Preferences *);
static void on_Help(GtkWidget *, Preferences *);
static void on_path_type(GtkWidget *, Preferences *);
static void on_btnAddPath(GtkWidget *, Preferences *);
static void on_btnRemovePath(GtkWidget *, Preferences *);
static void on_btnPathUp(GtkWidget *, Preferences *);
static void on_btnPathDown(GtkWidget *, Preferences *);
static void on_btn_color_set(GtkWidget *, Preferences *);
static GtkWidget *create_color_button(Preferences *M, char *name, char *, char *, int, int);
public:
Preferences();
~Preferences();
// The GladeApp functions
void auto_connect();
void user_init();
void set_handlers();
};
#endif