From: Eric B. <eri...@pr...> - 2005-10-04 07:38:01
|
> Date: Mon, 3 Oct 2005 13:03:42 -0700 > To: pmw...@li... > From: wil...@ma... > Subject: [Pmw-general] Tcl/Tk Aqua > > Dear Pmw Users/Developers, > > We are porting our application to the Mac OS X 10.4 platform running Tcl/Tk > Aqua. For the most part, most the widgets seem to be working fine, but there > are a few questions that I hope someone in the Pmw community can answer. > > Question 1 - the button colors seem to be unchanged in Aqua even though I > specified the color. for examples: > > btn1 = Tkinter.Button( framec, > text='Test Button This Is a Long Button > Name', > background = 'cyan') > > I also noticed that only the text "Test Button" appears on the button. > > The Pmw examples also show the no button color change and truncation of the > button text. There are restrictions in Aqua that affect what you can do with widgets. AFAIK, the color is typically something that cannot be changed in Aqua widgets, since it is often used to indicate the state of the widget (e.g a blue background is used to indicate the default button). I know there are also limitations on button texts; they typically cannot contain several lines of text (forbidden by Aqua). You might want to google the archives for the tcl/tk newsgroup at http://groups.google.com/group/comp.lang.tcl and search for discussions on the Tile package. It is a theming engine for tk based on the "native" APIs on each platform, so the limitations it has with Aqua are the same as Tcl/Tk Aqua. > Question 2 - For Aqua, the main Apple menu appears displaying "python file > edit". Does anyone know how to change/modify the main Apple menu for Pmw and > Tcl/Tk applications? At the very least, I would like to change "python" to > the name of my application. I would also like to add more meuu items and > perhaps modify the current menus. Never tested it myself, but according to section 4.4 in http://wiki.tcl.tk/12987, you just need to create a menu with the name "apple" and it will replace the *python* menu in your application (yes: the name "apple" is misleading...). Please note that you must set "apple" as the menu name, not its label, as in: myApplicationMenu = Menu(...) myMenuBar.add_cascade(name="apple", label="My application", menu=myApplicationMenu) HTH - Eric Brunel - |