97 "Encapsulated PostScript",
"*.eps",
100 "ASImage XML",
"*.xml",
132 void Add(
const char *argname,
const char *
value,
const char *
type);
203 static char params[1024];
219 while ((obj = next())) {
226 const char *
type = str->GetString().Data();
227 const char *
data = 0;
235 if (selfobjpos == nparam-1) {
236 if (params[0]) strlcat(params,
",", 1024-strlen(params));
238 strlcat(params, param, 1024-strlen(params));
241 if (params[0]) strlcat(params,
",", 1024-strlen(params));
243 if (!strncmp(
type,
"char*", 5))
246 strlcpy(param,
data,
sizeof(param));
248 strlcpy(param,
"0",
sizeof(param));
250 strlcat(params, param, 1024-strlen(params));
254 if (selfobjpos == nparam) {
255 if (params[0]) strlcat(params,
",", 1024-strlen(params));
257 strlcat(params, param, 1024-strlen(params));
273 ret +=
" [default: ";
316 Int_t selfobjpos = -1;
323 if (selfobjpos != argpos) {
325 const char *argname = arg_name.
Data();
328 const char *charstar =
"char*";
332 strlcpy(basictype, datatype->
GetTypeName(),
sizeof(basictype));
336 Warning(
"Dialog",
"data type is not basic type, assuming (int)");
337 strlcpy(basictype,
"int",
sizeof(basictype));
340 if (strchr(argname,
'*')) {
341 strlcat(basictype,
"*", 32-strlen(basictype));
346 if (
m &&
m->GetterMethod(
fObject->IsA())) {
351 if (!strncmp(basictype,
"char*", 5)) {
353 m->GetterMethod()->Execute(
fObject,
"", &tdefval);
354 if (tdefval && strlen(tdefval))
355 strlcpy(val, tdefval,
sizeof(val));
356 }
else if (!strncmp(basictype,
"float", 5) ||
357 !strncmp(basictype,
"double", 6)) {
359 m->GetterMethod()->Execute(
fObject,
"", ddefval);
361 }
else if (!strncmp(basictype,
"char", 4) ||
362 !strncmp(basictype,
"bool", 4) ||
363 !strncmp(basictype,
"int", 3) ||
364 !strncmp(basictype,
"long", 4) ||
365 !strncmp(basictype,
"short", 5)) {
367 m->GetterMethod()->Execute(
fObject,
"", ldefval);
368 snprintf(val, 255,
"%zi", (
size_t)ldefval);
373 if (
m->GetOptions()) {
374 Warning(
"Dialog",
"option menu not yet implemented");
383 if (tval) strlcpy(val, tval,
sizeof(val));
476 !
gClient->IsEditable())
return 0;
480 while (
child && dst) {
520 const char * ,
const char * )
571 fWindow->SetBackgroundPixmap(0);
651 fWindow->SetBackgroundPixmap(0);
744 fClient->GetColorByName(
"black", back);
745 gc->SetBackground(back);
746 gc->SetForeground(back);
788 fClient->GetColorByName(
"blue", blue);
832 for (
i = 0;
i <8;
i++) {
835 for (
i = 0;
i <4;
i++) {
867 for (
i = 0;
i <8;
i++) {
870 for (
i = 0;
i <4;
i++) {
929 fName =
"Gui Builder Drag Manager";
935 fClient->UnregisterWindow(
this);
987 TIter next(methodList);
991 while ((method = (
TMethod*) next())) {
993 if (str.Contains(
"*DIALOG")) {
1027 fPimpl->fGrid->SetStep(step);
1064 while (!parent || (parent !=
fClient->GetDefaultRoot()->GetId())) {
1065 if (parent ==
fClient->GetRoot()->GetId()) {
1086 while (!parent || (parent !=
fClient->GetDefaultRoot()->GetId())) {
1110 if (
fPimpl->fGrab && (gid !=
fPimpl->fGrab->GetId())) {
1113 gid =
fPimpl->fGrab->GetId();
1115 if (
fClient->IsEditable() && (rid !=
fClient->GetRoot()->GetId())) {
1118 rid =
fClient->GetRoot()->GetId();
1134 for (
int i = 0;
i < 8;
i++) {
1173 if (
fStop || !frame) {
1195 str +=
" cannot be edited.";
1196 fBuilder->UpdateStatusBar(str.Data());
1201 if (frame != comp) {
1229 str +=
"can not be selected";
1230 fBuilder->UpdateStatusBar(str.Data());
1241 static Int_t x, x0,
y, y0, xx, yy;
1252 fClient->GetDefaultRoot()->GetId(),
1262 str +=
" Press SpaceBar to unselect the frame.";
1263 if (
IsFixedSize(frame)) str +=
" This frame cannot be resized.";
1265 fBuilder->UpdateStatusBar(str.Data());
1271 fClient->GetDefaultRoot()->GetId(),
1284 fPimpl->fGrab->RequestFocus();
1352 fClient->GetDefaultRoot()->GetId(),
1387 str +=
" is grabbed";
1389 fBuilder->UpdateStatusBar(str.Data());
1411 str +=
fPimpl->fGrab->GetName();
1412 str +=
" ungrabbed";
1413 fBuilder->UpdateStatusBar(str.Data());
1425 while (parent && (parent !=
gClient->GetDefaultRoot())) {
1426 if (parent->
GetId() ==
id) {
1474 if (mdi && (mdi !=
fBuilder->GetMdiMain()->GetCurrent())) {
1480 if (
fPimpl->fPlacePopup) {
1489 if (now-was < 100) {
1509 fPimpl->fGrab->GetHeight()-2)) {
1529 if (!frame || !
fClient->IsEditable() ||
fPimpl->fPlacePopup) {
1541 fPimpl->fAroundFrame[0]->MapRaised();
1543 fPimpl->fAroundFrame[1]->MapRaised();
1545 fPimpl->fAroundFrame[2]->MapRaised();
1547 fPimpl->fAroundFrame[3]->MapRaised();
1549 for (
int i = 0;
i < 4;
i++)
fPimpl->fAroundFrame[
i]->UnmapWindow();
1575 fPimpl->fGrabRect[
i]->MapRaised();
1592 if (!
w || (
w ==
fPimpl->fPlane) ||
w->GetEditDisabled() ||
w->IsEditable() ||
1617 fBuilder->UpdateStatusBar(str.Data());
1636 static Int_t gy = 0;
1637 static Int_t gx = 0;
1638 static UInt_t gstate = 0;
1652 if (
fPimpl->fRepeatTimer) {
1654 fPimpl->fRepeatTimer->Reset();
1655 fPimpl->fRepeatTimer->Remove();
1710 fPimpl->fButtonPressed) {
1750 !frame || !
fClient->IsEditable()) {
1765 if (!
fPimpl->fSpacePressedFrame) {
1771 context_fr =
fPimpl->fSpacePressedFrame;
1781 fPimpl->fX0 =
event->fXRoot;
1782 fPimpl->fY0 =
event->fYRoot;
1786 fPimpl->fClickFrame = frame;
1800 if (frame ==
fPimpl->fGrab) {
1811 fPimpl->fX =
event->fXRoot;
1812 fPimpl->fY =
event->fYRoot;
1827 if (frame ==
fPimpl->fGrab) {
1872 fPimpl->fX =
event->fXRoot;
1873 fPimpl->fY =
event->fYRoot;
1886 if (
fStop || !frame) {
1986 win =
event->fWindow;
2005 switch (event->
fType) {
2029 static Long_t gLastClick = 0;
2030 static UInt_t gLastButton = 0;
2031 static Int_t gDbx = 0;
2032 static Int_t gDby = 0;
2034 if ((event->
fTime - gLastClick < 350) &&
2035 (event->
fCode == gLastButton) &&
2046 }
else if (!(event->
fState & 0xFF)) {
2050 return w->HandleDoubleClick(event);
2060 gDbw =
event->fWindow;
2061 gLastClick =
event->fTime;
2062 gLastButton =
event->fCode;
2063 gDbx =
event->fXRoot;
2064 gDby =
event->fYRoot;
2135 while (parent && (parent !=
fClient->GetDefaultRoot())) {
2188 fBuilder->GetToolDock()->IsUndocked()) {
2189 fBuilder->GetToolDock()->GetUndocked()->RaiseWindow();
2219 event->fUser[0] = fr->
GetId();
2257 event->fUser[0] =
w->GetId();
2276 !
fPimpl->fGrab->IsEditable()) {
2318 return ((
TGFrame*)
w)->HandleKey(event);
2328 event->fWindow = parent->
GetId();
2331 return ((
TGFrame*)
w)->HandleKey(event);
2335 fPimpl->fSpacePressedFrame = 0;
2348 gVirtualX->LookupString(event, tmp,
sizeof(tmp), keysym);
2352 switch ((
EKeySym)keysym & ~0x20) {
2367 if (
fPimpl->fClickFrame && !
fPimpl->fClickFrame->IsEditable()) {
2467 }
else if (
fPimpl->fGrab) {
2515 Int_t x0, y0, xx, yy;
2519 if (!newfr || !newfr->
GetId() || !oldfr || !oldfr->
GetId())
return;
2524 x0 = x0 < 0 ? 0 : x0;
2525 y0 = y0 < 0 ? 0 : y0;
2542 if ((frame->
GetX() >= x0) && (frame->
GetY() >= y0) &&
2546 if (frame ==
fPimpl->fGrab) {
2553 frame->
GetX(), frame->
GetY(), xx, yy,
c);
2595 if (list->IsEmpty()) {
2629 fBuilder->UpdateStatusBar(str.Data());
2639 if (
fStop || !cont) {
2649 w =
w < 100 ? 100 :
w;
2650 h =
h < 100 ? 100 :
h;
2664 fBuilder->UpdateStatusBar(
"Grab action performed. Press Cntrl-Return to Drop grabbed frame.");
2759 TString str =
"Grab action performed.";
2760 str +=
" Press Cntrl-Return to Drop grabbed frames.";
2761 str +=
" Press Return for TCanvas Grab";
2762 fBuilder->UpdateStatusBar(str.Data());
2771 fBuilder->UpdateStatusBar(
"Drop action disabled");
2788 fBuilder->UpdateStatusBar(
"Drop action performed");
2837 if ((fr->
GetX() >= x0) && (fr->
GetY() >= y0) &&
2847 else fr->
Move(x0, y0);
2861 else fr->
Move(x0, y0);
2924 str +=
fPimpl->fGrab->GetName();
2925 str +=
" cannot be deleted";
2928 fBuilder->UpdateStatusBar(str.Data());
2937 fClient->GetDefaultRoot()->GetId(),
2971 if ((fr->
GetX() >= x0) && (fr->
GetY() >= y0) &&
3013 fBuilder->UpdateStatusBar(crop ?
"Crop action performed" :
"Delete action performed");
3022 if (
fStop || !frame) {
3041 if (frame ==
fPimpl->fGrab) {
3045 fClient->UnregisterWindow(frame);
3078 fPimpl->fGrab->GetWidth(),
3079 fPimpl->fGrab->GetHeight());
3088 ((
TGWindow*)
fPimpl->fGrab->GetParent())->SetName(tmp->GetName());
3096 tmp->GetList()->Add(fe);
3099 tmp->SetLayoutBroken(brk_layout);
3103 tmp->SetWMSize(tmp->GetWidth(), tmp->GetHeight());
3104 tmp->SetWMSizeHints(tmp->GetDefaultWidth(), tmp->GetDefaultHeight(), 10000, 10000, 0, 0);
3106 tmp->SetWindowName(short_name);
3107 tmp->SetIconName(short_name);
3108 tmp->SetClassHints(short_name, short_name);
3110 if (
gVirtualX->InheritsFrom(
"TGX11")) tmp->SetIconPixmap(
"bld_rgb.xpm");
3113 tmp->SaveSource(
fPasteFileName.Data(), quite ?
"keep_names quiet" :
"keep_names");
3114 tmp->GetList()->Remove(fe);
3124 str +=
fPimpl->fGrab->GetName();
3125 str +=
" copied to clipboard";
3126 fBuilder->UpdateStatusBar(str.Data());
3154 if (!
fPimpl->fReplaceOn) {
3188 fBuilder->UpdateStatusBar(
"Paste action performed");
3209 str +=
fPimpl->fGrab->GetName();
3210 str +=
" replaced by ";
3214 fBuilder->UpdateStatusBar(str.Data());
3221 fPimpl->fGrab->DestroyWindow();
3281 f->Resize(
f->GetWidth() + 10,
f->GetHeight() + 10);
3307 if (!file || !file[0]) {
3326 main->SetWMSizeHints(
main->GetDefaultWidth(),
main->GetDefaultHeight(), 10000, 10000, 0, 0);
3331 if (
gVirtualX->InheritsFrom(
"TGX11"))
main->SetIconPixmap(
"bld_rgb.xpm");
3332 main->SaveSource(fname.
Data(), file ?
"keep_names quiet" :
"keep_names");
3350 main->RaiseWindow();
3439static Int_t canResize(TGFrame *frame, Int_t x, Int_t y, UInt_t &w, UInt_t &h)
3441 if (frame->InheritsFrom(TGCompositeFrame::Class())) return 0;
3443 TGCompositeFrame *comp = (TGCompositeFrame*)frame;
3445 TIter next(comp->GetList());
3447 Int_t d = gGuiBldDragManager->GetGridStep();
3450 while ((fe = (TGFrameElement*)next())) {
3451 if (x + fe->fFrame->GetX() + fe->fFrame->GetWidth() > w) {
3452 w = fe->fFrame->GetX() + x + fe->fFrame->GetWidth();
3455 if (y + fe->fFrame->GetY() + fe->fFrame->GetHeight() > h) {
3456 h = fe->fFrame->GetY() + y + fe->fFrame->GetHeight();
3505 switch (
fPimpl->fResizeType) {
3507 if ((((
int)fr->
GetWidth() >
x) || (
x < 0)) &&
3510 if (fr->
GetY() +
y < 2) {
3513 if (fr->
GetX() +
x < 2) {
3536 if ((
x > 0) && (((
int)fr->
GetHeight() >
y) || (
y < 0))) {
3538 if (fr->
GetY() +
y < 2) {
3564 if (fr->
GetY() +
y < 2) {
3576 if ((((
int)fr->
GetWidth() >
x) || (
x < 0)) && (
y > 0)) {
3578 if (fr->
GetX() +
x < 2) {
3601 if ((
x > 0) && (
y > 0)) {
3631 if (fr->
GetX() +
x < 2) {
3673 fBuilder->UpdateStatusBar(str.Data());
3709 Bool_t move = (
x > 0) && (
y > 0) && ((
x +
fPimpl->fGrab->GetWidth()) < (
w - 0)) &&
3710 ((
y +
fPimpl->fGrab->GetHeight()) < (
h - 30));
3714 if (!move && !
gVirtualX->InheritsFrom(
"TGX11")) {
3725 str +=
fPimpl->fGrab->GetName();
3726 str +=
" is moved to absolute position ";
3728 fBuilder->UpdateStatusBar(str.Data());
3745 while (p && (p !=
fClient->GetDefaultRoot()) &&
3760 if (
fStop || !comp) {
3772 if (
fBuilder->GetMdiMain()->GetCurrent() != comp) {
3824 if (
w && (
w !=
gVirtualX->GetDefaultRootWindow())) {
3834 }
else if (
win->GetParent() !=
fClient->GetDefaultRoot()) {
3844 if ((comp !=
fPimpl->fGrab) && (
x >= 0) && (
y >= 0) &&
3897 static Int_t gy =
event->fYRoot;
3898 static Int_t gx =
event->fXRoot;
3918 fPimpl->fX =
event->fXRoot;
3919 fPimpl->fY =
event->fYRoot;
3969 x =
x > x0 ? x0 :
x;
3970 y =
y > y0 ? y0 :
y;
3987 frame->
Resize(
w < grid ? grid :
w,
h < grid ? grid :
h);
3990 frame->
Resize(
w < grid ? 15*grid :
w,
h < grid ? 30*grid :
h);
3992 frame->
Resize(
w < grid ? 30*grid :
w,
h < grid ? 15*grid :
h);
3994 else frame->
Resize(
w < 2*grid ? 2*grid :
w,
h < 2*grid ? 2*grid :
h);
4027 fBuilder->UpdateStatusBar(str.Data());
4031 frame = ((
TGCanvas*)frame)->GetContainer();
4063 if ((
x == x0) || (
y==y0 ))
return;
4066 x0 = x0 < 0 ? 0 : x0;
4076 y0 = y0 < 0 ? 0 : y0;
4095 xswap ?
x : x0, yswap ?
y : y0,
4098 xswap ? x0 :
x, yswap ? y0 :
y,
4114 TString str =
"Lasso drawn. Align frames inside or press Return key to grab frames.";
4115 fBuilder->UpdateStatusBar(str.Data());
4136 if (!root || (root ==
fClient->GetDefaultRoot())) {
4227 while (parent && (parent !=
fClient->GetDefaultRoot())) {
4249 while (parent && (parent !=
fClient->GetDefaultRoot())) {
4273 if (
fPimpl->fSpacePressedFrame) {
4276 mov =
fPimpl->fSpacePressedFrame;
4278 fPimpl->fSpacePressedFrame = 0;
4299 fPimpl->fRepeatTimer->Reset();
4361 fPimpl->fSpacePressedFrame = 0;
4412 (
w !=
fClient->GetDefaultRoot())) {
4429 }
else if (parent && frame && (parent !=
fClient->GetDefaultRoot()) ) {
4441 if (parent && frame && (parent !=
fClient->GetDefaultRoot())) {
4460 str +=
" dropped into ";
4464 str +=
" at position ";
4466 fBuilder->UpdateStatusBar(str.Data());
4471 if (parent && (parent ==
fPimpl->fGrabParent) &&
fPimpl->fGrabListPosition &&
4492 fPimpl->fGrabListPosition = 0;
4564 if ((
d.fWidth > 10) && (
d.fHeight > 10)) {
4566 }
else if (
d.fWidth > 10) {
4568 }
else if (
d.fHeight > 10) {
4586 if ((
d.fWidth > 10) && (
d.fHeight > 10)) {
4588 }
else if (
d.fWidth > 10) {
4590 }
else if (
d.fHeight > 10) {
4620 if ((gon ==
on) && (
fClient->GetRoot() == gw)) {
4629 if (
fPimpl->fRepeatTimer) {
4630 fPimpl->fRepeatTimer->Reset();
4641 if (
fPimpl->fRepeatTimer) {
4642 fPimpl->fRepeatTimer->Remove();
4694 fPimpl->fLastPopupAction = act;
4890 fEditor->Connect(
"UpdateSelected(TGFrame*)",
"TGuiBldDragManager",
this,
4891 "HandleUpdateSelected(TGFrame*)");
4921 fPimpl->fGrab->SetFrameElement(el);
4933 fPimpl->fGrab->SetFrameElement(el);
4963 if (!root || (root ==
fClient->GetDefaultRoot())) {
4967 if (
fPimpl->fGrid->fgStep > 1) {
4968 fPimpl->fGrid->SetStep(1);
4970 fBuilder->UpdateStatusBar(
"Grid switched OFF");
4976 fBuilder->UpdateStatusBar(
"Grid switched ON");
5010 const TGWindow *parent =
f->GetParent();
5013 while (parent && (parent !=
fClient->GetDefaultRoot())) {
5031 if (
f->GetParent() &&
5067 if (
fPimpl->fGrabRectHidden) {
5076 for (
i = 0;
i < 8;
i++)
fPimpl->fGrabRect[
i]->UnmapWindow();
5077 for (
i = 0;
i < 4;
i++)
fPimpl->fAroundFrame[
i]->UnmapWindow();
5149 str +=
" layout cannot be broken";
5150 fBuilder->UpdateStatusBar(str.Data());
5159 str += (frame->
IsLayoutBroken() ?
" Disable Layout" :
" Enable Layout");
5160 fBuilder->UpdateStatusBar(str.Data());
5195 str +=
" Vertical Layout ON";
5196 fBuilder->UpdateStatusBar(str.Data());
5206 str +=
" Horizontal Layout ON";
5207 fBuilder->UpdateStatusBar(str.Data());
5253 if (!fr || (fr ==
fClient->GetDefaultRoot())) {
5259 while (parent && (parent !=
fClient->GetDefaultRoot())) {
5274 if (p1 ==
kNPOS)
return "";
5278 if (p2 ==
kNPOS)
return "";
5280 return in(p1, p2-p1);
5290 if (str.Contains(cl->
GetName())) {
5297 while ((bc = (
TBaseClass*)nextBaseClass())) {
5314 if (!menu || !
object) {
5326 while ((method = (
TMethod*) next())) {
5349 if (!menu || !
object) {
5353 TList *menuItemList;
5367 TIter nextItem(menuItemList);
5373 switch (menuItem->
GetType()) {
5379 methodList =
new TList;
5382 TIter next(methodList);
5384 while ((method = (
TMethod*) next())) {
5385 if (classPtr != method->
GetClass()) {
5404 if (
m->GetterMethod()) {
5407 fPimpl->fFrameMenuTrash->Add(
r);
5408 TIter nxt(
m->GetOptions());
5418 fPimpl->fFrameMenuTrash->Add(t);
5422 if (t->
GetState())
r->CheckEntryByData(t);
5435 fPimpl->fFrameMenuTrash->Add(t);
5458 fPimpl->fFrameMenuTrash->Add(t);
5464 const char* menuItemTitle = menuItem->
GetTitle();
5465 if (strlen(menuItemTitle)==0) menuItemTitle = menuItem->
GetFunctionName();
5492 if (!me || !
fPimpl->fMenuObject) {
5498 if (str.Contains(
"*DIALOG")) {
5500 str2.
Form(
"((TGuiBldDragManager*)0x%zx)->%s((%s*)0x%zx)", (
size_t)
this, method->
GetName(),
5501 fPimpl->fMenuObject->ClassName(), (
size_t)
fPimpl->fMenuObject);
5534 fPimpl->fFrameMenuTrash->Delete();
5580 fPimpl->fClickFrame = frame;
5600 fFrameMenu->Connect(
"Activated(Int_t)",
"TGuiBldDragManager",
this,
"DoClassMenu(Int_t)");
5612 0,
fClient->GetPicture(
"bld_paste.png"));
5615 0,
fClient->GetPicture(
"bld_compact.png"));
5617 0,
fClient->GetPicture(
"bld_grid.png"));
5619 0,
fClient->GetPicture(
"bld_save.png"));
5621 0,
fClient->GetPicture(
"bld_stop.png"));
5646 0,
fClient->GetPicture(
"bld_cut.png"));
5650 0,
fClient->GetPicture(
"bld_copy.png"));
5655 0,
fClient->GetPicture(
"bld_paste.png"));
5660 0,
fClient->GetPicture(
"bld_delete.png"));
5665 0,
fClient->GetPicture(
"bld_crop.png"));
5677 0,
fClient->GetPicture(
"bld_paste.png"));
5686 const char *label = (frame->
IsLayoutBroken() ?
"Allow Layout\tCtrl+B" :
5687 "Break Layout\tCtrl+B");
5689 0,
fClient->GetPicture(
"bld_break.png"));
5696 0,
fClient->GetPicture(
"bld_compact.png"));
5699 0,
fClient->GetPicture(
"bld_compact.png"));
5708 0,
fClient->GetPicture(
"bld_hbox.png"));
5711 0,
fClient->GetPicture(
"bld_vbox.png"));
5728 0,
fClient->GetPicture(
"bld_grid.png"));
5731 fPimpl->fSaveGrab = frame;
5733 0,
fClient->GetPicture(
"bld_save.png"));
5737 fFrameMenu->Connect(
"Activated(Int_t)",
"TGuiBldDragManager",
this,
"HandleAction(Int_t)");
5764 0,
fClient->GetPicture(
"bld_delete.png"));
5766 0,
fClient->GetPicture(
"bld_crop.png"));
5769 0,
fClient->GetPicture(
"bld_AlignLeft.png"));
5771 0,
fClient->GetPicture(
"bld_AlignRight.png"));
5773 0,
fClient->GetPicture(
"bld_AlignTop.png"));
5775 0,
fClient->GetPicture(
"bld_AlignBtm.png"));
5777 fLassoMenu->Connect(
"Activated(Int_t)",
"TGuiBldDragManager",
this,
"HandleAction(Int_t)");
5805 for (
i = 0;
i < 10;
i++) {
5808 for (
i = 0;
i < 10;
i++) {
5863 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGFrame", fr,
"ChangeBackground(Pixel_t)");
5877 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGCompositeFrame", fr,
5878 "ChangeSubframesBackground(Pixel_t)");
5899 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGGroupFrame", fr,
"SetTextColor(Pixel_t)");
5927 fd->
Connect(
"FontSelected(char*)",
"TGGroupFrame", fr,
"SetTextFont(char*)");
5928 fd->
Connect(
"ColorSelected(Pixel_t)",
"TGGroupFrame", fr,
"SetTextColor(Pixel_t)");
5957 fd->
Connect(
"FontSelected(char*)",
"TGTextButton", fr,
"SetFont(char*)");
5958 fd->
Connect(
"ColorSelected(Pixel_t)",
"TGTextButton", fr,
"SetTextColor(Pixel_t)");
5959 fd->
Connect(
"AlignSelected(Int_t)",
"TGTextButton", fr,
"SetTextJustify(Int_t)");
5981 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGTextButton", fr,
"SetTextColor(Pixel_t)");
6031 if (tmp)
fClient->FreePicture(tmp);
6037 if (tmp)
fClient->FreePicture(tmp);
6050 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGFrame", fr,
"ChangeBackground(Pixel_t)");
6051 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGScrollBar", fr->
GetHScrollbar(),
"ChangeBackground(Pixel_t)");
6052 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGScrollBar", fr->
GetVScrollbar(),
"ChangeBackground(Pixel_t)");
6071 "ChangeBackground(Pixel_t)");
6076 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGLBEntry", se,
6077 "SetBackgroundColor(Pixel_t)");
6083 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGTextEntry", te,
6084 "SetBackgroundColor(Pixel_t)");
6124 fd->
Connect(
"FontSelected(char*)",
"TGLabel", fr,
"SetTextFont(char*)");
6125 fd->
Connect(
"ColorSelected(Pixel_t)",
"TGLabel", fr,
"SetTextColor(Pixel_t)");
6126 fd->
Connect(
"AlignSelected(Int_t)",
"TGLabel", fr,
"SetTextJustify(Int_t)");
6149 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGLabel", fr,
"SetTextColor(Pixel_t)");
6166 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGListBox", fr,
"ChangeBackground(Pixel_t)");
6184 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGProgressBar", fr,
"SetBarColor(Pixel_t)");
6206 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGProgressBar", fr,
6207 "SetForegroundColor(Pixel_t)");
6224 cd->
Connect(
"ColorSelected(Pixel_t)",
"TGTextEntry", fr,
"SetTextColor(Pixel_t)");
6241 TGFont *font =
fClient->GetResourcePool()->GetFontPool()->FindFont(
fs);
6248 fd->
Connect(
"FontSelected(char*)",
"TGTextEntry", fr,
"SetFont(char*)");
6249 fd->
Connect(
"ColorSelected(Pixel_t)",
"TGTextEntry", fr,
"SetTextColor(Pixel_t)");
6255 int tw, max_ascent, max_descent;
6263 gVirtualX->GetFontProperties(
fs, max_ascent, max_descent);
6264 fr->
Resize(tw + 8, max_ascent + max_descent + 7);
const Mask_t kWAOverrideRedirect
Handle_t Pixmap_t
Pixmap handle.
const Mask_t kButtonPressMask
Handle_t Window_t
Window handle.
const Mask_t kWASaveUnder
const Mask_t kKeyPressMask
const Mask_t kButton1Mask
const Mask_t kKeyShiftMask
const Mask_t kKeyControlMask
const Mask_t kButton3Mask
const Mask_t kButton2Mask
ULong_t Pixel_t
Pixel value.
Handle_t FontStruct_t
Pointer to font structure.
virtual RooAbsTestStatistic * create(const char *name, const char *title, RooAbsReal &real, RooAbsData &data, const RooArgSet &projDeps, Configuration const &cfg)=0
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
ErrorHandlerFunc_t SetErrorHandler(ErrorHandlerFunc_t newhandler)
Set an errorhandler function. Returns the old handler.
static const char * gSaveMacroTypes[]
@ kMWMInputFullApplicationModal
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void w
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t sel
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void pixel
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h prop
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t child
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void SetMWMHints
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t win
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void SetWMPosition
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t attr
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t grab
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t SetWMSizeHints
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t src
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize fs
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t height
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void gc
static Bool_t containBaseClass(const char *somestring, TClass *cl)
Helper.
static TString CreateArgumentTitle(TMethodArg *argument)
Create a string describing method argument.
static Window_t GetWindowFromPoint(Int_t x, Int_t y)
Helper. Return a window located at point x,y (in screen coordinates)
static TGuiBldDragManager * gGuiBldDragManager
static TGuiBldMenuDialog * gMenuDialog
static TString FindMenuIconName(TString &in)
Return a name of icon.
static void GuiBldErrorHandler(Int_t, Bool_t, const char *, const char *)
Our own error handler (not used yet)
static const char * gImageTypes[]
static void layoutFrame(TGFrame *frame)
Helper to layout.
static Bool_t IsParentOfGrab(Window_t id, const TGWindow *grab)
Helper for IsPointVisible.
R__EXTERN TInterpreter * gCling
R__EXTERN TRandom * gRandom
R__EXTERN TSystem * gSystem
R__EXTERN TVirtualDragManager * gDragManager
R__EXTERN Atom_t gROOT_MESSAGE
R__EXTERN Atom_t gWM_DELETE_WINDOW
int main(int argc, char *argv[])
Each class (see TClass) has a linked list of its base class(es).
TClass * GetClassPointer(Bool_t load=kTRUE)
Get pointer to the base class TClass.
TClass instances represent classes, structs and namespaces in the ROOT type system.
TList * GetMenuList() const
Return the list of menu items associated with the class.
TMethod * GetMethodWithPrototype(const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch)
Find the method with a given prototype.
TList * GetListOfMethods(Bool_t load=kTRUE)
Return list containing the TMethods of a class.
TList * GetListOfBases()
Return list containing the TBaseClass(es) of a class.
Long_t Property() const override
Returns the properties of the TClass as a bit field stored as a Long_t value.
void GetMenuItems(TList *listitems)
Returns list of methods accessible by context menu.
TClass * IsA() const override
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
virtual Int_t GetEntries() const
virtual Bool_t IsEmpty() const
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
static ULong_t RGB2Pixel(Int_t r, Int_t g, Int_t b)
Convert r,g,b to graphics system dependent pixel value.
static ULong_t Number2Pixel(Int_t ci)
Static method that given a color index number, returns the corresponding pixel value.
All ROOT classes may have RTTI (run time type identification) support added.
Basic data type descriptor (datatype information is obtained from CINT).
TString GetTypeName()
Get basic type of typedef, e,g.: "class TDirectory*" -> "TDirectory".
const char * GetSignature()
Return signature of function.
~TGAroundFrame() override
A frame containing two scrollbars (a horizontal and a vertical) and a viewport.
virtual void SetContainer(TGFrame *f)
TGFrame * GetContainer() const
TGVScrollBar * GetVScrollbar() const
TGViewPort * GetViewPort() const
void MapSubwindows() override
Map all canvas sub windows.
TGHScrollBar * GetHScrollbar() const
A full featured color selection dialog.
virtual void SetCurrentColor(Pixel_t col)
Change current color.
A combobox (also known as a drop down listbox) allows the selection of one item out of a list of item...
virtual TGLBEntry * GetSelectedEntry() const
virtual TGTextEntry * GetTextEntry() const
virtual TGListBox * GetListBox() const
The base class for composite widgets (menu bars, list boxes, etc.).
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.
virtual TList * GetList() const
UInt_t GetDefaultWidth() const override
virtual TGLayoutManager * GetLayoutManager() const
Bool_t HandleDragEnter(TGFrame *) override
Handle drag enter event.
void MapSubwindows() override
Map all sub windows that are part of the composite frame.
UInt_t GetDefaultHeight() const override
void Layout() override
Layout the elements of the composite frame.
Bool_t IsEditable() const override
Return kTRUE if frame is being edited.
void SetCleanup(Int_t mode=kLocalCleanup) override
Turn on automatic cleanup of child frames in dtor.
Bool_t IsLayoutBroken() const override
virtual void RemoveFrame(TGFrame *f)
Remove frame from composite frame.
void SetEditable(Bool_t on=kTRUE) override
Switch ON/OFF edit mode.
void SetEditDisabled(UInt_t on=1) override
Set edit disable flag for this frame and subframes.
void ChangeOptions(UInt_t options) override
Change composite frame options. Options is an OR of the EFrameTypes.
void SetLayoutBroken(Bool_t on=kTRUE) override
Set broken layout. No Layout method is called.
This class creates a file selection dialog.
char * fFilename
selected file name
const char ** fFileTypes
file types used to filter selectable files
char * fIniDir
on input: initial directory, on output: new directory
Bool_t fOverwrite
if true overwrite the file with existing name on save
void SetIniDir(const char *inidir)
Set directory name.
Font selection dialog, allowing to select one in the list of available fonts in the system.
virtual void SetAlign(Int_t align)
Set align.
virtual void SetFont(TGFont *font)
Set font.
virtual void EnableAlign(Bool_t on=kTRUE)
Enable/disable align combobox.
virtual void SetColor(Pixel_t color)
Set color.
Encapsulate fonts used in the GUI system.
A subclasses of TGWindow, and is used as base class for some simple widgets (buttons,...
virtual TGDimension GetDefaultSize() const
std::cout << fWidth << "x" << fHeight << std::endl;
void AddInput(UInt_t emask)
Add events specified in the emask to the events the frame should handle.
Bool_t IsEditable() const override
void MoveResize(Int_t x, Int_t y, UInt_t w=0, UInt_t h=0) override
Move and/or resize the frame.
virtual Bool_t IsLayoutBroken() const
static const TGGC & GetBlackGC()
Get black graphics context.
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
Int_t GetBorderWidth() const
virtual Bool_t HandleKey(Event_t *)
TGFrame(const TGFrame &)=delete
static Pixel_t GetWhitePixel()
Get white pixel value.
virtual UInt_t GetDefaultWidth() const
virtual UInt_t GetDefaultHeight() const
void ReparentWindow(const TGWindow *p, Int_t x=0, Int_t y=0) override
Reparent window, make p the new parent and position the window at position (x,y) in new parent.
void SetBackgroundColor(Pixel_t back) override
Set background color (override from TGWindow base class).
void MapWindow() override
map window
TGFrameElement * GetFrameElement() const
virtual void SetLayoutBroken(Bool_t=kTRUE)
void Move(Int_t x, Int_t y) override
Move frame.
TClass * IsA() const override
virtual UInt_t GetOptions() const
void UnmapWindow() override
unmap window
static const TGGC & GetShadowGC()
Get shadow color graphics context.
virtual Bool_t HandleButton(Event_t *)
void SetFrameElement(TGFrameElement *fe)
virtual void SetCleanup(Int_t=kLocalCleanup)
void MapSubwindows() override
map sub windows
virtual Pixel_t GetBackground() const
virtual Bool_t HandleDragDrop(TGFrame *, Int_t, Int_t, TGLayoutHints *)
void SetEditable(Bool_t) override
static const TGGC & GetBckgndGC()
Get background color graphics context.
void MapRaised() override
map raised
Encapsulate a graphics context used in the low level graphics.
TGGrabRect(Int_t type)
ctor.
Bool_t HandleButton(Event_t *ev) override
Handle button press event.
A composite frame with a border and a title.
FontStruct_t GetFontStruct() const
GContext_t GetNormGC() const
A composite frame that layout their children in horizontal way.
This class handles GUI icons.
virtual void SetImage(const char *img)
Set icon image.
virtual void SetImagePath(const char *path)
Set directory where image is located.
This class handles GUI labels.
FontStruct_t GetFontStruct() const
Int_t GetTextJustify() const
GContext_t GetNormGC() const
This class describes layout hints used by the layout classes.
TClass * IsA() const override
A listbox is a box, possibly with scrollbar, containing entries.
void SetIconName(const char *name)
Set window icon name. This is typically done via the window manager.
void SetWMSize(UInt_t w, UInt_t h)
Give the window manager a window size hint.
void SetWMPosition(Int_t x, Int_t y)
Give the window manager a window position hint.
void SetWindowName(const char *name=nullptr) override
Set window name. This is typically done via the window manager.
This file contains all different MDI frame decoration classes.
TGMdiTitleBar * GetTitleBar() const
void MoveResize(Int_t x, Int_t y, UInt_t w, UInt_t h) override
Move the MDI window at position x, y and set size to w, h.
This file contains the TGMdiFrame class.
TGClient * fClient
Connection to display server.
Handle_t fId
X11/Win32 Window identifier.
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
The classes in this file implement progress bars.
Pixel_t GetBarColor() const
GContext_t GetNormGC() const
A text buffer is used in several widgets, like TGTextEntry, TGFileDialog, etc.
UInt_t GetBufferLength() const
UInt_t GetTextLength() const
Yield an action as soon as it is clicked.
FontStruct_t GetFontStruct() const
Int_t GetTextJustify() const
A TGTextEntry is a one line text input widget.
TGTextBuffer * GetBuffer() const
const char * GetText() const
FontStruct_t GetFontStruct() const
Pixel_t GetTextColor() const
TGTransientFrame(const TGTransientFrame &)=delete
ROOT GUI Window base class.
virtual const TGWindow * GetMainFrame() const
Returns top level main frame.
virtual UInt_t GetEditDisabled() const
virtual void SetBackgroundPixmap(Pixmap_t pixmap)
set background pixmap
virtual void RequestFocus()
request focus
virtual void SetEditable(Bool_t on=kTRUE)
@ kEditDisableBtnEnable
window can handle mouse button events
@ kEditDisableGrab
window grab cannot be edited
@ kEditDisable
disable edit of this window
@ kEditDisableKeyEnable
window can handle keyboard events
virtual void SetWindowName(const char *name=nullptr)
Set window name.
const TGWindow * GetParent() const
TString fName
name of the window used in SavePrimitive()
const char * GetName() const override
Return unique name, used in SavePrimitive methods.
void SetStep(UInt_t step)
Set the grid step.
TGuiBldDragManagerGrid()
Create a grid background for the selected window.
void Draw()
Draw grid over edited frame.
void InitPixmap()
Create grid background pixmap.
void InitBgnd()
Create grid background.
~TGuiBldDragManagerGrid()
ctor.
TGFrame * fAroundFrame[4]
TGGrabRect * fGrabRect[8]
TGuiBldDragManagerGrid * fGrid
friend class TGuiBldDragManager
TGFrameElement * fGrabListPosition
const TGWindow * fGrabParent
TGFrame * fSpacePressedFrame
TGuiBldDragManagerPimpl(TGuiBldDragManager *m)
TGuiBldDragManager * fManager
~TGuiBldDragManagerPimpl()
TGLayoutHints * fGrabLayout
TGuiBldDragManager * fManager
Bool_t Notify() override
This method must be overridden to handle object notification (the base implementation is no-op).
TGuiBldDragManagerRepeatTimer(TGuiBldDragManager *m, Long_t ms)
Drag and drop manager used by the ROOT GUI Builder.
TGFrame * GetEditableParent(TGFrame *f)
Return the parent frame which can be edited.
void ChangeSelected(TGFrame *f)
Inform outside wold that selected frame was changed.
Bool_t HandleEvent(Event_t *) override
Handle all events.
Bool_t EndDrag() override
End dragging.
void HandleAction(Int_t act)
Main handler of actions.
Bool_t IsFixedH(TGWindow *f) const
void DoDialogCancel()
Process dialog Cancel button pressed.
void DeleteMenuDialog()
Delete dialog and trash.
void SetCursorType(Int_t cur)
Set cursor for selected/grabbed frame.
void SwitchLayout()
Switch Horizontal/Vertical layout of selected/grabbed composite frame.
void ChangeImage(TGIcon *)
Invoke file dialog to assign a new image.
void DoClassMenu(Int_t)
Process a method chosen via frame context menu.
Bool_t IsMoveWaiting() const
Waits for either the mouse move from the given initial ButtonPress location or for the mouse button t...
void ChangeTextFont(TGGroupFrame *)
Change text font via font selection dialog.
Bool_t CheckDragResize(Event_t *event)
Check resize type event.
void SelectFrame(TGFrame *frame, Bool_t add=kFALSE)
Grab/Select frame.
TGFrame * InEditable(Window_t id)
Return a pointer to the parent window (which is being edited)
Bool_t CanChangeLayoutOrder(TGWindow *w) const
kTRUE - if it's possible to change layout order in the parent's layout of window w
Bool_t Cancel(Bool_t delSrc) override
Do cancel action.
void HandlePaste()
Handle paste action.
void Snap2Grid()
Draw grid on editable frame and restore background on previously edited one.
Bool_t IsPointVisible(Int_t x, Int_t y)
Helper function for IsSelectedWindow method.
void PutToCanvas(TGCompositeFrame *cont)
Create a new TGCanvas and place container into it.
void CheckTargetUnderGrab()
Look for the drop target under grabbed/selected frame while moving.
friend class TRootGuiBuilder
void HideGrabRectangles()
Hide/Unmap grab rectangles.
Int_t GetEndDragX() const override
Return the current X coordinate of the dragged frame.
void CreatePropertyEditor()
Create widget property editor (it could be located outside of guibuilder)
void SetGridStep(UInt_t step)
Set the grid step.
friend class TGuiBldMenuDialog
Bool_t HandleButton(Event_t *) override
Handle button event occurred in some ROOT frame.
void Compact(Bool_t global=kTRUE)
Layout and Resize frame.
void DrawLasso()
Draw lasso for allocation new object.
void Menu4Frame(TGFrame *, Int_t x, Int_t y)
Create and place context menu for selected frame.
friend class TGuiBldDragManagerRepeatTimer
void RaiseMdiFrame(TGFrame *in)
Raise guibuilder's mdi frame.
void DeleteFrame(TGFrame *frame)
Delete frame.
void DoDialogApply()
Process dialog Apply button pressed.
void DoMove()
Handle move.
Bool_t IgnoreEvent(Event_t *e) override
Return kTRUE if event is rejected for processing by drag manager.
void ChangeBarColor(TGProgressBar *)
Set progress bar color via TGColorDialog.
void HandleDelete(Bool_t crop=kFALSE)
Handle delete or crop action.
void Menu4Lasso(Int_t x, Int_t y)
Create context menu for lasso actions.
Int_t GetEndDragY() const override
Returns the current Y coordinate of the dragged frame.
void ReparentFrames(TGFrame *newfr, TGCompositeFrame *oldfr)
Reparent frames.
Bool_t HandleExpose(Event_t *) override
Handle repaint event.
void HandleLayoutOrder(Bool_t forward=kTRUE)
Change layout order.
void CloneEditable()
Create a frame which is the same as currently edited frame.
void HandleReplace()
Handle replace.
void DoDialogOK()
Process dialog OK button pressed.
TList * GetFramesInside(Int_t x0, Int_t y0, Int_t x, Int_t y)
Return the list of frames inside of some area.
void DoResize()
handle resize
Int_t GetStrartDragX() const override
Return the X coordinate where drag started.
Int_t GetStrartDragY() const override
Return the Y coordinate where drag started.
TGCompositeFrame * FindCompositeFrame(Window_t id)
Find the first composite parent of window.
Bool_t HandleButtonPress(Event_t *)
Handle button press event.
void HandleButon3Pressed(Event_t *, TGFrame *frame=nullptr)
Handle 3d mouse pressed (popup context menu)
void TimerEvent(Event_t *ev)
void HandleAlignment(Int_t to, Bool_t lineup=kFALSE)
Align frames located inside lasso area.
Bool_t SaveFrame(const char *file=nullptr)
Save composite frame as macro.
void SwitchEditable(TGFrame *frame)
Switch editable.
void DrawGrabRect(Int_t i, Int_t x, Int_t y)
Helper method to draw grab rectangle at position x,y.
void SetEditable(Bool_t on=kTRUE) override
Grab server.
void UnmapAllPopups()
Unmap all popups.
void ChangePicture(TGPictureButton *)
Invoke file dialog to assign a new picture.
Bool_t IsEditDisabled(TGWindow *f) const
TGFrame * FindMdiFrame(TGFrame *in)
Return a pointer to the parent mdi frame.
Bool_t HandleTimerEvent(Event_t *ev, TTimer *t) override
Handle timer events or events coming from the recorder.
void ChangeBackgroundColor(TGListBox *)
Set background color for list box entries.
Bool_t HandleSelectionRequest(Event_t *) override
not used yet.
TGuiBldDragManagerPimpl * fPimpl
Bool_t CanCompact(TGWindow *w) const
kTRUE is frame could be compacted/"laid out"
void CloseMenus()
Helper to close all menus.
void GrabFrame(TGFrame *frame)
grab frame (see SelectFrame)
void AddClassMenuMethods(TGPopupMenu *menu, TObject *object)
Add entries with class //*MENU* methods.
void HandleCopy(Bool_t brk_layout=kTRUE)
Handle copy.
void ToGrid(Int_t &x, Int_t &y)
Return grid coordinates which are close to given.
void CreateListOfDialogs()
Create a list of dialog methods.
static TGFontDialog * fgGlobalFontDialog
void SetLassoDrawn(Bool_t on)
Set lasso drawn flag.
Bool_t IsFixedW(TGWindow *f) const
void HandleCut()
Handle cut action.
TGWindow * GetResizableParent(TGWindow *p)
Find parent frame which can be resized.
Bool_t Drop() override
Drop grabbed frame.
static void MapGlobalDialog(TGMainFrame *dialog, TGFrame *fr)
Map dialog and place it relative to selected frame.
void HandleReturn(Bool_t on=kFALSE)
Handling of return/enter key pressing.
UInt_t GetGridStep()
Return the grid step.
Bool_t HandleButtonRelease(Event_t *)
Handle button release event.
static TGFontDialog * GetGlobalFontDialog()
Create global font dialog.
void Reset1()
Reset some parameters.
Bool_t HandleDestroyNotify(Event_t *)
Handle destroy notify.
Bool_t HandleClientMessage(Event_t *) override
Handle client message.
Bool_t HandleSelection(Event_t *) override
not used yet.
void PlaceFrame(TGFrame *, TGLayoutHints *)
Put created frame at position of the last mouse click.
Bool_t IsFixedLayout(TGWindow *f) const
Bool_t HandleTimer(TTimer *) override
The main event loop is originated here It repeatedly queries pointer state and position on the screen...
void SetPropertyEditor(TGuiBldEditor *e)
Helper method.
Bool_t CheckTargetAtPoint(Int_t x, Int_t y)
Helper. Look for the drop target under grabbed/selected frame while moving.
TGFrame * GetMovableParent(TGWindow *p)
Find parent frame which can be dragged.
Bool_t HandleMotion(Event_t *) override
Handle motion event.
void DrawGrabRectangles(TGWindow *win=nullptr)
Draw small grab rectangles around grabbed/selected/frame.
static TGColorDialog * fgGlobalColorDialog
void DoRedraw() override
Redraw the edited window.
Bool_t IsFixedSize(TGWindow *f) const
~TGuiBldDragManager() override
Destructor.
void HighlightCompositeFrame(Window_t)
Raise composite frame when mouse is moving over it.
Bool_t HandleConfigureNotify(Event_t *) override
Resize events.
void DoReplace(TGFrame *frame)
Replace frame (doesn't work yet properly)
friend class TGuiBldEditor
Bool_t StartDrag(TGFrame *src, Int_t x, Int_t y) override
Start dragging.
void HandleGrid()
Switch on/of grid drawn.
Bool_t CanChangeLayout(TGWindow *w) const
kTRUE - if it's possible to switch disable/enable layout
Bool_t Save(const char *file="")
Save an edited frame to the file.
void BreakLayout()
Disable/Enable layout for selected/grabbed composite frame.
Bool_t IsPasteFrameExist()
Return kTRUE if paste frame exist.
void UngrabFrame()
Ungrab/Unselect selected/grabbed frame.
Bool_t HandleKey(Event_t *) override
Handle key event.
TRootGuiBuilder * fBuilder
void DropCanvas(TGCanvas *canvas)
Drop canvas container.
void ChangeProperties(TGLabel *)
Edit properties via font selection dialog.
Bool_t IsEventsDisabled(TGWindow *f) const
void AddDialogMethods(TGPopupMenu *menu, TObject *object)
Add DIALOG entries to the selected frame popup menu.
Bool_t IsSelectedVisible()
Return kTRUE if grabbed/selected frame is not overlapped by other windows.
Bool_t RecognizeGesture(Event_t *, TGFrame *frame=nullptr)
Recognize what was done when mouse button pressed.
void DeletePropertyEditor()
Delete widget property editor.
static TGColorDialog * GetGlobalColorDialog(Bool_t create=kTRUE)
Return pointer to global color dialog.
TGCompositeFrame * FindLayoutFrame(TGFrame *f)
Helper to find a frame which can be laid out.
TGFrame * GetBtnEnableParent(TGFrame *fr)
Return a parent which can handle button events.
TGFrame * GetSelected() const
Return the current grabbed/selected frame.
void HandleUpdateSelected(TGFrame *)
When selected frame was changed by guibuilder editor -> update its appearance.
Bool_t IsGrabDisabled(TGWindow *f) const
void ChangeTextColor(TGGroupFrame *)
Change text color via color selection dialog.
Bool_t HandleDoubleClick(Event_t *) override
Mouse double click handler (never should happen)
static TGuiBuilder * Instance()
return an instance of TGuiBuilder object
An abstract interface to image processing library.
static TImage * Open(const char *file, EImageFileTypes type=kUnknown)
Open a specified image file.
static TImage * Create()
Create an image.
virtual void FromWindow(Drawable_t, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
void AddAfter(const TObject *after, TObject *obj) override
Insert object after object after in the list.
TObject * After(const TObject *obj) const override
Returns the object after object obj.
TObject * Before(const TObject *obj) const override
Returns the object before object obj.
void Add(TObject *obj) override
TObject * Remove(TObject *obj) override
Remove object from the list.
TObject * Last() const override
Return the last object in the list. Returns 0 when list is empty.
TObject * First() const override
Return the first object in the list. Returns 0 when list is empty.
TClass * IsA() const override
Each ROOT method (see TMethod) has a linked list of its arguments.
const char * GetDefault() const
Get default value of method argument.
const char * GetTypeName() const
Get type of method argument, e.g.: "class TDirectory*" -> "TDirectory" Result needs to be used or cop...
TDataMember * GetDataMember() const
Returns TDataMember pointed by this methodarg.
Each ROOT class (see TClass) has a linked list of methods.
virtual const char * GetCommentString()
Returns a comment string from the class declaration.
virtual TDataMember * FindDataMember()
Tries to guess DataMember from comment string and Method's name <==(only if 1 Argument!...
TClass * GetClass() const
EMenuItemKind IsMenuItem() const
TClass * IsA() const override
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
Collectable string class.
Mother of all ROOT objects.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
virtual TClass * IsA() const
Long_t fValue
Data member to which this option belongs.
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.
Bool_t Disconnect(const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr)
Disconnects signal of this object from slot of receiver.
static TGGC * GetPopupHlghtGC()
Return background GC for highlighted popup menu entry.
static TGPopupMenu * CreatePopup()
Return style popup menu.
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
const char * Data() const
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
Handles synchronous and a-synchronous timer events.
void Reset()
Reset the timer.
void SetTime(Long_t milliSec)
TTimer(const TTimer &)=delete
This class defines toggling facility for both - object's method or variables.
virtual void Toggle()
Toggles the Values and State of this object and connected data!
virtual void SetOnValue(Long_t lon)
virtual void SetToggledObject(TObject *obj, TMethod *anymethod)
Initializes it to toggle an object's datamember using this object's method.
virtual Bool_t GetState()
Returns the state of Toggle according to its current value and fOnValue, returns true if they match.
EDragType fDragType
dragging type
TGFrame * fSource
frame being dragged
Bool_t fMoveWaiting
kTRUE if source is clicked but not moved
Bool_t fDragging
in dragging mode?
TGFrame * fTarget
drop target
TVirtualDragManager()
Constructor.
Bool_t fPasting
paste action is in progress
virtual void Init()
Initialization.
TGFrame * fFrameUnder
frame under drag
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.
EGEventType fType
of event (see EGEventType)
Int_t fY
pointer x, y coordinates in event window
Handle_t fHandle
general resource handle (used for atoms or windows)
Int_t fFormat
Next fields only used by kClientMessageEvent.
Int_t fCount
if non-zero, at least this many more exposes
Window_t fWindow
window reported event is relative to
UInt_t fState
key or button mask
Int_t fYRoot
coordinates relative to root
Time_t fTime
time event event occurred in ms
UInt_t fCode
key or button code
Longptr_t fUser[5]
5 longs can be used by client message events NOTE: only [0], [1] and [2] may be used.
Attributes that can be used when creating or changing a window.