ROOT logo
// $Id: WGlDirectory.cxx 2359 2010-03-24 20:29:39Z 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/.

//__________________________________________________________________________
// WGlDirectory
//
//

#include "WGlDirectory.h"
#include "WGlDirectory.c7"

ClassImp(WGlDirectory);

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

void WGlDirectory::_init()
{
  mStepMode = SM_XYZ;
  mDx = mDy = mDz = 1;
  mNx = mNy = mNz = 1;
  mFirst = 1;

  bDrawPageCtrl  = true;
  mPageCtrlWidth = 0.1;
  mPageCtrlOff   = 0.015;
  mPageInfoWidth = 0.2;
  mPageInfoOff   = 0.04;
  mPageColor.rgba(0.18, 0.45, 0.6,0.6);
  mSymColor.rgba(1., 0., 0.,1.);

  bDrawBox  = true;
  mBoxOx = mBoxOy = mBoxOz = 0;
  mBoxDx = mBoxDy = mBoxDz = 1;

  bDrawText  = true;
  bDrawTitle = false;
  mNameFraction = 0.2;
  mTextOx = mTextOy = mTextOz = 0;
  mTextDx = mTextDy = 0;
  mTextA1 = mTextA2 = mTextA3 = 0;

  mBoxColor.rgba(0.5, 0.5, 0.8);
  mSelColor.rgba(0.8, 0.5, 0.5);

  mCbackAlpha = 0;
  mCbackMethodInfo    = 0;
  mCbackBetaClassInfo = 0;
}

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

GledNS::MethodInfo* WGlDirectory::GetCbackMethodInfo()
{
  if(mCbackMethodInfo == 0)
    mCbackMethodInfo = GledNS::DeduceMethodInfo(*mCbackAlpha, mCbackMethodName);
  return mCbackMethodInfo;
}

GledNS::ClassInfo* WGlDirectory::GetCbackBetaClassInfo()
{
  if(mCbackBetaClassInfo == 0 && mCbackBetaType != "")
    mCbackBetaClassInfo = GledNS::FindClassInfo(mCbackBetaType);
  return mCbackBetaClassInfo;
}

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

void WGlDirectory::StandardPersp()
{
  SetStepMode(SM_XZY);
  SetDx(2.5); SetDy(1);  SetDz(-1);
  SetDrawBox(1);
  SetBoxOx(-0.1); SetBoxOy(-0.1); SetBoxOz(-0.21);
  SetBoxDx(2.2);  SetBoxDy(0.6);  SetBoxDz(0.2);
  SetDrawText(1);
  SetTextOx(0);   SetTextOy(0);   SetTextOz(0);
  SetTextDx(2);   SetTextDy(0);
  SetTextA1(0);   SetTextA2(0);   SetTextA3(0);
}

void WGlDirectory::StandardFixed()
{
  SetPos(0.2, 8, -0.01);
  SetStepMode(SM_YXZ);
  SetDx(2);  SetDy(-0.7); SetDz(1);
  SetDrawBox(0);
  SetBoxOx(0);    SetBoxOy(0);  SetBoxOz(0);
  SetBoxDx(1);    SetBoxDy(1);  SetBoxDz(1);
  SetDrawText(1);
  SetTextOx(0);   SetTextOy(0); SetTextOz(0);
  SetTextDx(1.7); SetTextDy(0);
  SetTextA1(0);   SetTextA2(0); SetTextA3(0);
}

void WGlDirectory::StandardPixel()
{
  SetStepMode(SM_YXZ);
  SetDx(110); SetDy(-36); SetDz(1);
  SetDrawBox(0);
  SetBoxOx(0);   SetBoxOy(0);  SetBoxOz(0);
  SetBoxDx(1);   SetBoxDy(1);  SetBoxDz(1);
  SetDrawText(1);
  SetTextOx(0);  SetTextOy(0); SetTextOz(0);
  SetTextDx(90); SetTextDy(0);
  SetTextA1(0);  SetTextA2(0); SetTextA3(0);
}

Int_t WGlDirectory::count_entries()
{
  if(mContents->GetListTimeStamp() > mNEntriesStamp) {
    mNEntries = 0;
    if(*mContents != 0) {
      GledNS::ClassInfo* bci = GetCbackBetaClassInfo();
      if(bci == 0) {
	mNEntries = mContents->Size();
      } else {
	lpZGlass_t cont; mContents->CopyList(cont);
	for(lpZGlass_i i=cont.begin(); i!=cont.end(); ++i) {
	  if(GledNS::IsA(*i, bci->fFid))
	    ++mNEntries;
	}
      }
    }
    mNEntriesStamp = mContents->GetListTimeStamp();
    if(mFirst > mNEntries)
      SetFirst(mNEntries);// - mNx*mNy*mNz + 1);
  }
  return mNEntries;
}

