From lechner@cs.uml.edu Sat Oct 29 22:14:46 2005 Subject: RE: bde2openGL project for 05f523 To: jtan@cs.uml.edu, jingyoko@hotmail.com Date: Sat, 29 Oct 2005 22:14:33 -0400 (EDT) Cc: 05f523 RJLRef: $PH/COOL-BDE/bde2OpenGLandFox051029.txt Thank you Jing. My comments are inserted at [RJL] (along with more directions on bde2gen* project alternatives. I agree that other toolkits are less preferable, except for fox - which is LGPL-free SW, and layered on top of OpenGL, and has Mac Ruby C++ contributions. I am happy to know of your observation tnat OpenGL is primarily a graphic rendering toolkit, not so relevant to the menu side of bde. An important question iswhether we can migrate bde's X11 drawing calls to OpenGL co-existing with its menus using old-style X11 initially. That's where fox comes in. I have never used it, but it is a Platform-Independent GUI (PI-GUI), and ??? wrote a comparative report on it in $CASE/?(TBD). ALL my fox emails have a long lists of URls to contact their Source Forge repository - see next paragraph. I saved lots of fox user group emails at ~lechner/Mail/fox*. For toolkit comparisons, see ~lechner/Mail/foxcomparisons. For a caveat on feasibility of log/replay of mouse events in fox, see $CASE/02f522/foxGUIlog_replay.021102. For pthread support, see $PH/COOL-BDE/bdefoxthreads. SFrye may have ideas to contribute on this, since he is also taking OpenGL in Graphics. I propose opening a new bde CVS branch, tagged foxGUI, and using the fox API to wrap the Xt/Xm library calls that bde uses. Then writing new versions of bde/src code which call the fox API drawing commands. Fox is platform-independent, and its API wraps calls to X11 or WinTel or MAC. I expect fox drawing commands to be 2D OpenGL commands, since fox uses OpenGL drawing libraries. Students without OpenGL experience could try to convert bde's menu creation code to use the fox API instead. Fox has lots of GUI-form-creation primitives. like radio-button and pop-up menus and X11's AddWorkProc. This is a non-trivial task, and perhaps the most we can do this semester is write the specifications for ALL the menus. Note that bde's pr_util API should either remain intact or migrate towards gencpp using pr_accessors.c. SMandava, UGuntu and KPatel can contribute to this migration. Their participation is optional but without it we will not port bde/src code to the Xschema.h and XXops.cc files generated by gencpp. I still hope to have bde's menu interface pored to the fox API and OpenGL drawing primitives. [The fallback position here is detailed specifications for such a port, including quantitative TBD change statistics.] SM/UG also still have the option to do bde2genjava: I.e,. migrating bde2java to genjava as its database interface, fixing text editing and hangup bugs and testing bdeUnix compatibility. I am expecting their input on these tasks, with a specific proposal for tasks to be done, quantified by an impact analysis: How many changes are required, based on counting function calls - calls to existing GUI-dependent JAVA AWT functions and calls to database-updating functions that need to be migrated to genjava's API. If the bde2genjava project does not produce bde2java source code, but stops with quantitative task specs, I also expect a detailed report on the similarities and diffs betwen the gencpp and genjava API interfaces. [Preferably by recoding the same (non-bde, sadly) test drivers like the gencpp's test_co_pr [?] case with either genjava or gencpp support, using the same input data and document the test code and output data diffs if any.] Forwarded message: > From jingyoko@hotmail.com Sat Oct 29 19:25:29 2005 > Subject: RE: bde2openGL project for 05f523 (in case you did not receive this) > Hi, Prof. Lechner, > > I'm sorry to reply it late. Actually, I was thinking to write a first > propose for bde2openGL and submit it together before next Tuesday. > > But any way, I found time to do it now, therefore, I started taking a look > on this matter. > > First, I'd like to talk about the design decision: > > Since OpenGL only deals with 3D rendering and provides little or no support > for GUI programming issues. The user interface for an OpenGL application > must be created with another toolkit, such as Motif on the X platform, > Microsoft Foundation Classes (MFC) under Windows, or Qt on both platforms. > [OK. Fox is better than wxWindows (/usr/proj3/case/95s523/95sbde/bmehta/aareadme) and arguably better than Qt (some fox contributors use both). ] > I've used Qt4 (http://doc.trolltech.com/4.0/index.html) before, it's very > powerful development tool, although same as MFC (Microsoft Foundation > Classes ), but Qt can run on both platforms. Unfortunately, in order to use > Qt, we have to install Qt program in CS system. Even so Qt is free, I think > it maybe difficult to as CS to do it, unless you can make it work. > > Second, MFC, I did not use it before, and I don't think you are very > interested. Besides, it's only run on Windows. > > Thus, the X11, which currently we are using is only choices. Any better > idea, please let me know. [Yes, fox] > > I think we can start replacing the graphic rendering in X11 into OpenGL. > [Yes I agree. I am open to grafting OpenGL on top of X11 as a preliminary step. Fox uses openGL so this is one steptoward a full port to fox.] > Thanks, > -jt > > P.S. I was trying to take a look bdegen13 code mercury, but I neither could > CVS nor view them. I think its permission was not belong to our 05f523 > group. [You are right. I have [over-]corrected this. Gave mode 755 to all files.] R Lechner > > [jtan@mercury bde]$ pwd; ls -la | more > /usr/proj3/case/bdegen13/bde > total 588 > drwxr-xr-x 16 lechner fac 4096 Oct 27 14:47 . > drwxr-xr-x 4 lechner fac 4096 Oct 26 23:16 .. > -rwxr-xr-x 1 lechner fac 1535 Oct 25 15:31 aareadme > -rwxr-xr-x 1 lechner fac 5520 Jan 4 1995 bde.lg.3jan95 > > > > >From: Bob Lechner > >To: jtan@cs.uml.edu, jingyoko@hotmail.com, kpatel1@cs.uml.edu (Patel) > >Subject: bde2openGL project for 05f523 (in case you did not receive this) > >Date: Wed, 26 Oct 2005 17:59:42 -0400 (EDT) > > > >Forwarded message: > > > ----- Original Message ----- > > > From: "Bob Lechner" > > > To: "Almonte" ; ; > > > ; ; ; > >"Guntu" > > > ; <":KP???????????? > > > Cc: "Scot Frye" > > > Sent: Saturday, October 22, 2005 2:46 AM > > > Subject: bde2openGL project for 05f523 > > > > > > > > > > RJLRef: $PH/05f523/bde2OpenGL.doc > > > > [cut]