On Tue, May 29, 2012 at 2:46 AM, Jørgen Lind <[email protected]> wrote: > On Tue, May 29, 2012 at 10:52:30AM +0200, Knoll Lars (Nokia-MP/Oslo) wrote: >> On 5/29/12 8:22 AM, "ext Jørgen Lind" <[email protected]> wrote: >> >> >Hi >> >> 6. Rename the handle() to platformXXX() since it's easy to educate >> >> that anything that has platform in it is out of reach of app >> >> developers. >> >> Status: In progress, I am atm, marking handle() as obsolete and as an >> >> alias to platformXXX(). >> > >> >But since when did the word handle() mean anything else in API design? >> >Im all for clear and verbose function names, but think this is just >> >making the api ugly. To me if you ask for a handle of a class you will >> >get the underlying structure. It then should be crystal clear to the >> >developer that this class can not be used as a public class. >> >> The problem is that handle() is very unspecific, and that code ported from >> Qt 4.x to Qt 5 will silently break when people call handle(), as you get >> something else back then you thought you would. >> >> Renaming the methods at least turns the silent breakage into an explicit >> one. > > QWidget is not a QWindow subclass. For QFont's handle(), this function > should be considered removed for Qt 5, since its hardcoded to return 0. > QCursor has also a handle function which doesn't look right to me at > first glance. > > My point was actually just to justfy why we used the handle() functions > in the first place. Believe it or not, we used to have platformWindow > for QWidget back when there was no QWindow. But it never looked so good > in use. >
I have pushed changes now to remove QCursor::handle, QFont::handle(), QRegion::handle(). What's remaining is: ./opengl/qopenglframebufferobject.h: GLuint handle() const; ./image/qpixmap.h: QPlatformPixmap* handle() const; ./kernel/qopenglcontext.h: QPlatformOpenGLContext *handle() const; ./kernel/qwindow.h: QPlatformWindow *handle() const; ./kernel/qscreen.h: QPlatformScreen *handle() const; ./kernel/qplatformscreenpageflipper.h: virtual void *handle() const = 0; ./painting/qbackingstore.h: QPlatformBackingStore *handle() const; QPixmap::handle api is conflicting with Qt4. Girish _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
