Log of /trunk/gui/gui/src/TRootCanvas.cxx
Parent Directory
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: 66687 byte(s)
Diff to
previous 44173
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
44170 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 8 09:06:34 2012 UTC (2 years, 8 months ago) by
tpochep
File length: 66624 byte(s)
Diff to
previous 42790
TRootCanvas: when "Colors" selected from the "View" menu,
color wheel object creates a canvas (step 1), appends itself
into this canvas (step 2). This code relies on the fact, that
all events (configure/expose/etc) will be received _after_ step 2
and canvas will be eventually repainted later. This is not true in case
of cocoa: window is created and made visible on step 1, it's repainted
after step 1 and before step 2, so any contents added after step 2
will become visible only after gPad->Update() call (BTW, this is how it's
done in TRootCanvas for "View"->"Markers".
Call gPad->Update(), do not rely on X11 specific (events in a queue at the end
of event loop iteration).
Revision
42790 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jan 25 13:28:42 2012 UTC (2 years, 11 months ago) by
bellenot
File length: 66340 byte(s)
Diff to
previous 42630
Stay in the current (working) directory when using "File -> Save as..." from a canvas or from a text editor (as the file dialog changes the current directory). This solves the bug #90474: When savin a TCanvas from Canvas Window the current working directory in python shell get's changed (https://savannah.cern.ch/bugs/?90474)
Revision
42460 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Dec 12 08:36:29 2011 UTC (3 years, 1 month ago) by
bellenot
File length: 66196 byte(s)
Diff to
previous 41267
Add a check for the case where the canvas is embedded (e.g. in the browser), then the layout of the main frame has to be re-applied when showing/hiding the editor
Revision
29408 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jul 9 10:20:29 2009 UTC (5 years, 6 months ago) by
bellenot
File length: 65676 byte(s)
Diff to
previous 29403
Add a special case for displaying tooltip information:
if the string returned by GetObjectInfo begins with
'-' display only the object info
Revision
29403 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jul 9 07:17:16 2009 UTC (5 years, 6 months ago) by
brun
File length: 65354 byte(s)
Diff to
previous 28464
From Bertrand:
Implement tooltip displaying information about the primitive below the mouse pointer in a canvas.
It is possible to enable/disable this optional feature with the "Tooltip info" menu entry from the "View" menu of the canvas.
To change the default behaviour (off by default), a new option has been added in system.rootrc:
Canvas.ShowToolTips: false
Revision
26760 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 9 15:56:43 2008 UTC (6 years, 1 month ago) by
brun
File length: 62593 byte(s)
Diff to
previous 26370
From Axel, Matevz and me:
Added several methods to be able to properly generate pictures from macros (for html):
- Added Bool_t HasViewer3D() to TVirtualPad/TPad
- Added Bool_t HasEditor() HasMenuBar() HasStatusBar() HasToolBar() to TCanvasImp /TRootCanvas
Revision
26370 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Nov 21 20:24:09 2008 UTC (6 years, 2 months ago) by
brun
File length: 61699 byte(s)
Diff to
previous 26358
From Bertrand:
- TFitEditor.cxx: Fix Windows compilation warning C4138: '*/' found outside of comment
- TRootCanvas.cxx: pass correct pointer to TVirtualPad as argument to handler->ExecPlugin() (used as first argument in TFitEditor constructor) instead of a pointer to TRootCanvas
Revision
25603 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Sep 30 07:58:03 2008 UTC (6 years, 3 months ago) by
bellenot
File length: 60967 byte(s)
Diff to
previous 23115
- From Katerina Opocenska and me:
TRecorder classes provide interface for recording and replaying
events in ROOT.
Recorded events are:
- Commands typed by user in command line (e.g. 'new TCanvas')
- GUI events (mouse movement, button clicks, ...)
All the recorded events from one session are stored in one TFile
and can be replayed again anytime.
- Added icons needed by TGRecorder
- Modifications in TRootCanvas menu:
Renamed "Inspect" menu title to "Tools"
Added "Event Recorder" menu entry
Revision
20411 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 19 12:37:58 2007 UTC (7 years, 3 months ago) by
rdm
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 60433 byte(s)
Diff to
previous 19826
remove conditional around include of RConfigure.h:
#ifdef R__HAVE_CONFIG
#include "RConfigure.h"
#endif
Having this conditional caused RConfigure.h to be missing from the .d
files and hence these files would not be recompiled after re-configuring
using --prefix.
Revision
18620 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Apr 29 07:06:48 2007 UTC (7 years, 8 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 60701 byte(s)
Diff to
previous 18557
From Bertrand:
- Allow to drag and drop any object that has a default constructor
(required by TBufferFile) but is not a TFolder and not a TClass
(to avoid dragging ROOT class from list of classes) from TBrowser.
- Added check (obj->IsA()->GetMethodAllAny("Draw")) in method
HandleDNDdrop() of TRootCanvas and TRootEmbeddedCanvas
before calling obj->Draw().
Revision
18536 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 19 21:07:02 2007 UTC (7 years, 9 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 59575 byte(s)
Diff to
previous 18240
From Bertrand:
Added drag and drop support for Linux (Xdnd) and Windows (Clipboard).
It is now possible to drag an histogram (or any other graphical object)
from an opened file in TBrowser to any TCanvas.
It is also possible to drag a text file from TBrowser to a TGTextView
or TGTextEdit widget (i.e. in TGTextEditor).
On Linux, it is even possible to drag from a Root application to another
one, or to drag a text file (i.e. a macro) from the ROOT browser to an
external editor (i.e. Kate).
On Windows, drag and drop only works within the same ROOT application
(for the time being).
Revision
16796 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Nov 16 17:18:32 2006 UTC (8 years, 2 months ago) by
rdm
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 57615 byte(s)
Diff to
previous 16518
Changes to get rid of the config.h and HAVE_CONFIG define. These were way
too trivial (just do a locate config.h to see how many there are):
- replace occurances of config.h by RConfigure.h
- add #warning in config.h that is should not be used
- change HAVE_CONFIG to R__HAVE_CONFIG
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/TRootCanvas.cxx
File length: 57711 byte(s)
Diff to
previous 15215
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
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/TRootCanvas.cxx
File length: 57764 byte(s)
Diff to
previous 15181
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
14871 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 28 08:32:35 2006 UTC (8 years, 8 months ago) by
antcheva
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 57822 byte(s)
Diff to
previous 14703
From Olivier:
- Modification in HandleContainerKey to handle the ESC key. When changing
interactively graphics on a canvas it is possible to cancel the ongoing
change by pressing ESC. This modification allows to immediately cancel,
before releasing the left mouse button. This behavior is agreement with
many windows manager and popular tools like power-point.
Revision
14703 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 14 17:54:11 2006 UTC (8 years, 9 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 57609 byte(s)
Diff to
previous 14630
From Valeriy Onuchin:
- TGClient.
Two getter methods GetWaitForEvent(), GetWaitForWindow() introduced.
New method ResetWaitFor(TGWindow *w) allows to interrupt
WaitForUnmap, WaitForDestroy event loops.
- TGComboBox
minory mods
- TRootBrowser, TRootCanavas
more protection against editting was added
Revision
14203 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Mar 8 21:09:43 2006 UTC (8 years, 10 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 57234 byte(s)
Diff to
previous 13993
From Timur Pocheptsov:
-TGLPixmap - removed and replaced by TGLViewer (most of the TGLViewer
functionality is available in pad now);
-TGLHistPainter - zooming/panning added for legoes/surfaces;
-TGLViewerEditor - TGLViewer's editor for pad (lights/clipping/guides
manipulation).
-TRootCanvas :
minor changes to support mouse wheel event in gl viewer in a pad
-TCanvas :
a)changes to process keyboard events correctly
b)changes to process mouse will events
-TVirtualViewer3D :
changes in interface for TGLManager (win32 implementation of TGLManager
requires some functions and cannot be dependant from TGLViewer)
-Added class TVirtualGLManipulator - base for TGLManip - again, required
mostly by TGWin32GL.
Revision
13812 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jan 10 09:24:59 2006 UTC (9 years ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 56853 byte(s)
Diff to
previous 13631
From Ilka:
removes hard-coded ".pdf" print output format in
TRootCanvas::PrintCanvas(). Users have the possibility to specify the print output
file format in .rootrc file by:
Print.FileType ps
The print file format by default is ".pdf".
Revision
12688 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Sep 8 14:22:17 2005 UTC (9 years, 4 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 57040 byte(s)
Diff to
previous 12536
From Ilka & Denis:
The Style Manager handles a list of styles in the ROOT session. It loads by
default the five styles provided by ROOT: Default, Plain, Bold, Video, and
Pub. If this list does not contain a style with the characteristics you
want, you can create a new one and than apply it.
The Style Manager interface is composed of two parts:
- the top level interface that manages a list of styles;
- the style editor, which deals with the current style settings.
The combo box 'Available Styles' contains the list of available styles for
the current ROOT session and the currently selected one. The field on the
right shows the setting of the gStyle. You can set the global variable
gStyle to the selected style by the button in the middle.
The group frame 'Apply on' displays information for the currently selected
canvas and object in the ROOT session. This selection might be changed by
clicking on another object with the middle mouse button. You have a choice
to apply the selected style on the selected object or on all available
canvases. WARNING: You cannot undo the changes after applying the style! If
you are not sure of that action, it may be better to see a preview of what
you are going to apply.\n"
If the check button 'Preview' is selected, a preview of the selected canvas
according to the selected style will be shown. The selection of the next
check button 'Run Time Preview' will apply updates of the preview any time a
value of the selected style is changed. For drawings that take a time it is
better to disable this option.
Create a new style / delete a style:
You can access these functionalities via the menu or the tool bar. If you
create a style, a clone of the selected style will be created; you will have
the opportunity to modify it later via the editor. Moreover, during the
creation process, you will be asked for a name and a description for your
brand new style. The name can obviously not be the same as another already
existing style. When you choose 'delete', the selected style is removed from
the ROOT session. The selected style will be lost if you didn't saved it in
a C++ macro file before.
Export a style (in a C++ macro file) / Import a style (from a macro):
To store a style longer than for one session of ROOT or in order to share
some styles with others, you can save it in a C++ macro file. This can be
done via the menu and the tool bar. The selected style will be saved. The
name of the macro must be 'Style_*.C', where * can be replaced by anything
you want. A style macro can be imported at any time. The new imported style
in ROOT will become the selected one.
Apply a style (on an object) / Import a style (from an object):
There is a specific button to apply a style on an object and its use has
already been described in the overview. To import a style from a canvas,
choose the 'Style / Import from... / Canvas' menu or the corresponding Tool
bar button. A new style will be created in the ROOT session and will become
the selected one. This style is a clone of gStyle where every style's
information contained in the selected canvas (the canvas containing the
current selected pad) is written. You can consequently import a style from a
canvas and apply it later on another object.
Preview a style:
The predicted result when applying a style can be seen if the 'Preview'
check button is selected. The preview includes the original canvas.
Editor's buttons:
Open / close the editor:\n"
The button 'Edit >>' opens the style editor. Its label changes to 'Close
<<'. For all details of what can be changed and how please see the provided
Help on the right of the Style Manager menu bar.
Reset a style (to a previously saved state):
When the editor is opened, in the bottom of the main window of the style
manager, a 'Reset' button enables you to reset the values of the selected
style. So doing, you cancel all changes made since the last time you saved
that style in a macro file. If the selected style is one of the five
predefined styles of ROOT (Plain, Bold, Video, Pub or Default), it will be
reset using the specific code in the ROOT files.
Update the preview:
The button 'Update Preview' is available when a preview is shown and the run
time option is disabled. This button allows you to refresh the preview and
to see how the edited style looks like.
Revision
12536 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Aug 25 16:38:43 2005 UTC (9 years, 5 months ago) by
rdm
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 56544 byte(s)
Diff to
previous 12525
From Ilka:
fixes in the TRootCanvas (side effects of recent code changes):
- keeping the canvas height when showing/hiding the dockable tool bar
and the status bar
- View/Toolbar menu does not switch off the toolbar if it is undocked
(it remains on screen)
- editor frame width changed to avoid the horizontal scrollbar appearance
Revision
12518 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Aug 19 09:46:37 2005 UTC (9 years, 5 months ago) by
rdm
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 54968 byte(s)
Diff to
previous 12503
From Ilka:
The attached patch fixes memory leaks caused by the method
TGMainFrame::SetIconPixmap following way:
- changed method signature to (the backward compatibility is kept)
const TGPicture *TGMainFrame::SetIconPixmap(const char *iconName);
- added new data members cost TGPicture* fIconPic for TRootCanvas,
TRootBrowser, TRootGuiBuilder classes that allow the icon picture to
be freed in the destructors
- code changes for fixing the memory leaks in TRootCanvas, TRootBrowser
and TRootGuiBuilder.
Revision
12503 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Aug 18 11:12:59 2005 UTC (9 years, 5 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 54908 byte(s)
Diff to
previous 12008
From Timur:
Add a new member to TStyle
Bool_t fCanvasPreferGL; //if true, rendering in canvas is with GL
and the corresponding Get/set functions:
Bool_t GetCanvasPreferGL() const {return fCanvasPreferGL;}
void SetCanvasPreferGL(Bool_t prefer = kTRUE) {fCanvasPreferGL=prefer;}
Changes to enable gl-in-pad. 1.You should type
gStyle->SetCanvasPreferGL(kTRUE) to turn on GL support.
2. Do not try to use at the same time gl-viewer and gl-in-pad :)) -
do not work at the moment.
3. GL-in-pad can be used with g3d and geom now (not with hists, polylines
or polymarkers, composite shapes do not work).
4. You can rotate scene, zoom (with J,K and context menu), select :
TGLPixmap (viewer) - interesting only with context menu item
Pad under viewer - you can change color of pad (==3d scene background)
Object from the scene (g3d node or geom volume). For selected object
you can change the color (geom volumes, when selected, higlight
themselves)
5. In case of complex geometry the selection is very slow now (will be fixed
soon)
6. IMPORTANT! TGLPixmap is only a temporary testing facility, will be
replaced ASAP.
7. IMPORTANT! this new stuff is unstable :)
Revision
12008 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 10 07:02:44 2005 UTC (9 years, 7 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 53946 byte(s)
Diff to
previous 11995
From Ilka:
This patch provides the following changes in TRootCanvas.cxx - the tool bar window
title shows the title of the corresponding canvas window when it is undocked. This helps
users to identify which one corresponds to which canvas in the case of several opened
canvases in a root session.
Revision
11995 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 8 17:05:56 2005 UTC (9 years, 7 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 53870 byte(s)
Diff to
previous 11912
From Valeriy Onuchin:
- TRootCanvas. Canvas toolbar made dockable.
Canvas tool bar is created dynamically now - only when "View
Toolbar" option is choosen from canvas "View" menu. This minimizes
ressources allocation and speed-up a the canvas creation time.
- TRootGuiBuilder - correction for parent window of guibuilder toolbar.
- fix segv. occured when TGDockableFrame was deleted at undocked state.
Revision
11795 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun May 15 07:30:17 2005 UTC (9 years, 8 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 53018 byte(s)
Diff to
previous 11773
From Valeriy Onuchin:
- TASImage, TRootBrowser, TGMimeTypes.cxx
The size of image thumbnail was enlarged from 32x32 to 64x64 pixels.
Appearance of picture thumbnails was much improved.
- TGPicture. Fix possible buffer overflow in HashName method.
- TRootCanvas. Possibility to save canvas in XCF format added.
This format is used in the GIMP (image processing program).
In general the new method of dynamical creation of object's icon can be
extended for any kind of objects.
Revision
11773 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 12 12:07:07 2005 UTC (9 years, 8 months ago) by
rdm
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 52904 byte(s)
Diff to
previous 11660
From Ilka:
Last changes in TRootCanvas (cvs log: - do not delete TRootCanvas on
"File->Quit ROOT" action when TApplication::SetReturnFromRun() is kTRUE)
need some modifications related to the editor interface. If the global
editor is activated in some cases root hangs after File /Quit ROOT
displaying the message:
Error in <RootX11ErrorHandler>: BadDrawable (invalid Pixmap or Window
parameter) (XID: 23069152, XREQ: 62)
Revision
11660 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Apr 23 10:55:07 2005 UTC (9 years, 9 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 52718 byte(s)
Diff to
previous 11356
From Valeriy Onuchin:
- do not delete TRootCanvas on "File->Quit ROOT" action
when TApplication::SetReturnFromRun() is kTRUE.
- TCanvas::Closed signal added which is emitted when canvas is closed by
either destructor or by "window close button".
Revision
11356 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Mar 16 17:18:13 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 52682 byte(s)
Diff to
previous 11303
From Richard Maunder:
More fixes to the external viewer creation/closedown. We now:
i) Always call Modified() and Update() we create an external viewer 3D
(non-pad tyep - x3d or ogl) so that an externally spwaned viewer is
painted automcatically when created. For an internal TViewer3DPad we
asssume this was
ii) No longer paint the pad when the external viewer is closed. This
leaves the pad blank - but this is preferable to causing a double redraw
of the pad as the external viewer is closed - very slow....
This all needs to be revisited as part of supporting multiple viewers
properly on the pad.
Revision
11272 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Mar 9 18:19:27 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 52682 byte(s)
Diff to
previous 11221
From Richard Maunder:
Changes to viewer infrastructure (TBuffer3D,TVirtualViewer3D) to
support:
i) Proper shape specific (sphere, tube, etc) descriptions in TBuffer3D
derived classes - c.f. abuse of raw tesselation blocks before.
ii) On demand filling of buffer sections as required by viewer.
iii) Support for local/master frame shapes descriptions & child object
rejection.
iv) Template/placed shapes ids - enabling viewer to detect/receive
common shapes once and just obtain the new position and id of the
duplicate.
Cleans up all producer (g3d/geom) code so no longer has an viewer
specific knowledge - Paint() methods replaced with
GetBuffer3D/FillBuffer3D methods which complete requested sections of
the buffer.
All viewer specific code now sits on the viewer implementation side of
TVirtualViewer3D. Added a TViewer3DPad class for performing the 3D draws
into pad. In future this should be merged with TView/TView3D possibly.
TBuffer3D is now stripped of functional code (aside from memory
management) and various viewer passback options there previously.
Enforced one way passing a const & to viewer.
Buffers (various types) are held as single static inside producer
function e.g. TGeoShape::GetBuffer3D (c.f. single generic buffer type
fetched from pad previously).
For g3d and geom shapes the top level geometry painter (TNode /
TGeoPainter) controlls painting process, requesting shapes to fill
buffer and passing to 3D viewer.
Exceptions are g3d's TPolyLine3D, TPolyMarker3D & TMarker3DBox. These
are 'standalone' shapes - no controlling 'painter' object. They still
implement Paint(), fill buffer and add to viewer directly.
3D viewer still held / created by pad - and pad has it's own viewer
object (TViewer3DPad).
NOTE:
1. Current scheme supports one 3D viewer only - pad, x3d or OpenGL. This
means that pad goes blank when x3d/OGL is spawned, and is updated again
when it is closed. To be revisited - need to support multiple viewers,
of multiple types - which implies explicit naming or pad controlling
enumeration.
2. OGL viewer now responds correct to modifications in pad, without
having to be reinvoked (as previously). x3d is still decoupled (as
previously) so does not rebuild - too difficult to get working.
Revision
11221 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Mar 3 22:06:49 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 52665 byte(s)
Diff to
previous 11142
From Ilka:
TVirtualPadEditor.h, cxx
- new methids IsGlobal(), SetGlobal()
- setting of globel editor in Show() method
TGedEditor.h, cxx
- new data member:Bool_t fGlobal; //true if editor is global
- new methods: IsGlobal(), SetGlobal(), SetCanvas(), GetCanvas(),
DisconnectEditors()
TRootCanvas.cxx
- code changes that allow only one editor (embedded or global) to be activated
per canvas
- activating the global editor via the context menu of another canvas will
connect this canvas to it and will close the embedded editor if it was opened
- the global editor works for any embedded canvas
Revision
11142 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Feb 18 09:26:54 2005 UTC (9 years, 11 months ago) by
rdm
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 52294 byte(s)
Diff to
previous 11021
Frol Ilka:
class TGFileInfo:
- a new data member: Bool_t fOverwrite (if true overwrite the file with
existing name on save without the confirmation message)
class TGFileDialog:
- added a new data member TGCheckButton *fOverWR for setting file
overwriting on/off via the GUI; setting the check box ON will
suppress the confirmation message for overwriting an existing file;
the user choice is saved for the next time the Save dialog is shown
- layout changes
- code cleaning
Revision
10783 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 15 09:27:48 2004 UTC (10 years, 1 month ago) by
rdm
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 51933 byte(s)
Diff to
previous 10749
From Ilka:
enable the Print command in the TCanvas File menu via a proper
print dialog. The user can specify his prefered print command and
printer via the new Print.Command and Print.Printer rootrc resources.
Examples are provided in system.rootrc.
Revision
10695 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 7 01:38:14 2004 UTC (10 years, 1 month ago) by
rdm
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 50429 byte(s)
Diff to
previous 10675
From Ilka:
- reduced the number of entries in the Save menu
- fix in SaveAs allowing to save all supported file types
From me:
- if no file type extension is given the currently selected file type
extension is appended to the filename.
Revision
10675 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Dec 3 12:07:44 2004 UTC (10 years, 1 month ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 50530 byte(s)
Diff to
previous 10558
From Ilka:
fix of bug #2582. The changes are:
base/inc/TVirtualPadEditor.h,cxx
- the signature of GetPadEditor method
- new method Terminate() via which the global editor is closed
ged/src/TGedEditor.cxx
- fixes in Hide and RecursiveRemove methods
gui/src/TRootCanvas.cxx
- fix in dtor: deletion of fEditor has nothing to do with MustCleanup;
this caused double deletion in some cases
- close of the global editor in case it was activated
tutorials/guitest.C
- close of the global editor in case it was activated via embedded
canvas context menu
Revision
10558 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Nov 18 15:52:17 2004 UTC (10 years, 2 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 50188 byte(s)
Diff to
previous 10402
From Ilka:
changes that provide scroll bars for the object editors:
TGedEditor.h,.cxx
- new data member: TGCanvas *fCan
- set the name of editor window 'canvasname_Editor'
TRootCanvas.cxx
- minor layout changes required by the scroll bar appearance
Revision
10402 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Oct 25 12:06:50 2004 UTC (10 years, 3 months ago) by
rdm
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 50199 byte(s)
Diff to
previous 10393
From Valeriy:
- TGFrame::MustCleanup now returns Int_t value (was Bool_t).
Backward compatible.
- Int_t TGWindow::MustCleanup method added.
- TGTextButton dtor. Checking added. If kDeepCleanup is on call
of GetMainFrame() gave segv.
- in TGMainFrame handing Ctrl-S it was not possible to save macro
in other directory than the current.
- The same fix as above for ROOT GuiBuilder. Thanks to
Christian Stratova for reporting it.
- TGMdiDecorFrame now using hierarchical cleaning. That fixes
many memory leaks and improves robustness of GuiBuilder.
- TRootCanvas/TRootEmbeddedCanvas - disable swithching to
editable mode (canvas became black after that) for container frame.
- Gui Builder highlights any plain composite frame under pointer.
Protection added that highlighted frame exists and is a ROOT frame.
- improvements in TGuiBldQuickHandler. Sometimes it gave segv.
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/TRootCanvas.cxx
File length: 50166 byte(s)
Diff to
previous 10364
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
10358 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Oct 19 17:13:28 2004 UTC (10 years, 3 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 49654 byte(s)
Diff to
previous 10315
From Valeriy Onuchin:
- SetImage(Pixmap_t pxm), SetImage(const TGPicture *pic) added to TImage, TASImage classes
- added possibility to save canvas in xpm, jpeg, png, tiff formats
- set correct default value in TGSlider, TGHSlider, TGVSlider ctors.
- correction in handling Ctrl-S key by TRootGuiBuilder
Revision
10277 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Oct 11 16:25:10 2004 UTC (10 years, 3 months ago) by
rdm
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 48754 byte(s)
Diff to
previous 10234
From Valeriy:
- disable activation of editing when GuiBuillder is not initialized.
- disable editing TRootContainer in TRootCanvas.
- disable editing of buttons in TGNumberEntry.
- use Cleanup method in TGNumberEntry destructor.
Revision
10062 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Sep 15 14:56:35 2004 UTC (10 years, 4 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 48406 byte(s)
Diff to
previous 10005
From Ilka and Carsten:
ged/*/TGedFrame.h,cxx
- a pointer to the parent tab fTab added as a new data member
- deactivate/activate additional tab in the method TGedFrame::SetActive()
gpad/src/TUtilPad.cxx
- in TUtilPad::DrawPanel invoke the new editor with GUI interface by
Carsten when fgPanelVersion > 0
gui/src/TRootCanvas.cxx
- reintroduced lines in CreateEditor() method for showing the old editor
Revision
9665 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Aug 3 16:01:19 2004 UTC (10 years, 5 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 48320 byte(s)
Diff to
previous 9510
From Olivier, Timur Pocheptsov , Andrei Gheata and Rene
Mega patch to introduce the new 3-d interface (to be described later).
The new interface has been tested with both X3D and OpenGL under Linux.
Being tested under Windows.
Note that several changes are expected in these classes (OpenGL in particular)
in the coming days.
Revision
8847 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon May 10 12:09:45 2004 UTC (10 years, 8 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 47669 byte(s)
Diff to
previous 8818
From Valeriy Onuchin:
- thread safe technique introduced for TCanvas::Update, TCanvas::Resize
methods, i.e. use gInterpreter->Execute.
These mods should improve robustness of win32gdk version and remove
platform dependency of TRootCanvas.
Revision
8655 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 22 16:28:29 2004 UTC (10 years, 9 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 48780 byte(s)
Diff to
previous 8503
Mega patch from Ilka:
base/inc/TAttAxis.h
~ SetTitleSize default value was wrong
ged/inc/LinkDef.h
~ included the new classes:
TGedAttAxisFrame,
TGedAttAxisTitle,
TGedAttAxisLabel
ged/inc/TGedAttFrame.h, cxx
~ add comments on data members
~ new classes:
TGedAttAxisFrame - axis attribute frame
TGedAttAxisTitle - axis title attribute frame
TGedAttAxisLabel - axis label attribute frame
~ layout hints changed mostly everywhere to gain space for axis
attribute widgets in the editor window
~ code cleaning
~ added comments everywhere
~ new methods in class TGedAttFrame: ExecuteChar(), Update()
ged/inc/TGedEditor.h, cxx
~ removed fToolBox data member
~ changes required by removing of fToolBox
ged/inc/TGedPropertyFrame.h, cxx
~ added three new property farmes
~ the number of property frames is set via kNPropertyFrames
~ added axis, axis title, axis label attribute frames
ged/src/TGedToolBox.cxx
~ changes in: layout manager and button names
gpad/inc/TCanvas.h, cxx
~ new data members: fSelectedX, fSelectedY keeping the (X,Y)
of selected object + corresponding getters
~ removed '!' from the comments of fShowToolBar, fShowEditor
~ changed class version from 4 to 5
~ changes in SaveSource to save the status of toolbar and pad
editor in .C macro
gui/inc/TGNumberEntry.h, cxx
~ new signal ValueSet() needed by pad editor
gui/inc/TRootCanvas.h, cxx
~ new data members:
fFileSaveMenu // save cascade submenu
fEditClearMenu // clear cascade submenu
fViewWithMenu // view with... cascade submenu
~ menu reorganization
~ keeping the canvas size when showing the pad editor
~ moving the canvas scroll bars according to the (X,Y) of
selected object to make it visible
~ draw primitive buttons added to the tool bar
Revision
8503 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 26 13:00:39 2004 UTC (10 years, 10 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 41745 byte(s)
Diff to
previous 8309
From Valeriy Onuchin:
- More fixes for TGWin32::GrabKey method.
I also added
gVirtualX->SetInputFocus(GetMainFrame()->GetId());
to TRootContainer::HandleButton. That will make easy "Ctrl-S" for TCanvas
Back to "case-un-sensitive Ctrl-S problem"
http://www.xfree86.org/4.3.0/XGrabKey.3.html says:
"The keyboard is not grabbed and the specified key (which can itself be a modifier key)
is logically pressed when the specified modifier keys are logically down, and no other modifier keys are logically down"
Revision
8280 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Feb 20 16:30:49 2004 UTC (10 years, 11 months ago) by
rdm
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 41494 byte(s)
Diff to
previous 8278
fix to avoid confusion between embedded editor and editor in dialog.
Each TCanvas (i.e. via TRootCanvas) own its editor obtained via
TVirtualPadEditor::LoadEditor(). However, there is only one editor dialog
for the entire application, which is referenced via
TVirtualPadEditor::GetPadEditor() (using the fgPadEditor static member).
Clicking the WM close button on this dialog does not delete, but just hide
the dialog for later use. Assigning an object to be edited by the editor in
the dialog is not yet fully functional.
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/TRootCanvas.cxx
File length: 41298 byte(s)
Diff to
previous 8199
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
8089 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jan 30 02:28:40 2004 UTC (10 years, 11 months ago) by
rdm
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 37549 byte(s)
Diff to
previous 8075
add #include <string> to TString.h and provide ifdef for compilers where
string is in global namespace. Also since <string> pulls in <new> we have to
define R__PLACEMENTINLINE for icc otherwise NewDelete.cxx does not compile.
Replace index() by strchr() in TClassEdit.cxx.
Revision
7637 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Nov 24 10:51:55 2003 UTC (11 years, 2 months ago) by
brun
Original Path:
trunk/gui/src/TRootCanvas.cxx
File length: 36535 byte(s)
Diff to
previous 7440
From valeriy Onuchin:
I updated several base and win32gdk classes.
The goals of these changes are:
- providing thread safety for CINT and canvas graphics
- improve perforamnce
The list of the changes.
win32gdk:
- new TGWin32Interpreter class introduced. Along with
redefinition of gInterpreter global that allows to have thread-safe
interface to CINT functions and methods.
- TGWin32Proxy class renamed to TGWin32VirtualXProxy and
modified in "not-radical way".
- TGWin32ProxyBase.cxx contains "howto create proxy class".
canvas thread-safety:
- locking methods added to TCanvasImp, TRootCanvas and TCanvas
classes. That prevents from simultanious canvas updating from
different threads.
The results:
- overall improvement of thread safety and stability of win32gdk version
- improved performance. benchmarks.C 15-20%, some cases (3D graphics)
more than 30%.
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.