Log of /trunk/gui/gui/src/TGListBox.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: 53740 byte(s)
Diff to
previous 41193
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
37717 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jan 5 15:38:02 2011 UTC (4 years ago) by
bellenot
File length: 53518 byte(s)
Diff to
previous 36119
Fix a rounding problem in TGListBox when the entries have different height. Solves the bug #76559 Last item in the TGFontTypeComboBox barely visible
Revision
34557 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jul 22 15:12:01 2010 UTC (4 years, 6 months ago) by
rdm
File length: 51984 byte(s)
Diff to
previous 33569
fix cases in ROOT code where we would truncate the TTime (to avoid the
new error messages in TTime operator long on 32-bit platforms).
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: 51749 byte(s)
Diff to
previous 29590
- Add missing initializations (coverity)
- Fix potential memory leaks (coverity)
- Add protections against possible NULL pointers (coverity)
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/TGListBox.cxx
File length: 51297 byte(s)
Diff to
previous 20882
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
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/TGListBox.cxx
File length: 51316 byte(s)
Diff to
previous 18854
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
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/TGListBox.cxx
File length: 51079 byte(s)
Diff to
previous 15231
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/TGListBox.cxx
File length: 50162 byte(s)
Diff to
previous 14814
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
14698 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 13 15:32:35 2006 UTC (8 years, 9 months ago) by
brun
Original Path:
trunk/gui/src/TGListBox.cxx
File length: 48806 byte(s)
Diff to
previous 14691
From Valeriy Onuchin:
- TGWindow
o kEditDisableBtnEnable - bit intoduced, which says
"window cannot be edited but can handle mouse button events".
Typical usage is buttons in complex widgets like
buttons in scroll bar, tab elements in TGTab etc.
- TGFrame
o SetBgndColor(const char *hexvalue) method is introduced.
This method allows to set frame background color as
hexvalue e.g. "#0c0c0c", or by color name "white", "blue" etc.
This method was added to guibuilder context menu.
- TGCompositeFrame
o TGLayoutManager *GetLayoutManager() const.
void SetLayoutManager(TGLayoutManager *l) made virtual.
That hepled to fix bugs #15, #16 fronm guibuilder bugs list.
o SetBgndColor(const char *hexvalue) is overloaded in order
to set background color for all subframes.
- TGListBox. Few methods added to context menu.
o New method NewEntry(const char *s = "Entry") -
creates new entry placed next to selected entry.
o void RemoveEntry(Int_t id = -1) - remove selected
entry/entries from listbox
o void SetBgndColor(const char *color) - overloaded to
set background color for list box entries.
o void SetMultipleSelections(Bool_t) - toggle on/off
multiple selection
o TGListBox widget was added to guibuilder widgte palette.
- TGMenu.
o new method was introduced: CheckEntryByData(void *user_data)
It allows to check/uncheck menu entry by specifying
user data associated with entry.
- TGNumberEntry. Few methods added as submemu of context menu
of guibuilder. That greatly simplifies paremeter selection.
o Set fixed height for guibuilding.
- TGScrollBars, TGSliders. Fix height for horizontal bar/slider,
fix width for vertical bar/slider when it is resized during
guibuilding.
- TGTextEntry.
o Several context menu methods are now selected via context
submenu.
o Set fixed height for guibuilding.
- TGComboBox. Changes made in order add
TGComboBox widget to guibuilder.
Revision
14691 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 13 13:02:56 2006 UTC (8 years, 9 months ago) by
antcheva
Original Path:
trunk/gui/src/TGListBox.cxx
File length: 46203 byte(s)
Diff to
previous 13872
From Olivier and me:
- added new TGLineWidthComboBox entry "None" for the case line width = 0 according to the value of the last parameter in the constructor Bool_t none = kFALSE by default (needed by TGraph's exclusion zone GUI)
- follow up changes in TGListBox class
Revision
13872 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jan 20 08:52:26 2006 UTC (9 years ago) by
antcheva
Original Path:
trunk/gui/src/TGListBox.cxx
File length: 46141 byte(s)
Diff to
previous 13278
From Bertrand:
- fixed SegV when running Spy.C and closing its window via the
Window Manager;
- re-implemented the old behavior of a TGListBox with
SetMultipleSelections(kTRUE): it is possible again to
select several items by selecting the first one and
moving the mouse while the mouse button is still pressed
(thanks to Reiner Rohlfs).
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/TGListBox.cxx
File length: 41203 byte(s)
Diff to
previous 11683
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/TGListBox.cxx
File length: 40043 byte(s)
Diff to
previous 10876
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
10876 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jan 5 09:27:15 2005 UTC (10 years ago) by
brun
Original Path:
trunk/gui/src/TGListBox.cxx
File length: 39829 byte(s)
Diff to
previous 10780
From Valeriy Onuchin:
- add "tree" option to TGWindow::Print method. Calling TGWindow::Print("tree")
prints all parents/ascended windows for this window.
- add printing ascended windows to x11 error handler.
- several fixes for listbox and combobox classes
(drawing and highliting combobox/listbox entries on pointer motion, etc. )
Thanks to Andrea Bulgarelli.
- fix in drawing, resizing TASImage reported by Reiner Rohlfs
Revision
10742 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Dec 9 17:05:41 2004 UTC (10 years, 1 month ago) by
brun
Original Path:
trunk/gui/src/TGListBox.cxx
File length: 39697 byte(s)
Diff to
previous 10726
From valeriy Onuchin:
- TGMdiMainFrame. Prevent double freeing of "current font".
- TRootGuiBuilder, TGuiBldDragManager fix for segv. occured after
creation, closing ROOT Gui Builder several times
- TGLBEntry - do not register window in fClient window list, because list box entries
(like list view entries) are "virtual frames". That's speedup performance
with large nummber of entries, e.g. 100000.
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/TGListBox.cxx
File length: 39210 byte(s)
Diff to
previous 10719
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
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/TGListBox.cxx
File length: 36654 byte(s)
Diff to
previous 10389
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
10389 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 22 07:31:58 2004 UTC (10 years, 3 months ago) by
rdm
Original Path:
trunk/gui/src/TGListBox.cxx
File length: 36652 byte(s)
Diff to
previous 10373
From Valeriy:
- TGFrame dtor, TGFrame::Cleanup I omitted a call fList->Remove(el);
That caused a lot of problems. I appologize.
- TPad::Print(".gif") - added protection against warnings when loading
libAfterImage. Typo fixed.
- added protection against double deletion in TGComboBox, TGView dtors.
- TGListBoxt::InsertEntry - correct init of TGFrameElement
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/TGListBox.cxx
File length: 36590 byte(s)
Diff to
previous 9921
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
9921 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Sep 6 14:12:51 2004 UTC (10 years, 4 months ago) by
brun
Original Path:
trunk/gui/src/TGListBox.cxx
File length: 36725 byte(s)
Diff to
previous 9415
From valeriy Onuchin:
- final fix for TGGCPool::FreeGC(const TGGC *gct).
o The statement in ged/src/TGedPatternSelect.cxx
"delete fDrawGC;" replaced by "fClient->FreeGC(fDrawGC);"
The rule is :
any TGGC allocated via TGClient::GetGC
must deallocated via TGClient::FreeGC (not by delete)
o correction in TGLineLBEntry::Update method
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/TGListBox.cxx
File length: 39699 byte(s)
Diff to
previous 7781
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/TGListBox.cxx
File length: 32587 byte(s)
Diff to
previous 6663
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
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/TGListBox.cxx
File length: 30992 byte(s)
Diff to
previous 6443
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
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/TGListBox.cxx
File length: 29195 byte(s)
Diff to
previous 545
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.