/**************************************************************
 * Structured Markov Chains Solver       [  SMCSolver  ]      *
 * Dario Bini, Beatrice Meini, Sergio Steffe'                 *
 * bini@dm.unipi.it, meini@dm.unipi.it, steffe@dm.unipi.it    *
 * Dipartimento di Matematica "Leonida Tonelli"               *
 * Largo Pontecorvo 5                                         *
 * 56127 Pisa                                                 *
 * Italy                                                      *
 * Version 1.1 - Oct 2006                                     *
 **************************************************************
 *
 *  padwrite.h -  using threads and writing asyncronously FIFO to write Notepad
 *
 */

/* prototypes padwrite.c */
gint fifo_inwin(void);
void append_fifo_(char *text);
gint selection_uptodaten(void);
gint delayed_close(void);
gint pi_delayed_close(void);
gint delayed_examples_close(void);


/* prototypes callbacks.c */
void clean_statusb(void);

/* globals padwrite.c */
int  my_iret;
pthread_t my_thread;
/* pthread_mutex_t my_mutex */

/* globals callback.c */
int is_parameters;   /* 0 = normal 1=to close */
int is_pi_parameters; /* 0=not open  1=open */


/* globals interface.c */
GtkWidget *textview;
int fifosi, fifoin, fifoout, fifomax;                 /* using FIFO to write Notepad in Main Window asyncronously */
char fifostr[64000][120];                                 /* using FIFO to write Notepad in Main Window asyncronously */
int is_completed;                                     /* 1 if computation did complete 0 if it is not completed yet */
int is_running;      /* 0 = not running 1 = running */
GtkWidget *handlebox_s; /* to show the situation of all choice made */
GtkWidget *label_s1, *label_s2, *label_s3, *label_s4; /* to keep situation up to date */
GtkWidget * window_parameters;
GtkWidget * window_pi_parameters;
GtkWidget *window_examples;
int is_examples_open; /* 0 = not open 1 = open */
int is_pi_parameters_open; /* 0=not open  1=open */
struct algorithms_str algorithms_choice;
struct goals_str goals_choice;
struct running_problem_str committed,selected; /* we save data here after successfully allocate the matrices with the data */

