1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
// -*- C++ -*-
//
// Package: Core
// Class : FWCheckBoxIcon
//
// Implementation:
// <Notes on implementation>
//
// Original Author: Chris Jones
// Created: Thu Feb 19 16:25:17 CST 2009
//
// system include files
#include "TGPicture.h"
#include "TGClient.h"
#include "TSystem.h"
#include <cassert>
// user include files
#include "Fireworks/Core/src/FWCheckBoxIcon.h"
//
// constants, enums and typedefs
//
//
// static data member definitions
//
static const TGPicture* checkImage() {
static const TGPicture* s_picture = gClient->GetPicture(FWCheckBoxIcon::coreIcondir() + "check-mark.png");
return s_picture;
}
//
// constructors and destructor
//
FWCheckBoxIcon::FWCheckBoxIcon(unsigned int iEdgeLength) : FWBoxIconBase(iEdgeLength), m_checked(false) {}
// FWCheckBoxIcon::FWCheckBoxIcon(const FWCheckBoxIcon& rhs)
// {
// // do actual copying here;
// }
FWCheckBoxIcon::~FWCheckBoxIcon() {}
//
// assignment operators
//
// const FWCheckBoxIcon& FWCheckBoxIcon::operator=(const FWCheckBoxIcon& rhs)
// {
// //An exception safe implementation is
// FWCheckBoxIcon temp(rhs);
// swap(rhs);
//
// return *this;
// }
//
// member functions
//
//
// const member functions
//
void FWCheckBoxIcon::drawInsideBox(Drawable_t iID, GContext_t iContext, int iX, int iY, unsigned int iSize) const {
if (m_checked) {
int xOffset = (iSize - checkImage()->GetWidth()) / 2;
int yOffset = (iSize - checkImage()->GetHeight()) / 2;
checkImage()->Draw(iID, iContext, iX + xOffset, iY + yOffset);
}
}
//
// static member functions
//
const TString& FWCheckBoxIcon::coreIcondir() {
static TString path = Form("%s/src/Fireworks/Core/icons/", gSystem->Getenv("CMSSW_BASE"));
if (gSystem->AccessPathName(path.Data())) { // cannot find directory
assert(gSystem->Getenv("CMSSW_RELEASE_BASE"));
path = Form("%s/src/Fireworks/Core/icons/", gSystem->Getenv("CMSSW_RELEASE_BASE"));
}
return path;
}
|