On Fri, Aug 17, 2012 at 3:35 PM, Phil Charlesworth <[email protected] > wrote:
> ** > On 17/08/12 22:50, Michael Moore wrote: > > > > On Fri, Aug 17, 2012 at 11:34 AM, Phil Charlesworth < > [email protected]> wrote: > >> On 16/08/12 20:12, Michael Moore wrote: >> >>> I am working with trees and I thought I had it licked. >>> >>> Compatibility mode or not on the browser, I have to get the fingertip of >>> the pointer at the edge of the + or - circle in the wsw octant to make it >>> open or close with a mouse click. Anywhere else simply selects the item. >>> >>> The arrow keys work as expected. >>> >>> Any suggestions? Is this another one for a special .html? >>> >>> Michael >>> >>> -- >>> >>> >>> >>> Michael, >> This is a problem caused by the IE6 override which is drawing the the >> cross etc with a canvas instead of using an image created with a data url >> which is how the other browsers do it. The stupid thing is that IE8 and 9 >> work OK with data urls but the override system is currently not >> sufficiently detailed to handle that. >> >> There are three possible solutions. The first and simplest is to set the >> Images property of your TreeItems to True and put actual images in >> public/images/. The relevant images are still available in >> pyjs/library/pyjamas/ui/public/images/. >> >> Another way would be to fix the code in the IE6/mshtml overrides so that >> it works properly but I haven't any clear idea what the problem is so >> that's a long shot. >> >> Yet another way would be check, in the override file, what version of IE >> you are running and if it is IE8 or IE9 execute identical code for >> createImage and drawImage to thet in the main TreeItem.py file. However, >> I'm hazy about whether access to the navigator object has been implemented. >> >> So I would try the 'Images' property as I described. >> >> I the longer term this is a problem that needs fixing but it impacts on >> the contentious issue of whether to drop IE6 support etc. >> >> Regards, >> Phil > > -- > > Thank you very much for the information! I now have a glimmer of hope > for escaping the drudge shop with Dojo and Java to do an app which really > deserves Python. I fear I am new enough to pyjs that I am a bit confused > on setting the property. I see setElementProperty and > tree_item_foo.setElementProperty(whatever I try) throws errors. I also > notice Props and weirdProps and I used my grabit tool to do a spreadsheet > on where they occurred. About 30 files seem to have that. Is there > something else I should be looking for before I reserve the weekend for > reading code? > > best regards, > > Michael > > -- > > > > > Michael, > Sorry, it's the Tree that use the Images property, not the > TreeItems. All pyjs widgets will accept keyword arguments for setting > properties when you create them. For any keyword which they will accept, > there will be corresponding set and get methods. For instance, if a widget > had a foo property, you would include Foo = something after the positional > arguments when you created the widget, or you could set the property after > creating the widget by calling setFoo on the widget, as in > myWidget.setFoo(something). > > So, either include Images = True in the argument list when you > create the Tree, or afterwards do myTree.setImages(True) > > Hope that makes things clearer. > > Regards, > Phil > > -- > > Thank you once again for your help. you were right time one... It doesn't happen on tree creation or on setting images--seems Tree and TreeItem both lack setters for those properties. It happens at DOM.setStyleAttribute(item.getElement(), "cursor", "pointer", "images") inside def createItem(self, label, value=None):, and all that is required is the word in quotes. But your hints saved my hair for the barber.. Of course my software won't work with IE6, but I will personally upgrade the lone remainig IE6 user among my limited clientele. Many thanks, Michael > --
