Log of /trunk/gui/gui/src/TGListTree.cxx
Parent Directory
Revision
47078 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Nov 6 18:51:32 2012 UTC (2 years, 2 months ago) by
tpochep
File length: 87662 byte(s)
Diff to
previous 47077
Uff, I hope this is the last attempt to fix pixel base GUI: it looks like ascent for a font in X11 includes some additional pixels above
the maxium gluph's height. A lot of layout hints have toppad 0 because of this (?). With CoreText/Quartz 2D I do not have these additional
pixels and a lot of widgets (with text) have 2-3 pixels shifted text. Since I can not fix them all, I have to add these pixels when
calculating font metrics. This seems to fix all text buttons, check boxes, radio buttons, tooltips, tree view, etc.
Revision
47075 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Nov 6 17:10:17 2012 UTC (2 years, 2 months ago) by
tpochep
File length: 87661 byte(s)
Diff to
previous 46959
Revert last mods in TGListTree and do it in a different way - remove Cocoa specific ifdefs from DrawItemName, but also put ytext modification in ifdefs (when it's adjusted using pic sizes).
Still, outline and highlight are painted with full item's height.
Revision
46959 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Nov 1 13:20:56 2012 UTC (2 years, 2 months ago) by
tpochep
File length: 88595 byte(s)
Diff to
previous 44507
The second part of today's pixel magic: as text position is calculated font height, I have
to use font height in different DrawXXX methods + I have to use the full item height,
otherwise (as soon as FontAscent is smaller then FontHeight and smaller than image(s) height,
outline, highlight, text - everything is misplaced).
Revision
44507 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by
axel
File length: 87289 byte(s)
Diff to
previous 41891
Remove
using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.
Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.
Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.
Revision
34495 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jul 20 07:34:32 2010 UTC (4 years, 6 months ago) by
bellenot
File length: 85274 byte(s)
Diff to
previous 33907
TGToolTip:
- Use a better way of positionning tooltips when they go out of screen
- Avoid to overlap the mouse pointer when repositioning it (flickering effect!)
TGListTree:
- Slightly adjust the position of tooltips
Revision
31669 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 8 15:15:47 2009 UTC (5 years, 1 month ago) by
bellenot
File length: 85160 byte(s)
Diff to
previous 31061
- Add missing initializations (coverity)
- Fix potential memory leaks (coverity)
- Add protections against possible NULL pointers (coverity)
Revision
25229 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Aug 25 15:14:34 2008 UTC (6 years, 5 months ago) by
bellenot
File length: 84294 byte(s)
Diff to
previous 24024
From Matevz and me:
Merge changes from branches/dev/fireworks (CMS event display)
TGSplitFrame
------------
- Added Docked(TGFrame*) and Undocked(TGFrame*) signals
- Added GetUndocked() getter
TGView
------
- Added a protection against possible negative scroll values
TGTextView
----------
- Fix bottom line not being properly updated while scrolling TGTextView
- Solve a problem with vertical slider (avoid negative value when scrolling)
TGTextEdit
----------
- Fix blinking cursor on some platforms/compilers in TGTextEdit
TGToolTip
---------
- Add new constructor with global x, y position.
If neither fWindow nor fPad are set use global fX, fY that was passed from outside.
TGListTree
----------
DeleteItem/Children() - for list-tree in stand-alone mode set below-mouse/current item to zero before deleting the item; remove corresponding comments.
TGSplitter
----------
- Add option to handle frame resizing externally.
TGPack
------
New Container class for vertical and horizontal grouping of frames. It enforces a predictable resizing behaviour on children.
Revision
22941 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 2 11:47:16 2008 UTC (6 years, 9 months ago) by
antcheva
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 84516 byte(s)
Diff to
previous 22939
From Bertrand:
- Remove item outlining when the mouse leaves the list tree
P.S. from me: this fixes the ambiguity for having two different (highlighted
and outlined) items when the mouse pointer leaves the list tree window.
Revision
22539 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Mar 8 14:36:37 2008 UTC (6 years, 10 months ago) by
rdm
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 83549 byte(s)
Diff to
previous 21502
From Alja, Bertrand & Matevz: merged branches/dev/fireworks 21757:22514.
This includes:
- development for event-displays of ALICE and CMS since 5.18 in eve/,
gl/ and gui/;
- many new tutorials and demos for eve/;
- fix in TQObject to support class-signals from all base-classes.
Revision
21502 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 19 17:33:27 2007 UTC (7 years, 1 month ago) by
brun
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 78058 byte(s)
Diff to
previous 20933
From Bertrand and matevz:
- Use TObjString for drag and drop to be able to specify full
pathname (and not rely on gSystem->WorkingDirectory()).
- Changed the way TGListTree handles drag and drop, to not rely
on gSystem->WorkingDirectory(), but use TObjString set in
TGFileBrowser instead.
- Added data member fOwnsData in TGListTreeItem, to specify
if fUserData member has to be deleted in the destructor
(to avoid memory leaks)
- Added corresponding argument in:
TGListTreeItem::SetUserData(void *userData, Bool_t own=kFALSE)
being kFALSE by default for backward compatibility
This allows to drag and drop from any directory, whithout to have to cd() in
it...
This also fixes some issues encountered with AliEVE
Revision
20909 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Nov 20 09:24:44 2007 UTC (7 years, 2 months ago) by
antcheva
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 77201 byte(s)
Diff to
previous 20882
From Bertrand:
ImplementED drag & drop in TGListTree
Simple example of how to use it:
// add an item in a list tree
TGListTreeItem *itm = fListTree->AddItem(item,fname,pic,pic);
// to set this item as a DND source:
itm->SetDNDSource(kTRUE);
// to set this item as a DND target:
itm->SetDNDTarget(kTRUE);
Changes:
In class TGListTreeItem:
New data member Int_t fDNDState with its setters and getters:
SetDNDSource(), SetDNDTarget(), IsDNDSource(), IsDNDTarget()
In class TGListTree:
New data members:
TBufferFile *fBuf; // buffer used for Drag and Drop
TDNDdata fDNDData; // Drag and Drop data
Atom_t *fDNDTypeList; // handles DND types
TGListTreeItem *fDropItem; // item on which DND is over
New methods:
HandleDNDdrop(), HandleDNDposition(), HandleDNDenter()
HandleDNDleave(), GetDNDdata()
New signal method: DataDropped(TGListTreeItem *item, TDNDdata *data);
Revision
20673 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Nov 6 11:31:56 2007 UTC (7 years, 2 months ago) by
brun
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 71746 byte(s)
Diff to
previous 20184
From Bertrand:
Improvements in check boxes handling in TGListTree
- Added fCheckMode member.
Can be one of the following values:
kSimple: check only the selected item
kRecursive: recursively check children
by default kSimple is used.
To change the behaviour, use:
TGListTree::SetCheckMode(ECheckMode mode)
- Improved the update of the list tree item
status (checked/unchecked/greyed)
Revision
20184 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Oct 2 16:25:54 2007 UTC (7 years, 3 months ago) by
antcheva
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 70744 byte(s)
Diff to
previous 20095
Added following new methods (requested by LHCb):
TGListTreeItem
o CheckAllChildren(Bool_t state = kTRUE) - set the state of this TGListTreeItem and all its children (if any) as checked if state=kTRUE (default behavior); or unchecked if state=kFALSE.
o CheckChildren(TGListTreeItem *item, Bool_t state) - helper method
TGListTree class
o GetChecked(TList *checked) - add the item text of all checked list tree items as TObjString into the list 'checked'. This list is not adopted and must be deleted by the user later.
Example:
TList *mylist = new TList();
fListTree->GetChecked(mylist);
...
mylist->Delete();
delete mylist;
o GetCheckedChildren(TList *checked, TGListTreeItem *item) - helper method
o CheckAllChildren(TGListTreeItem *item, Bool_t state) - check all child items of 'item' and 'item' itself according to the state value: kTRUE means check all, kFALSE - uncheck all.
Example:
TGListTreeItem *it;
it = fLTree->FindChildByName(fLTree->GetFirstItem(),"P1D");
fLTree->CheckAllChildren(it, kFALSE);
// or users can use
it->CheckAllChildren(kFALSE);
Revision
19751 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Sep 3 11:54:02 2007 UTC (7 years, 4 months ago) by
antcheva
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 68211 byte(s)
Diff to
previous 19717
From Bertrand:
There is a problem of Focus being kept by TGListTree once one clicked on
a TGListTreeItem, as reported by Matevz in Alice Event Viewer (EVE).
This patch fixes the problem.
FYI, key navigation is still possible with mouse over the TGListTree
(the focus will not be kept after clicking in the list tree)
Revision
19717 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Aug 29 07:16:10 2007 UTC (7 years, 4 months ago) by
antcheva
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 68282 byte(s)
Diff to
previous 19705
From Valeriy O. and Bertrand:
this patches intend to fix creation of pixmap
with very large sizes. It happens when list tree or
list view resized to width = 0. In this case in
TGViewPort::HandleConfigureNotify(Event_t *event)
event->fWidth has very large value. i.e. > 65000
Protections added against such cases.
Revision
19671 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Aug 23 13:56:19 2007 UTC (7 years, 5 months ago) by
antcheva
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 68124 byte(s)
Diff to
previous 19665
From Valeriy Onuchin:
Fixed side effect of previous patch seen after the following steps
(thanks to Matevz for his report):
1) run $ROOTSYS/tutorials/geom/geomAlice_itsv.C
2) in ROOT Browser window open Geometry then ALIC_1 items
3) click on item check-box (check-box status has been changed,
but list tree is not redrawn)
4) resize browser window (list tree shows correctly the check-box status)
Revision
19665 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Aug 22 08:50:02 2007 UTC (7 years, 5 months ago) by
antcheva
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 68164 byte(s)
Diff to
previous 19656
From Valeriy Onuchin (tested by Bertrand):
o TGLayoutManager::IsModified method was overloaded.
This method is used to indicate that sub frames
changed/unchanged their positions/sizes after layout.
For example, in some cases positions&sizes of sub frames
can be unchanged after calling Layout method
(e.g. for TGTileLayout manager).
TGLayoutManager::IsModified will return kFALSE.
o TGListBox.h,cxx, TGCanvas.h,cxx, TGListTree.h,cxx,
TGListView.h,cxx
- new painting technique was implemented:
1. repaint only exposed/dirty regions.
Previously the whole view port (or even container frame)
was repainted.
2. use double-buffering (using back plane pixmap) during
repainting.
That allows to eliminate flickering during resizing,
scrolling, exposing/overlapping.
- several bugs were fixed:
o keyboard navigation in list view, list box, list tree
o resizing columns (details view) in list view
when horizontal scroll bar not in zero position.
o in list view (details view) buttons were moved when
it was resized.
o extra unnecessary repainting in list view, list tree
were removed.
o probably I missed something to mention .
o TGScrollBar
- bug fix: increment value was reset to 1 after button release.
- do not redraw scroll button if it's width/height was unchanged.
That reduces flickering
Revision
15849 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 26 13:36:44 2006 UTC (8 years, 6 months ago) by
rdm
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 67393 byte(s)
Diff to
previous 15831
Instead of providing default implementations for copy ctor's and assignment
operators we better make them private (and not implemented) to avoid people
from accidentally using them. Especially the collections classes and the
TQObject derived classes. In these classes the default implementations would
cause havoc due to multiple deletions of the same objects and other
potential memory corruptions.
Revision
15672 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jul 3 16:10:46 2006 UTC (8 years, 6 months ago) by
brun
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 70683 byte(s)
Diff to
previous 15472
from Axel:
Change the signature of SavePrimitive from
void SavePrimitive(ofstream &out, Option_t *option);
to
void SavePrimitive(ostream &out, Option_t *option = "");
With this change one can do, eg
myhist.SavePrimitive(std::cout);
WARNING: do rm -f tree/src/*.o
Revision
15471 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 19 14:02:27 2006 UTC (8 years, 7 months ago) by
antcheva
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 70681 byte(s)
Diff to
previous 15201
- TGListTree::SavePrimitive saves the entire list tree structure
- new methods:
TGListTree::SaveChildren for saving chil items in a list tree structure
TGListTreeItem::SavePrimitive for saving list tree item specific attributes
Revision
15191 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun May 28 20:08:00 2006 UTC (8 years, 7 months ago) by
brun
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 66473 byte(s)
Diff to
previous 15173
From valeriy Onuchine:
- TImage, TASImage
o Change return type of Vectorize method from "void" to "Double_t*".
o Implement FromWindow method under X11. This method allows to
create "snapshot image" from any ROOT window or frame.
- config/Makefile.depend
Add dependency of libGuiBld lib on libGraf.
GuiBuilder uses internally TImage/TASImage class.
- GX11Gui.cxx
X11 error handler was slightly modified.
Many X11 errors lead to freezing X11 server and
did not allow debugging.
To prevent freezing, a "forced seg.violation" was added
to the error handler.
The usage of the new "feature" is the following:
0. run "gdb root.exe"
1. set "gDebug = (int)gVirtualX" - that activates the new error handling.
2. run application which has X11 errors.
On X11 error the application was stopped by the "forced seg.violation".
3. "gdb>bt" - backtrace the problem.
!!! A big list of changes in libGui initiated by gui builder development !!!
- TGButton.h, TGButton.cxx
TGButton class:
o SetDown methods removed from context menu.
o SetEnabled method of context menu changed to TOGGLE.
Setting fWidgetFlags was added.
- TGTextButton class
o GetNormGC(), GetFontStruct() methods are introduced.
o SetFont removed from context menu.
o ChangeText(const char *title) was introduced and added to context menu.
o fixed an error in SetFont method which set font globally instead of
locally.
o SavePrimitive - save text justification
- TGPictureButton
o added getter method GetDisabledPicture()
- TGCanvas
o added to GuiBuilder widgets palette.
- TGColorDialog
o new methods:
- TGColorPalette *GetPalette(),
- TGColorPalette *GetCustomPalette(),
- void SetCurrentColor(Pixel_t col)
o new signal:
- void ColorSelected(Pixel_t)
o new parameter added to contructor "Bool_t wait".
If "wait" is kTRUE, "gClient->WaitForUnmap" is called internally
(normal/old usage). If "wait" is kFALSE - "gClient->WaitForUnmap"
should be called by user.
o few "usefull" colors added to "custom" palette.
- TGColorSelect
o added to GuiBuilder widgets palette.
- TGComboBox
o new methods:
- SortByName - allows to sort combobox entries by names.
- SetEnabled, IsEnabled.
- TGFontDialog was rewritten.
o Previous version worked under win32 only,
now it works on X11 also.
It allows to select any font available on the system.
o new parameter added to contructor "Bool_t wait".
If "wait" is kTRUE, "gClient->WaitForUnmap" is called internally
(normal/old usage). If "wait" is kFALSE - "gClient->WaitForUnmap"
should be called by user.
o new methods:
void SetFont(TGFont *font);
void SetColor(Pixel_t color);
void SetAlign(Int_t align);
void EnableAlign(Bool_t on = kTRUE);
void UpdateStyleSize(const char *family);
o new signals:
- FontSelected(char *font)
- AlignSelected(Int_t a)
- ColorSelected(Pixel_t c)
- TGFrame
o unused static member fgContextMenu removed.
- TGCompositeFrame
o TGCompositeFrame::SetEditDisabled modified. It is used for setting
fEditDisableXX attribute during gui buildind.
o ChangeSubframesBackground helper method was introduced.
- TGGroupFrame
o SetTextFont, SetTextColor methods were corrected for
"local" changing of the font.
- TGWindow
o kEditDisableKeyEnable added to EEditMode enum.
If this flag is set - window can handle keyboard events during gui
building.
- TGLabel
o new methods:
- GetNormGC, GetFontStruct
o fixed bugs in setting label's "local" text font.
o SavePrimitive - saving text justification added.
- TGListBox
o new methods:
- SortByName - allow to sort listbox entries by names.
- new auxilary/internal class TGLBFrameElement created.
It's used for ascending/descending sort of list box entries.
o reimplemented methods:
ChangeBackground, Layout, GetDefaultWidth
o disable changing layout manager in SetLayoutManager method.
Layout manager is not used for layout of list box.
- TGIcon
o SetImagePath method was corrected.
- TGScrollBarElement
o new methods:
- SetEnabled, IsEnabled. These methods are used in enabling/disabling
TGNumberEntry objects.
- TGScrollBar
o new getter methods:
- GetHead, GetTail, GetSlider
o new signals:
- PositionChanged, RangeChanged, PageSizeChanged
o ChangeBackground was reimplemented.
- TGShutter
o new methods:
- AddPage, RemovePage, RenamePage
o new signal Selected.
o disable changing layout manager in SetLayoutManager method.
Layout manager is not used for layout.
- TGView
o disable changing layout manager by SetLayoutManager method.
Layout manager is not used for layout.
o ChangeBackground(Pixel_t col) method added which changes background
color only of the canvas frame.
- TGNumberEntry
o more options added to context menu.
- TGProgressBar
o new getter/setter methods:
- GetBarColor, GetNormGC, GetFontStruct, SetForegroundColor.
- TGTab
o disable SetEditDisabled method to avoid changing "edit disable
attribute".
- TGTextEdit, TGTextView, TGView
o fixed bug - "character replace" mode didn't work
o setting insert mode added to context menu.
o setting "read only" mode added to context menu.
o new method which enable/disable "popup menu for edit actions" added.
o few corrections to SavePrimitive method.
- TGTextEntry
o guibuilder specific code was removed.
- TGuiBuilder.h, TGuiBldAction
o possibility to set picture for context menu entry added.
- treeviewer/inc/TSessionViewer.h
o forward declaration of TContextMenu class added.
Revision
15134 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by
brun
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 66024 byte(s)
Diff to
previous 14604
From Federico Carminati:
"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."
Revision
14580 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 7 08:43:59 2006 UTC (8 years, 9 months ago) by
brun
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 62809 byte(s)
Diff to
previous 13292
From Matevz Tadel:
Introduce a new set of classes dedicated to event visualisation.
TGLObject: base-class for direct GL renderers
TAttBBox: interface, helps maintain/calculate bounding-box
needed for TGLObject (see TPointSet3D and TPointSet3DGL)
TPointSet3D: a demo class for direct GL rendering
TPointSet3DGL:
Mods in existing classes to interface the new classes
Revision
13292 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Nov 21 00:25:38 2005 UTC (9 years, 2 months ago) by
rdm
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 61447 byte(s)
Diff to
previous 13278
From Bertrand:
- added comments in TGMdi classes.
- added comments in TGColorSelect and TGColorDialog classes.
- added comments in TGFontDialog classes.
- changes in all these classes to make rulechecker happy.
- added a new member / option in TGListTree allowing to disable
item opening on doubleclick.
Revision
12658 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Sep 5 14:21:53 2005 UTC (9 years, 4 months ago) by
rdm
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 59632 byte(s)
Diff to
previous 12247
from Bertrand:
add new check box feature to TGListTree widget. This option allows checkboxes
on the tree nodes to turn on/off pieces of the tree hierarchy. Used in the
ROOT browser to toggle visibility of geometries.
In TGListTree see for example the new methods:
void CheckItem(TGListTreeItem *item, Bool_t check = kTRUE);
void SetCheckBox(TGListTreeItem *item, Bool_t on = kTRUE);
void ToggleItem(TGListTreeItem *item);
void Checked(TObject *obj, Bool_t check); //*SIGNAL*
and the checkbox option in:
AddItem(..., Bool_t checkbox);
Revision
12247 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jul 5 12:36:07 2005 UTC (9 years, 6 months ago) by
brun
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 51919 byte(s)
Diff to
previous 12204
From valeriy Onuchin:
- new class TImagePlugin is introduced;
To add possibility to read/write new image format one needs to create
a derived class and to override two methods:
virtual unsigned char *ReadFile(const char *filename, UInt_t &w,UInt_t &h)
virtual Bool_t WriteFile(const char *filename, unsigned char *argb,
UInt_t w, UInt_t h)
... and to specify it in the root resource file:
Plugin.TImagePlugin: ps TASPluginGS ASPluginGS "TASPluginGS(const char*)"
the name of plugin file extension DLL containing an implementation of
TImagePlugin subclass
- new class TASImagePlugin that is a subclass of TImagePlugin with ASImage
specific implementations;
- new class TASPluginGS - an image plugin class that allows to create images from
PS/EPS/PDF files and to display them in TCanvas/TPad. In addition, it allows to
browse PS/EPS/PDF files with the ROOT browser.
New files:
asimage/inc/LinkDefGS.h
asimage/inc/TASImagePlugin.h
asimage/inc/TASPluginGS.h
asimage/src/TASPluginGS.cxx
graf/inc/TImagePlugin.h
icons/pdf.xpm
icons/tb_find.xpm
libAfterImage.tar.gz
- TROOT.h
o new data member fClipboard and corresponding getter GetClipboard();
TSeqCollection *fClipboard; //List of clipboard objects;
- TGFrame
o embedded frames resized correctly now.
- TGCanvas
o several useful methods made public
- TGListBox, TGComboBox
o new method FindEntry(const char *s) added which returns entry by name
- TGMdiMainFrame, TGMdiDecorFrame
o fix bug which changed text color globally
o add displaying scroll bars when mdi frame is moved out of mdi
canvas viewport
- TGTextEdit/TGView, guitest
o added processing of:
2-clicks - selects a word
3-clicks - selects a line
4-clicks - selects the whole text
o change the key handling
Ctrl-F - invokes Search dialog
Ctrl-L - invokes Goto line dialog
Correspondent changes added to guitest.C and guitest.cxx (TextEdit test)
o readonly mode added
- TGSearchDialog
o Text entry was replaced by "text entry" combobox. It allows to
"remember" a history of entered search strings.
o new static method TGSearchDialog *&gDialog() introduced. It returns
a global search dialog.
o Search method - display warning message box when object is not found
- TRootBrowser, mime.types
o possibility to browse PS/EPS/PDF fies added
o possibility to browse text files added. The content of text file
appears in "icon box" window (a la netscape)
o "Search" tool bar button added. It activates the "search dialog" for
searching a specified icon or text when a text file is browsed.
- TGuiBldEditor.
o fix bug which changed text color globally
Revision
10904 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jan 12 18:39:30 2005 UTC (10 years ago) by
brun
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 51216 byte(s)
Diff to
previous 10393
From Valeriy Onuchin:
- new concept of "pseudo-window" introduced.
pseudo-window - is an object inherited from TGWindow which
is not created by window system (X11 or M$ Windows).
It does not consume window system resouces.
The main use-case of pseudo-windows is GUI containers
with very large number of items. For example, listviews, listboxes,
where listview/listbox items/entries are pseudo-windows.
Pseudo-window has "window id" equal to zero.
In order to "activate pseudo-window concept" the parent should
have fIsMapSubwindows dat member to be kFALSE.
So, it's backward compatible, setting fIsMapSubwindows=kTRUE in parent window
will activate normal behavior, i.e. will be created in window system.
Introduction of "pseudo-window concept" forced the changes in
TGX11, TGWin32 classes to avoid TVirtualX methods execution when
"window id" is NULL (the case of pseudo-window).
Introduction of pseudo-windows which do not consume window system resouces
greately improved performance of TGListView, TGListBox, TGComboBox objects.
Now it's possible to have these containers with more than 10000 items.
- some optimization in TGLBContainer drawing
- add SetWindowName to most GUI classes. It's very usefull for GUI debugging.
Revision
10393 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 22 15:21:19 2004 UTC (10 years, 3 months ago) by
rdm
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 51177 byte(s)
Diff to
previous 8233
From Valeriy:
- now TGViewPort Cleanup method deletes container frame.
- protect TGListBox against double deletion during hierarchical cleaning.
- minor mod in TGListTree. ClassImpQ is obsolete.
- protect TGLVEntry against double deletion during hierarchical cleaning.
- protect TRootEmbededCanvas against double deletion during hierarchical
cleaning.
- protect TRootCanavs against double deletion during hierarchical cleaning.
- TGFontDialog. SetCleanup(kDeepCleanup) aka hierarchical cleaning is used
in destructor.
No segv. occured. That means all frames inside TGFontDialog are
"consistent with hierarchical cleaning".
Now TRootEmbededCanvas deleted without segv. during gui building.
- now TGuiBldQuickHandler is placed centered on parent when map_raised.
- TGuiBldDragManager. Double click on editable frame invokes resize/compact
action of the main-editable frame.
Revision
8233 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Feb 18 20:13:43 2004 UTC (10 years, 11 months ago) by
brun
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 51177 byte(s)
Diff to
previous 7746
The following mega patch is from Ilka. She has integrated and further
developed the original classes from Marek Biskup (summer student last year)..
Valeriy Onuchin has also contributed by extending/adapting existing
GUI classes.
Very first prototype of the new pad editor is available for testing and
feedbacks. It was started by Marek Biskup as his project during the
Summer Student Program 2003.
The new pad editor helps ROOT GUI to become closer to the well known
application GUIs; to be user friendly, having easier and faster access
to the ROOT graphics, to be more intuitive. It is embedded in the
TCanvas window every canvas has an editor.
The editor frame is on the left side of the canvas window. The user can
show it via Edit/Editor menu selection. The editor frame contains a set
of picture buttons for selecting well known graphical primitives for
drawing; below them there are widgets for attribute changing. When an
object is selected its name appears with a set of options available for
changing: fill style and color; line style, width and color; text font,
size and style; marker style, size and color.
New Classes:
TGFontTypeComboBox - a combo box with fonts for a choice;
TGLineWidthComboBox - a combo box with line widths;
TGLineWidthLBEntry - list box entry for different line widths
TGLineStyleComboBox - a combo box with line styles;
TGLineStyleLBEntry - list box entry for a line style
TGedEditor - the new editor containing tool-box and attribute frames of
the selected object;
TGedToolBox - frame with picture buttons for a primitive drawing
TGedAttFrame - a base class for all attribute frames
TGedAttNameFrame - a frame showing the selected object name (if exists)
TGedAttFillFrame - a frame showing the fill attributes
TGedAttLineFrame - a frame showing the line attributes
TGedAttTextFrame - a frame showing the text attributes
TGedAttMarkerFrame - a frame showing the marker attributes
TGedPatternFrame - popup window for fill pattern selection
TGedPatternSelector - a button for pattern selection
TGedSelect - service class for selecting
TGedPopup - service class for popup attribute window
TGPatternSelect - a button for selected pattern
TGedMarkerPopup - popup window for marker selection
TGedMarkerSelect - a button for selected marker
Several changes are made in TCanvas, TPad, TRootCanvas to adapt them for
the new GUI interface. The old GUI interface is kept and it can be used
too. The class TPadEditorOld provides its functionality.
Revision
7520 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Nov 5 13:08:26 2003 UTC (11 years, 2 months ago) by
rdm
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 51156 byte(s)
Diff to
previous 7425
From Ilka:
Any ROOT GUI can now be saved as a macro. Executing this macro brings back
the current GUI (minus the action handling). This very important development
allows to get easily the source for any GUI, which can then be inspected or
used to create other GUI's. Also this will allow a GUI builder to save and
restore GUI's.
To save the source of a GUI use the methods TGMainFrame::SaveSource() or
TGTransientFrame::SaveSource(), where the latter saves the source for dialogs.
To trigger the saving of any GUI just use ctrl-s.
Revision
7425 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 10 11:20:23 2003 UTC (11 years, 3 months ago) by
brun
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 50075 byte(s)
Diff to
previous 7062
From Valeriy Onuchin:
- KeyPressed signal and correspondent SendMessage added
to TGListTree and TGContainer classes
That will allow to add user defined key-handling
procedures to ROOT browser (request from Olivier Stezowski)
- follow-ups after TGStatusBar yesterday changes:
TGStatusBar is derived now from TGHorizontalFrame
Revision
7042 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Aug 6 09:42:57 2003 UTC (11 years, 5 months ago) by
brun
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 48635 byte(s)
Diff to
previous 7037
From Valeriy Onuchin:
- small mod added to make possible to
search over directories (check list dir from guitest)
It's not clear for the moment how to implement it in more general way
- addition to guiviewer.cxx
// exit program on close window
Connect("CloseWindow()","TApplication",gApplication,"Terminate(=0)");
Revision
6663 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed May 28 11:55:32 2003 UTC (11 years, 8 months ago) by
rdm
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 48531 byte(s)
Diff to
previous 5985
major changes in the resource management of the GUI classes. Introduced the
new class TGResourcePool which loads and keeps track of the 3 main resource
pools: fonts, picture and graphics contexts. Fonts are now handled via the
new TGFont class (and TGFontPool). In the past the loading of these resources
was done in TGClient and required all GUI classes to have TGClient as friend
to have their global statics initialized by TGClient. Adding a new widget
required TGClient.cxx to be changed too. This was obviously not good.
In addition it is now possible to find the full definition of the original
resource back based on a resource handle (GContext_t or FontStruct_t yielding
a TGGC or TGFont) which is needed for the SavePrimitive() functionality.
The resource pool can be found via TGClient (e.g. gClient->GetResourcePool()).
To see all active graphics contexts, fonts and pictures do:
gClient->GetResourcePool()->GetGCPool()->Print()
gClient->GetResourcePool()->GetFontPool()->Print()
gClient->GetResourcePool()->GetPicturePool()->Print()
For more examples see the widget source code.
These changes are largely backward compatible except maybe for some low
level 3rd party widgets that use some TGFrame internals. In these cases
the following sed command will patch the code:
sed -e "s/fgBlackGC()/GetBlackGC()()/g" \
-e "s/fgWhiteGC()/GetWhiteGC()()/g" \
-e "s/fgHilightGC()/GetHilightGC()()/g" \
-e "s/fgShadowGC()/GetShadowGC()()/g" \
-e "s/fgBckgndGC()/GetBckgndGC()()/g" \
widget.cxx > widget.cxx.new
Revision
5717 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Dec 2 18:50:12 2002 UTC (12 years, 1 month ago) by
rdm
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 49171 byte(s)
Diff to
previous 5680
mega patch to remove almost all compiler warnings on MacOS X where the
compiler is by default in pedantic mode (LHCb also like to use this option).
The following issues have been fixed:
- removal of unused arguments
- comparison between signed and unsigned integers
- not calling of base class copy ctor in copy ctor's
To be done, the TGeo classes where we get still many hundred warnings of
the above nature. List forwarded to Andrei.
Revision
5413 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Oct 10 17:09:06 2002 UTC (12 years, 3 months ago) by
rdm
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 47344 byte(s)
Diff to
previous 4439
widget improvements by Valeriy Onuchin. In particular the TGListTree
should now be able to handle very large tree's (not limited anymore by
the bitmap size). Added key navigation options to TGListTree and some
new signals.
Revision
572 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Sep 5 10:56:50 2000 UTC (14 years, 4 months ago) by
rdm
Original Path:
trunk/gui/src/TGListTree.cxx
File length: 34217 byte(s)
Diff to
previous 418
added tooltip capabilities for items in the tree. Tooltips can be set
for each item. There are automatic tool tips based on TObject::GetTitle()
for items with a valid user data pointer. However, this requires the user data
to derive from TObject. Since this can not be assumed you have to
explicitely turn on the automatic tooltip feature.
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.