00001 #ifndef Se_Workspace_Included
00002 #define Se_Workspace_Included
00003
00004 #include "se_object_vector.h"
00005 #include "se_simulation.h"
00006 #include "se_gtk_message.h"
00007 #include "se_matlab.h"
00008 #include "se_string.h"
00009
00010 namespace Se{
00011
00012 class Workspace:public Object{
00013
00014
00015 GtkWidget *toolbar;
00016 GtkWidget *toolbar2;
00017 GtkWidget *toolbar3;
00018
00019
00020 Object_Vector *my_objects;
00021 int next_id;
00022 static const int Default_Initial_Id=1;
00023 static const int Timer_Time=100;
00024
00025
00026 int master_mailbox_id;
00027 int master_mailbox_key;
00028 Gtk_Message *message_in;
00029
00030
00031 Matlab *my_matlab;
00032
00033 public:
00034
00035 Workspace(int);
00036
00037
00038 Object *get_object(int the_id);
00039 Gtk_Data *get_data(int object_id,String name);
00040
00041
00042 int check_msg();
00043
00044
00045 void put_variable(String,double *,int);
00046 void put_command(String);
00047 void take_variable(String name,double **data,int *size);
00048
00049
00050 void open_matlab();
00051 void open_simulation();
00052 void open_visualization();
00053 void open_optimization_function();
00054 void open_blank1();
00055 void end();
00056
00057
00058 void build();
00059
00060
00061 static void end_callback(GtkWidget *widget, gpointer data);
00062 static void open_blank1_callback(GtkWidget *widget,gpointer data);
00063 static void open_simulation_callback(GtkWidget *widget,gpointer data);
00064 static void open_visualization_callback(GtkWidget *widget,gpointer data);
00065 static void link_callback(GtkWidget *widget,gpointer data);
00066 static guint check_msg_callback(gpointer data);
00067 static void open_matlab_callback(GtkWidget *widget,gpointer data);
00068 static void open_optimization_callback(GtkWidget *widget,gpointer data);
00069 };
00070
00071 }
00072 #endif