Changeset 1922 in Sophya for trunk/SophyaPI


Ignore:
Timestamp:
Mar 6, 2002, 6:17:09 PM (24 years ago)
Author:
ansari
Message:

suite implementation DecodeOptionString - Reza 06/03/2002

Location:
trunk/SophyaPI/PI
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PI/pieldrw.cc

    r1916 r1922  
    103103      continue;     
    104104    }
    105     if (opts == "axelabelautofontsize") {
     105    if (opts == "autofontsize") {
    106106      SetAxesAutoFontSize(true);
    107107      continue;     
    108108    }
    109     if (opts == "axelabelfixedfontsize") {
     109    if (opts == "fixedfontsize") {
    110110      SetAxesAutoFontSize(false);
    111111      continue;     
  • trunk/SophyaPI/PI/piimage.cc

    r1916 r1922  
    535535    // Position du centre d'image
    536536    if (opts.substr(0,12) == "imagecenter=") {
    537       int xc,yc;
     537      int xc = XPave(); 
     538      int yc = YPave();
    538539      sscanf(opts.substr(12).c_str(),"%d,%d",&xc, &yc);
    539540      SetPave(xc, yc, false, true);
     541      continue;
     542    }
     543    // lut lineaire
     544    if (opts.substr(0,4) == "lut=") {
     545      double min = Lut()->Min();
     546      double max = Lut()->Max();
     547      size_t q = opts.find(',');
     548      if (q < opts.length()-1)
     549        sscanf(opts.substr(q+1).c_str(),"%lg,%lg",&min, &max);
     550      int typlut=kLutType_Lin;      ;
     551      if (opts.substr(4,3) == "lin")  typlut=kLutType_Lin;
     552      else if (opts.substr(4,3) == "log")  typlut=kLutType_Log;
     553      else if (opts.substr(4,4) == "sqrt")  typlut=kLutType_Sqrt;
     554      else if (opts.substr(4,6) == "square")  typlut=kLutType_Square;
     555      SetLut(min, max, typlut, 0, false);
    540556      continue;
    541557    }
  • trunk/SophyaPI/PI/piscdrawwdg.cc

    r1914 r1922  
    203203PIScDrawWdg::DecodeOptionString(vector<string> & opt, bool rmdecopt)
    204204{
    205   // AFAIRE - Reza 01/03/2002
    206   return(0);
     205  if (opt.size() == 0)  return(0); 
     206  int ndec1 = BaseDrawer()->DecodeOptionString(opt, rmdecopt);
     207  vector<string> udopt;
     208  unsigned int k = 0;
     209  int ndec = opt.size();
     210  bool fglinlog = false;
     211  bool fglogx = isLogScaleX();
     212  bool fglogy = isLogScaleY();
     213
     214  for( k=0; k<opt.size(); k++ ) {
     215    string opts = opt[k];
     216    // Limites en x,y
     217    if (opts.substr(0,9) == "xylimits=") {
     218      double xmin = XMin();
     219      double ymin = YMin();
     220      double xmax = XMax();
     221      double ymax = YMax();
     222      sscanf(opts.substr(9).c_str(),"%lg,%lg,%lg,%lg",&xmin, &xmax,&ymin,&ymax);
     223      SetLimits(xmin, xmax, ymin, ymax);
     224      continue;
     225    }
     226    if (opts == "linx") {
     227      fglinlog = true;  fglogx = false;
     228      continue;
     229    }
     230    if (opts == "logx") {
     231      fglinlog = true;  fglogx = true;
     232      continue;
     233    }
     234    if (opts == "liny") {
     235      fglinlog = true;  fglogy = false;
     236      continue;
     237    }
     238    if (opts == "logy") {
     239      fglinlog = true;  fglogy = true;
     240      continue;
     241    }
     242
     243    ndec--;
     244    if (rmdecopt)  udopt.push_back(opts);
     245  } 
     246
     247  if (fglinlog) SetLogScale(fglogx, fglogy);
     248
     249  if (rmdecopt)  opt = udopt;
     250  return(ndec+ndec1);
    207251}
    208252
Note: See TracChangeset for help on using the changeset viewer.