ROOT logo
// $Id: NestInfo.cxx 2088 2008-11-23 20:26:46Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

//__________________________________________________________________________
// NestInfo
//
//

#include "NestInfo.h"
#include "NestInfo.c7"

#include <Ephra/Saturn.h>
#include <Glasses/ZGod.h>
#include <Glasses/ZQueen.h>

ClassImp(NestInfo);

/**************************************************************************/

const Text_t* NestInfo::sLayoutPath = "Etc/NestLayouts";

void NestInfo::_init()
{
  // Override from SubShellInfo:
  mCtorLibset = "GledCore";
  mCtorName   = "FTW_Nest";

  bShowSelf   = false;
  mMaxChildExp   = 1;

  mWName   = 30; mWAnt    = 0;
  mWIndent = 2;  mWSepBox = 1;

  mLayoutList = 0;
  mLeafLayout = LL_Ants;
}

/**************************************************************************/

void NestInfo::ImportLayout(ZGlass* src)
{
  ZList* lsrc = dynamic_cast<ZList*>(src);
  if(lsrc != 0) {
    lStr_t     parts;
    lpZGlass_t l; lsrc->CopyList(l);
    for(lpZGlass_i i=l.begin(); i!=l.end(); ++i)
      parts.push_back((*i)->GetTitle());
    mLayout = GledNS::join_strings(" : ", parts);
    mLeafLayout = LL_Custom;
  } else {
    mLayout     = src->GetTitle();
    mLeafLayout = LL_Custom;
  }
  Stamp(FID());
  EmitLayoutRay();
}

/**************************************************************************/

void NestInfo::ImportKings()
{
  lpZGlass_t kings; mSaturn->GetGod()->CopyList(kings);
  for(lpZGlass_i k=kings.begin(); k!=kings.end(); ++k)
    Add(*k);
}

/**************************************************************************/

void NestInfo::EmitLayoutRay()
{
  if(mQueen && mSaturn->AcceptsRays()) {
    auto_ptr<Ray> ray
      (Ray::PtrCtor(this, RayNS::RQN_user_1, mTimeStamp, FID()));
    mQueen->EmitRay(ray);
  }
}

void NestInfo::EmitRewidthRay()
{
  if(mQueen && mSaturn->AcceptsRays()) {
    auto_ptr<Ray> ray
      (Ray::PtrCtor(this, PRQN_rewidth, mTimeStamp, FID()));
    mQueen->EmitRay(ray);
  }
}
 NestInfo.cxx:1
 NestInfo.cxx:2
 NestInfo.cxx:3
 NestInfo.cxx:4
 NestInfo.cxx:5
 NestInfo.cxx:6
 NestInfo.cxx:7
 NestInfo.cxx:8
 NestInfo.cxx:9
 NestInfo.cxx:10
 NestInfo.cxx:11
 NestInfo.cxx:12
 NestInfo.cxx:13
 NestInfo.cxx:14
 NestInfo.cxx:15
 NestInfo.cxx:16
 NestInfo.cxx:17
 NestInfo.cxx:18
 NestInfo.cxx:19
 NestInfo.cxx:20
 NestInfo.cxx:21
 NestInfo.cxx:22
 NestInfo.cxx:23
 NestInfo.cxx:24
 NestInfo.cxx:25
 NestInfo.cxx:26
 NestInfo.cxx:27
 NestInfo.cxx:28
 NestInfo.cxx:29
 NestInfo.cxx:30
 NestInfo.cxx:31
 NestInfo.cxx:32
 NestInfo.cxx:33
 NestInfo.cxx:34
 NestInfo.cxx:35
 NestInfo.cxx:36
 NestInfo.cxx:37
 NestInfo.cxx:38
 NestInfo.cxx:39
 NestInfo.cxx:40
 NestInfo.cxx:41
 NestInfo.cxx:42
 NestInfo.cxx:43
 NestInfo.cxx:44
 NestInfo.cxx:45
 NestInfo.cxx:46
 NestInfo.cxx:47
 NestInfo.cxx:48
 NestInfo.cxx:49
 NestInfo.cxx:50
 NestInfo.cxx:51
 NestInfo.cxx:52
 NestInfo.cxx:53
 NestInfo.cxx:54
 NestInfo.cxx:55
 NestInfo.cxx:56
 NestInfo.cxx:57
 NestInfo.cxx:58
 NestInfo.cxx:59
 NestInfo.cxx:60
 NestInfo.cxx:61
 NestInfo.cxx:62
 NestInfo.cxx:63
 NestInfo.cxx:64
 NestInfo.cxx:65
 NestInfo.cxx:66
 NestInfo.cxx:67
 NestInfo.cxx:68
 NestInfo.cxx:69
 NestInfo.cxx:70
 NestInfo.cxx:71
 NestInfo.cxx:72
 NestInfo.cxx:73
 NestInfo.cxx:74
 NestInfo.cxx:75
 NestInfo.cxx:76
 NestInfo.cxx:77
 NestInfo.cxx:78
 NestInfo.cxx:79
 NestInfo.cxx:80
 NestInfo.cxx:81
 NestInfo.cxx:82
 NestInfo.cxx:83
 NestInfo.cxx:84
 NestInfo.cxx:85
 NestInfo.cxx:86
 NestInfo.cxx:87
 NestInfo.cxx:88