Log of /trunk/graf2d/qt/inc/TGQt.h
Parent Directory
Revision
30386 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Sep 23 19:06:28 2009 UTC (5 years, 4 months ago) by
brun
File length: 10837 byte(s)
Diff to
previous 28820
From Valeri Fine:
TGQt class:
- Introduce the new TQtTextProxy abstract interface to allow the end
user
to provide his/her own custom text handler if needed.
The "default" behavior - no TQtTextProxy is used.
- Two new methods to query the current Qt font properties:
Int_t TGQt::GetFontAscent() const
Int_t TGQt::GetFontDescent() const
TQrMarker class:
- ROOT marker rendering implementation has been moved
from TGQt to TQtMaker class
TQtSymbolCodec:
- clean up comments; remove Qt3 CPP flags.
TQtPen:
- re-implement TAttLine interface.
Add default copy ctor and "operator="
TQtBrush:
- add TAttFill interface.
TQtSymbolCodec
- add TAttFill interface
TQtWidget
- add the refresh timer to get rid of the redundant rendering.
Revision
28820 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 5 06:16:09 2009 UTC (5 years, 7 months ago) by
brun
File length: 9161 byte(s)
Diff to
previous 28205
From Valeri fine:
TGQt.cxx, TQtBrush, TQtWidget:
- remove the redundant Qt3 legacy code, optimize Qt 4.x rendering
- remove redundant Win32 CPP flags
- Provide workaround of Qt 4.5 bug "mouseMoveEvent"
(The bug was reported and registered by Nokia as "task # 255219")
TQtPadFont.cxx:
Initialize the fTextSize base class data-member.
Revision
28205 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Apr 14 19:38:00 2009 UTC (5 years, 9 months ago) by
brun
File length: 9766 byte(s)
Diff to
previous 27997
From Valeri Fine:
New patch attempting to remove warnings and support for Qt3.
line, and those below, will be ignored--
M graf2d/qt/src/TGQt.cxx
M graf2d/qt/src/TQMimeTypes.cxx
M graf2d/qt/src/TQtPadFont.cxx
M graf2d/qt/src/TQtClientGuard.cxx
M graf2d/qt/src/TQtSymbolCodec.cxx
M graf2d/qt/src/TQtApplication.cxx
M graf2d/qt/src/GQtGUI.cxx
M graf2d/qt/src/TQtTimer.cxx
M graf2d/qt/src/TQtEvent.cxx
M graf2d/qt/src/TQtMarker.cxx
M graf2d/qt/src/TQtPen.cxx
M graf2d/qt/src/TQtClientWidget.cxx
M graf2d/qt/src/TQtBrush.cxx
M graf2d/qt/src/TQtWidget.cxx
M graf2d/qt/src/TQtClientFilter.cxx
M graf2d/qt/inc/TQtClientWidget.h
M graf2d/qt/inc/TQtBrush.h
M graf2d/qt/inc/TGQt.h
M graf2d/qt/inc/TQtTimer.h
M graf2d/qt/inc/TQtEvent.h
M graf2d/qt/inc/TQtMarker.h
M graf2d/qt/inc/TQtWidget.h
M graf2d/qt/inc/TQtPadFont.h
Revision
27997 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Mar 31 05:54:17 2009 UTC (5 years, 9 months ago) by
brun
File length: 9676 byte(s)
Diff to
previous 27157
From Valeri Fine:
TGQt.cxx:
- Introduce the new "TGQt::UpdateColor" protected method
to optimize TPad (ROOT) color management.
Revision
25401 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Sep 15 15:10:56 2008 UTC (6 years, 4 months ago) by
brun
File length: 9563 byte(s)
Diff to
previous 25206
From valeri Fine:
This patches TGQt and TQtWidget classes:
- The paint engine was redesigned to meet Qt 4.4.1 constrain on Windows platforms
- Optimize the TCanvas rendering for Qt4
- Add the Qt4 include directories to the ACLiC list of the include directories, if needed
- Implement TCanvas "feed back" option with Qt4 by adding 3 local classes:
TQtPainter - to subclass the Qt4 QPainter
TQtFeedBackWidget - to render the "non-buffered" TCanvas painting
TQtToggleFeedBack - to toogle feedback mode
Revision
25206 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Aug 22 08:18:13 2008 UTC (6 years, 5 months ago) by
brun
File length: 9317 byte(s)
Diff to
previous 24506
From Valeri Fine:
This is the major patch because as soon as it is applied one can not
build the QtRoot package against Qt3 anymore. This allows to resolve
some Qt4 outstanding issues:
- TGQt class:
move the font and the line attributes handling to the separated
dedicated C++ classes, namely TQtPen and TQtFont.
Fix the race condition that leaded under certain circumstances
to 100% CPU consumption under Qt4
- new class TQtPen - to handle the line drawing ROOT attributes.
- TQtFont - correctly adjust the Qt fonts scale to
the ROOT requirements
- Improve performance of the TCanvas double buffering option
- TQtBrush - implement the ROOT transparent brush style
- TQtClientWidget - fix some background color issues
(some work still needed)
- TQtWidget - use the Qt4 "redirect" painting option to handle the
ROOT double buffering. Eliminate the confusing X11 run-time error
messages at ROOT startup.
Revision
24506 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 24 09:16:30 2008 UTC (6 years, 7 months ago) by
brun
File length: 9174 byte(s)
Diff to
previous 23251
From Valeri fine:
1. New class TQtPadFont, TGQt:
- Move the Qt font operations from the TGQt class to the new dedicated TQtPadFont
2. TQtBrush, TGQt
- No need for the special Win32 case for Qt4 to manage the ROOT fill styles
3. TQtRConfig.h
- Adjust CPP flags to built Qt layer on Mac OS with X11 version of Qt4
4. TQtWidget
- Remove the clash with Qt4 shared lib name. It fixes the ROOT context menu issue.
- Fix the logical expression bug
Revision
23140 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 11 11:01:39 2008 UTC (6 years, 9 months ago) by
rdm
File length: 9232 byte(s)
Diff to
previous 20882
move the following directories to "graf2d":
asimage, freetype, gpad, graf, postscript, qt, win32gdk, x11, x11ttf
move the following directories to "graf3d":
eve, ftgl, g3d, gl, x3d
Revision
17523 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jan 26 07:51:09 2007 UTC (7 years, 11 months ago) by
brun
Original Path:
trunk/qt/inc/TGQt.h
File length: 9272 byte(s)
Diff to
previous 17198
From Valeri Fine:
TQtSymbolCodec.h:
================
- remove the compilation warning
TGQt.cxx, TGQt.h
================
- Two new methods:
SetFileName
GetNewFileName
to generate the file names for the simple animations
- Add QTDIR to include path and lib path to build
the Qt-based applications via ACliC
- Fix to take in account the pixmap file name
may be followed by the sumbol "+NN"
TQtWidget.cxx:
=============
- Remove the CPP flags that introduced
the redundant ROOT version dependency.
- Fix to take in account the pixmap file name
may be followed by the symbol "+NN"
LinkDef.h:
===========
Add two ROOT C++ function (to be ROOT Slots):
QConnectCint
QConnectTerminate
and the new class
TQtRootSlot
to the ROOT dictionary
TQtMarker:
=========
- Copy ctor and operator=() have been introduced
QtWidget.h, TQtTimer.h, TQtClientWidget.h TQtClientFilter.h, TQMimeTypes.h
=====================================================================
- Clean up. Remove the redundant CPP flags
TQtApplication.h
================
Clean up. The dummy copy ctor and operator=() have been introduced
New TQtRootSlot class:
======================
(see: TQtRootSlot.h, TQtRootSlot.cxx)
The new class TQtRootSlot to connect the Qt signals with the arbitrary ROOT slots.
Revision
15567 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 27 09:14:00 2006 UTC (8 years, 6 months ago) by
antcheva
Original Path:
trunk/qt/inc/TGQt.h
File length: 9015 byte(s)
Diff to
previous 15222
from Valeri Fine:
qt/inc/rootlibs.pr
- bug fix (better check the Qt-layer presence)
TGQt.h
- added the static TGQt::iwid() method to the RootCint dictionary
TQtApplication.cxx,
- removed the redundant header file
Revision
15222 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 30 07:06:51 2006 UTC (8 years, 7 months ago) by
antcheva
Original Path:
trunk/qt/inc/TGQt.h
File length: 8984 byte(s)
Diff to
previous 14586
From Valeri Fine:
TGQt.cxx,GQtGUI.cxx, TGQt.h:
- protection: SetDynamicPath caused SegFault on Win32
- Add "const" to some methods as needed
- Activate setCompositionMode for Qt 4.1.2
- Add Getter/Setter for the alpha channel with Qt 4.1.2
TQtClientGuard.cxx:
- Compilation warning with Qt 4.1.2
TQtBrsuh:
- Add "const" to some methods as needed
Revision
14410 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 24 15:31:10 2006 UTC (8 years, 10 months ago) by
antcheva
Original Path:
trunk/qt/inc/TGQt.h
File length: 8674 byte(s)
Diff to
previous 13427
From Valeri Fine:
- removed redundand classes:
TQtApplicationThread.h, TQtRootThread.h, TQtTermInputHandler.h,
TQtThread.h, TQtThreadStub.h, TRootMainThread.h,
TQtApplicationThread.cxx, TQtRootThread.cxx, TQtTermInputHandler.cxx,
TQtThread.cxx, GQtGUIThread.cxx
- removed from the rest Qt code the statements related to the classes above
- added TQtLockGuard.h, TQtEmitter.h
- removed all WiN32 redundant dependencies
- added Qt4 CPP compilation flag for future transition to Qt4
TQtWidget - for "pure" Qt GUI application disable ROOT prompt, ROOT terminal
input handler and CTRL-C signal handler "by default".
To get the ROOT interactive command mode back the statement:
"Gui.Prompt true"
should be present in the .rootrc file to enable the standard ROOT command mode option
Revision
12499 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Aug 17 20:08:37 2005 UTC (9 years, 5 months ago) by
brun
Original Path:
trunk/qt/inc/TGQt.h
File length: 8574 byte(s)
Diff to
previous 12179
From Valeri Fine:
- TQtClientWidget.cxx, TQtClientFilter.cxx:
An extra protection against a dead pointer of the grabbing widget
- TQtClientGuard.cxx:
Remove a redundant "disconnect" to improve the performance.
- TGQt.cxx:
Add Olivier's comment about the "fill area pattern convention"
- TQtWidget.cxx:
An extra protection against dead pointers in the ROOT GUI
Extra ROOT env parameter "Gui.Prompt yes/no" to enable/disable
RootCint prompt for Qt based ROOT application.
Add an instantiation of TQLock class (CMS user demand)
- rootcinrule.pri rootlibs.pri
Fix typo: $QTROOTSYS should be $QTROOTSYSDIR
- TQtWidget.h, TQtThread.h, TQtClientWidget.h, TQtClientFilter.h, TGQt.h
Add CPP flags to facilitate the coming QT4 transition.
Revision
12179 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 24 12:27:30 2005 UTC (9 years, 7 months ago) by
brun
Original Path:
trunk/qt/inc/TGQt.h
File length: 8461 byte(s)
Diff to
previous 12101
From Ilka, Valeri & Valeriy
TCanvas.cxx:
- Minory mods which allow to solve QtRoot Canvas activation problems (move "
Set Pad parameters" to the beginning).
TPad.cxx:
- The current Pad is saved using TVirtualX::WritePixmap method to allow ROOT to
save pixmap under Qt even no TImage class implementation is provided.
TGPicture.cxx:
- Removed QtRoot specific code.
TGQt.h:
- Add as a "friend class" TQtClientGuard and a new IsRegistered method for
extra protection.
TGQt.cxx:
- Restore the initial state of 4.04. and a new guard method IsRegisitered
added.
- the following GUI related methods moved to GQtGUI.cxx source code:
unsigned char *GetColorBits(Drawable_t wid, Int_t x = 0, Int_t y = 0, UInt_t w =
0, UInt_t h = 0);
Pixmap_t CreatePixmapFromData(unsigned char *bits, UInt_t width, UInt_t
height);
Window_t GetCurrentWindow() const;
- Fixed later assignment of canvas for TQtWidget object. That allows to fix
initialization problems for TRootEmbeddedCanavs under QtRoot.
TVirtualX.interface.h:
- Add the three new methods listed above
GQTGui.cxx:
- Compilation warning removed
- 3 methods listed above moved from TGQt.cxx (by Onuchine to back ASImage)
- GetWidbiwID - restored the original version and lift a protection against
the Windows_t misuse. That is errore prone correction - to be
revised
TQtClientGuard.cxx:
- An extra protection to check whether the widget is registered
Revision
12101 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 21 17:09:26 2005 UTC (9 years, 7 months ago) by
brun
Original Path:
trunk/qt/inc/TGQt.h
File length: 8565 byte(s)
Diff to
previous 11427
From Valeriy and Ilka:
The last patch of Valeriy with some additional comments by Ilka:
- TVirtualX/TGWin32/TGWin32VirtualXProxy, TGQt new methods added
o unsigned char *GetColorBits(Drawable_t wid, Int_t x, Int_t y, UInt_t w, U
Int_t h)rns an array of pixels created from a part of drawable (defined by x, y,
w, h)n format: b1, g1, r1, 0, b2, g2, r2, 0 ... bn, gn, rn, 0 ..
Pixels are numbered from left to right and from top to bottom.
By default all pixels from the whole drawable are returned.
Note that return array is 32-bit aligned
o Pixmap_t CreatePixmapFromData(unsigned char * bits, UInt_t width, UInt_t h
eight)create pixmap from RGB data. RGB data is in format :
b1, g1, r1, 0, b2, g2, r2, 0 ... bn, gn, rn, 0 ..
Pixels are numbered from left to right and from top to bottom.
Note that data must be 32-bit aligned
- TGQt (*provided changes do not work; I cannot run rose_image.C tutorials under
tRoot because of SegV in:
#3 0x0114172a in TGQt::GetWindowID (this=0xa1a2ab8, id=4)
at qt/src/GQtGUI.cxx:507
#4 0x01b56914 in TASImage::Paint (this=0xaa80d68, option=0xac85d1c "xxx")
at asimage/src/TASImage.cxx:1047
#5 0x02ddc948 in TPad::PaintModified (this=0xacb85d8)
at gpad/src/TPad.cxx:2396
#6 0x02ddc834 in TPad::PaintModified (this=0xac1f108)
at gpad/src/TPad.cxx:2381
#7 0x02db7cdb in TCanvas::Update (this=0xac1f108)
at gpad/src/TCanvas.cxx:1858
*
TGQt::GetWindowID (this=0xa1a2ab8, id=4) at qt/src/GQtGUI.cxx:507
o corrected an implementation of "Window_t TGQt::GetWindowID(Int_t id)"
That allows to run rose_image.C tutorials under QtRoot
o implemented TGQt::GetCurrentWindow()
That allows to save canvas/pad in in image formats by using TASImage cl
- TImage/TASImage:
o new method added PaintImage(Drawable_t wid, Int_t x, Int_t y) which allows t
o the Draw option which allows to expand image to the pad size was renamed fro
o new Draw/Paint option added - if "z" is specified an image palette is drawn
o TAttImage: SetPaletteEnabled/IsPaletteEnabled introduced - which allows to s
o image convertion to gray is now "toggable"
o new method :PaintImage(Drawable_t wid, Int_t x, Int_t y) introduced which al
- tutorials/galaxy_image.C. Unnecessary "img->SetName("n4254"); was removed
- TPad::Print - remove QtRoot specific code
- TToggle - "sanity" check added
- TGPicture.cxx - *added QtRoot specific code by gVirtualX->InheritsFrom("TGQt")
Revision
11427 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 25 19:41:04 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/qt/inc/TGQt.h
File length: 8329 byte(s)
Diff to
previous 11250
From valeri Fine:
TGQt, TQtWidget
- Fixed the crash in the embedded TCanvas dtor (Thanks Maxim Nikulin)
TGQt, TVirtualX.interface.h, TGQtThread, GQtGUI GQtGUIThread
- New method SetBackground (a'la SetForeground) to change
the background color of the ROOT graphical context.
Revision
11250 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 7 07:44:12 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/qt/inc/TGQt.h
File length: 8303 byte(s)
Diff to
previous 11224
From Valeri Fine:
TGQt:
* Comments clean up
* 2 news protected static methods:
static Int_t RegisterWid(QPaintDevice *wid);
static void UnRegisterWid(QPaintDevice *wid);
to resolved the potential 64-bits platform problems
* Some extra fixes to facilitate the 64-bits platforms
* TQtWidget
- new Qt signal:
RootEventProcessed(TObject *selected, unsigned int event,TCanvas
*canvas)
where
"selected" - is a TObject has been selected
by the current TPad
"event" - ROOT event processed by TCanvas.
This Qt signal allows forward the "ROOT signal" to Qt "slot".
By default, TQtWidget emits no "RootEventProcessed" for sake
of the performance.
Any user-code can activate the signal emitting with a bunch
of the new methods. See next point
* A bunch of the methods to facilitate the new Qt Signal:
void EnableSignalEvents (UInt_t f);
void DisableSignalEvents (UInt_t f);
Bool_t IsSignalEventEnabled(UInt_t f) const;
where "f" is logical combination of the bits to activate
the emitting the RootEventProcessed Qt signal as soon as
TCanvas ROOT event forwarded by Qt-layer
kMousePressEvent = BIT(0), // mousePressEvent QMouseEvent
kMouseMoveEvent = BIT(1), // mouseMoveEvent QMouseEvent
kMouseReleaseEvent = BIT(2), // mouseReleaseEvent QMouseEvent
kMouseDoubleClickEvent = BIT(3), // mouseDoubleClickEvent QMouseEvent
kKeyPressEvent = BIT(4), // keyPressEvent QKeyEvent
kEnterEvent = BIT(5), // enterEvent QEvent
kLeaveEvent = BIT(6) // leaveEvent QEvent
* TQtApplication
A special DISPLAY env varaible value QT_BATCH
to use Qt layer with "non-gui" mode
(in case when no X11 connection is provided)
Revision
11224 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 4 07:11:54 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/qt/inc/TGQt.h
File length: 8121 byte(s)
Diff to
previous 11206
From Valeri Fine:
1. Better handling the 64-bits ROOT widget IDs ("Widnows_t" type)
and the integer TCanvas IDs ("Int_t" type).
2. Adjust TGQt.h interface in respect with the current version of
TVirtualX
Disable the redundant "OpenGL method"
3. Some fixes to provide the "pseudo-widget" support
Revision
11206 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Mar 1 07:24:01 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/qt/inc/TGQt.h
File length: 7958 byte(s)
Diff to
previous 11051
From Valeri Fine:
version of Qt tailored to create RootCint dictionary
In addition there are a few corrections for
TGQt:
- Remove the redundant TVirtualGL dependency
- Qt font size calculation has been improved.
- Env variable ROOTFONTFACTOR to facilitate the debugging of the font-size-related problem was added
TQtApplication:
- Remove the redundant TQtApplicationThread dependency
Revision
11051 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Feb 8 07:36:08 2005 UTC (9 years, 11 months ago) by
brun
Original Path:
trunk/qt/inc/TGQt.h
File length: 7982 byte(s)
Diff to
previous 10684
From Valeri Fine:
Optimization:
------------------
- Change the default value for "quality" parameters of TGQtWidget::save method
- Add the "maxTime" parameter to "processQtEvents "method with the default value "maxtime=300"
- some comments clean up
- new CPP macros for the threaded version of TVirtualX
Fixes:
--------
TQtSymbolCodec class introduced to treat the ROOT font 12 in the case of the system lack of "symbol.ttf" installed
New:
-------
TQtWidget - Introduce a Qt QTimer to manage ROOT events from within Qt event loop
for Qt main applications
TGQt - Introduce a ROOT TTimer to manage Qt events from within ROOT event loop
Revision
9604 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 28 00:12:41 2004 UTC (10 years, 5 months ago) by
rdm
Original Path:
trunk/qt/inc/TGQt.h
File length: 7880 byte(s)
Diff to
previous 9587
update:
- use standard ROOT cvs tag line
- standard ROOT copyright notice + Valery Fine
- fixed several multiple inclusion ifdef's to use standard ROOT format
- added new Window_t argument to Warp() method. This method still
needs to be implemented for Window_t != 0
Revision
9587 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Jul 25 07:26:01 2004 UTC (10 years, 6 months ago) by
brun
Original Path:
trunk/qt/inc/TGQt.h
File length: 7762 byte(s)
Diff to
previous 9471
From Valeri Fine:
1. To provide the backward compatibility with Qt 3.1
by in introducing one extra static method TGQt::PostQtEvent
2. Add the full path to the root.exe needed by Qt
on Mac with the MAC native interface at run-time
Revision
9471 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Fri Jul 9 09:21:24 2004 UTC (10 years, 6 months ago) by
brun
Original Path:
trunk/qt/inc/TGQt.h
File length: 7704 byte(s)
Add a new package "qt". Developed by Valeri Fine (fine@bnl.gov), this new
package is an implementation of TVirtualX based on the Qt library from Trolltech AS, Norway.
The package is optional. When configuring ROOT, you can generate the libQtRoot
library by adding, eg
--enable-qt \
--with-qt-incdir=$QT/include \
--with-qt-libdir=$QT/lib \
where $QT points to the directory where the Qt software has been installed.
The Qt version >= 3.1 is required for this interface.
The Qt package itself must have been compiled with the same compiler
and compiler options used to compile ROOT.
Once the $ROOTSYS/lib/libQtRoot.so (dll) library is created, one has
the possibility to select this library as an alternative to libGX11
by adding the following two lines in the local ".rootrc" file
Gui.Backend: qt
Gui.Factory: qt
The package has currently been tested on Linux only.
This first implementation may show some deficiencies compared to
the libGX11 default version.
Please report any problems with this version to
rootdev@root.cern.ch as well as fine@bnl.gov
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.