namespace GUITutorials {
class WorldMap {
protected:
virtual void InitMap();
virtual void InitRU();
virtual void InitUS();
virtual void InitAU();
virtual void InitFR();
virtual void InitUK();
public:
enum ECountryCode {
kRU = 7,
kUS = 1,
kFR = 33,
kDE = 49,
kCH = 41,
kCN = 86,
kAU = 61,
kUK = 44,
kUA = 380,
kBR = 55
};
WorldMap(const char *picName = "worldmap.jpg");
virtual ~WorldMap() {}
TGImageMap *GetImageMap()
const {
return fImageMap; }
void PrintCode(
Int_t code);
};
WorldMap::WorldMap(const char *picName)
{
InitMap();
fImageMap->
Connect(
"RegionClicked(Int_t)",
"ROOT::GUITutorials::WorldMap",
this,
"PrintCode(Int_t)");
}
{
return "Country Code (left button). City/Area Codes (right button)";
}
void WorldMap::InitRU()
{
int x[12] = {403, 406, 427, 444, 438, 470, 508, 568, 599, 632, 645, 493};
int y[12] = {68, 90, 120, 125, 109, 94, 109, 101, 122, 107, 74, 46};
pm->
AddEntry(
"St.Petersburg = 812", 812);
}
void WorldMap::InitUS()
{
int x[5] = {136, 122, 165, 194, 232};
int y[5] = {110, 141, 158, 160, 118};
int alaskaX[4] = {86, 131, 154, 117};
int alaskaY[4] = {90, 82, 64, 63};
}
void WorldMap::InitFR()
{
int x[5] = {349, 353, 368, 368, 358};
int y[5] = {112, 123, 119, 108, 107};
}
void WorldMap::InitUK()
{
int x[4] = {346, 348, 359, 352};
int y[4] = {93, 104, 103, 87};
}
void WorldMap::InitAU()
{
int x[6] = {582, 576, 634, 658, 641, 607};
int y[6] = {271, 300, 310, 283, 251, 253};
}
void WorldMap::InitMap()
{
InitRU();
InitUS();
InitFR();
InitAU();
InitUK();
}
void WorldMap::PrintCode(
Int_t code)
{
new TGMsgBox(
gClient->GetRoot(), fMain,
"Country Code",
Form(
"Country Code=%d", code), icontype, buttons, &retval);
}
}
}
void WorldMap()
{
namespace GUI = ROOT::GUITutorials;
GUI::WorldMap *map = new GUI::WorldMap;
map->Show();
}
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void reg
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
TGDimension GetDefaultSize() const override
std::cout << fWidth << "x" << fHeight << std::endl;
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
void MapSubwindows() override
Map all sub windows that are part of the composite frame.
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
void MapRaised() override
map raised
(with TGRegion and TGRegionWithId help classes)
void AddRegion(const TGRegion ®ion, Int_t id)
Add a region to the image map.
TGPopupMenu * CreatePopup(Int_t id)
Create popup menu or returns existing for regions with specified id.
void SetToolTipText(const char *text, Long_t delayms=300) override
Set tooltip text for main region.
Defines top level windows that interact with the system Window Manager.
void SetIconName(const char *name)
Set window icon name. This is typically done via the window manager.
void SetWindowName(const char *name=nullptr) override
Set window name. This is typically done via the window manager.
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...