app_mkicons.C

Go to the documentation of this file.
00001 // /* Gxsm - Gnome X Scanning Microscopy
00002 //  * universal STM/AFM/SARLS/SPALEED/... controlling and
00003 //  * data analysis software
00004 //  * 
00005 //  * Copyright (C) 1999,2000,2001,2002,2003 Percy Zahl
00006 //  *
00007 //  * Authors: Percy Zahl <zahl@users.sf.net>
00008 //  * additional features: Andreas Klust <klust@users.sf.net>
00009 //  * WWW Home: http://gxsm.sf.net
00010 //  *
00011 //  * This program is free software; you can redistribute it and/or modify
00012 //  * it under the terms of the GNU General Public License as published by
00013 //  * the Free Software Foundation; either version 2 of the License, or
00014 //  * (at your option) any later version.
00015 //  *
00016 //  * This program is distributed in the hope that it will be useful,
00017 //  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 //  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019 //  * GNU General Public License for more details.
00020 //  *
00021 //  * You should have received a copy of the GNU General Public License
00022 //  * along with this program; if not, write to the Free Software
00023 //  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
00024 //  */
00025 // 
00026 // /* -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 8 c-style: "K&R" -*- */
00027 // 
00028 // #include <locale.h>
00029 // #include <libintl.h>
00030 // 
00031 // #include "gxsm_app.h"
00032 // #include "app_mkicons.h"
00033 // 
00034 // #include "unit.h"
00035 // #include "pcs.h"
00036 // #include "xsm_mkicons.h"
00037 // 
00038 // typedef union OptIndex {
00039 //   struct { unsigned char oi, x, y, z; } s;
00040 //   unsigned long   l; // default Eintrag
00041 // };
00042 // 
00043 // char *Opt_Paper[]       = {"A4", "Letter", NULL};
00044 // char *Opt_Resolution[]  = {"300dpi", "600dpi", "1200dpi", NULL};
00045 // char *Opt_ERegression[] = {"no", "E 30% Rand", "E 5% Rand", NULL};
00046 // char *Opt_LRegression[] = {"no", "lin.Reg.", NULL};
00047 // char *Opt_ViewMode[]    = {"default", "quick", "direct", "logarithmic", "perodic", "horizontal", NULL};
00048 // char *Opt_AutoScaling[] = {"default", "auto 5% Rand", "auto 20% Rand", "auto 30% Rand", NULL};
00049 // char *Opt_Scaling[]     = {"no", "min-max", "Cps-lo-hi", NULL};
00050 // 
00051 // 
00052 // #define MK_ICONS_KEYBASE "MkIcons"
00053 // 
00054 // MKICONS_OPTIONS OptionsList[] = {
00055 //      { "Paper",   Opt_Paper,  "AL", 0 },
00056 //      { "Resolution",   Opt_Resolution,  "36C", 1 },
00057 //      { "E-Regression", Opt_ERegression, "-Ee", 0 },
00058 //      { "L-Regression", Opt_LRegression, "-l",  0 },
00059 //      { "View-Mode",    Opt_ViewMode,    "-qdlph", 0 },
00060 //      { "Auto-Scaling", Opt_AutoScaling, "-123",  0 },
00061 //      { "Scaling",      Opt_Scaling,     "-ac",  0 },
00062 //      { NULL, NULL, NULL, 0 }
00063 // };
00064 // 
00065 // 
00066 // MkIconsControl::MkIconsControl (){
00067 //      // get defaults
00068 // 
00069 //      XSM_DEBUG(DBG_L4, "MkIconsControl::MkIconsControl");
00070 // 
00071 //      XsmRescourceManager xrm(MK_ICONS_KEYBASE);
00072 //      
00073 //      icondata = new MkIconsData(
00074 //              xrm.GetStr("SourcePath","."),
00075 //              xrm.GetStr("DestPath","/tmp/icons.ps"),
00076 //              xrm.GetStr("SourceMask","*.nc"),
00077 //              xrm.GetStr("Options","----------"),
00078 //              xrm.GetStr("IconFile","icons.ps")
00079 //              );
00080 //      icondata = new MkIconsData();
00081 // 
00082 //      XSM_DEBUG(DBG_L4, "MkIconsControl::MkIconsControl OK.");
00083 // }
00084 // 
00085 // MkIconsControl::~MkIconsControl (){
00086 //      // save defaults
00087 // 
00088 //      XSM_DEBUG(DBG_L4, "MkIconsControl::~MkIconsControl");
00089 //      MKICONS_OPTIONS *opt;
00090 //      XsmRescourceManager xrm(MK_ICONS_KEYBASE);
00091 //      for(opt = OptionsList; opt->name; ++opt)
00092 //              xrm.Put(opt->name, opt->init);
00093 //      
00094 //      xrm.Put("SourcePath", icondata->pathname);
00095 //      xrm.Put("DestPath", icondata->outputname);
00096 //      xrm.Put("SourceMask", icondata->mask);
00097 //      xrm.Put("Options", icondata->options);
00098 //      xrm.Put("IconFile", icondata->name);
00099 //      
00100 //      XSM_DEBUG(DBG_L4, "MkIconsControl::~MkIconsControl done.");
00101 //      delete icondata;
00102 // }
00103 // 
00104 // void MkIconsControl::run(){
00105 //      GtkWidget *dialog;
00106 //      GtkWidget *vbox;
00107 //      GtkWidget *hbox;
00108 //      GtkWidget *VarName;
00109 //      GtkWidget *variable;
00110 //      GtkWidget *help;
00111 //      GtkWidget *separator;
00112 // 
00113 //      XSM_DEBUG(DBG_L4, "MkIconsControl::run");
00114 //      
00115 //      dialog = gtk_dialog_new_with_buttons (_("GXSM make icons"),
00116 //                                            NULL,
00117 //                                            (GtkDialogFlags)(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT),
00118 //                                            _("1x1"), 1, _("2x3"), 2, _("4x6"), 4, _("6x9"), 6,
00119 //                                            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
00120 //                                            NULL); 
00121 //         
00122 //      vbox = gtk_vbox_new (FALSE, 0);
00123 //      gtk_widget_show (vbox);
00124 //      
00125 //      gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),
00126 //                   vbox, TRUE, TRUE, GNOME_PAD);
00127 //         
00128 // 
00129 //      hbox = gtk_hbox_new (FALSE, 0);
00130 //      gtk_widget_show (hbox);
00131 //      gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
00132 //      
00133 //      VarName = gtk_label_new (_("Source Path"));
00134 //      gtk_widget_set_size_request (VarName, 100, -1);
00135 //      gtk_widget_show (VarName);
00136 //      gtk_label_set_justify(GTK_LABEL(VarName), GTK_JUSTIFY_LEFT);
00137 //      gtk_misc_set_alignment (GTK_MISC (VarName), 0.0, 0.5);
00138 //      gtk_misc_set_padding (GTK_MISC (VarName), 5, 0);
00139 //      gtk_box_pack_start (GTK_BOX (hbox), VarName, TRUE, TRUE, 0);
00140 //      
00141 //      SrcPath = variable = gtk_entry_new ();
00142 //      gtk_widget_show (variable);
00143 //      gtk_box_pack_start (GTK_BOX (hbox), variable, TRUE, TRUE, 0);
00144 //      gtk_entry_set_text (GTK_ENTRY (variable), icondata->pathname);
00145 //      
00146 //      help = gtk_button_new_with_label (_("Help"));
00147 //      gtk_widget_show (help);
00148 //      gtk_box_pack_start (GTK_BOX (hbox), help, TRUE, TRUE, 0);
00149 //      gtk_signal_connect (GTK_OBJECT (help), "clicked",
00150 //                          GTK_SIGNAL_FUNC (show_info_callback),
00151 //                          (void*)(_("Set to full pathname of data source directory.")));
00152 //      
00153 //      hbox = gtk_hbox_new (FALSE, 0);
00154 //      gtk_widget_show (hbox);
00155 //      gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
00156 //   
00157 //      VarName = gtk_label_new (_("Selection Mask"));
00158 //      gtk_widget_set_size_request (VarName, 100, -1);
00159 //      gtk_widget_show (VarName);
00160 //      gtk_label_set_justify(GTK_LABEL(VarName), GTK_JUSTIFY_LEFT);
00161 //      gtk_misc_set_alignment (GTK_MISC (VarName), 0.0, 0.5);
00162 //      gtk_misc_set_padding (GTK_MISC (VarName), 5, 0);
00163 //      gtk_box_pack_start (GTK_BOX (hbox), VarName, TRUE, TRUE, 0);
00164 //   
00165 //      SrcMask = variable = gtk_entry_new ();
00166 //      gtk_widget_show (variable);
00167 //      gtk_box_pack_start (GTK_BOX (hbox), variable, TRUE, TRUE, 0);
00168 //      gtk_entry_set_text (GTK_ENTRY (variable), icondata->mask);
00169 // 
00170 //      help = gtk_button_new_with_label (_("Help"));
00171 //      gtk_widget_show (help);
00172 //      gtk_box_pack_start (GTK_BOX (hbox), help, TRUE, TRUE, 0);
00173 //      gtk_signal_connect (GTK_OBJECT (help), "clicked",
00174 //                          GTK_SIGNAL_FUNC (show_info_callback),
00175 //                          (void*)(_("Select subset of files via wildcard.")));
00176 //      
00177 //      hbox = gtk_hbox_new (FALSE, 0);
00178 //      gtk_widget_show (hbox);
00179 //      gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
00180 //      
00181 //      VarName = gtk_label_new (_("Icon Filename"));
00182 //      gtk_widget_set_size_request (VarName, 100, -1);
00183 //      gtk_widget_show (VarName);
00184 //      gtk_label_set_justify(GTK_LABEL(VarName), GTK_JUSTIFY_LEFT);
00185 //      gtk_misc_set_alignment (GTK_MISC (VarName), 0.0, 0.5);
00186 //      gtk_misc_set_padding (GTK_MISC (VarName), 5, 0);
00187 //      gtk_box_pack_start (GTK_BOX (hbox), VarName, TRUE, TRUE, 0);
00188 //   
00189 //      IconName = variable = gtk_entry_new ();
00190 //      gtk_widget_show (variable);
00191 //      gtk_box_pack_start (GTK_BOX (hbox), variable, TRUE, TRUE, 0);
00192 //      gtk_entry_set_text (GTK_ENTRY (variable), icondata->outputname);
00193 //      
00194 //      help = gtk_button_new_with_label (_("Help"));
00195 //      gtk_widget_show (help);
00196 //      gtk_box_pack_start (GTK_BOX (hbox), help, TRUE, TRUE, 0);
00197 //      gtk_signal_connect (GTK_OBJECT (help), "clicked",
00198 //                          GTK_SIGNAL_FUNC (show_info_callback),
00199 //                          (void*)(_("Full Pathname to Iconfile, openmode is append !")));
00200 //      
00201 //      separator = gtk_hseparator_new ();
00202 //      /* The last 3 arguments to gtk_box_pack_start are:
00203 //       * expand, fill, padding. */
00204 //      gtk_box_pack_start (GTK_BOX (vbox), separator, FALSE, TRUE, 5);
00205 //      gtk_widget_show (separator);
00206 //      
00207 //      // make Option Menus
00208 //      hbox = gtk_hbox_new (FALSE, 0);
00209 //      gtk_widget_show (hbox);
00210 //      gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
00211 // 
00212 //      GtkWidget *mvbox, *label, *wid, *menu, *menuitem;
00213 //      MKICONS_OPTIONS *opt;
00214 //      char **item;
00215 //      OptIndex OptI;
00216 //      int i,j;
00217 // 
00218 //      XSM_DEBUG(DBG_L4, "MkIconsControl::run - Setting options");
00219 // 
00220 // 
00221 //      XsmRescourceManager xrm(MK_ICONS_KEYBASE);
00222 //      for(j=0, opt = OptionsList; opt->name; ++j, ++opt){
00223 //              // Init from rescources
00224 //              gchar *idefault=g_strdup_printf("%d", opt->init);
00225 //              xrm.Get(opt->name, &opt->init, idefault);
00226 //              g_free(idefault);
00227 // 
00228 //              mvbox = gtk_vbox_new (FALSE, 0);
00229 //              gtk_widget_show (mvbox);
00230 //              gtk_box_pack_start (GTK_BOX (hbox), mvbox, TRUE, TRUE, 0);
00231 //              
00232 //              label = gtk_label_new (opt->name);
00233 //              gtk_widget_show (label);
00234 //              gtk_container_add (GTK_CONTAINER (mvbox), label);
00235 //              
00236 //              wid = gtk_option_menu_new ();
00237 //              gtk_widget_show (wid);
00238 //              gtk_container_add (GTK_CONTAINER (mvbox), wid);
00239 //              
00240 //              menu = gtk_menu_new ();
00241 //              
00242 //              // fill options in
00243 //              for(i=0, item=opt->list; *item; ++i, ++item){
00244 //                      // make menuitem
00245 //                      menuitem = gtk_menu_item_new_with_label (*item);
00246 //                      gtk_widget_show (menuitem);
00247 //                      gtk_menu_append (GTK_MENU (menu), menuitem);
00248 //                      /* connect with signal-handler if selected */
00249 //                      OptI.l = 0L;
00250 //                      OptI.s.oi = j;
00251 //                      OptI.s.x  = i;
00252 //                      gtk_object_set_data(GTK_OBJECT (menuitem), "optindex", (gpointer)OptI.l);
00253 //                      gtk_signal_connect (GTK_OBJECT (menuitem), "activate",
00254 //                                          GTK_SIGNAL_FUNC (MkIconsControl::option_choice_callback),
00255 //                                          this);
00256 //              }
00257 //              gtk_option_menu_set_menu (GTK_OPTION_MENU (wid), menu);
00258 //              gtk_option_menu_set_history (GTK_OPTION_MENU (wid), opt->init);
00259 //      }
00260 // 
00261 //      XSM_DEBUG(DBG_L4, "MkIconsControl::run - Setting options ... OK");
00262 //      
00263 //      XSM_DEBUG(DBG_L4, "MkIconsControl::run - Dlg show, run");
00264 // 
00265 //      gtk_widget_show(dialog);
00266 //      dlg_clicked (gtk_dialog_run (GTK_DIALOG(dialog)));
00267 //      gtk_widget_destroy (dialog);
00268 // 
00269 // }
00270 // 
00271 // void MkIconsControl::option_choice_callback(GtkWidget *widget, MkIconsControl *mki){
00272 //      OptIndex i;
00273 //      i.l=(long)gtk_object_get_data( GTK_OBJECT (widget), "optindex");
00274 //      mki->icondata->options[i.s.oi] = OptionsList[i.s.oi].id[OptionsList[i.s.oi].init=i.s.x];
00275 //      XSM_DEBUG(DBG_L2, "MkIconsControl::option_choice_callback=" << mki->icondata->options );
00276 // }
00277 // 
00278 // void MkIconsControl::dlg_clicked(gint response){
00279 // 
00280 //      XSM_DEBUG(DBG_L4, "MkIconsControl::clicked - " << response);
00281 // 
00282 //      g_free(icondata->pathname); 
00283 //      icondata->pathname = g_strdup(gtk_entry_get_text (GTK_ENTRY (SrcPath)));
00284 //      
00285 //      g_free(icondata->mask); 
00286 //      icondata->mask = g_strdup(gtk_entry_get_text (GTK_ENTRY (SrcMask)));
00287 //      
00288 //      g_free(icondata->outputname); 
00289 //      icondata->outputname = g_strdup(gtk_entry_get_text (GTK_ENTRY (IconName)));
00290 // 
00291 //      switch(response){
00292 //      case 1:
00293 //              show_info_callback(NULL, _("Generating 1x1 Icon Pages !"));
00294 //              icondata->nix=1;
00295 //              gapp->xsm->MkIcons(icondata);
00296 //              break;
00297 //      case 2:
00298 //              show_info_callback(NULL, _("Generating 2x3 Icon Pages !"));
00299 //              icondata->nix=2;
00300 //              gapp->xsm->MkIcons(icondata);
00301 //              break;
00302 //      case 4: 
00303 //              show_info_callback(NULL, _("Generating 4x6 Icon Pages !"));
00304 //              icondata->nix=4;
00305 //              gapp->xsm->MkIcons(icondata);
00306 //              break;
00307 //      case 6: 
00308 //              show_info_callback(NULL, _("Generating 6x9 Icon Pages !"));
00309 //              icondata->nix=6;
00310 //              gapp->xsm->MkIcons(icondata);
00311 //              break;
00312 //      case GTK_RESPONSE_CANCEL: 
00313 //              break;
00314 //      }
00315 // }

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