app_monitor.C

Go to the documentation of this file.
00001 /* Gnome gxsm - Gnome X Scanning Microscopy
00002  * universal STM/AFM/SARLS/SPALEED/... controlling and
00003  * data analysis software
00004  * 
00005  * Copyright (C) 1999 The Free Software Foundation
00006  *
00007  * Authors: Percy Zahl <zahl@fkp.uni-hannover.de>
00008  * additional features: Andreas Klust <klust@fkp.uni-hannover.de>
00009  *
00010  * This program is free software; you can redistribute it and/or modify
00011  * it under the terms of the GNU General Public License as published by
00012  * the Free Software Foundation; either version 2 of the License, or
00013  * (at your option) any later version.
00014  *
00015  * This program is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018  * GNU General Public License for more details.
00019  *
00020  * You should have received a copy of the GNU General Public License
00021  * along with this program; if not, write to the Free Software
00022  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
00023  */
00024 
00025 /*
00026  * Project: Gxsm
00027  */
00028 
00029 #include "gxsm_app.h"
00030 
00031 #include "unit.h"
00032 #include "pcs.h"
00033 #include "xsmtypes.h"
00034 
00035 typedef struct MONITORLOGENTRY{
00036   gchar *label;
00037   gint  width;
00038   gchar *data;
00039 };
00040 
00041 #define MAXCOLUMNS 10
00042 MONITORLOGENTRY tabledef[] = {
00043   { "time stamp", 150, NULL },
00044   { "action",  100, NULL },
00045   { "comment", 200, NULL },
00046   { "value1", 100, NULL },
00047   { "value2", 100, NULL },
00048   { "value3", 100, NULL },
00049   { NULL, 0, NULL }
00050 };
00051 
00052 MonitorControl::MonitorControl ()
00053 {
00054   int i;
00055   GtkWidget *hbox, *entry, *label, *scrollwnd, *list;
00056 
00057   AppWidgetInit(MONITOR_TITLE);
00058 
00059   hbox = gtk_hbox_new (FALSE, 0);
00060   gtk_widget_set_name (hbox, "hbox");
00061   gtk_object_set_data (GTK_OBJECT (widget), "hbox", hbox);
00062   gtk_widget_show (hbox);
00063   gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
00064 
00065   label = gtk_label_new (_("Edit:"));
00066   gtk_widget_show (label);
00067   gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 10);
00068   gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
00069 
00070   entry = gtk_entry_new ();
00071   gtk_widget_set_name (entry, "edit");
00072   gtk_object_set_data (GTK_OBJECT (widget), "edit", entry);
00073   gtk_widget_show (entry);
00074   gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, TRUE, 10);
00075   //  gtk_signal_connect (GTK_OBJECT (entry), "changed",
00076   //                      GTK_SIGNAL_FUNC (on_vp_entry_changed),
00077   //                      NULL);
00078 
00079   scrollwnd = gtk_scrolled_window_new (NULL, NULL);
00080   gtk_widget_set_name (scrollwnd, "scrollwnd");
00081   gtk_object_set_data (GTK_OBJECT (widget), "scrollwnd", scrollwnd);
00082   gtk_widget_show (scrollwnd);
00083   gtk_box_pack_start (GTK_BOX (vbox), scrollwnd, TRUE, TRUE, 0);
00084   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwnd), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
00085 
00086   for(i=0; tabledef[i++].label;);
00087   
00088   list = gtk_clist_new (i);
00089   gtk_widget_set_name (list, "list");
00090   gtk_object_set_data (GTK_OBJECT (widget), "list", list);
00091   gtk_widget_show (list);
00092   gtk_container_add (GTK_CONTAINER (scrollwnd), list);
00093   gtk_widget_set_size_request (list, 250, 300);
00094   //  gtk_signal_connect (GTK_OBJECT (list), "select_row",
00095   //                      GTK_SIGNAL_FUNC (on_list_select_row),
00096   //                      NULL);
00097   for(i=0; tabledef[i].label; ++i){
00098     gtk_clist_set_column_width (GTK_CLIST (list), i, tabledef[i].width);
00099     label = gtk_label_new (_(tabledef[i].label));
00100     gtk_widget_set_name (label, tabledef[i].label);
00101     gtk_widget_show (label);
00102     gtk_clist_set_column_widget (GTK_CLIST (list), i, label);
00103   }
00104   gtk_clist_column_titles_show (GTK_CLIST (list));
00105 
00106 }
00107 
00108 MonitorControl::~MonitorControl (){
00109 }
00110 
00111 void MonitorControl::LogEvent (gchar *Action, gchar *Entry){
00112   GtkWidget *list=(GtkWidget*)gtk_object_get_data (GTK_OBJECT (widget), "list");
00113   PutEvent(Action, Entry);
00114   gtk_clist_append (GTK_CLIST (list), Fields);
00115 }
00116 
00117 /*
00118 
00119  XSM_DEBUG(DBG_L2, "Get vp values " << sel_last << ":" << sel_first << " Row=" << vprowno );
00120   if(sel_last > sel_first && vprowno){
00121     int i;
00122     gchar *rrow[100];
00123     gchar rrowmem[100][20];
00124     ofstream vpresults;
00125     vpresults.open("vpresults.tmp");
00126 
00127     gchar *vp, *vppar, *vpbez, *xval;
00128 
00129     if(!results)
00130       windows_oreslist_callback(0,0);
00131 
00132     GtkWidget *rlist = (GtkWidget*)gtk_object_get_data ( GTK_OBJECT(results), "rlist" );
00133     GtkWidget *flist = (GtkWidget*)gtk_object_get_data ( GTK_OBJECT(filelist), "flist" );
00134     GtkWidget *vplist = (GtkWidget*)gtk_object_get_data ( GTK_OBJECT(fitdatawnd), "vplist" );
00135 
00136     for(i=0; i<100; i++){
00137       strcpy(rrowmem[i], " ");
00138       rrow[i] = rrowmem[i];
00139     }
00140 
00141     gtk_clist_clear( GTK_CLIST (rlist) );
00142 
00143     gtk_clist_get_text (GTK_CLIST (vplist), vprowno, 2, &vppar);
00144     check_events();
00145     vpresults << "# X-Val  " << vppar << endl;
00146 
00147     for(gint row=sel_first; row <= sel_last; row++){
00148       gtk_clist_get_text (GTK_CLIST (flist), row, 1, &vp);
00149       gtk_clist_get_text (GTK_CLIST (flist), row, 4, &xval);
00150       setFitVPData(vp);
00151       check_events();
00152       gtk_clist_get_text (GTK_CLIST (vplist), vprowno, 0, &vppar);
00153       check_events();
00154       vpresults.width(15);
00155       vpresults << xval << " " << vppar << " " << vppar << endl;
00156 
00157       if(row == sel_first){
00158         strcpy(rrowmem[0], "X");
00159         for(i=1; gtk_clist_get_text (GTK_CLIST (vplist), i, 2, &vpbez); ++i)
00160           strcpy(rrowmem[i], vpbez);
00161 
00162         gtk_clist_append (GTK_CLIST (rlist), rrow);
00163 
00164         GdkColor color;
00165         gdk_color_parse("green", &color);
00166         gdk_color_alloc(gdk_colormap_get_system(), &color); 
00167         
00168         gtk_clist_set_background( GTK_CLIST (rlist), 0, &color);
00169       }
00170     }
00171 
00172  */

Generated on Sat Apr 1 09:03:45 2006 for GXSM by  doxygen 1.4.6