[root] / trunk / graf2d / gpad / src / TInspectCanvas.cxx Repository:
ViewVC logotype

Log of /trunk/graf2d/gpad/src/TInspectCanvas.cxx

Parent Directory Parent Directory


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

Revision 42670 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 17 14:11:14 2012 UTC (3 years ago) by couet
File length: 13419 byte(s)
Diff to previous 41310
Fix coverity reports NULL_RETURNS

Revision 41310 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 10 15:07:20 2011 UTC (3 years, 3 months ago) by couet
File length: 13369 byte(s)
Diff to previous 40307
Fix coverity report #33650

Revision 40307 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jul 20 07:06:16 2011 UTC (3 years, 6 months ago) by couet
File length: 13338 byte(s)
Diff to previous 36264
From Bertrand: 
- Make sure the inspector canvas background is white.

Revision 36264 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 11 07:15:16 2010 UTC (4 years, 3 months ago) by brun
File length: 13298 byte(s)
Diff to previous 36263
use snprintf

Revision 36263 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 11 07:13:22 2010 UTC (4 years, 3 months ago) by brun
File length: 13270 byte(s)
Diff to previous 35527
use strlcat. coverity CID 13655

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: 13257 byte(s)
Diff to previous 35504
do not include snprintf.h

Revision 35504 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 21 06:56:53 2010 UTC (4 years, 4 months ago) by brun
File length: 13279 byte(s)
Diff to previous 35475
Fix calls to strlcpy

Revision 35475 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 20 18:04:46 2010 UTC (4 years, 4 months ago) by brun
File length: 13347 byte(s)
Diff to previous 35456
Replace calls to strncpy by strlcpy

Revision 35456 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 20 13:22:35 2010 UTC (4 years, 4 months ago) by brun
File length: 13347 byte(s)
Diff to previous 35454
Fix a compilation warning

Revision 35454 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 20 13:16:31 2010 UTC (4 years, 4 months ago) by brun
File length: 13333 byte(s)
Diff to previous 23140
Fix strncpy calls

Revision 23140 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 11 11:01:39 2008 UTC (6 years, 9 months ago) by rdm
File length: 13170 byte(s)
Diff to previous 20882
move the following directories to "graf2d":

asimage, freetype, gpad, graf, postscript, qt, win32gdk, x11, x11ttf

move the following directories to "graf3d":

eve, ftgl, g3d, gl, x3d

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/gpad/src/TInspectCanvas.cxx
File length: 13170 byte(s)
Diff to previous 19826
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 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/gpad/src/TInspectCanvas.cxx
File length: 13170 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/gpad/src/TInspectCanvas.cxx
File length: 13228 byte(s)
Diff to previous 17236
remove :$ from tag line

Revision 17236 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 19 16:25:23 2006 UTC (8 years, 1 month ago) by couet
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13238 byte(s)
Diff to previous 13322
- In the construtor, set fLogx and fLogy to kFALSE, in some case (during
  an "Inspect" procedure) they might be equal to kTRUE which produced a
  completly screwed up output.

Revision 13322 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 23 11:03:12 2005 UTC (9 years, 2 months ago) by couet
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13136 byte(s)
Diff to previous 12525
- Last fixes in gpad for the coding conventions.

