30 ClassImp(TGuiBldHintsEditor);
 
   33 class TGuiBldHintsManager : 
public TGVerticalFrame {
 
   36    TGuiBldEditor  *fEditor;
 
   37    TGNumberEntry  *fColumns;
 
   39    TGuiBldHintsEditor *fHints;
 
   40    TGMatrixLayout *fMatrix;
 
   48    TGuiBldHintsManager(
const TGWindow *p, TGuiBldEditor *editor, TGuiBldHintsEditor *hints);
 
   49    virtual ~TGuiBldHintsManager() { }
 
   50    void ChangeSelected(TGFrame *frame);
 
   56 TGuiBldHintsManager::TGuiBldHintsManager(
const TGWindow *p, TGuiBldEditor *e,
 
   57                                           TGuiBldHintsEditor *hints) :
 
   58                      TGVerticalFrame(p, 1, 1), fEditor(e), fHints(hints)
 
   60    fEditDisabled = kEditDisable;
 
   61    SetCleanup(kDeepCleanup);
 
   68    TGGroupFrame *fGroupFrame4066 = 
new TGGroupFrame(
this, 
"Matrix layout");
 
   69    TGHorizontalFrame *f = 
new TGHorizontalFrame(fGroupFrame4066);
 
   71    f->AddFrame(
new TGLabel(f,
" Cols "), 
new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 2, 2, 2));
 
   72    fColumns = 
new TGNumberEntry(f,0.0,4,-1,(TGNumberFormat::EStyle)5);
 
   73    f->AddFrame(fColumns, 
new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 2, 2, 2));
 
   75    f->AddFrame(
new TGLabel(f,
" Rows "), 
new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 2, 2, 2));
 
   76    fRows = 
new TGNumberEntry(f,0.0,4,-1,(TGNumberFormat::EStyle)5);
 
   77    f->AddFrame(fRows, 
new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 2, 2, 2));
 
   79    fGroupFrame4066->AddFrame(f, 
new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 2, 2, 2, 2));
 
   81    TGTextButton *fAppButton = 
new TGTextButton(fGroupFrame4066, 
" Apply ");
 
   82    fGroupFrame4066->AddFrame(fAppButton, 
new TGLayoutHints(kLHintsExpandX | kLHintsCenterY, 5, 5, 2, 2));
 
   84    AddFrame(fGroupFrame4066, 
new TGLayoutHints(kLHintsTop | kLHintsExpandX));
 
   86    fAppButton->Connect(
"Clicked()", 
"TGuiBldHintsEditor", fHints, 
"MatrixLayout()");
 
   89    fRows->GetNumberEntry()->Connect(
"ReturnPressed()", 
"TGuiBldHintsEditor", fHints, 
"MatrixLayout()");
 
   90    fColumns->GetNumberEntry()->Connect(
"ReturnPressed()", 
"TGuiBldHintsEditor", fHints, 
"MatrixLayout()");
 
   91    fRows->SetLimits(TGNumberFormat::kNELLimitMin, 1);
 
   92    fColumns->SetLimits(TGNumberFormat::kNELLimitMin, 1);
 
  107 void TGuiBldHintsManager::ChangeSelected(TGFrame *frame)
 
  113       fHints->fLayButton->SetEnabled(kFALSE);
 
  114       fHints->fLayButton->SetDown(kFALSE);
 
  116       fColumns->SetNumber(0);
 
  120    Bool_t enable = frame->InheritsFrom(TGCompositeFrame::Class()) &&
 
  121                    !(frame->GetEditDisabled() & kEditDisableLayout);
 
  125       fHints->fLayButton->SetEnabled(kFALSE);
 
  126       fHints->fLayButton->SetDown(kFALSE);
 
  128       fColumns->SetNumber(0);
 
  130       TGCompositeFrame *comp = (TGCompositeFrame*)frame;
 
  131       TGLayoutManager *lm = comp->GetLayoutManager();
 
  136       Int_t n = comp->GetList()->GetEntries();
 
  139       fHints->fLayButton->SetEnabled(kTRUE);
 
  140       fHints->fLayButton->SetDown(kFALSE);
 
  142       if (lm->IsA() == TGVerticalLayout::Class()) {
 
  144          fColumns->SetNumber(1);
 
  145       } 
