Are you using the binding mechanism?  There are occasions where the binding
can be a pain with selections, particularly in cases where the selection can
become empty and there is a whole tree of bound widgets; while binding knows
how to apply a value, I often find I have to handle empty selection
separately (or, ideally, not allow empty selection).

Without a specific example though it's difficult to say what the problem is.

I know what you mean able difficulty in tracing through the Qx source
sometimes ­ heavily abstracted code (e.g. binding or event handling) can be
difficult to track down and set meaningful breakpoints.  One way I've had
success with this in the past is to temporarily hack in some extra code into
Qx to help ­ EG I might add a method in qx.ui.form.List overriding a base
method so that I can put a breakpoint in it, or add some code that executes
"debugger" on some complex condition.  The code doesn't have to pass any
kind of review, just make sure you remove after you've fixed the problem :)

John

From:  Gregory Beaver <[email protected]>
Reply-To:  qooxdoo Development <[email protected]>
Date:  Thursday, 29 August 2013 13:44
To:  Joaquín Fernández <[email protected]>, qooxdoo Development
<[email protected]>
Subject:  Re: [qooxdoo-devel] Frustrating development

Thank you all for the quick feedback.  A few responses:

1) the prettify feature in chrome was a new one and will make debugging the
generated accessors possible, one problem solved
2) I debug in source mode, sorry that was not explicit.  I am not a
masochist in that way :)
3) although I was trying to debug 50 lines of code, I neglected to
explicitly state that I was drawing upon about 4000 lines of pre-existing
code and simply trying to add a new widget in the mix.
4) when a selection is updated in the model, the actual rendering happens
magically later and this is where debugging breaks down.  I was able to
verify that the selection was properly becoming no selection, but the
rendered view selected the same widget even though its underlying model had
completely changed.  Even after pouring over the source on github (lots
easier than on disk) for hours I was still unable to determine where
rendering occurs.  Trying to break on any exception, stepping through the
code also failed to locate where it happens.  This is what I mean by "black
magic."  Perhaps there is a way to spit out debug info on events in qooxdoo,
but I did not see a way when stepping through event handling.
5) what am I actually trying to do?  This should help you all help me.  :)

I am working on the backed to my quartet's website.  We have a calendar
which is directly linked to our google calendar.  When an event appears on
the private calendar, a cron job pulls the data into a database, spits out
an email with the details etc. etc.  I then log into our backend and using
qooxdoo, update the event to include detailed information like the concert
program, ticket information, the presenter and concert hall, etc.  the
backend generates info for our public google calendar, and our website pulls
the data out and renders it using PHP.  The qooxdoo backend is 100%
separated, and the whole thing uses SQLite and git.  Changes to the website
appear at a test site and have to be manually pushed and then pulled to the
public website, so it is all redundantly backed up.

The part I am working on is the concert programs.



On Aug 29, 2013, at 0:53, "Joaquín Fernández" <[email protected]>
wrote:

> Hi Greg
> 
> You can debug minified code in Chrome step by step using pretty print tool in
> developer tools.
> 
> Go to Sources tab and click in '{}' icon in bottom toolbar. If this icon is
> selected, all code is beautified when you debug source code including auto
> generated code in qooxdoo and minified code from build job.
> 
> Hope this help you.
> 
> Regards
> 
> Joaquín F.
> 
> Enviado de Samsung Mobile
>  
> 
> 
> -------- Mensaje original --------
> De: Gregory Beaver <[email protected]>
> Fecha:  
> Para: qooxdoo Development <[email protected]>
> Asunto: [qooxdoo-devel] Frustrating development
>  
> 
>  
> Dear qooxdoo,
>  
>  
>  
>  
> I wrote a very complicated application based on qooxdoo a few years ago.  It
> still works great but there are some kinks that I was trying to work out.  I
> spent 13 hours over the past week trying to get 50 lines of code to work.  8
> of that was trying to debug a problem with appearance and the magical fact you
> have to tell some things what they should look like in some circumstances, but
> not in others.  No errors or warnings to assist either.
>  
>  
>  
>  
> Then, I ran into a weird bug with selection that I cannot reproduce with any
> shorter code, and spent 6 hours writing no new code and simply trying to
> figure out where the hell selection is converted to actual highlighting in
> qx.ui.list.List
>  
>  
>  
>  
> As of right now, I have erased all the work and thrown in the towel.  I have
> not had this much frustration and impossibility of solving a banal issue since
> I worked with Microsoft Access in 2000.
>  
>  
>  
>  
> There has got to be a better way to do things.  Too much is magic, the
> generated code has no line breaks and can't be stepped through even in source
> mode.
>  
>  
>  
>  
> I have literally run out of all of my available time allotted for this
> project, and we have to stick with the older not-quite-working code as a
> result.
>  
>  
>  
>  
> If any of you have successfully found a time-efficient way to debug problems
> in selection or binding or any other qooxdoo black magic, I would appreciate
> the tips for the next time I have a block of time to try something.  Until
> then, I hope my utter failure is a wake up call from a former evangelist of
> qooxdoo (one of my blog posts is a top hit in google search for qooxdoo with
> many visitors every day).
>  
>  
>  
>  
> Thanks,
>  
> Greg
>  
> ‹
> Sent from Mailbox <https://www.dropbox.com/mailbox>  for iPhone
>  
> ------------------------------------------------------------------------------
> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> Discover the easy way to master current and previous Microsoft technologies
> and advance your career. Get an incredible 1,500+ hours of step-by-step
> tutorial videos with LearnDevNow. Subscribe today and save!
> http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
----------------------------------------------------------------------------
-- Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk_
______________________________________________ qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to