void WGlDirectory::SetContents(AList* cont)
{
  mNEntriesStamp = 0;
  set_link_or_die(mContents.ref_link(), cont, FID());
}
 WGlDirectory.cxx:1
 WGlDirectory.cxx:2
 WGlDirectory.cxx:3
 WGlDirectory.cxx:4
 WGlDirectory.cxx:5
 WGlDirectory.cxx:6
 WGlDirectory.cxx:7
 WGlDirectory.cxx:8
 WGlDirectory.cxx:9
 WGlDirectory.cxx:10
 WGlDirectory.cxx:11
 WGlDirectory.cxx:12
 WGlDirectory.cxx:13
 WGlDirectory.cxx:14
 WGlDirectory.cxx:15
 WGlDirectory.cxx:16
 WGlDirectory.cxx:17
 WGlDirectory.cxx:18
 WGlDirectory.cxx:19
 WGlDirectory.cxx:20
 WGlDirectory.cxx:21
 WGlDirectory.cxx:22
 WGlDirectory.cxx:23
 WGlDirectory.cxx:24
 WGlDirectory.cxx:25
 WGlDirectory.cxx:26
 WGlDirectory.cxx:27
 WGlDirectory.cxx:28
 WGlDirectory.cxx:29
 WGlDirectory.cxx:30
 WGlDirectory.cxx:31
 WGlDirectory.cxx:32
 WGlDirectory.cxx:33
 WGlDirectory.cxx:34
 WGlDirectory.cxx:35
 WGlDirectory.cxx:36
 WGlDirectory.cxx:37
 WGlDirectory.cxx:38
 WGlDirectory.cxx:39
 WGlDirectory.cxx:40
 WGlDirectory.cxx:41
 WGlDirectory.cxx:42
 WGlDirectory.cxx:43
 WGlDirectory.cxx:44
 WGlDirectory.cxx:45
 WGlDirectory.cxx:46
 WGlDirectory.cxx:47
 WGlDirectory.cxx:48
 WGlDirectory.cxx:49
 WGlDirectory.cxx:50
 WGlDirectory.cxx:51
 WGlDirectory.cxx:52
 WGlDirectory.cxx:53
 WGlDirectory.cxx:54
 WGlDirectory.cxx:55
 WGlDirectory.cxx:56
 WGlDirectory.cxx:57
 WGlDirectory.cxx:58
 WGlDirectory.cxx:59
 WGlDirectory.cxx:60
 WGlDirectory.cxx:61
 WGlDirectory.cxx:62
 WGlDirectory.cxx:63
 WGlDirectory.cxx:64
 WGlDirectory.cxx:65
 WGlDirectory.cxx:66
 WGlDirectory.cxx:67
 WGlDirectory.cxx:68
 WGlDirectory.cxx:69
 WGlDirectory.cxx:70
 WGlDirectory.cxx:71
 WGlDirectory.cxx:72
 WGlDirectory.cxx:73
 WGlDirectory.cxx:74
 WGlDirectory.cxx:75
 WGlDirectory.cxx:76
 WGlDirectory.cxx:77
 WGlDirectory.cxx:78
 WGlDirectory.cxx:79
 WGlDirectory.cxx:80
 WGlDirectory.cxx:81
 WGlDirectory.cxx:82
 WGlDirectory.cxx:83
 WGlDirectory.cxx:84
 WGlDirectory.cxx:85
 WGlDirectory.cxx:86
 WGlDirectory.cxx:87
 WGlDirectory.cxx:88
 WGlDirectory.cxx:89
 WGlDirectory.cxx:90
 WGlDirectory.cxx:91
 WGlDirectory.cxx:92
 WGlDirectory.cxx:93
 WGlDirectory.cxx:94
 WGlDirectory.cxx:95
 WGlDirectory.cxx:96
 WGlDirectory.cxx:97
 WGlDirectory.cxx:98
 WGlDirectory.cxx:99
 WGlDirectory.cxx:100
 WGlDirectory.cxx:101
 WGlDirectory.cxx:102
 WGlDirectory.cxx:103
 WGlDirectory.cxx:104
 WGlDirectory.cxx:105
 WGlDirectory.cxx:106
 WGlDirectory.cxx:107
 WGlDirectory.cxx:108
 WGlDirectory.cxx:109
 WGlDirectory.cxx:110
 WGlDirectory.cxx:111
 WGlDirectory.cxx:112
 WGlDirectory.cxx:113
 WGlDirectory.cxx:114
 WGlDirectory.cxx:115
 WGlDirectory.cxx:116
 WGlDirectory.cxx:117
 WGlDirectory.cxx:118
 WGlDirectory.cxx:119
 WGlDirectory.cxx:120
 WGlDirectory.cxx:121
 WGlDirectory.cxx:122
 WGlDirectory.cxx:123
 WGlDirectory.cxx:124
 WGlDirectory.cxx:125
 WGlDirectory.cxx:126
 WGlDirectory.cxx:127
 WGlDirectory.cxx:128
 WGlDirectory.cxx:129
 WGlDirectory.cxx:130
 WGlDirectory.cxx:131
 WGlDirectory.cxx:132
 WGlDirectory.cxx:133
 WGlDirectory.cxx:134
 WGlDirectory.cxx:135
 WGlDirectory.cxx:136
 WGlDirectory.cxx:137
 WGlDirectory.cxx:138