On Sat, Aug 18, 2012 at 4:00 AM, Phil Charlesworth <[email protected]
> wrote:

> **
> On 18/08/12 00:20, Michael Moore wrote:
>
>
>
> 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
>
>
>
>>
>
> --
>
>
>
>
> Michael,
>       Looking at the source for Tree, it does have a setter and getter for
> Images but the the code for TreeItem is not using the value any longer so
> it's not possible to use external images, which is a pity and probably an
> unintended consequence of the changes which introduced data urls for
> creating the images internally.
>
> Anyway, glad that you are making progress but I don't quite understand
> your explanation of what you've done.  Can you explain which pyjs module
> you have modified, or are you modifying your application code? Also, you
> seem to be calling DOM.setStyleAttribute with 4 arguments but it only takes
> three.
>
> Regards,
> Phil
>
> --
>
>

It was my application code and quite frankly, I did not expect it to work,
but work it did.  It is the same code as the  def createItem in the
TreeDemo90 class.  I have heavily modified other poetions of it to get what
I want, and this was frankly a shot in the dark before descending into the
quite verbose code of pyjs itself.  Since it worked, for whatever reason, I
will have to circle back later after I have met my deadline without using
Dojo.

Michael


>
>
>

-- 



Reply via email to