Skip to content

Commit

Permalink
Store ligt/dark TGLColorSet as members in CmsShowCommon, do not rely …
Browse files Browse the repository at this point in the history
…on default Eve viewer being present.
  • Loading branch information
osschar committed Oct 27, 2014
1 parent 1aaad1c commit b68729a
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 25 deletions.
6 changes: 6 additions & 0 deletions Fireworks/Core/interface/CmsShowCommon.h
Expand Up @@ -22,6 +22,7 @@
#include <sigc++/sigc++.h>

#include "Rtypes.h"
#include "TGLUtil.h"

#include "Fireworks/Core/interface/FWConfigurableParameterizable.h"
#include "Fireworks/Core/interface/FWBoolParameter.h"
Expand Down Expand Up @@ -65,6 +66,9 @@ class CmsShowCommon : public FWConfigurableParameterizable

FWViewEnergyScale* getEnergyScale() const { return m_energyScale.get(); }

const TGLColorSet& getLightColorSet() const { return m_lightColorSet; }
const TGLColorSet& getDarkColorSet() const { return m_darkColorSet; }


UChar_t getProjTrackBreaking() const { return m_trackBreak.value(); }
bool getRnrPTBMarkers() const { return m_drawBreakPoints.value(); }
Expand All @@ -89,6 +93,8 @@ class CmsShowCommon : public FWConfigurableParameterizable
FWLongParameter m_geomTransparency3D;
FWLongParameter* m_geomColors[kFWGeomColorSize];

TGLColorSet m_lightColorSet;
TGLColorSet m_darkColorSet;

std::auto_ptr<FWViewEnergyScale> m_energyScale;

Expand Down
23 changes: 12 additions & 11 deletions Fireworks/Core/src/CmsShowCommon.cc
Expand Up @@ -55,6 +55,9 @@ CmsShowCommon::CmsShowCommon(fireworks::Context* c):
m_trackBreak.changed_.connect(boost::bind(&CmsShowCommon::setTrackBreakMode, this));
m_drawBreakPoints.changed_.connect(boost::bind(&CmsShowCommon::setDrawBreakMarkers, this));
m_gamma.changed_.connect(boost::bind(&CmsShowCommon::setGamma, this));

m_lightColorSet.StdLightBackground();
m_darkColorSet .StdDarkBackground();
}

CmsShowCommon::~CmsShowCommon()
Expand Down Expand Up @@ -131,7 +134,7 @@ CmsShowCommon::setGeomTransparency(int iTransp, bool projected)

namespace
{
void addGLColorToConfig(const char* cname, TGLColor& c, FWConfiguration& oTo)
void addGLColorToConfig(const char* cname, const TGLColor& c, FWConfiguration& oTo)
{
FWConfiguration pc;

Expand Down Expand Up @@ -170,11 +173,10 @@ CmsShowCommon::addTo(FWConfiguration& oTo) const

if (gEve)
{
TGLViewer* v = gEve->GetDefaultGLViewer();
addGLColorToConfig("SelectionColorLight", v->RefLightColorSet().Selection(1), oTo);
addGLColorToConfig("HighlightColorLight", v->RefLightColorSet().Selection(3), oTo);
addGLColorToConfig("SelectionColorDark", v->RefDarkColorSet().Selection(1), oTo);
addGLColorToConfig("HighlightColorDark", v->RefDarkColorSet().Selection(3), oTo);
addGLColorToConfig("SelectionColorLight", m_lightColorSet.Selection(1), oTo);
addGLColorToConfig("HighlightColorLight", m_lightColorSet.Selection(3), oTo);
addGLColorToConfig("SelectionColorDark", m_darkColorSet .Selection(1), oTo);
addGLColorToConfig("HighlightColorDark", m_darkColorSet .Selection(3), oTo);
}
}

Expand Down Expand Up @@ -221,10 +223,9 @@ CmsShowCommon::setFrom(const FWConfiguration& iFrom)

if (gEve)
{
TGLViewer* v = gEve->GetDefaultGLViewer();
setGLColorFromConfig(v->RefLightColorSet().Selection(1), iFrom.valueForKey("SelectionColorLight"));
setGLColorFromConfig(v->RefLightColorSet().Selection(3), iFrom.valueForKey("HighlightColorLight"));
setGLColorFromConfig(v->RefDarkColorSet().Selection(1), iFrom.valueForKey("SelectionColorDark"));
setGLColorFromConfig(v->RefDarkColorSet().Selection(3), iFrom.valueForKey("HighlightColorDark"));
setGLColorFromConfig(m_lightColorSet.Selection(1), iFrom.valueForKey("SelectionColorLight"));
setGLColorFromConfig(m_lightColorSet.Selection(3), iFrom.valueForKey("HighlightColorLight"));
setGLColorFromConfig(m_darkColorSet .Selection(1), iFrom.valueForKey("SelectionColorDark"));
setGLColorFromConfig(m_darkColorSet .Selection(3), iFrom.valueForKey("HighlightColorDark"));
}
}
11 changes: 6 additions & 5 deletions Fireworks/Core/src/CmsShowCommonPopup.cc
Expand Up @@ -288,16 +288,17 @@ CmsShowCommonPopup::colorSetChanged()