Revision 12525 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 23 17:00:41 2005 UTC (9 years, 5 months ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13581 byte(s)
Diff to previous 11034
From Bertrand:
Added several protections in TGXXX class constructors,
used when browsing ROOT classes.

Revision 11034 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 4 07:57:27 2005 UTC (9 years, 11 months ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13550 byte(s)
Diff to previous 10938
In TInspectCanvas::Inspector do not set the bit kMustCleanup for
the inspected object.
In the TInspectcanvas destructor do not delete the objects in the list
of objects in the inspector. Deleting objects with the kCanDelete bit set
had side-effects for objects in the stack.

Revision 10938 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 18 11:06:11 2005 UTC (10 years ago) by rdm
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13515 byte(s)
Diff to previous 10937
fBits is UInt_t printf format was still %lx -> %x.

Revision 10937 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 17 19:37:40 2005 UTC (10 years ago) by rdm
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13519 byte(s)
Diff to previous 10936
another small correction in printing fBits in hex (add leading 0's).

Revision 10936 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 17 16:26:41 2005 UTC (10 years ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13541 byte(s)
Diff to previous 10924
From Olivier:
- The hexadecimal value printed in Inspect and Dump for fBits was not the
  correct one. (Fixed by Otto Schaile)

Revision 10924 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 14 15:08:57 2005 UTC (10 years ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13537 byte(s)
Diff to previous 10602
From Olivier:
- The TObject's data member "fBits" is now printed in hexadecimal mode by
  Inspect() and Dump().

Revision 10602 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 23 15:49:22 2004 UTC (10 years, 2 months ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13247 byte(s)
Diff to previous 8077
Increase size of a local array in TInspectCanvas::InspectObject

Revision 8077 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 29 11:57:58 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13246 byte(s)
Diff to previous 8076
Replace non portable snprintf by strncpy

Revision 8076 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 29 11:20:12 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13297 byte(s)
Diff to previous 7899
Add several protections when processing keys with very long names
or inspecting objects with very long names or titles

Revision 7899 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 13 14:35:25 2004 UTC (11 years ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13265 byte(s)
Diff to previous 7880
Protection in case a pointer TClass* is null (thanks Ilka, Valeriy)

Revision 7880 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 10 10:52:31 2004 UTC (11 years ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 13259 byte(s)
Diff to previous 5250
From Philippe:

This mega patch introduces a new implementation of the STL I/O
which is backward and forward compatible.  In addition this is more
exactly a new implementation or an extension of the container I/O.

We are introducing a new abstract interface:
"TVirtualContainerProxy", which can be implemented to present a
proxy to any collection which the I/O (and TTreeFormula) can use
then transparently.

The TVirtualContainerProxy interface allows to the I/O system to
request some information and to execute some essential function of
the container:
   what kind of object/data does it contain
   does it contain pointers
   how to insert data into the container
   how to retrieve an array of pointer to the elements inside
   how to create a collection object
   how to clear the collection
   how to resize the collection
   how to streamer the collection (if needed)
   how to calculate the sizeof the collection
   how to calculate the number of elements of the collection.

Using those primitives, the I/O and TTreeFormula should be able to
access any collection.   The I/O should also be able to handle the
splitting of collections that can be split (i.e. contains a single
type of object/data).

The current compromise selected between code duplication,
performance of the I/O of TClonesArray and vector of pointers and
the performance of the I/O of other containers, was to have on
function handle all collection as if they were a C-style array of
pointers to data.  This implies for example that the I/O of vector
of object current passes via the construction of temporary array
of pointer.  The cost of this construction is usually ~Qjust~R the
cost of calculating the addresses of the elements and assigning it
to an array element.

Registering a collection proxy will be similar to
     static int dummy = GenerateInitInstance((CollectType*)0x0)-
>AdoptCollectionProxy(new CollectTypeProxy));

Follows a few details on the modifications made to some of the
files and classes.

Bytes.h:
   Work around a problem in the MSVC++ 6.0 optimizer.  This should
not affect other compilers.

String:
   Included the std::string dictionary into G__Base2.cxx, this
insures its presence at all time.
   Added a new file string.cxx holding the streamer for
std::string.

RConfig.h
   Added proper ansi stream configuration for AIX, KCC
   Added template specialization defect for MSVC

TBrowser
   Start adding the ability to browser non TObject classes

TBuffer
   To handle the reading and writing array of objects, added:
     Int_t    CheckByteCount(UInt_t startpos, UInt_t bcnt, const
TClass *clss, const char* classname);
     Int_t    CheckByteCount(UInt_t startpos, UInt_t bcnt, const
char *classname);
     void     ReadFastArray(void  *start , TClass *cl, Int_t n=1,
TMemberStreamer *s=0);
     void     ReadFastArray(void **startp, TClass *cl, Int_t n=1,
Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0);
     void     WriteFastArray(void  *start,  TClass *cl, Int_t n=1,
TMemberStreamer *s=0);
     Int_t    WriteFastArray(void **startp, TClass *cl, Int_t n=1,
Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0);

TROOT
   Enhancement to make the access to gROOT not dependent for the
library loading order.  In particular we added:
      ROOT::GetROOT()
   which should be used instead of gROOT.

   Improve support for STL.  In particular, now STL containers do
have a corresponding TClass object


TRealData
   Replace SetStreamer by AdoptStreamer that allow to use not only
a streamer function but also streamer object (allowing streamer
with a state for Foreign classes)

TString:
   Improve streamer performance

TSystem:
   More consistency of the return value of TSystem::CompileMacro

build/unix/makecintdlls.sh
   Stop making the string.dll

config:
   enhance sgicc makefiles

cont:
   fix TBits::operator=
   TClassTable now warns for duplicate only for non stl classes
   TClonesArray fix a typo

gpad:
   Add a new class TInspectObject to enable inspect non TObject
classes
   TRootBrowser : enable inspect non TObject classes

TFormula/TTreeFormula
   To enhance performance switch from using one array fOper which
contained the operation code and its arguments to using 2 arrays
fActions and fActionParams to store respectively the operation and
its parameters.
   A new function Convert is used to convert old version from the
fOper to fActions.  This allows cleaner coding and offer
optimization opportunities.

TTreePlayer
   Start adding support in MakeClass for STL containers.

TRint/TProofServ
   Insure the loading of the string support

Event.cxx
   make sure to avoid memory over-write

stress.cxx
   Add new parameters
      stress <nevent> <style> <subbench> <portion>
   if <subbench> is 1 or higher, print the benchmark results after
each test.  This allows understand
   which test is affect by a performance change.
   portion is a binary field to indicate which test to run.  This
allows to focus on a particular test.

TVirtualCollectionProxy
   Abstract interface used to access any type of containers from
the I/O system and TTreeFormula. See TVectorProxy and
TEmulatedVectorProxy for examples.

TEmulatedVectorProxy
   Implementation of a std::vector proxy to be able to read a
std::vector without any libraries.

TVectorProxy
   Implementation of TVirtualCollectionProxy for a std::vector for
which we have the library.

TStreamerInfo.cxx
   Split in 3 files:  TStreamerInfo.cxx
TStreamerInfoReadBuffer.cxx TStreamerInfoWriteBuffer.cxx

   All the ReadBuffer, ReadBufferClones and the new ReadBufferSTL
(similarly for  WriteBuffer) have been factorized into one
function and 2 short wrappers.  The new main function expect an
array of pointer to the objects (this array is most often of size
one).

   TClonesArray objects pass GetObjectRef(0) to the common
ReadBuffer
   vector<bla*> v pass &(v[0])
   vector<bla> needs to create an intermediary array to hold the
address

   This mechanism is sometimes not optimal (vector<blah>) but
allows extremely flexibly and extension.  Basically, to add
support for a new container type using the StreamerInfo mechanism
(in particular allows splitting), one 'just' need to implement a
TVirtualCollectionProxy, which, in particular, will return an
array of address to the object it contains.  Even std::map can be
handled with this mechanism, since, for I/O purposes, it can be
consider as a container of pairs.

   Add a few optimization, including more caching via a new array
of a new struct (fComp).

   Fixed a problem (re)introduced while implementing the Foreign
class CheckSum.  Doing:
      class Event;
      f = new TFile("Event.root");
   resulted in errors.

TCint
   Add proper support for TClass of STL containers. Fix a memory
leak.
   Add support for load TClass via a typedef.
   Fix a problem with multiple inheritance

TClass
   Fixed a problem (re)introduced while implementing the Foreign
class CheckSum.  Doing:
      class Event;
      f = new TFile("Event.root");
   resulted in errors.
   Add a

TClass/TGenericClassInfo/TDataMember
   Add support for a new interface (TVirtualCollectionProxy)
useable for STL containers or any user defined containers.
   Add support for streamer with are objects (as opposed to free
standing function or methods).  This allows the user a greater
flexibility in writing a streamer.
   Add a few optimizations
   Add CanSplit to answer the question for a whole Class (for
example some collection can not be splitted).

TClassStreamer
   New class to wrap a class wide streamer

ClassStreamerFunc_t
   typedef for a class wide streamer function

TMemberStreamer
   New class to wrap a specific class member streamer

MemberStreamerFunc_t
   typedef for  a specific class member streamer function

RootStreamer
   Macro to specify a free standing streamer object or function
for a class
   For example:
      RootStreamer(string,std_string_streamer);

TStreamerElement:
   A couple of optimization/simplification.
   Add support for the new STL I/O
   Extend the useful

TBranchElement:
   add a connection to the proper TVirtualCollectionProxy
   add support for STL containers (non-split and split mode)

TTree
   Make the function TTree::GetMakeClass NON-virtual for better
efficiency
   Add support for STL containers

TBasket
   Left (in comment) a yet unproved improvement proposed by
Victor.  The preliminary tests were inconclusive performance wise
and it had (seemingly) problem with backward and forward
compatibility.

TBranch
   Performance improvements

metautils
   This is a new package for C++ files shared between rootcint and
meta.
   It contains TClassEdit a class to help determine some property
of a class given its class name (stl, template, etc).

utils
   Introduced a new file RStl.cxx to start separating rootcint in
modules.
   Modified rootcint to support the new STL I/O methods.
   In particular a new class RStl is in charge of doing the
generating of code for STL containers.

Revision 5250 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 10 13:36:32 2002 UTC (12 years, 4 months ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 11418 byte(s)
Diff to previous 5249
reintroduce previous version

Revision 5249 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 10 13:17:42 2002 UTC (12 years, 4 months ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 11579 byte(s)
Diff to previous 3262
Patch from Olivier to support SVG at the same level as Postscript.

Revision 3262 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 20 15:00:30 2001 UTC (13 years, 2 months ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 11419 byte(s)
Diff to previous 2498
In the function Inspector, pass the object being inspected to BuildRealData.
This solves a problem when inspecting objects that are singletons.

Revision 2498 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jul 1 08:29:45 2001 UTC (13 years, 6 months ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 11415 byte(s)
Diff to previous 610
Mark TLink objects with bit TLink::kIsStarStar when a data member is a pointer ** or ***, etc

Revision 610 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 8 16:05:22 2000 UTC (14 years, 4 months ago) by rdm
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 11249 byte(s)
Diff to previous 608
collections don't have anymore the concept of parent (should not have been
introduced in the first place). All changes relate to the removal of the
parent in the TList ctor.

Revision 608 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 8 07:41:01 2000 UTC (14 years, 4 months ago) by brun
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 11254 byte(s)
Diff to previous 539
Several classes modified to :
 - take into account the renaming of kObjInCanvas to kMustCleanup
 - the introduction of FindObject instead of GetPrimitive

Revision 539 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 30 16:55:14 2000 UTC (14 years, 4 months ago) by rdm
Original Path: trunk/gpad/src/TInspectCanvas.cxx
File length: 11258 byte(s)
Diff to previous 3
changed window title to: "ROOT Object Inspector". Was "The Canvas inspector"
which was confusing since it was not inspecting the Canvas.

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/gpad/src/TInspectCanvas.cxx
File length: 11195 byte(s)
Copied from: branches/rdm/gpad/src/TInspectCanvas.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/gpad/src/TInspectCanvas.cxx
File length: 11195 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