From octave-graphics-request at bevo dot che dot wisc dot edu Thu Mar 11 14:33:35 1999 Subject: RE: Comments on GUI and plotting library From: "Matthew Valenta" To: , Date: Thu, 11 Mar 1999 12:52:34 -0800 This is a multi-part message in MIME format. ------=_NextPart_000_0019_01BE6BBE.08A6CCE0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit > -----Original Message----- > > | 1) Definition of a user level interface, probably in the form of a C++ > > | class, for both the plotting calls and the GUI objects. > > | Question: is somebody doing this? If there is a written (even rough) > > | design around, I would gladly take a look. Originally I had in mind simply using the wxWindows interface at the C++ level, but I see why an added layer of abstraction would protect use better from toolkit changes. I think we should compile a web page with that summarizes the C++ and Octave APIs as we discuss them here. That way, we actually do something besides discuss it! I can do that unless someone else wants to. > about wxWindows; the wxPython code I saw yesterday seems to suggest that > it's pitched at a somewhat lower level of abstraction. Yeah, I think wxWindows is pretty ugly when it comes to coding. That's a serious point in favor of perltk. > Tcl, the perltk stuff tried to wrench Tk away from it's tclishness (heh) > with at least some success, and they've claimed that you should be able to > rebind other languages to their ptk library. The big advantages of Tk are Boy, I just looked at perltk and I have to say that it is a hell of a lot more appealing than wxWindows and C++. But then again I think Perl is god's gift to programmers... I think seriously considering perlTk is a good idea. It looks portable, am I right? For those who like me have trouble finding perltk on the WWW: http://www.perl.com/ptk/. I'm not entirely sure how we would go about using perltk from within octave. Can someone explain this to me? I've never tried mixing the two languages. > Gtk is another toolkit that looks interesting, and it has a C++ wrapper If we use Gtk, I don't see why we don't just use wxGTK and get the extra portability. > wxWindows is an ambitious attempt to go cross-platform, multi-toolkit, and > is in C++. I don't know about its canvas stuff, and the docs were Well, for what its worth, you can check this page of wxWindows users: http://web.ukonline.co.uk/julian.smart/wxwin/users.htm Its pretty useless. Much more useful is the list of applications: http://web.ukonline.co.uk/julian.smart/wxwin/apps2.htm and you can see that wxWindows has bindings for Python. Isn't that a scripting language? That's what Gnumeric and KSpreadsheet use right? I believe that the canvas class that you're looking for is wxDC. Check it out and let me know if that's right. > > or something similar make more sense than set and get? > them for graphics and guis. It's just bizarre. On the other hand, I > think its possible to mechanically translate: > > uicontrol('Style', 'pushbutton, ... > 'String', 'Plot', ... > 'Callback', 'plot(x,y)', ... > 'Units', 'point', ... > 'Position', '[50 65 75 35]) > to > > mypush = pushbutton('Plot'); > mypush.Callback = "plot(x,y)"; > mypush.Units = "points"; > mypush.Position = [50 65 75 35]; I agree. This really doesn't diverge too much from the Handle Graphics approach though. Does anyone have a more radical solution? Personally, I'm satisfied with this approach. > > | 3) Finding a adequate plotting engine. Can we compile a list of possibilities? Obviously and get the advantages and disadvantages of each like we're doing with GUI toolkits? Obviously at the head of this list is plplot: > It seems relatively easy to write a new driver for PLplot, though I never > really wrote one :-} As I mentioned before, the interface between the > plotting engine and the drivers in PLplot is quite well designed. You > should take a look at the sources (home page: > http://emma.la.asu.edu/plplot/, but if you have a Debian box: > http://www.debian.org/Packages/stable/math/plplot.html) There are several > examples of drivers (from the top of my head: HPGL, linuxvga, PS, > Tektronics, Tcl/Tk, XFig, X, etc.). I would be happy to discuss with you > about writing a new driver. mattv Matthew Valenta mvalenta at lycosmail dot com Phone: 206-524-6444 Fax: 847-589-0685 ------=_NextPart_000_0019_01BE6BBE.08A6CCE0 Content-Type: application/octet-stream; name="Matthew Joseph Valenta.vcf" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="Matthew Joseph Valenta.vcf" BEGIN:VCARD VERSION:2.1 N:Valenta;Matthew;Joseph;; FN:Matthew Joseph Valenta ORG:University of Washington;Physiology and Biophysics TITLE:Graduate Student NOTE;ENCODING=3DQUOTED-PRINTABLE: =3D0D=3D0AParents: Carol & Joe Valenta TEL;WORK;VOICE:(206) 543-2299 TEL;WORK;VOICE:(206) 616-4195 TEL;HOME;VOICE:(206) 524-6444 TEL;VOICE:(630) 904-0213 TEL;WORK;FAX:(206) 685-0619 TEL;HOME;FAX:(847) 589-0685 TEL;HOME: ADR;WORK;ENCODING=3DQUOTED-PRINTABLE:;H210;University of = Washington=3D0D=3D0ABox 357290;Seattle;WA;98105-7290;United =3D States of America LABEL;WORK;ENCODING=3DQUOTED-PRINTABLE:H210=3D0D=3D0AUniversity of = Washington=3D0D=3D0ABox 357290=3D0D=3D0ASeattle, WA 98105-72=3D 90=3D0D=3D0AUnited States of America ADR;HOME:;;5208 21st Ave NE Apt 4;Seattle;WA;98105-3385;United States of = America LABEL;HOME;ENCODING=3DQUOTED-PRINTABLE:5208 21st Ave NE Apt = 4=3D0D=3D0ASeattle, WA 98105-3385=3D0D=3D0AUnited States of Ame=3D rica ADR;POSTAL:;;11 S 758 McGrath Lane;Naperville;IL;60564-5746;United = States of America LABEL;POSTAL;ENCODING=3DQUOTED-PRINTABLE:11 S 758 McGrath = Lane=3D0D=3D0ANaperville, IL 60564-5746=3D0D=3D0AUnited States of A=3D merica URL: URL:http://students.washington.edu/mvalenta ROLE:Student BDAY:19760922 EMAIL;PREF;INTERNET:mvalenta at lycosmail dot com EMAIL;INTERNET:mvalenta at u dot washington dot edu EMAIL;INTERNET:mjvalent at netscape dot net REV:19990310T104723Z END:VCARD ------=_NextPart_000_0019_01BE6BBE.08A6CCE0--