Log of /trunk/gui/gui/src/TGCanvas.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: 75286 byte(s)
Diff to
previous 44185
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
44185 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed May 9 09:00:16 2012 UTC (2 years, 8 months ago) by
tpochep
File length: 75166 byte(s)
Diff to
previous 43910
1. TGCanvas - draws anything only if exposed region is not empty and MAKES it empty,
thus constant (by nature) function modifies object's state. This makes it impossible
to paint the same widget twice by calling DoRedraw, the second time exposed region is empty.
This does not work with cocoa.
2. CreateFontCollection for a specific name always finds only 1 font, not all variations of the same font,
instead I have to request the full list every time and filter it myself.
3. TGFontDialog: connects signal/slot only for gVirtualX inherited from TGX11 (or TGX11 itself),
must also work for TGCocoa. all_sizes and all_styles variables also were set incorrectly for TGCocoa
(initialization uses check InheritsFrom("TGX11")).
Revision
43719 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 12 23:00:08 2012 UTC (2 years, 9 months ago) by
rdm
File length: 75064 byte(s)
Diff to
previous 42663
From Timur:
MacOS X native Cocoa/Quartz based backend. To build this version do:
./configure --enable-cocoa
Code is still rough but will be refined quickly for the May release.
Revision
25499 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Sep 22 19:54:46 2008 UTC (6 years, 4 months ago) by
bellenot
File length: 74182 byte(s)
Diff to
previous 25338
- Allow to search substrings in TGCanvas subframe names.
This e.g. allows to search for partial branch names
when browsing a tree with the browser. To search
substring, just put a star anywhere in the search
pattern, e.g. *Track or Track* will find all branches
with name containing the string Track.
This has been requested on the forum:
http://root.cern.ch/phpBB2/viewtopic.php?t=7312
Revision
22997 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Apr 7 07:28:45 2008 UTC (6 years, 9 months ago) by
antcheva
Original Path:
trunk/gui/src/TGCanvas.cxx
File length: 73758 byte(s)
Diff to
previous 22553
From Bertrand:
- Re-implement the rubber-band rectangle selection in TGCanvas
(i.e. for TGListView). Was lost in revision 19665
- Improve active/inactive switching during multiple selection
- Improve auto-scrolling when going out of TGCanvas boundaries
Revision
22419 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 3 00:25:01 2008 UTC (6 years, 10 months ago) by
rdm
Original Path:
trunk/gui/src/TGCanvas.cxx
File length: 72426 byte(s)
Diff to
previous 20933
From Andrew Savchenko:
ROOT can not be compiled with gcc-4.3.
Some ROOT source files doesn't contain required #include directives,
for example, they use strlen(), but #include <string.h> is missed or
malloc() is used and #include <stdlib.h> is missed.
Earlier versions of gcc allowed some headers to be included implicitly,
but issued a warning (-Wimplicit-function-declaration). Newer one,
gcc-4.3 denies such silly behaviour: all required headers must be explicitly
included.
Attached patch fixes this. Also it fixes another issue, which disallows
ROOT to compile under gcc-4.3: C functions don't belong to namespace std,
so expressions like std::memcpy() are no longer valid and plain memcpy()
should be used instead.
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/TGCanvas.cxx
File length: 72471 byte(s)
Diff to
previous 19676
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
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/TGCanvas.cxx
File length: 71924 byte(s)
Diff to
previous 18924
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
18556 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Apr 23 09:07:27 2007 UTC (7 years, 9 months ago) by
brun
Original Path:
trunk/gui/src/TGCanvas.cxx
File length: 69779 byte(s)
Diff to
previous 18542
From Bertrand:
- Improve TGLVEntry picking for Drag operation
- Use Turl for uri-list format in TGTextView::HandleDNDdrop
- Update file infos in TGTextEditor when a file has been dropped
- Change highlight color in TGTextEditor
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/TGCanvas.cxx
File length: 69733 byte(s)
Diff to
previous 18512
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
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/TGCanvas.cxx
File length: 66799 byte(s)
Diff to
previous 15844
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
15844 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jul 24 16:11:45 2006 UTC (8 years, 6 months ago) by
rdm
Original Path:
trunk/gui/src/TGCanvas.cxx
File length: 69027 byte(s)
Diff to
previous 15742
From David Gonzalez Maline and Bertrand:
A bunch of modifications in TGFileDialog (mainly user requests):
- Sort files by name and not by type anymore.
- Increased the vertical scroll size.
- Implemented multiple file selection; can be turned on/off with a
checkbox on the TGFileDialog.
Here is an example of how to use multiple selection:
TGFileInfo fi;
new TGFileDialog(fClient->GetDefaultRoot(), this, kFDOpen,&fi);
if (fi.fMultipleSelection && fi.fFileNamesList) {
TObjString *el;
TIter next(fi.fFileNamesList);
while ((el = (TObjString *) next())) {
new TFile(el->GetString(), "update");
}
}
else if (fi.fFilename) {
new TFile(fi.fFilename, "update");
}
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/TGCanvas.cxx
File length: 68683 byte(s)
Diff to
previous 15191
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/TGCanvas.cxx
File length: 68667 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
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/TGCanvas.cxx
File length: 68332 byte(s)
Diff to
previous 15103
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
15071 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed May 17 08:09:42 2006 UTC (8 years, 8 months ago) by
antcheva
Original Path:
trunk/gui/src/TGCanvas.cxx
File length: 66447 byte(s)
Diff to
previous 14812
- changes in SavePrimitive methods related to the variable names
used into the generated code. Mainly all names keep information
of its GUI class. The name 'frame' is used as a default name
for some service classes.
Revision
14480 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Mar 30 08:50:28 2006 UTC (8 years, 9 months ago) by
antcheva
Original Path:
trunk/gui/src/TGCanvas.cxx
File length: 65710 byte(s)
Diff to
previous 14449
From Bertrand and Valeriy Onuchin:
- TGGroupFrame::ChangeOptions method was introduced
which overloads TGFrame::ChangeOptions. Using
TGFrame::ChangeOptions corrupted fBorderWidth data member.
- TGFrame::SetEditable. Disable edit frame when kEditDisableLayout
bit in fEditDisabled flag is activated.
- TGCompositeFrame::SetEditDisabled.
Propagate fEditDisable flag to subframes only for cases
of kEditDisable and kEditEnable values.
- TGCanvas constructor. Set correct value of fEditDisable flag.
That allows to use TBrowser during guibuilding. The idea is to
use TBrowser as an object inspector of edited widgets.
Note by Ilka: this protection is not enough because the search dialog of
the browser, or status bar became editable when GUI builder is active.
We agreed that more protections is needed at that point.
- TGStatusBar constructors. Set correct values for fEditDisabled flag
which allows to use status bars in guibuilding.
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/TGCanvas.cxx
File length: 65319 byte(s)
Diff to
previous 10969
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
10949 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jan 18 21:07:27 2005 UTC (10 years ago) by
brun
Original Path:
trunk/gui/src/TGCanvas.cxx
File length: 64404 byte(s)
Diff to
previous 10904
From Valeriy Onuchin
- an example of usage "hierarchical cleaning" added to guitest tutorial.
- add protection to TGMenuBar dtor. for case of hierarchical cleaning.
- TGCanvas. Cleanup container in case of hierarchical cleaning.
- RootX11ErrorHandler - ignore errors for "pseudo-windows" with win ID = 0.
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/TGCanvas.cxx
File length: 64290 byte(s)
Diff to
previous 10753
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
10726 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 8 17:13:41 2004 UTC (10 years, 1 month ago) by
brun
Original Path:
trunk/gui/src/TGCanvas.cxx
File length: 64103 byte(s)
Diff to
previous 10373
From Valeriy Onuchin:
- since TGLBContainer is now derived from TGContainer, it's possible to
"reuse" key handling, e.g. arrow key navigation, "Page Up/Down", "Home/End" and
invocation of "Search Dialog" via "Ctrl-F" (usefull when one has 100000 entries in list box;-)
Revision
10373 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Oct 21 12:07:54 2004 UTC (10 years, 3 months ago) by
brun
Original Path:
trunk/gui/src/TGCanvas.cxx
File length: 62407 byte(s)
Diff to
previous 10303
From Valeriy Onuchin:
- in TGContainer::RemoveAll() - TGFrameElements were not deleted.
- in TGComposteFrame dtor. - for all frames and layout hints set frame_elements to ZERO.
- in TGComposteFrame::Cleanup - remove useless code.
- in TGComposteFrame::MapSubwindows - add sanity check.
- in TGLayoutHints::UpdateLayoutHints - small optimization.
-in TGLBContainer - TGFrameElements were not deleted.
-in TRootBrowser::RemoveAll - TGFrameElements were not deleted.
Revision
10303 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 13 12:24:08 2004 UTC (10 years, 3 months ago) by
brun
Original Path:
trunk/gui/src/TGCanvas.cxx
File length: 62384 byte(s)
Diff to
previous 8233
From Valeriy Onuchin:
- TRootEmbeddedCanvas added to GuiBuilder widgets palette
- slightly modified TRootEmbeddedCanvas::SavePrimitive to avoid name clash
- TGFrame::HandleEvent minor mod to activate guibuilding
- correct TGCanvas::MapSubwindows. Previous implementaion always mapped
scrollbars even if they must be unmapped
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/TGCanvas.cxx
File length: 62377 byte(s)
Diff to
previous 7693
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
7693 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Dec 5 01:17:03 2003 UTC (11 years, 1 month ago) by
brun
Original Path:
trunk/gui/src/TGCanvas.cxx
File length: 62356 byte(s)
Diff to
previous 7554
From Valeriy Onouchin
- flicker-free scrolling is implemented for TGContainer class.
Scrolling through listview looks much better now. One of the nice
"side effects" of solving "limited list box entries" bug.
- followups mods after solving "missing horizontal scroll bar in detailed view" bug
TGListDetailsLayout constructor modified for SavePrimitives method.
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/TGCanvas.cxx
File length: 61198 byte(s)
Diff to
previous 7433
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/TGCanvas.cxx
File length: 58394 byte(s)
Diff to
previous 7078
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
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/TGCanvas.cxx
File length: 58913 byte(s)
Diff to
previous 6603
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
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/TGCanvas.cxx
File length: 55904 byte(s)
Diff to
previous 5283
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
685 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 29 08:57:05 2000 UTC (14 years, 3 months ago) by
rdm
Original Path:
trunk/gui/src/TGCanvas.cxx
File length: 10414 byte(s)
Diff to
previous 621
many change connected with the introduction of the TGGC (graphics context)
class (all backward compatible). Also many of the static default GC's and
fontstructs are now available to the user. This can simplify code in many
places. See change in guitest.cxx.
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.