From 0eeca691a24e01e5c5462e2592d74bd11b395892 Mon Sep 17 00:00:00 2001
From: Rene Brun <Rene.Brun@cern.ch>
Date: Tue, 13 Dec 2005 16:58:07 +0000
Subject: [PATCH] From Valeriy Onoutchin - TRootBrowser.cxx - small fix for the
 latest mods - TGView class - added possibility to change TGTextEdit widget's 
  background color.

git-svn-id: http://root.cern.ch/svn/root/trunk@13691 27541ba8-7e3a-0410-8455-c3a389f83636
---
 gui/inc/TGView.h         |  5 ++++-
 gui/src/TGView.cxx       | 10 +++++++++-
 gui/src/TRootBrowser.cxx | 15 ++++++++++-----
 3 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/gui/inc/TGView.h b/gui/inc/TGView.h
index 43e6040d1b7..9e03705100a 100644
--- a/gui/inc/TGView.h
+++ b/gui/inc/TGView.h
@@ -1,4 +1,4 @@
-// @(#)root/gui:$Name:  $:$Id: TGView.h,v 1.12 2005/08/18 14:13:27 brun Exp $
+// @(#)root/gui:$Name:  $:$Id: TGView.h,v 1.13 2005/11/17 19:09:28 rdm Exp $
 // Author: Fons Rademakers   30/6/2000
 
 /*************************************************************************
@@ -84,6 +84,9 @@ public:
 
    virtual ~TGView();
 
+   TGViewFrame   *GetCanvas() const { return fCanvas; }
+   virtual void   SetBackgroundColor(Pixel_t col);
+
    virtual void   Clear(Option_t * = "");
    virtual void   SetVisibleStart(Int_t newTop, Int_t direction);
    virtual void   ScrollCanvas(Int_t newTop, Int_t direction);
diff --git a/gui/src/TGView.cxx b/gui/src/TGView.cxx
index 12027019bab..57887a8ee5e 100644
--- a/gui/src/TGView.cxx
+++ b/gui/src/TGView.cxx
@@ -1,4 +1,4 @@
-// @(#)root/gui:$Name:  $:$Id: TGView.cxx,v 1.14 2005/08/18 14:13:27 brun Exp $
+// @(#)root/gui:$Name:  $:$Id: TGView.cxx,v 1.15 2005/11/17 19:09:28 rdm Exp $
 // Author: Fons Rademakers   30/6/2000
 
 /*************************************************************************
@@ -698,3 +698,11 @@ void TGView::ScrollCanvas(Int_t new_top, Int_t direction)
    DrawRegion(points[0].fX, points[0].fY,
               points[2].fX - points[0].fX, points[2].fY - points[0].fY);
 }
+
+//______________________________________________________________________________
+void TGView::SetBackgroundColor(Pixel_t col)
+{
+   // set  background color
+
+   fCanvas->SetBackgroundColor(col); 
+}
diff --git a/gui/src/TRootBrowser.cxx b/gui/src/TRootBrowser.cxx
index df62cf59082..0d0fa392bd9 100644
--- a/gui/src/TRootBrowser.cxx
+++ b/gui/src/TRootBrowser.cxx
@@ -1,4 +1,4 @@
-// @(#)root/gui:$Name:  $:$Id: TRootBrowser.cxx,v 1.87 2005/12/12 09:03:40 brun Exp $
+// @(#)root/gui:$Name:  $:$Id: TRootBrowser.cxx,v 1.88 2005/12/13 16:03:42 brun Exp $
 // Author: Fons Rademakers   27/02/98
 
 /*************************************************************************
@@ -63,6 +63,7 @@
 #include "THashTable.h"
 #include "TMethod.h"
 #include "TGeoVolume.h"
+#include "TColor.h"
 
 #include "HelpText.h"
 
@@ -2348,7 +2349,7 @@ void TRootBrowser::Refresh(Bool_t force)
 
    Bool_t refresh = fBrowser && fBrowser->GetRefreshFlag();
 
-   if (fTextEdit && !gROOT->IsExecutingMacro()) {
+   if (fTextEdit && !gROOT->IsExecutingMacro() && force) {
       fTextEdit->LoadFile(fTextFileName.Data());
       fClient->NeedRedraw(fTextEdit);
       return;
@@ -2567,6 +2568,8 @@ void TRootBrowser::HideTextEdit()
    fTextEdit->UnmapWindow();
    fV2->RemoveFrame(fTextEdit);
    fV2->AddFrame(fListView, fExpandLayout);
+   TGButton *savbtn = fToolBar->GetButton(kViewSave);
+   savbtn->Disconnect();
    fTextEdit->DestroyWindow();
    delete fTextEdit;
    fTextEdit = 0;
@@ -2606,11 +2609,15 @@ void TRootBrowser::BrowseTextFile(const char *file)
    if (!fTextEdit) {
       fTextEdit = new TGTextEdit(fV2, fV2->GetWidth(), fV2->GetHeight(),
                                  kSunkenFrame | kDoubleBorder);
+      TColor *col = gROOT->GetColor(19);
+      fTextEdit->SetBackgroundColor(col->GetPixel());
       if (TGSearchDialog::SearchDialog()) {
          TGSearchDialog::SearchDialog()->Connect("TextEntered(char *)", "TGTextEdit",
                                                  fTextEdit, "Search(char *,Bool_t,Bool_t)");
       }
       fV2->AddFrame(fTextEdit, fExpandLayout);
+      TGButton *savbtn = fToolBar->GetButton(kViewSave);
+      savbtn->Connect("Released()", "TGTextEdit", fTextEdit, "SaveFile(=0,kTRUE)");
    }
    fTextFileName = file;
    fTextEdit->LoadFile(file);
@@ -2651,6 +2658,7 @@ void TRootBrowser::ExecMacro()
 
    char *tmpfile = gSystem->ConcatFileName(gSystem->TempDirectory(), 
                                            fTextFileName.Data());
+
    gROOT->SetExecutingMacro(kTRUE);
    fTextEdit->SaveFile(tmpfile, kFALSE);
    gROOT->Macro(tmpfile);
@@ -2690,10 +2698,7 @@ void TRootBrowser::ShowMacroButtons(Bool_t show)
       if (!connected && fTextEdit) {
          bt1->Connect("Pressed()", "TRootBrowser", this, "ExecMacro()");
          bt2->Connect("Pressed()", "TRootBrowser", this, "InterruptMacro()");
-         bt3->Connect("Released()", "TGTextEdit", fTextEdit, "SaveFile(=0,kTRUE)");
          connected = kTRUE;
       }
    }
 }
-
-
-- 
GitLab