#ifndef STICKY_NOTES_H
#define STICKY_NOTES_H

# ifdef STICKY_NOTES_C

# define STICKY_MASTER_UNDEF 0

# define STICKY_MASTER_BUTTON_RAISE 1
# define STICKY_MASTER_BUTTON_LOWER 2
# define STICKY_MASTER_BUTTON_SHOW 3
# define STICKY_MASTER_BUTTON_HIDE 4

/* use undef again */
# define STICKY_MASTER_QUIT_QUIT 1
# define STICKY_MASTER_QUIT_SAVE 2
# define STICKY_MASTER_QUIT_ASK 3


typedef struct change_event_params
{
 struct sticky_note *note;
 GtkWidget *name_entry;
 GtkWidget *x_size_entry;
 GtkWidget *y_size_entry;

 unsigned int auto_placment : 1;
 unsigned int using_scrollbar : 1;
 unsigned int using_right : 1; /* choose left or right sided scrollbar */
} change_event_params;

typedef struct main_config
{
 int mouse_one_action; /* normal int's so we can use int *'s to configure */
 int mouse_two_action;

 unsigned int auto_placment : 1;
 unsigned int action_on_quit : 2;
} main_config;


# endif

#define STICKY_NOTES_SYSTEM_RC "/usr/local/etc/sticky_gtkrc"
#define STICKY_FILE_MASTER_INDEX_VERSION 1
#define STICKY_FILE_MASTER_PREFERENCES_VERSION 1
#define STICKY_FILE_NOTE_VERSION 1

typedef struct sticky_note
{
 struct sticky_note *next_name;
 struct sticky_note *prev_name;
 struct sticky_note *next_id;
 struct sticky_note *prev_id;

 struct sticky_base *base;
 
 GtkWidget *text;
 GtkWidget *hbox; /* contains scrollbar, text */
 GtkWidget *vscrollbar;
 GtkWidget *window;
 GtkWidget *save_menu_item;
 char *filename;
 char *name;

 unsigned int unique_id; /* for default filename */

 int x_pos;
 int y_pos;
 int x_size;
 int y_size;

 unsigned int auto_placment : 1;
 
 unsigned int using_right : 1; /* choose left or right sided scrollbar */
 unsigned int needs_save : 1;

} sticky_note;


#endif