void CmsShowCommonPopup::getColorSetColors (int& hci, int& sci)
{
TGLColorSet& colorset = m_common->colorManager()->isColorSetDark() ? gEve->GetDefaultGLViewer()->RefDarkColorSet():
gEve->GetDefaultGLViewer()->RefLightColorSet();
TGLColorSet& colorset = m_common->colorManager()->isColorSetDark() ?
m_common->m_darkColorSet : m_common->m_lightColorSet;
{
TGLColor& glc = colorset.Selection(3);
hci = TColor::GetColor(glc.GetRed(), glc.GetGreen(), glc.GetBlue());
// printf("getSHcolors HIGH %d %d %d , [%d]\n", glc.GetRed(), glc.GetGreen(), glc.GetBlue(), hci);
}{
// printf("getSHcolors HIGH %d %d %d , [%d]\n", glc.GetRed(), glc.GetGreen(), glc.GetBlue(), hci);
}
{
TGLColor& glc = colorset.Selection(1);
sci = TColor::GetColor(glc.GetRed(), glc.GetGreen(), glc.GetBlue());
// printf("getSHcolors SEL %d %d %d , [%d]\n", glc.GetRed(), glc.GetGreen(), glc.GetBlue(), sci);
// printf("getSHcolors SEL %d %d %d , [%d]\n", glc.GetRed(), glc.GetGreen(), glc.GetBlue(), sci);
}
}

Expand Down
23 changes: 14 additions & 9 deletions Fireworks/Core/src/FWEveView.cc
Expand Up @@ -386,15 +386,20 @@ FWEveView::setFrom(const FWConfiguration& iFrom)


// selection clors
UChar_t* ca = 0;
ca = gEve->GetDefaultGLViewer()->RefLightColorSet().Selection(1).Arr();
viewerGL()->RefLightColorSet().Selection(1).SetColor(ca[0], ca[1], ca[2]);
ca = gEve->GetDefaultGLViewer()->RefLightColorSet().Selection(3).Arr();
viewerGL()->RefLightColorSet().Selection(3).SetColor(ca[0], ca[1], ca[2]);
ca = gEve->GetDefaultGLViewer()->RefDarkColorSet().Selection(1).Arr();
viewerGL()->RefDarkColorSet().Selection(1).SetColor(ca[0], ca[1], ca[2]);
ca = gEve->GetDefaultGLViewer()->RefDarkColorSet().Selection(3).Arr();
viewerGL()->RefDarkColorSet().Selection(3).SetColor(ca[0], ca[1], ca[2]);
{
const TGLColorSet& lcs = context().commonPrefs()->getLightColorSet();
const TGLColorSet& dcs = context().commonPrefs()->getDarkColorSet();
const UChar_t* ca = 0;

ca = lcs.Selection(1).CArr();
viewerGL()->RefLightColorSet().Selection(1).SetColor(ca[0], ca[1], ca[2]);
ca = lcs.Selection(3).CArr();
viewerGL()->RefLightColorSet().Selection(3).SetColor(ca[0], ca[1], ca[2]);
ca = dcs.Selection(1).CArr();
viewerGL()->RefDarkColorSet().Selection(1).SetColor(ca[0], ca[1], ca[2]);
ca = dcs.Selection(3).CArr();
viewerGL()->RefDarkColorSet().Selection(3).SetColor(ca[0], ca[1], ca[2]);
}
}

//______________________________________________________________________________
Expand Down

0 comments on commit b68729a

Please sign in to comment.