[root] / trunk / gui / gui / src / TGListTree.cxx Repository:
ViewVC logotype

Log of /trunk/gui/gui/src/TGListTree.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 47078 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 6 18:51:32 2012 UTC (2 years, 2 months ago) by tpochep
File length: 87662 byte(s)
Diff to previous 47077
Uff, I hope this is the last attempt to fix pixel base GUI: it looks like ascent for a font in X11 includes some additional pixels above
the maxium gluph's height. A lot of layout hints have toppad 0 because of this (?). With CoreText/Quartz 2D I do not have these additional
pixels and a lot of widgets (with text) have 2-3 pixels shifted text. Since I can not fix them all, I have to add these pixels when
calculating font metrics. This seems to fix all text buttons, check boxes, radio buttons, tooltips, tree view, etc.

Revision 47077 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 6 17:25:08 2012 UTC (2 years, 2 months ago) by tpochep
File length: 87736 byte(s)
Diff to previous 47075
The final adjustment.

Revision 47075 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 6 17:10:17 2012 UTC (2 years, 2 months ago) by tpochep
File length: 87661 byte(s)
Diff to previous 46959
Revert last mods in TGListTree and do it in a different way - remove Cocoa specific ifdefs from DrawItemName, but also put ytext modification in ifdefs (when it's adjusted using pic sizes).
Still, outline and highlight are painted with full item's height.

Revision 46959 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 1 13:20:56 2012 UTC (2 years, 2 months ago) by tpochep
File length: 88595 byte(s)
Diff to previous 44507
The second part of today's pixel magic: as text position is calculated font height, I have
to use font height in different DrawXXX methods + I have to use the full item height,
otherwise (as soon as FontAscent is smaller then FontHeight and smaller than image(s) height,
outline, highlight, text - everything is misplaced).

Revision 44507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by axel
File length: 87289 byte(s)
Diff to previous 41891
Remove
  using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.

Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.

Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.

Revision 41891 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 10 22:46:31 2011 UTC (3 years, 2 months ago) by pcanal
File length: 87139 byte(s)
Diff to previous 41203
Remove all assigned but unused variable discovered by g++ 4.6.1 (including one completely nop function)

Revision 41203 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 6 12:15:30 2011 UTC (3 years, 3 months ago) by bellenot
File length: 87273 byte(s)
Diff to previous 40387
Fix coverity reports (dereference null return)

Revision 40387 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 28 11:02:34 2011 UTC (3 years, 5 months ago) by bellenot
File length: 86996 byte(s)
Diff to previous 39333
Add a small marging of 2 pixels on the left side, to avoid icons touching the border

Revision 39333 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 23 07:38:48 2011 UTC (3 years, 8 months ago) by bellenot
File length: 86995 byte(s)
Diff to previous 39258
Properly de-select highlighted item when using the keyboard

Revision 39258 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 19 08:59:35 2011 UTC (3 years, 8 months ago) by bellenot
File length: 86960 byte(s)
Diff to previous 39198
Slightly improve search on Linux (implemented F3, Ctrl+F and Ctrl+G) and make it working on Windows

Revision 39198 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 16 10:31:08 2011 UTC (3 years, 8 months ago) by bellenot
File length: 86133 byte(s)
Diff to previous 38753
Avoid potential crash when trying to delete the buffer of a static TString

Revision 38753 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 6 13:14:08 2011 UTC (3 years, 9 months ago) by bellenot
File length: 86124 byte(s)
Diff to previous 37379
Change the way the current (selected) item and the item below the mouse are highlighted (full width)

Revision 37379 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 7 18:37:12 2010 UTC (4 years, 1 month ago) by bellenot
File length: 85330 byte(s)
Diff to previous 35582
Use the correct length parameter when using strlcpy with substrings. Fixes the problem reported on the forum (http://root.cern.ch/phpBB3/viewtopic.php?f=3&t=11749)

Revision 35582 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 22 13:38:27 2010 UTC (4 years, 4 months ago) by bellenot
File length: 85326 byte(s)
Diff to previous 35527
Add the "keep_names" option when saving the GUI source, to allow the users to change the name of any frame in the ROOT Gui Builder and more important to keep it across the different load/edit/save cycles. This should solve a problem reported on the forum at: http://root.cern.ch/phpBB3//viewtopic.php?f=3&t=11216

Revision 35527 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 21 12:27:01 2010 UTC (4 years, 4 months ago) by brun
File length: 85197 byte(s)
Diff to previous 35518
do not include snprintf.h

Revision 35518 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 21 09:54:10 2010 UTC (4 years, 4 months ago) by bellenot
File length: 85219 byte(s)
Diff to previous 35457
Replace several strncpy and strncat by strlcpy and strlcat

Revision 35457 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 20 13:27:17 2010 UTC (4 years, 4 months ago) by bellenot
File length: 85274 byte(s)
Diff to previous 34495
Fix strncpy and snprintf calls

Revision 34495 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 20 07:34:32 2010 UTC (4 years, 6 months ago) by bellenot
File length: 85274 byte(s)
Diff to previous 33907
TGToolTip:
- Use a better way of positionning tooltips when they go out of screen
- Avoid to overlap the mouse pointer when repositioning it (flickering effect!) 

TGListTree:
- Slightly adjust the position of tooltips

Revision 33907 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 15 10:26:47 2010 UTC (4 years, 7 months ago) by bellenot
File length: 85282 byte(s)
Diff to previous 33861
Fix potential buffer not null terminated (coverity)

Revision 33861 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 14 09:12:50 2010 UTC (4 years, 7 months ago) by bellenot
File length: 85254 byte(s)
Diff to previous 32551
Fix coverity reports (missing break and forward NULL)

Revision 32551 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 11 13:21:47 2010 UTC (4 years, 10 months ago) by bellenot
File length: 85222 byte(s)
Diff to previous 31669
Use snprintf intead of sprintf and strncpy instead of strcpy (coverity)

Revision 31669 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 8 15:15:47 2009 UTC (5 years, 1 month ago) by bellenot
File length: 85160 byte(s)
Diff to previous 31061
- Add missing initializations (coverity)
- Fix potential memory leaks (coverity)
- Add protections against possible NULL pointers (coverity)

Revision 31061 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 10 10:02:40 2009 UTC (5 years, 2 months ago) by bellenot
File length: 85140 byte(s)
Diff to previous 28269
Make sure there is a pixmap for DND operations

Revision 28269 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 17 10:19:58 2009 UTC (5 years, 9 months ago) by bellenot
File length: 85037 byte(s)
Diff to previous 27475
Should definitively fix the bug #48204: clicking offset (https://savannah.cern.ch/bugs/index.php?48204)

Revision 27475 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 18 10:04:21 2009 UTC (5 years, 11 months ago) by bellenot
File length: 85035 byte(s)
Diff to previous 26493
Replace Form() by TString::Format()

Revision 26493 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 27 08:55:53 2008 UTC (6 years, 1 month ago) by bellenot
File length: 84986 byte(s)
Diff to previous 25883
- Fix a problem with TGListTree::Sort(): parent->fLastchild was not properly set.
  This fix a problem reported on the forum http://root.cern.ch/phpBB2/viewtopic.php?t=7705

Revision 25883 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 20 13:03:39 2008 UTC (6 years, 3 months ago) by bellenot
File length: 84899 byte(s)
Diff to previous 25854
- Try to use 32x32 icons for drag operations (when possible)

Revision 25854 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 17 07:47:24 2008 UTC (6 years, 3 months ago) by bellenot
File length: 84542 byte(s)
Diff to previous 25761
- Correctly handle specials characters in SavePrimitive()
  quotes (") inside quotes, new lines (\n), backslashes (\)

Revision 25761 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 9 20:06:16 2008 UTC (6 years, 3 months ago) by bellenot
File length: 84298 byte(s)
Diff to previous 25229
- Cosmetics

Revision 25229 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 25 15:14:34 2008 UTC (6 years, 5 months ago) by bellenot
File length: 84294 byte(s)
Diff to previous 24024
From Matevz and me:
Merge changes from branches/dev/fireworks (CMS event display)

TGSplitFrame
------------
- Added Docked(TGFrame*) and  Undocked(TGFrame*) signals
- Added GetUndocked() getter

TGView
------
- Added a protection against possible negative scroll values

TGTextView
----------
- Fix bottom line not being properly updated while scrolling TGTextView
- Solve a problem with vertical slider (avoid negative value when scrolling)

TGTextEdit
----------
- Fix blinking cursor on some platforms/compilers in TGTextEdit

TGToolTip
---------
- Add new constructor with global x, y position.
If neither fWindow nor fPad are set use global fX, fY that was passed from outside.

TGListTree
----------
DeleteItem/Children() - for list-tree in stand-alone mode set below-mouse/current item to zero before deleting the item; remove corresponding comments.

TGSplitter
----------
- Add option to handle frame resizing externally.

TGPack
------
New Container class for vertical and horizontal grouping of frames. It enforces a predictable resizing behaviour on children.

Revision 24024 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 26 15:22:40 2008 UTC (6 years, 7 months ago) by antcheva
File length: 84374 byte(s)
Diff to previous 23115
From Bertrand and Matevz: 
Emit MouseOver(0) signals when mouse leaves the window
and below-mouse item is still set.

Revision 23115 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 10 13:35:37 2008 UTC (6 years, 9 months ago) by rdm
File length: 84268 byte(s)
Copied from: trunk/gui/src/TGListTree.cxx revision 23114
Diff to previous 23033
moved to directory "gui" the following directories:

fitpanel, ged, gui, guibuilder, guihtml, qtgsi, qtroot, sessionviewer

Revision 23033 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 8 08:23:46 2008 UTC (6 years, 9 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 84268 byte(s)
Diff to previous 23003
From Bertrand:
- Don't delete static pictures at TGListTree destruction time.
  (to avoid problems when using several TGListTree)

P.S. from me: after these changes the four used pictures are never deleted

Revision 23003 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 7 09:58:26 2008 UTC (6 years, 9 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 84929 byte(s)
Diff to previous 22941
From Bertrand:
 Properly reset static pictures at TGListTree destruction time

Revision 22941 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 2 11:47:16 2008 UTC (6 years, 9 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 84516 byte(s)
Diff to previous 22939
From Bertrand:
- Remove item outlining when the mouse leaves the list tree

P.S. from me: this fixes the ambiguity for having two different (highlighted
and outlined) items when the mouse pointer leaves the list tree window.

Revision 22939 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 2 09:31:55 2008 UTC (6 years, 9 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 84275 byte(s)
Diff to previous 22938
From Bertrand:
- Reset fCurrent and fBelowMouse variables 
  when deleting a TGListTreeItem

Revision 22938 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 2 08:50:34 2008 UTC (6 years, 9 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 84244 byte(s)
Diff to previous 22568
From Bertrand:
- Fix potential problem when trying to draw outline
  around a TGListTreeItem being destroyed

Revision 22568 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 10 14:39:09 2008 UTC (6 years, 10 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 84236 byte(s)
Diff to previous 22540
From Bertrand:
- Coding conventions
- Protection added for deleted list tree items

Revision 22540 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 8 15:45:43 2008 UTC (6 years, 10 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 83548 byte(s)
Diff to previous 22539
Fix compilation error due to bad order of members initialisation.

Revision 22539 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 8 14:36:37 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 83549 byte(s)
Diff to previous 21502
From Alja, Bertrand & Matevz: merged branches/dev/fireworks 21757:22514.

This includes:

- development for event-displays of ALICE and CMS since 5.18 in eve/,
  gl/ and gui/;

- many new tutorials and demos for eve/;

- fix in TQObject to support class-signals from all base-classes.

Revision 21502 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 19 17:33:27 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 78058 byte(s)
Diff to previous 20933
From Bertrand and matevz:
- Use TObjString for drag and drop to be able to specify full
  pathname (and not rely on gSystem->WorkingDirectory()).
- Changed the way TGListTree handles drag and drop, to not rely 
  on gSystem->WorkingDirectory(), but use TObjString set in 
  TGFileBrowser instead.
- Added data member fOwnsData in TGListTreeItem, to specify 
  if fUserData member has to be deleted in the destructor
  (to avoid memory leaks)
- Added corresponding argument in:
  TGListTreeItem::SetUserData(void *userData, Bool_t own=kFALSE)
  being kFALSE by default for backward compatibility

This allows to drag and drop from any directory, whithout to have to cd() in
it...
This also fixes some issues encountered with AliEVE

Revision 20933 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 20 17:11:22 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 77205 byte(s)
Diff to previous 20923
From Bertrand:
fix naming conventions, after acronym, next word starts with upper case.

Revision 20923 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 20 13:27:56 2007 UTC (7 years, 2 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 77205 byte(s)
Diff to previous 20909
Fixed a warning on solaris.

Revision 20909 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 20 09:24:44 2007 UTC (7 years, 2 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 77201 byte(s)
Diff to previous 20882
From Bertrand:
ImplementED drag & drop in TGListTree
Simple example of how to use it:
   // add an item in a list tree
   TGListTreeItem *itm = fListTree->AddItem(item,fname,pic,pic);
   // to set this item as a DND source:
   itm->SetDNDSource(kTRUE);
   // to set this item as a DND target:
   itm->SetDNDTarget(kTRUE);

Changes:
In class TGListTreeItem:
New data member Int_t fDNDState with its setters and getters:
  SetDNDSource(), SetDNDTarget(), IsDNDSource(), IsDNDTarget()

In class TGListTree:
New data members:
  TBufferFile     *fBuf;            // buffer used for Drag and Drop
  TDNDdata         fDNDData;        // Drag and Drop data
  Atom_t          *fDNDTypeList;    // handles DND types
  TGListTreeItem  *fDropItem;       // item on which DND is over
New methods:
  HandleDNDdrop(), HandleDNDposition(), HandleDNDenter() 
  HandleDNDleave(), GetDNDdata()
New signal method: DataDropped(TGListTreeItem *item, TDNDdata *data);

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 72488 byte(s)
Diff to previous 20766
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 20766 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 12 13:50:28 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 72488 byte(s)
Diff to previous 20707
From Ilka:
gui/src/TGListTree.cxx:1957: warning: the address of 'dirname' will always
evaluate as 'true'.

Revision 20707 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 7 16:49:04 2007 UTC (7 years, 2 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 72485 byte(s)
Diff to previous 20673
From Bertrand:
Improvements in check boxes status update in recursive mode

Revision 20673 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 6 11:31:56 2007 UTC (7 years, 2 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 71746 byte(s)
Diff to previous 20184
From Bertrand:
Improvements in check boxes handling in TGListTree
- Added fCheckMode member. 
  Can be one of the following values: 
     kSimple: check only the selected item
     kRecursive: recursively check children
  by default kSimple is used.
  To change the behaviour, use:
  TGListTree::SetCheckMode(ECheckMode mode)
- Improved the update of the list tree item 
  status (checked/unchecked/greyed)

Revision 20184 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 2 16:25:54 2007 UTC (7 years, 3 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 70744 byte(s)
Diff to previous 20095
Added following new methods (requested by LHCb):

TGListTreeItem
o CheckAllChildren(Bool_t state = kTRUE) - set the state of this TGListTreeItem and all its children (if any) as checked if state=kTRUE (default behavior); or unchecked if state=kFALSE.

o CheckChildren(TGListTreeItem *item, Bool_t state) - helper method 


TGListTree class
o GetChecked(TList *checked) - add the item text of all checked list tree items as TObjString into the list 'checked'. This list is not adopted and must be deleted by the user later.
Example:
   TList *mylist = new TList();
   fListTree->GetChecked(mylist);
   ...
   mylist->Delete();
   delete mylist; 

o GetCheckedChildren(TList *checked, TGListTreeItem *item) - helper method

o CheckAllChildren(TGListTreeItem *item, Bool_t state) - check all child items of 'item' and 'item' itself according to the state value: kTRUE means check all, kFALSE - uncheck all.
Example:
TGListTreeItem *it;
it = fLTree->FindChildByName(fLTree->GetFirstItem(),"P1D");
fLTree->CheckAllChildren(it, kFALSE);
// or users can use
it->CheckAllChildren(kFALSE);

Revision 20095 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 15:03:02 2007 UTC (7 years, 4 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 68233 byte(s)
Diff to previous 19826
From Bertrand:
Added a protection to avoid wheel mouse double-click events in TGListTree

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 68144 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 68201 byte(s)
Diff to previous 19751
remove :$ from tag line

Revision 19751 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 3 11:54:02 2007 UTC (7 years, 4 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 68211 byte(s)
Diff to previous 19717
From Bertrand:
There is a problem of Focus being kept by TGListTree once one clicked on
a TGListTreeItem, as reported by Matevz in Alice Event Viewer (EVE).
This patch fixes the problem.
FYI, key navigation is still possible with mouse over the TGListTree
(the focus will not be kept after clicking in the list tree)

Revision 19717 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 29 07:16:10 2007 UTC (7 years, 4 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 68282 byte(s)
Diff to previous 19705
From Valeriy O. and Bertrand:
this patches intend to fix creation of pixmap
with very large sizes. It happens when list tree or
list view resized to width = 0. In this case in
  TGViewPort::HandleConfigureNotify(Event_t *event)
event->fWidth has very large value. i.e. > 65000
Protections added against such cases.

Revision 19705 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 27 17:04:43 2007 UTC (7 years, 4 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 68103 byte(s)
Diff to previous 19676
Coding conventions.

Revision 19676 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 24 07:32:01 2007 UTC (7 years, 5 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 68106 byte(s)
Diff to previous 19671
Fixed coding conventions.

Revision 19671 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 23 13:56:19 2007 UTC (7 years, 5 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 68124 byte(s)
Diff to previous 19665
From Valeriy Onuchin:
Fixed side effect of previous patch seen after the following steps
(thanks to Matevz for his report):

1) run $ROOTSYS/tutorials/geom/geomAlice_itsv.C
2) in ROOT Browser window open Geometry then ALIC_1 items
3) click on item check-box (check-box status has been changed,
   but list tree is not redrawn)
4) resize browser window (list tree shows correctly the check-box status)

Revision 19665 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 22 08:50:02 2007 UTC (7 years, 5 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 68164 byte(s)
Diff to previous 19656
From Valeriy Onuchin (tested by Bertrand):

o TGLayoutManager::IsModified method was overloaded.
  This method is used to indicate that sub frames
  changed/unchanged their positions/sizes after layout.

  For example, in some cases positions&sizes of sub frames
  can be unchanged after calling Layout method
  (e.g. for TGTileLayout manager).
  TGLayoutManager::IsModified will return kFALSE.

o  TGListBox.h,cxx, TGCanvas.h,cxx, TGListTree.h,cxx,
   TGListView.h,cxx

   - new painting technique was implemented:
     1. repaint only exposed/dirty regions.
        Previously the whole view port (or even container frame)
        was repainted.
     2. use double-buffering (using back plane pixmap) during
        repainting.
     That allows to eliminate flickering during resizing,
     scrolling, exposing/overlapping.
   - several bugs were fixed:
     o keyboard navigation in list view, list box, list tree
     o resizing columns (details view) in list view
       when  horizontal scroll bar not in zero position.
     o in list view (details view) buttons were moved when
       it was resized.
     o extra unnecessary repainting in list view, list tree
       were removed.
     o probably I missed something to mention .

o  TGScrollBar
  - bug fix: increment value was reset to 1 after button release.
  - do not redraw scroll button if it's width/height was unchanged.
    That reduces flickering

Revision 19656 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 21 09:54:06 2007 UTC (7 years, 5 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 67503 byte(s)
Diff to previous 18193
From Matevz:
in KeyPressed() correct signature of signal (from TGFrame to TGListTreeItem).

Revision 18193 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 8 11:47:30 2007 UTC (7 years, 10 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 67497 byte(s)
Diff to previous 15849
From Alja:
added a boolean data-member TGListTree::fAutoCheckBoxPic controlling
automatic changing of check-box pictures done in TGListTree::UpdateChecked().

Revision 15849 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 26 13:36:44 2006 UTC (8 years, 6 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 67393 byte(s)
Diff to previous 15831
Instead of providing default implementations for copy ctor's and assignment
operators we better make them private (and not implemented) to avoid people
from accidentally using them. Especially the collections classes and the
TQObject derived classes. In these classes the default implementations would
cause havoc due to multiple deletions of the same objects and other
potential memory corruptions.

Revision 15831 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 20 12:03:48 2006 UTC (8 years, 6 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 70689 byte(s)
Diff to previous 15742
From Bertrand:
Correct check of color modes in TGListTree.

Revision 15742 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jul 9 05:27:55 2006 UTC (8 years, 6 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 70689 byte(s)
Diff to previous 15672
From Eddy:
Fix many typos in comments

Revision 15672 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 3 16:10:46 2006 UTC (8 years, 6 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 70683 byte(s)
Diff to previous 15472
from Axel:
Change the signature of SavePrimitive from

  void SavePrimitive(ofstream &out, Option_t *option);
to
  void SavePrimitive(ostream &out, Option_t *option = "");

With this change one can do, eg
   myhist.SavePrimitive(std::cout);

WARNING: do rm -f tree/src/*.o

Revision 15472 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 19 14:08:33 2006 UTC (8 years, 7 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 70677 byte(s)
Diff to previous 15471
- fix typo in comments

Revision 15471 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 19 14:02:27 2006 UTC (8 years, 7 months ago) by antcheva
Original Path: trunk/gui/src/TGListTree.cxx
File length: 70681 byte(s)
Diff to previous 15201
- TGListTree::SavePrimitive saves the entire list tree structure
- new methods:
  TGListTree::SaveChildren for saving chil items in a list tree structure
  TGListTreeItem::SavePrimitive for saving list tree item specific attributes

Revision 15201 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 29 08:37:10 2006 UTC (8 years, 7 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 66518 byte(s)
Diff to previous 15191
From Bertrand:
Here is a small improvement of method TGListTree::AddItem() for
GuiBuilder: Open parent item when adding a TGListTreeItem, to display it
at creation time.

Revision 15191 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 28 20:08:00 2006 UTC (8 years, 7 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 66473 byte(s)
Diff to previous 15173
From valeriy Onuchine:

- TImage, TASImage
 o Change return type of Vectorize method  from "void" to "Double_t*".
 o Implement FromWindow method under X11. This method allows to
   create "snapshot image" from any ROOT window or frame.

- config/Makefile.depend
 Add dependency of libGuiBld lib on libGraf.
 GuiBuilder uses internally TImage/TASImage class.

- GX11Gui.cxx

 X11 error handler was slightly modified.
 Many X11 errors lead to freezing X11 server and
 did not allow debugging.
 To prevent freezing, a "forced seg.violation" was added
 to the error handler.

 The usage of the new "feature" is the following:
 0. run "gdb root.exe"
 1. set "gDebug = (int)gVirtualX" - that activates the new error handling.
 2. run application which has X11 errors.

On X11 error the application was stopped by the "forced seg.violation".

 3. "gdb>bt" - backtrace the problem.



!!! A big list of changes in libGui initiated by gui builder development !!!

- TGButton.h, TGButton.cxx
  TGButton class:
   o SetDown methods removed from context menu.
   o SetEnabled method of context menu changed to TOGGLE.
     Setting fWidgetFlags was added.

- TGTextButton class
   o GetNormGC(), GetFontStruct() methods are introduced.
   o SetFont removed from context menu.
   o ChangeText(const char *title) was introduced and added to context menu.
   o fixed an error in SetFont method which set font globally instead of
     locally.
   o SavePrimitive - save text justification

- TGPictureButton
   o added getter method GetDisabledPicture()

- TGCanvas
   o added to GuiBuilder widgets palette.

- TGColorDialog
   o new methods:
     - TGColorPalette *GetPalette(),
     - TGColorPalette *GetCustomPalette(),
     - void SetCurrentColor(Pixel_t col)
   o new signal:
      - void ColorSelected(Pixel_t)
   o new parameter added to contructor "Bool_t wait".
     If "wait" is kTRUE, "gClient->WaitForUnmap" is called internally
     (normal/old usage). If "wait" is kFALSE - "gClient->WaitForUnmap"
     should be called by user.
   o few "usefull" colors added to "custom" palette.

- TGColorSelect
   o added to GuiBuilder widgets palette.

- TGComboBox
   o new methods:
     - SortByName - allows to sort combobox entries by names.
     - SetEnabled, IsEnabled.

- TGFontDialog was rewritten.
   o Previous version worked under win32 only,
      now it works on X11 also.
      It allows to select any font available on the system.

  o new parameter added to contructor "Bool_t wait".
     If "wait" is kTRUE, "gClient->WaitForUnmap" is called internally
     (normal/old usage). If "wait" is kFALSE - "gClient->WaitForUnmap"
     should be called by user.

  o new methods:
      void SetFont(TGFont *font);
      void SetColor(Pixel_t color);
      void SetAlign(Int_t align);
      void EnableAlign(Bool_t on = kTRUE);
      void UpdateStyleSize(const char *family);

 o new signals:
   - FontSelected(char *font)
   - AlignSelected(Int_t a)
   - ColorSelected(Pixel_t c)

- TGFrame
   o unused static member fgContextMenu removed.

- TGCompositeFrame
   o TGCompositeFrame::SetEditDisabled modified. It is used for setting
     fEditDisableXX attribute during gui buildind.

   o ChangeSubframesBackground helper method was introduced.

- TGGroupFrame
   o SetTextFont, SetTextColor methods were corrected for
     "local" changing of the font.

- TGWindow
   o kEditDisableKeyEnable added to EEditMode enum.
     If this flag is set - window can handle keyboard events during gui
     building.

- TGLabel
   o new methods:
    - GetNormGC, GetFontStruct
   o fixed bugs in setting label's "local" text font.
   o SavePrimitive - saving text justification added.

- TGListBox
  o new methods:
     - SortByName - allow to sort listbox entries by names.
     - new auxilary/internal class TGLBFrameElement created.
        It's used for ascending/descending sort of list box entries.

  o reimplemented methods:
   ChangeBackground, Layout, GetDefaultWidth

  o disable changing layout manager in SetLayoutManager method.
    Layout manager is not used for layout of list box.

- TGIcon
   o SetImagePath method was corrected.

- TGScrollBarElement
   o new methods:
     - SetEnabled, IsEnabled. These methods are used in enabling/disabling
       TGNumberEntry objects.

- TGScrollBar
   o new getter methods:
      - GetHead, GetTail, GetSlider
   o new signals:
      - PositionChanged, RangeChanged, PageSizeChanged
   o ChangeBackground was reimplemented.

- TGShutter
   o new methods:
      - AddPage, RemovePage, RenamePage
   o new signal Selected.
   o disable changing layout manager in SetLayoutManager method.
     Layout manager is not used for layout.

- TGView
   o disable changing layout manager by SetLayoutManager method.
     Layout manager is not used for layout.
   o ChangeBackground(Pixel_t col) method added which changes background
     color only of the canvas frame.

- TGNumberEntry
   o more options added to context menu.

- TGProgressBar
   o new getter/setter methods:
    - GetBarColor, GetNormGC, GetFontStruct, SetForegroundColor.

- TGTab
   o disable SetEditDisabled method to avoid changing "edit disable
     attribute".

- TGTextEdit, TGTextView, TGView
   o fixed bug - "character replace" mode didn't work
   o setting insert mode added to context menu.
   o setting "read only" mode added to context menu.
   o new method which enable/disable "popup menu for edit actions" added.
   o few corrections to SavePrimitive method.

- TGTextEntry
   o guibuilder specific code was removed.

-  TGuiBuilder.h, TGuiBldAction
   o possibility to set picture for context menu entry added.

- treeviewer/inc/TSessionViewer.h
  o forward declaration of TContextMenu class added.

Revision 15173 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 24 18:20:12 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 66206 byte(s)
Diff to previous 15134
Fix coding conventions violations

Revision 15134 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 66024 byte(s)
Diff to previous 14604
From Federico Carminati:

"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."

Revision 14604 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 8 10:23:03 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 62954 byte(s)
Diff to previous 14599
From Bertrand:
Fix TGListTree first child item's position (Thanks to Matevz for reporting
the problem)

Revision 14599 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 7 15:45:53 2006 UTC (8 years, 9 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 62945 byte(s)
Diff to previous 14584
From Matevz:
changed magic color mode constants to an enum.

Revision 14584 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 7 09:24:11 2006 UTC (8 years, 9 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 62844 byte(s)
Diff to previous 14580
From Matevz:
New methods to set and get colors of list tree items:
   TGListTreeItem::GetColor()
   TGListTreeItem::SetColor()
   TGListTreeItem::ClearColor()
   TGListTree::SetColorMode()
   TGListTree::GetColorMode()

Revision 14580 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 7 08:43:59 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 62809 byte(s)
Diff to previous 13292
From Matevz Tadel:
Introduce a new set of classes dedicated to event visualisation.
TGLObject:	base-class for direct GL renderers

TAttBBox:	interface, helps maintain/calculate bounding-box
		needed for TGLObject (see TPointSet3D and TPointSet3DGL)
TPointSet3D:	a demo class for direct GL rendering
TPointSet3DGL:

Mods in existing classes to interface the new classes

Revision 13292 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 21 00:25:38 2005 UTC (9 years, 2 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 61447 byte(s)
Diff to previous 13278
From Bertrand:
- added comments in TGMdi classes.
- added comments in TGColorSelect and TGColorDialog classes.
- added comments in TGFontDialog classes.
- changes in all these classes to make rulechecker happy.
- added a new member / option in TGListTree allowing to disable
  item opening on doubleclick.

Revision 13278 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 17 19:09:28 2005 UTC (9 years, 2 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 60839 byte(s)
Diff to previous 13246
From Ilka:
code style fixes (comments, descriptions and identation).

Revision 13246 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 15 18:14:17 2005 UTC (9 years, 2 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 60298 byte(s)
Diff to previous 12886
From Bertrand:
improve standard behaviour when clicking on the + don't highlight the
entry.

Revision 12886 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 3 08:09:59 2005 UTC (9 years, 3 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 60544 byte(s)
Diff to previous 12664
From Bertrand:
- Mods in TGListTree allowing to open / close item by clicking once on
  the node box.

Revision 12664 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 5 16:20:23 2005 UTC (9 years, 4 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 59653 byte(s)
Diff to previous 12658
from Bertrand:
fix unitialized vars.

Revision 12658 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 5 14:21:53 2005 UTC (9 years, 4 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 59632 byte(s)
Diff to previous 12247
from Bertrand:
add new check box feature to TGListTree widget. This option allows checkboxes
on the tree nodes to turn on/off pieces of the tree hierarchy. Used in the
ROOT browser to toggle visibility of geometries.
In TGListTree see for example the new methods:
   void  CheckItem(TGListTreeItem *item, Bool_t check = kTRUE);
   void  SetCheckBox(TGListTreeItem *item, Bool_t on = kTRUE);
   void  ToggleItem(TGListTreeItem *item);
   void  Checked(TObject *obj, Bool_t check);  //*SIGNAL*
and the checkbox option in:
   AddItem(..., Bool_t checkbox);

Revision 12247 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 5 12:36:07 2005 UTC (9 years, 6 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 51919 byte(s)
Diff to previous 12204
From valeriy Onuchin:
- new class TImagePlugin is introduced;
 To add possibility to read/write new image format one needs to create
 a derived class and to override two methods:
   virtual unsigned char *ReadFile(const char *filename, UInt_t &w,UInt_t &h)
   virtual Bool_t WriteFile(const char *filename, unsigned char *argb,
                             UInt_t w, UInt_t  h)
   ... and to specify it in the root resource file:

Plugin.TImagePlugin:  ps    TASPluginGS   ASPluginGS   "TASPluginGS(const char*)"
the name of plugin    file extension      DLL containing an implementation of
TImagePlugin subclass

- new class TASImagePlugin that is a subclass of TImagePlugin with ASImage
specific implementations;

- new class TASPluginGS - an image plugin class that allows to create images from
PS/EPS/PDF files and to display them in TCanvas/TPad. In addition, it allows to
browse PS/EPS/PDF files with the ROOT browser.

New files:
asimage/inc/LinkDefGS.h
asimage/inc/TASImagePlugin.h
asimage/inc/TASPluginGS.h
asimage/src/TASPluginGS.cxx

graf/inc/TImagePlugin.h

icons/pdf.xpm
icons/tb_find.xpm

libAfterImage.tar.gz

- TROOT.h
    o new data member fClipboard and corresponding getter GetClipboard();
      TSeqCollection  *fClipboard;           //List of clipboard objects;

- TGFrame
    o embedded frames resized correctly now.

- TGCanvas
    o several useful methods made public

- TGListBox, TGComboBox
    o new method FindEntry(const char *s) added which returns entry by name

- TGMdiMainFrame, TGMdiDecorFrame
    o fix bug which changed text color globally
    o add displaying scroll bars when mdi frame is moved out of mdi
      canvas viewport

- TGTextEdit/TGView, guitest
   o added processing of:
     2-clicks - selects a word
     3-clicks - selects a line
     4-clicks - selects the whole text
   o change  the key handling
     Ctrl-F - invokes Search dialog
     Ctrl-L - invokes Goto line dialog
     Correspondent changes  added to guitest.C and guitest.cxx (TextEdit test)
   o readonly mode added

- TGSearchDialog
   o Text entry was replaced by "text entry" combobox. It allows to
     "remember" a history of entered search strings.
   o new static method TGSearchDialog *&gDialog() introduced. It returns
     a global search dialog.
   o Search method - display warning message box when object is not found

- TRootBrowser, mime.types
   o  possibility to browse PS/EPS/PDF fies added
   o possibility to browse text files added. The content of text file
     appears in "icon box" window (a la netscape)
   o "Search" tool bar button added. It activates the "search dialog" for
     searching a specified icon or text when a text file is browsed.

- TGuiBldEditor.
  o fix bug which changed text color globally

Revision 12204 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 27 15:11:53 2005 UTC (9 years, 6 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 51926 byte(s)
Diff to previous 12001
fix problem on MacOS X where externally specified icons caused a crash.
This fixes the bug reported by Christian in:
http://root.cern.ch/phpBB2/viewtopic.php?t=2159

Revision 12001 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 9 15:20:17 2005 UTC (9 years, 7 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 51530 byte(s)
Diff to previous 11287
From Ilka:
The attached patch fixes the problem reported by Christian Stratova
on RootForum at:
http://root.cern.ch/phpBB2/viewtopic.php?p=7699#7699
In fact, the picture references were wrongly set in the TGListTree and
this causes SegV when the list tree object was deleted in an application
program.

Revision 11287 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 10 19:19:43 2005 UTC (9 years, 10 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 51315 byte(s)
Diff to previous 10943
From Joe Chuma:
protection against dangling fSelected.

Revision 10943 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 18 15:08:51 2005 UTC (10 years ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 51262 byte(s)
Diff to previous 10940
From Valeriy Onuchin:
- fix refreshing list tree  bug  found under win32.

Revision 10940 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 18 11:23:29 2005 UTC (10 years ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 51240 byte(s)
Diff to previous 10904
From Valeriy Onuchin:
- implemented optimized TGListTree drawing
 (draw only those items which are "projected" to viewport).
 It's possible to draw and  scroll more than 20000 items

Revision 10904 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 12 18:39:30 2005 UTC (10 years ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 51216 byte(s)
Diff to previous 10393
From Valeriy Onuchin:
- new concept of "pseudo-window" introduced.
  pseudo-window - is an object inherited from TGWindow which
  is not created by window system (X11 or M$ Windows).
  It does not consume window system resouces.

  The main use-case of pseudo-windows is GUI containers
  with very large number of items. For example, listviews, listboxes,
  where listview/listbox items/entries are pseudo-windows.
  Pseudo-window  has "window id" equal to zero.
  In order to "activate pseudo-window concept" the parent should
  have fIsMapSubwindows dat member to be kFALSE.
  So, it's backward compatible,  setting fIsMapSubwindows=kTRUE in parent window
  will activate normal behavior, i.e. will be created in window system.

 Introduction of  "pseudo-window concept" forced the changes in
 TGX11, TGWin32 classes to avoid  TVirtualX methods execution when
 "window id" is NULL (the case of  pseudo-window).

 Introduction of pseudo-windows which do not consume window system resouces
 greately improved  performance of  TGListView, TGListBox, TGComboBox objects.

 Now it's possible to have these containers with more than 10000 items.

- some optimization in TGLBContainer drawing
- add SetWindowName to most GUI classes. It's very usefull for GUI debugging.

Revision 10393 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 22 15:21:19 2004 UTC (10 years, 3 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 51177 byte(s)
Diff to previous 8233
From Valeriy:
- now TGViewPort Cleanup method deletes container frame.
- protect TGListBox against double deletion during hierarchical cleaning.
- minor mod in TGListTree. ClassImpQ is obsolete.
- protect TGLVEntry against double deletion during hierarchical cleaning.
- protect TRootEmbededCanvas against double deletion during hierarchical
  cleaning.
- protect TRootCanavs against double deletion during hierarchical cleaning.
- TGFontDialog. SetCleanup(kDeepCleanup) aka hierarchical cleaning is used
  in destructor.
  No segv. occured. That means all frames inside TGFontDialog are
  "consistent with hierarchical cleaning".
  Now TRootEmbededCanvas deleted without segv. during gui building.
- now TGuiBldQuickHandler is placed centered on parent when map_raised.
- TGuiBldDragManager. Double click on editable frame invokes resize/compact
  action of the main-editable frame.

Revision 8233 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 18 20:13:43 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 51177 byte(s)
Diff to previous 7746
The following mega patch is from Ilka. She has integrated and further
developed the original classes from Marek Biskup (summer student last year)..
Valeriy Onuchin has also contributed by extending/adapting existing
GUI classes.

Very first prototype of the new pad editor is available for testing and
feedbacks. It was started by Marek Biskup as his project during the
Summer Student Program 2003.
The new pad editor helps ROOT GUI to become closer to the well known
application GUIs; to be user friendly, having easier and faster access
to the ROOT graphics, to be more intuitive. It is embedded in the
TCanvas window every canvas has an editor.
The editor frame is on the left side of the canvas window. The user can
show it via Edit/Editor menu selection. The editor frame contains a set
of picture buttons for selecting well known graphical primitives for
drawing; below them there are widgets for attribute changing. When an
object is selected its name appears with a set of options available for
changing: fill style and color; line style, width and color; text font,
size and style; marker style, size and color.

New Classes:
TGFontTypeComboBox - a combo box with fonts for a choice;
TGLineWidthComboBox - a combo box with line widths;
TGLineWidthLBEntry - list box entry for different line widths
TGLineStyleComboBox - a combo box with line styles;
TGLineStyleLBEntry - list box entry for a line style

TGedEditor - the new editor containing tool-box and attribute frames of
the selected object;
TGedToolBox - frame with picture buttons for a primitive drawing

TGedAttFrame - a base class for all attribute frames
TGedAttNameFrame - a frame showing the selected object name (if exists)
TGedAttFillFrame - a frame showing the fill attributes
TGedAttLineFrame - a frame showing the line attributes
TGedAttTextFrame - a frame showing the text attributes
TGedAttMarkerFrame - a frame showing the marker attributes

TGedPatternFrame - popup window for fill pattern selection
TGedPatternSelector - a button for pattern selection
TGedSelect - service class for selecting
TGedPopup - service class for popup attribute window
TGPatternSelect - a button for selected pattern
TGedMarkerPopup - popup window for marker selection
TGedMarkerSelect - a button for selected marker

Several changes are made in TCanvas, TPad, TRootCanvas to adapt them for
the new GUI interface. The old GUI interface is kept and it can be used
too. The class TPadEditorOld provides its functionality.

Revision 7746 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 12 18:21:07 2003 UTC (11 years, 1 month ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 51156 byte(s)
Diff to previous 7520
From Ilka:
remove Win32 ifdefs by using TSystem methods and addition code to
save TGToolBar.

Revision 7520 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 5 13:08:26 2003 UTC (11 years, 2 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 51156 byte(s)
Diff to previous 7425
From Ilka:
Any ROOT GUI can now be saved as a macro. Executing this macro brings back
the current GUI (minus the action handling). This very important development
allows to get easily the source for any GUI, which can then be inspected or
used to create other GUI's. Also this will allow a GUI builder to save and
restore GUI's.

To save the source of a GUI use the methods TGMainFrame::SaveSource() or
TGTransientFrame::SaveSource(), where the latter saves the source for dialogs.

To trigger the saving of any GUI just use ctrl-s.

Revision 7425 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 10 11:20:23 2003 UTC (11 years, 3 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 50075 byte(s)
Diff to previous 7062
From Valeriy Onuchin:

  - KeyPressed signal and correspondent SendMessage added
    to TGListTree and TGContainer classes
    That will allow to add user defined key-handling
    procedures to ROOT browser (request from Olivier Stezowski)
  - follow-ups after TGStatusBar yesterday changes:
    TGStatusBar is derived now from TGHorizontalFrame

Revision 7062 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 7 21:27:30 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 48961 byte(s)
Diff to previous 7042
From Valeriy Onuchin:

Mods allowing search dialog in a list tree even when list_tree_items name
include "/" symbols (typical case with TSystemDirectory in TBrowser)

Revision 7042 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 6 09:42:57 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 48635 byte(s)
Diff to previous 7037
From Valeriy Onuchin:

- small mod added to make possible to
  search over directories (check list dir from guitest)
  It's not clear for the moment how to implement it in more general way
- addition to guiviewer.cxx
   // exit program on close window
   Connect("CloseWindow()","TApplication",gApplication,"Terminate(=0)");

Revision 7037 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 5 19:25:39 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 48544 byte(s)
Diff to previous 7036
From Valeriy Onuchin:

- small improvements in TGListTree::Search method

Revision 7036 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 5 15:26:37 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 48469 byte(s)
Diff to previous 7026
From Valeriy Onuchin

- fix bug in TGListTree::FindItemByPathname method
- SearchDialog added to TGListTree class which
  uses TGListTree::FindItemByPathname method.
  Can be activated by F7, Cntr-F keys.

Revision 7026 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Aug 3 06:41:15 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 48429 byte(s)
Diff to previous 6807
Fix a bug in TGListTree::FindItemByPathname reported by Christian Stratowa

Revision 6807 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 1 11:40:15 2003 UTC (11 years, 6 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 48430 byte(s)
Diff to previous 6673
small mod in OpenItem() and CloseItem() by Valeriy.

Revision 6673 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 2 15:19:47 2003 UTC (11 years, 7 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 48426 byte(s)
Diff to previous 6663
forgot to remove the GC deletion in the TGListTree dtor. In the new scheme
these GC's are cached.

Revision 6663 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 28 11:55:32 2003 UTC (11 years, 8 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 48531 byte(s)
Diff to previous 5985
major changes in the resource management of the GUI classes. Introduced the
new class TGResourcePool which loads and keeps track of the 3 main resource
pools: fonts, picture and graphics contexts. Fonts are now handled via the
new TGFont class (and TGFontPool). In the past the loading of these resources
was done in TGClient and required all GUI classes to have TGClient as friend
to have their global statics initialized by TGClient. Adding a new widget
required TGClient.cxx to be changed too. This was obviously not good.
In addition it is now possible to find the full definition of the original
resource back based on a resource handle (GContext_t or FontStruct_t yielding
a TGGC or TGFont) which is needed for the SavePrimitive() functionality.

The resource pool can be found via TGClient (e.g. gClient->GetResourcePool()).
To see all active graphics contexts, fonts and pictures do:
   gClient->GetResourcePool()->GetGCPool()->Print()
   gClient->GetResourcePool()->GetFontPool()->Print()
   gClient->GetResourcePool()->GetPicturePool()->Print()
For more examples see the widget source code.

These changes are largely backward compatible except maybe for some low
level 3rd party widgets that use some TGFrame internals. In these cases
the following sed command will patch the code:
   sed -e "s/fgBlackGC()/GetBlackGC()()/g" \
       -e "s/fgWhiteGC()/GetWhiteGC()()/g" \
       -e "s/fgHilightGC()/GetHilightGC()()/g" \
       -e "s/fgShadowGC()/GetShadowGC()()/g" \
       -e "s/fgBckgndGC()/GetBckgndGC()()/g" \
       widget.cxx > widget.cxx.new

Revision 5985 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 26 13:17:45 2003 UTC (12 years ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 47411 byte(s)
Diff to previous 5717
Implement suggestion by Bertrand to optimize the tooltip position

Revision 5717 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 2 18:50:12 2002 UTC (12 years, 1 month ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 49171 byte(s)
Diff to previous 5680
mega patch to remove almost all compiler warnings on MacOS X where the
compiler is by default in pedantic mode (LHCb also like to use this option).
The following issues have been fixed:
- removal of unused arguments
- comparison between signed and unsigned integers
- not calling of base class copy ctor in copy ctor's
To be done, the TGeo classes where we get still many hundred warnings of
the above nature. List forwarded to Andrei.

Revision 5680 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 27 15:22:34 2002 UTC (12 years, 1 month ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 49127 byte(s)
Diff to previous 5587
some protections added by Valeriy.

Revision 5587 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 15 14:53:50 2002 UTC (12 years, 2 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 49070 byte(s)
Diff to previous 5581
More mods from Valeriy

Revision 5581 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 15 13:24:59 2002 UTC (12 years, 2 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 47363 byte(s)
Diff to previous 5420
Several improvements and bug fixes in the browser by Valery Onuchin

Revision 5420 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Oct 12 10:49:38 2002 UTC (12 years, 3 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 36406 byte(s)
Diff to previous 5413
revert to previous version. Valeriy's mods still has some severe bugs and
needs much more testing.

Revision 5413 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 10 17:09:06 2002 UTC (12 years, 3 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 47344 byte(s)
Diff to previous 4439
widget improvements by Valeriy Onuchin. In particular the TGListTree
should now be able to handle very large tree's (not limited anymore by
the bitmap size). Added key navigation options to TGListTree and some
new signals.

Revision 4439 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 2 08:19:58 2002 UTC (12 years, 8 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 36406 byte(s)
Diff to previous 4438
Remove the internal pointer to the function CompareItems

Revision 4438 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 2 08:01:25 2002 UTC (12 years, 8 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 36503 byte(s)
Diff to previous 4433
Remove the "extern C" declaration for the static function Compare.
Declare a pointer CompareItems to the function Compare inside the Sort function.
This was the only way to compile under VC++.

Revision 4433 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 1 20:09:43 2002 UTC (12 years, 8 months ago) by brun
Original Path: trunk/gui/src/TGListTree.cxx
File length: 36495 byte(s)
Diff to previous 3207
Rename static function Compare to CompareItems to avoid a clash with TObject::Compare.
Problem with VC++

Revision 3207 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 12 14:17:02 2001 UTC (13 years, 2 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 36480 byte(s)
Diff to previous 2439
add new signals for Clicked() and DoubleClicked() that also report
the x and y position of the mouse at time of click.

Revision 2439 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 22 16:10:23 2001 UTC (13 years, 7 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 35617 byte(s)
Diff to previous 781
make code more const char* correct (i.e. "strings" must be const char*) and
declare several functions extern "C". Mods by Dave Morrison.

Revision 781 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 17 12:34:53 2000 UTC (14 years, 3 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 35539 byte(s)
Diff to previous 755
added signal/slot capability for most widgets. TGWidget now derives from
TQObject.

Revision 755 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 12 16:53:38 2000 UTC (14 years, 3 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 34929 byte(s)
Diff to previous 714
added support for wheel mice. Via the mouse wheel you can scroll most
windows that have a scrollbar. How to enable it for your own containers
is shown in guitest (see TileFrame).

Revision 714 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 4 23:40:08 2000 UTC (14 years, 3 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 34152 byte(s)
Diff to previous 578
remove some compiler warnings and replace gVirtualX->SelectInput() calls
by TGFrame::AddInput().

Revision 578 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 5 16:13:36 2000 UTC (14 years, 4 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 34218 byte(s)
Diff to previous 572
fix for tooltips.

Revision 572 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 5 10:56:50 2000 UTC (14 years, 4 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 34217 byte(s)
Diff to previous 418
added tooltip capabilities for items in the tree. Tooltips can be set
for each item. There are automatic tool tips based on TObject::GetTitle()
for items with a valid user data pointer. However, this requires the user data
to derive from TObject. Since this can not be assumed you have to
explicitely turn on the automatic tooltip feature.

Revision 418 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 4 13:14:45 2000 UTC (14 years, 5 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 31578 byte(s)
Diff to previous 3
new methods OpenItem() and CloseItem(). OpenItem() opens an item so its
children are shown.

Revision 3 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: trunk/gui/src/TGListTree.cxx
File length: 30993 byte(s)
Copied from: branches/rdm/gui/src/TGListTree.cxx revision 2
Diff to previous 2
This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches.

Revision 2 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: branches/rdm/gui/src/TGListTree.cxx
File length: 30993 byte(s)
Initial import of ROOT into CVS

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9