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)
{
"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...