else if (lm->IsA() == TGHorizontalLayout::Class()) {
 
  146          fColumns->SetNumber(n);
 
  148       } 
else if (lm->IsA() == TGMatrixLayout::Class()) {
 
  149          fMatrix = (TGMatrixLayout*)lm;
 
  151          fColumns->SetNumber(fMatrix->fColumns);
 
  152          fRows->SetNumber(fMatrix->fRows);
 
  162 TGuiBldHintsEditor::TGuiBldHintsEditor(
const TGWindow *p, TGuiBldEditor *e) :
 
  163                      TGVerticalFrame(p, 1, 1), fEditor(e)
 
  165    SetCleanup(kDeepCleanup);
 
  167    fBuilder = (TRootGuiBuilder*)TRootGuiBuilder::Instance();
 
  169    TGVerticalFrame *frame3 = 
new TGVerticalFrame(
this,262,18,kVerticalFrame);
 
  172    TGHorizontalFrame *framez399 = 
new TGHorizontalFrame(frame3,123,40,kHorizontalFrame);
 
  173    fLayButton = 
new TGCheckButton(framez399,
"");
 
  174    framez399->AddFrame(fLayButton, 
new TGLayoutHints(kLHintsLeft | kLHintsTop,0,1,2,2));
 
  175    TGLabel *framez401 = 
new TGLabel(framez399,
"Layout subframes");
 
  176    framez399->AddFrame(framez401, 
new TGLayoutHints(kLHintsLeft | kLHintsCenterX | kLHintsTop,1,1,2,2));
 
  178    frame3->AddFrame(framez399, 
new TGLayoutHints(kLHintsLeft | kLHintsCenterX | kLHintsTop,1,1,1,1));
 
  180    fLayButton->Connect(
"Toggled(Bool_t)", 
"TGuiBldHintsEditor", 
this, 
"LayoutSubframes(Bool_t)");
 
  185    fPaddingFrame = 
new TGGroupFrame(frame3, 
"Padding");
 
  186    fPaddingFrame->SetLayoutManager(
new TGTableLayout(fPaddingFrame, 2, 4));
 
  188    fPaddingFrame->AddFrame(
new TGLabel(fPaddingFrame,
"Top "), 
 
  189                            new TGTableLayoutHints(0, 1, 0, 1, 
 
  190                            kLHintsRight | kLHintsCenterY, 0, 2, 2, 2));
 
  191    fPadTop = 
new TGNumberEntry(fPaddingFrame,0.0,4,-1,(TGNumberFormat::EStyle) 5);
 
  192    fPaddingFrame->AddFrame(fPadTop, 
new TGTableLayoutHints(1, 2, 0, 1,
 
  193                            kLHintsLeft | kLHintsCenterY, 0, 0, 2, 2));
 
  195    fPaddingFrame->AddFrame(
new TGLabel(fPaddingFrame,
" Left "),
 
  196                            new TGTableLayoutHints(2, 3, 0, 1, 
 
  197                            kLHintsRight | kLHintsCenterY, 2, 2, 2, 2));
 
  198    fPadLeft = 
new TGNumberEntry(fPaddingFrame,0.0,4,-1,(TGNumberFormat::EStyle) 5);
 
  199    fPaddingFrame->AddFrame(fPadLeft, 
new TGTableLayoutHints(3, 4, 0, 1,
 
  200                            kLHintsLeft | kLHintsCenterY, 0, 0, 2, 2));
 
  202    fPaddingFrame->AddFrame(
new TGLabel(fPaddingFrame,
"Bottom "),
 
  203                            new TGTableLayoutHints(0, 1, 1, 2, 
 
  204                            kLHintsRight | kLHintsCenterY, 0, 2, 2, 2));
 
  205    fPadBottom = 
new TGNumberEntry(fPaddingFrame,0.0,4,-1,(TGNumberFormat::EStyle) 5);
 
  206    fPaddingFrame->AddFrame(fPadBottom, 
new TGTableLayoutHints(1, 2, 1, 2,
 
  207                            kLHintsLeft | kLHintsCenterY, 0, 0, 2, 2));
 
  209    fPaddingFrame->AddFrame(
new TGLabel(fPaddingFrame,
" Right "),
 
  210                            new TGTableLayoutHints(2, 3, 1, 2, 
 
  211                            kLHintsRight | kLHintsCenterY, 2, 2, 2, 2));
 
  212    fPadRight = 
new TGNumberEntry(fPaddingFrame,0.0,4,-1,(TGNumberFormat::EStyle) 5);
 
  213    fPaddingFrame->AddFrame(fPadRight, 
new TGTableLayoutHints(3, 4, 1, 2,
 
  214                            kLHintsLeft | kLHintsCenterY, 0, 0, 2, 2));
 
  216    frame3->AddFrame(fPaddingFrame, 
new TGLayoutHints(kLHintsTop | kLHintsExpandX, 2, 2, 2, 2));
 
  219    fHintsFrame = 
new TGGroupFrame(frame3,
"Layout");
 
  221    fHintsFrame->SetLayoutManager(
new TGTableLayout(fHintsFrame, 4, 2));
 
  223    fCbTop = 
new TGCheckButton(fHintsFrame, 
"Top");
 
  224    fHintsFrame->AddFrame(fCbTop, 
new TGTableLayoutHints(0, 1, 0, 1,
 
  225                          kLHintsLeft | kLHintsCenterY, 5, 2, 2, 2));
 
  227    fCbBottom = 
new TGCheckButton(fHintsFrame, 
"Bottom");
 
  228    fHintsFrame->AddFrame(fCbBottom, 
new TGTableLayoutHints(0, 1, 1, 2,
 
  229                          kLHintsLeft | kLHintsCenterY, 5, 2, 2, 2));
 
  231    fCbLeft = 
new TGCheckButton(fHintsFrame, 
"Left");
 
  232    fHintsFrame->AddFrame(fCbLeft, 
new TGTableLayoutHints(0, 1, 2, 3,
 
  233                          kLHintsLeft | kLHintsCenterY, 5, 2, 2, 2));
 
  235    fCbRight = 
new TGCheckButton(fHintsFrame, 
"Right");
 
  236    fHintsFrame->AddFrame(fCbRight, 
new TGTableLayoutHints(0, 1, 3, 4,
 
  237                          kLHintsLeft | kLHintsCenterY, 5, 2, 2, 2));
 
  239    fCbCenterX = 
new TGCheckButton(fHintsFrame, 
"Center in X");
 
  240    fHintsFrame->AddFrame(fCbCenterX, 
new TGTableLayoutHints(1, 2, 0, 1,
 
  241                          kLHintsLeft | kLHintsCenterY, 9, 2, 2, 2));
 
  243    fCbCenterY = 
new TGCheckButton(fHintsFrame, 
"Center in Y");
 
  244    fHintsFrame->AddFrame(fCbCenterY, 
new TGTableLayoutHints(1, 2, 1, 2,
 
  245                          kLHintsLeft | kLHintsCenterY, 9, 2, 2, 2));
 
  247    fCbExpandX = 
new TGCheckButton(fHintsFrame, 
"Expand in X");
 
  248    fHintsFrame->AddFrame(fCbExpandX, 
new TGTableLayoutHints(1, 2, 2, 3,
 
  249                          kLHintsLeft | kLHintsCenterY, 9, 2, 2, 2));
 
  251    fCbExpandY = 
new TGCheckButton(fHintsFrame, 
"Expand in Y");
 
  252    fHintsFrame->AddFrame(fCbExpandY, 
new TGTableLayoutHints(1, 2, 3, 4,
 
  253                          kLHintsLeft | kLHintsCenterY, 9, 2, 2, 2));
 
  255    frame3->AddFrame(fHintsFrame, 
new TGLayoutHints(kLHintsTop | kLHintsExpandX, 2, 2, 2, 2));
 
  257    fHintsManager = 
new TGuiBldHintsManager(frame3, e, 
this);
 
  258    frame3->AddFrame(fHintsManager, 
new TGLayoutHints(kLHintsBottom | kLHintsExpandX,2,2,2,2));
 
  259    fHintsManager->UnmapWindow();
 
  267    fCbTop->Connect(
"Clicked()", 
"TGButton", fCbBottom, 
"SetDown(=kFALSE)");
 
  268    fCbBottom->Connect(
"Clicked()",  
"TGButton", fCbTop, 
"SetDown(=kFALSE)");
 
  269    fCbRight->Connect(
"Clicked()",  
"TGButton", fCbLeft, 
"SetDown(=kFALSE)");
 
  270    fCbLeft->Connect(
"Clicked()",  
"TGButton", fCbRight, 
"SetDown(=kFALSE)");
 
  272    fCbTop->Connect(
"Clicked()", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  273    fCbBottom->Connect(
"Clicked()", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  274    fCbRight->Connect(
"Clicked()", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  275    fCbLeft->Connect(
"Clicked()", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  276    fCbExpandX->Connect(
"Clicked()", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  277    fCbCenterX->Connect(
"Clicked()", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  278    fCbExpandY->Connect(
"Clicked()", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  279    fCbCenterY->Connect(
"Clicked()", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  281    fPadTop->Connect(
"ValueSet(Long_t)", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  282    fPadLeft->Connect(
"ValueSet(Long_t)", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  283    fPadRight->Connect(
"ValueSet(Long_t)", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  284    fPadBottom->Connect(
"ValueSet(Long_t)", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  286    fPadTop->GetNumberEntry()->Connect(
"ReturnPressed()", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  287    fPadLeft->GetNumberEntry()->Connect(
"ReturnPressed()", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  288    fPadRight->GetNumberEntry()->Connect(
"ReturnPressed()", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  289    fPadBottom->GetNumberEntry()->Connect(
"ReturnPressed()", 
"TGuiBldHintsEditor", 
this, 
"UpdateState()");
 
  296 void  TGuiBldHintsEditor::ChangeSelected(TGFrame *frame)
 
  301    TGFrameElement *fe = frame->GetFrameElement();
 
  307    fHintsManager->ChangeSelected(frame);
 
  309    ULong_t lh = fe->fLayout->GetLayoutHints();
 
  311    fCbCenterX->SetEnabled(kTRUE);
 
  312    fCbCenterY->SetEnabled(kTRUE);
 
  313    fCbExpandX->SetEnabled(!(frame->GetEditDisabled() & kEditDisableWidth));
 
  314    fCbExpandY->SetEnabled(!(frame->GetEditDisabled() & kEditDisableHeight));
 
  315    fClient->NeedRedraw(fCbExpandX);
 
  316    fClient->NeedRedraw(fCbExpandY);
 
  318    fCbTop->SetEnabled(kTRUE);
 
  319    fCbRight->SetEnabled(kTRUE);
 
  320    fCbLeft->SetEnabled(kTRUE);
 
  321    fCbBottom->SetEnabled(kTRUE);
 
  323    fCbCenterX->SetDown(lh & kLHintsCenterX);
 
  324    fCbCenterY->SetDown(lh & kLHintsCenterY);
 
  325    fCbExpandX->SetDown(lh & kLHintsExpandX);
 
  326    fCbExpandY->SetDown(lh & kLHintsExpandY);
 
  328    fCbTop->SetDown(lh & kLHintsTop);
 
  329    fCbRight->SetDown(lh & kLHintsRight);
 
  330    fCbLeft->SetDown(lh & kLHintsLeft);
 
  331    fCbBottom->SetDown(lh & kLHintsBottom);
 
  333    fPadTop->SetIntNumber(fe->fLayout->GetPadTop());
 
  334    fPadLeft->SetIntNumber(fe->fLayout->GetPadLeft());
 
  335    fPadRight->SetIntNumber(fe->fLayout->GetPadRight());
 
  336    fPadBottom->SetIntNumber(fe->fLayout->GetPadBottom());
 
  342 void TGuiBldHintsEditor::UpdateState()
 
  344    TGFrame *frame = fEditor->GetSelected();
 
  350    TGFrameElement *fe = frame->GetFrameElement();
 
  356    if (fLayButton->IsDown() &&
 
  357        ((gTQSender == fPadTop) || (gTQSender == fPadBottom) ||
 
  358        (gTQSender == fPadLeft) || (gTQSender == fPadRight))) {
 
  363    ULong_t lh = fe->fLayout->GetLayoutHints();
 
  365    if (fCbCenterX->IsDown()) {
 
  366       lh |= kLHintsCenterX;
 
  368       lh &= ~kLHintsCenterX;
 
  371    if (fCbCenterY->IsDown()) {
 
  372       lh |= kLHintsCenterY;
 
  374       lh &= ~kLHintsCenterY;
 
  377    if (fCbExpandX->IsDown()) {
 
  378       lh |= kLHintsExpandX;
 
  380       lh &= ~kLHintsExpandX;
 
  383    if (fCbExpandY->IsDown()) {
 
  384       lh |= kLHintsExpandY;
 
  386       lh &= ~kLHintsExpandY;
 
  389    if (fCbTop->IsDown()) {
 
  391       lh &= ~kLHintsBottom;
 
  396    if (fCbBottom->IsDown()) {
 
  400       lh &= ~kLHintsBottom;
 
  403    if (fCbRight->IsDown()) {
 
  410    if (fCbLeft->IsDown()) {
 
  417    if (fPadLeft->GetIntNumber() >=0) {
 
  418      fe->fLayout->SetPadLeft(fPadLeft->GetIntNumber());
 
  420    if (fPadRight->GetIntNumber() >=0) {
 
  421      fe->fLayout->SetPadRight(fPadRight->GetIntNumber());
 
  423    if (fPadTop->GetIntNumber() >=0) {
 
  424      fe->fLayout->SetPadTop(fPadTop->GetIntNumber());
 
  426    if (fPadBottom->GetIntNumber() >=0) {
 
  427      fe->fLayout->SetPadBottom(fPadBottom->GetIntNumber());
 
  430    if (fe->fLayout->References() > 1) {
 
  431       TGLayoutHints *lh2 = 
new TGLayoutHints(*fe->fLayout);
 
  432       fe->fLayout->RemoveReference();
 
  436       fe->fLayout->SetLayoutHints(lh);
 
  439    fEditor->UpdateSelected(frame);
 
  445 void TGuiBldHintsEditor::SetPosition()
 
  450    TGFrame *frame = fEditor->GetSelected();
 
  457    if ((fEditor->GetXPos() >= 0) && (fEditor->GetYPos() >= 0)) {
 
  458       frame->MoveResize(fEditor->GetXPos(), fEditor->GetYPos(),
 
  459                         frame->GetWidth(), frame->GetHeight());
 
  460       fClient->NeedRedraw(frame, kTRUE);
 
  461       TGWindow *root = (TGWindow*)fClient->GetRoot();
 
  462       fClient->NeedRedraw(root, kTRUE);
 
  464          fClient->NeedRedraw(fBuilder, kTRUE);
 
  467       fEditor->SetYPos(frame->GetY());
 
  468       fEditor->SetXPos(frame->GetX());
 
  476 void TGuiBldHintsEditor::LayoutSubframes(Bool_t on)
 
  481    TGFrame *frame = fEditor->GetSelected();
 
  488    TGFrameElement *fe = frame->GetFrameElement();
 
  495    Bool_t enable = frame->InheritsFrom(TGCompositeFrame::Class()) &&
 
  496                    !(frame->GetEditDisabled() & kEditDisableLayout);
 
  499       fPadTop->SetIntNumber(fHintsManager->fPadTop);
 
  500       fPadBottom->SetIntNumber(fHintsManager->fPadBottom);
 
  501       fPadLeft->SetIntNumber(fHintsManager->fPadLeft);
 
  502       fPadRight->SetIntNumber(fHintsManager->fPadRight);
 
  504       ChangeSelected(frame);
 
  511    TGCompositeFrame *comp = (TGCompositeFrame*)frame;
 
  512    fHintsManager->fRows->SetState(kTRUE);
 
  513    fHintsManager->fColumns->SetState(kTRUE);
 
  514    comp->SetLayoutBroken(kFALSE);
 
  516    if (!fHintsManager->fMatrix) {
 
  517       if (!(frame->GetParent()->GetEditDisabled() & kEditDisableLayout)) {
 
  521          if (comp->GetLayoutManager()) {
 
  522             comp->GetLayoutManager()->Layout();
 
  537 void TGuiBldHintsEditor::SetMatrixSep()
 
  539    TGFrame *frame = fEditor->GetSelected();
 
  546    TGFrameElement *fe = frame->GetFrameElement();
 
  553    Bool_t enable = frame->InheritsFrom(TGCompositeFrame::Class()) &&
 
  554                    !(frame->GetEditDisabled() & kEditDisableLayout) &&
 
  555                     ((TGCompositeFrame*)frame)->GetLayoutManager() &&
 
  556                     ((TGCompositeFrame*)frame)->GetLayoutManager()->InheritsFrom(TGMatrixLayout::Class());
 
  562    TGNumberEntry *ne = (TGNumberEntry*)gTQSender;
 
  563    UInt_t sep = ne->GetIntNumber();
 
  565    fPadTop->SetIntNumber(sep);
 
  566    fPadLeft->SetIntNumber(sep);
 
  567    fPadRight->SetIntNumber(sep);
 
  568    fPadBottom->SetIntNumber(sep);
 
  569    fLayButton->SetDown(kTRUE);
 
  571    fHintsManager->fMatrix->fSep = sep;
 
  572    frame->SetLayoutBroken(kFALSE);
 
  574    if (!(frame->GetParent()->GetEditDisabled() & kEditDisableLayout)) {
 
  577       fHintsManager->fMatrix->Layout();
 
  579    fClient->NeedRedraw(frame, kTRUE);
 
  585 void TGuiBldHintsEditor::MatrixLayout()
 
  587    TGFrame *frame = fEditor->GetSelected();
 
  594    TGFrameElement *fe = frame->GetFrameElement();
 
  601    Bool_t enable = frame->InheritsFrom(TGCompositeFrame::Class()) &&
 
  602                    !(frame->GetEditDisabled() & kEditDisableLayout);
 
  608    TGCompositeFrame *comp = (TGCompositeFrame*)frame;
 
  610    UInt_t rows = fHintsManager->fRows->GetIntNumber();
 
  611    UInt_t cols = fHintsManager->fColumns->GetIntNumber();
 
  612    UInt_t sep = fPadTop->GetIntNumber();
 
  614    fCbCenterX->SetEnabled(kFALSE);
 
  615    fCbCenterY->SetEnabled(kFALSE);
 
  616    fCbExpandX->SetEnabled(kFALSE);
 
  617    fCbExpandY->SetEnabled(kFALSE);
 
  619    fCbTop->SetEnabled(kFALSE);
 
  620    fCbRight->SetEnabled(kFALSE);
 
  621    fCbLeft->SetEnabled(kFALSE);
 
  622    fCbBottom->SetEnabled(kFALSE);
 
  624    fHintsManager->fPadTop = fPadTop->GetIntNumber();
 
  625    fHintsManager->fPadBottom = fPadBottom->GetIntNumber();
 
  626    fHintsManager->fPadLeft = fPadLeft->GetIntNumber();
 
  627    fHintsManager->fPadRight = fPadRight->GetIntNumber();
 
  629    fPadTop->SetIntNumber(sep);
 
  630    fPadLeft->SetIntNumber(sep);
 
  631    fPadRight->SetIntNumber(sep);
 
  632    fPadBottom->SetIntNumber(sep);
 
  634    fHintsManager->fRows->SetState(kTRUE);
 
  635    fHintsManager->fColumns->SetState(kTRUE);
 
  637    comp->SetLayoutBroken(kFALSE);
 
  639    fHintsManager->fMatrix = 
new TGMatrixLayout(comp, rows, cols, sep, 0);
 
  640    comp->SetLayoutManager(fHintsManager->fMatrix);
 
  642    if (!(comp->GetParent()->GetEditDisabled() & kEditDisableLayout)) {
 
  645       fHintsManager->fMatrix->Layout();
 
  647    fClient->NeedRedraw(comp, kTRUE);