Hi Stefan,

I'm sorry - I don't mean to be confusing - I just left out code that I
thought was not immediately relevant, so as to not clutter up my
message.

As I showed before, in my lb_onchange() function I had:
var alert = lfuUserInfo.allAlerts[alert_ix];

and also:
var lfuUserInfo;

I have constructor functions as follows:

function constructUserInfo(username, password) {
  this.username = username;
  this.password = password;
  this.user_id = null;
  this.allAlerts = new Array();
  this.isLoggedIn = false;
}

and for constructing alerts that are received in a XmlHttpResponse.

function constructAlert(alertItem) {//used with SimpleXmlParser
...
//Gets values such as this.alert_id, this.contact_name, etc.
...
}

As I can see from debug trace, these values are received properly.

So using SimpleXmlParser I place values in array lfuUserInfo.allAlerts
- such as in:

function getAlertsResponse(parser, alertList) {//used with
SimpleXmlParser
        debug.trace("getAlertsResponse()");
        if (alertList.length > 0) {
                for (var i = 0; i < alertList.length ; i++) {
                        lfuUserInfo.allAlerts[lfuUserInfo.allAlerts.length] = 
new
constructAlert(alertList[i]);
                }
                var newAlert = showAlerts();
        }
        else {
                var newAlert = view.appendElement('<div>No new 
alerts...</div>');
        }
}

function showAlerts() {
        debug.trace("showAlerts()");
        for (var i=0; i<lfuUserInfo.allAlerts.length; i++) {
                var alert = lfuUserInfo.allAlerts[i];
                var alert_txt = alert.contact_name + '-' + alert.action_type;
                var alert_item = '<item height="24" name="item0"><label 
height="24"
align="center" valign="middle">' + alert_txt + '</label></item>';
                var newAlert = listbox.appendElement(alert_item);
        }
        return newAlert;
}

So my question still remains - What is causing the detailsview to not
appear even though the
detailsView_onOpen() function is clearly being executed?

If you like I can send you a zip file of the gadget privately - that
may make it easier.

(Also, I did read the article at 
http://code.google.com/apis/desktop/articles/e12.htm
- I based some of my gadget on it).

Kind regards
Colin Goldberg


On Apr 22, 10:51 am, Stefan vd <[email protected]> wrote:
> Hi Colin,
>
> I check this part of code and ...
>
> detailsView.detailsViewData.putValue("alert", alert);
> // Set a reference to the "closeDetailsView" function in the
> detailsViewData
> detailsView.detailsViewData.putValue("closeDetailsView",
> closeDetailsView);
>
> function closeDetailsView() {plugin.CloseDetailsView();}
>
> Is there not missing this code for the alert?
> function alert() {something}
>
> Kind Regards,
> Stefan Van Damme (aka Stefan vd)
> Gadget Developer
>
> On 22 apr, 16:23, Colin <[email protected]> wrote:
>
> > Hi,
>
> > Yes, I have declared the variables upfront
> > eg.
> > var lfuUserInfo;
>
> > and in function view_onOpen() I have:
> > ...
> > lfuUserInfo = new constructUserInfo(username, password); //Constructor
> > exists and seems to be fine
> > ...
>
> > That all seems to be working.
>
> > It is the statement:
> > plugin.showDetailsView(detailsView, "Alert",
> > gddDetailsViewFlagToolbarOpen, onDetailsViewFeedback);
>
> > and related issues which seem to be missing something.
>
> > So, for example, in the following action sequence:
>
> > 1. I click on the first listbox entry (identified by name 'Paul
> > McQuade')
> > - no detailsview appears
> > - debug trace shows:
> > 10:07:42.978 - Trace: lb_onchange: alert ix=0
> > 10:07:42.980 - Trace: lb_onchange: detailsView done
> > 10:07:43.78 - Trace: lb_onchange: detailsView SetContent done
> > 10:07:43.83 - Trace: detailsView_onOpen()
> > 10:07:43.85 - Trace: detailsView_onOpen: label1_txt 1=Paul McQuade
>
> > 2. I click on the second listbox entry ('Michael Vinal')
> > - the detailsview appears
> > - debug trace shows:
> > 10:08:12.173 - Trace: lb_onchange: alert ix=1
> > 10:08:12.175 - Trace: lb_onchange: detailsView closed
> > 10:08:12.176 - Trace: lb_onchange: detailsView done
> > 10:08:12.196 - Trace: lb_onchange: detailsView SetContent done
> > 10:08:12.202 - Trace: detailsView_onOpen()
> > 10:08:12.204 - Trace: detailsView_onOpen: label1_txt 1=Michael Vinal
>
> > 3. I click on the third listbox entry ('Joe Ciavatta')
> > - no detailsview appears
> > -debug trace shows:
> > 10:16:29.761 - Trace: lb_onchange: alert ix=2
> > 10:16:29.763 - Trace: lb_onchange: detailsView closed
> > 10:16:29.765 - Trace: lb_onchange: detailsView done
> > 10:16:29.806 - Trace: lb_onchange: detailsView SetContent done
> > 10:16:29.812 - Trace: detailsView_onOpen()
> > 10:16:29.813 - Trace: detailsView_onOpen: label1_txt 1=Joe Ciavatta
>
> > 4. I click on the first listbox entry again ('Paul McQuade')
> > - the detailsview appears
> > - debug trace shows:
> > 10:18:08.916 - Trace: lb_onchange: alert ix=0
> > 10:18:08.919 - Trace: lb_onchange: detailsView closed
> > 10:18:08.921 - Trace: lb_onchange: detailsView done
> > 10:18:08.975 - Trace: lb_onchange: detailsView SetContent done
> > 10:18:08.984 - Trace: detailsView_onOpen()
> > 10:18:08.985 - Trace: detailsView_onOpen: label1_txt 1=Paul McQuade
>
> > What is causing the detailsview to not appear even though the
> > detailsView_onOpen() function is clearly being executed?
>
> > Kind regards
> > Colin Goldberg
>
> > On Apr 22, 4:01 am, Stefan vd <[email protected]> wrote:
>
> > > Hi,
>
> > > Do have named this variabele with a action? (declare a variable to
> > > specify its name and characteristics)
> > > var lfuUserInfo = ...
> > > var allAlerts =...
>
> > > And do you also read this article about 
> > > DetailsView:http://code.google.com/apis/desktop/articles/e12.html
>
> > > Kind Regards,
> > > Stefan Van Damme (aka Stefan vd)
> > > Gadget Developer
>
> > > On Apr 22, 4:18 am, Colin <[email protected]> wrote:
>
> > > > That didn't help. Clicking on a listbox item produced no activity at
> > > > all.
>
> > > > Kind regards
> > > > Colin Goldberg
>
> > > > On Apr 21, 4:06 pm, Stefan vd <[email protected]> wrote:
>
> > > > > Hi,
>
> > > > > If you want to show the DetailsView on a click. You must change the
> > > > > 'onchange' to 'onclick' in you listbox object.
>
> > > > > <listbox height="150" name="listbox" width="100%" x="0" y="20"
> > > > > background="#FFFFFF"
> > > > >     itemHeight="24" itemOverColor="#CCFFCC" onclick="lb_onchange()"
> > > > >     autoscroll="true" itemSelectedColor="#99FF99"/>
>
> > > > > Kind Regards,
> > > > > Stefan Van Damme (aka Stefan vd)
> > > > > Gadget Developer
>
> > > > > On Apr 21, 5:32 pm, Colin <[email protected]> wrote:
>
> > > > > > Hi,
>
> > > > > > As a newbie to gadget development, I have a question relating to the
> > > > > > behavior opening a DetailsView window. Basically, the DetailsView
> > > > > > window appears (ie. is visible) for alternate clicks in the listbox 
> > > > > > in
> > > > > > my main view - and not each time. But debug.trace shows me that the
> > > > > > detailsView_onOpen() function is being called every time. Is it
> > > > > > something to do with the flags (gddDetailsViewFlagToolbarOpen, 
> > > > > > etc.)?
>
> > > > > > in My main view, I have:
> > > > > > <listbox height="150" name="listbox" width="100%" x="0" y="20"
> > > > > > background="#FFFFFF"
> > > > > >     itemHeight="24" itemOverColor="#CCFFCC" onchange="lb_onchange()"
> > > > > >     autoscroll="true" itemSelectedColor="#99FF99"/>
>
> > > > > > I initialize detailsView at the top:
> > > > > > var detailsView = new DetailsView();
>
> > > > > > And function lb_onchange is:
>
> > > > > > function lb_onchange() {
> > > > > >   var selectedItem = listbox.selectedItem;
> > > > > >         var alert_ix = listbox.selectedIndex;
> > > > > >         var alert = lfuUserInfo.allAlerts[alert_ix];
> > > > > >         debug.trace("lb_onchange: alert ix="+alert_ix);
> > > > > >         //var detailsView = new DetailsView(); //done on 
> > > > > > initialization
> > > > > >         debug.trace("lb_onchange: detailsView done");
> > > > > >         detailsView.SetContent( "", undefined, "details.xml", 
> > > > > > false, 0);
> > > > > >         debug.trace("lb_onchange: detailsView SetContent done");
> > > > > >         detailsView.detailsViewData.putValue("alert", alert);
> > > > > >         // Set a reference to the "closeDetailsView" function in the
> > > > > > detailsViewData
> > > > > >   detailsView.detailsViewData.putValue("closeDetailsView",
> > > > > > closeDetailsView);
> > > > > >   // Show the details view
> > > > > >         plugin.showDetailsView(detailsView, "Alert",
> > > > > > gddDetailsViewFlagToolbarOpen, onDetailsViewFeedback);
> > > > > >         detailsViewIsOpen = true;
> > > > > >         debug.trace("lb_onchange: showDetailsView done");
>
> > > > > > }
>
> > > > > > Also, in my main view:
>
> > > > > > function closeDetailsView() {
> > > > > >   plugin.CloseDetailsView();
>
> > > > > > }
>
> > > > > > function onDetailsViewFeedback(detailsViewFlags) {
> > > > > >   if (detailsViewFlags == gddDetailsViewFlagNone) {
> > > > > >     // User closed the details view
> > > > > >   } else if (detailsViewFlags == gddDetailsViewFlagToolbarOpen) {
> > > > > >     // User clicked on the title of the details view
> > > > > >   }
>
> > > > > > }
>
> > > > > > My DetailsView xml is:
>
> > > > > > <view height="150" width="450" onopen="detailsView_onOpen()">
> > > > > >   <img height="150" width="450" x="0" y="0" src="stock_images
> > > > > > \background.png"
> > > > > >    />
> > > > > > <img cursor="hand" enabled="true" name="imgClose" x="320" y="8"
> > > > > > onclick="detailsView_Close()"
> > > > > >       src="images\closeBtn.png"/>
> > > > > >   <label enabled="true" height="15" name="label1" x="20" y="25"
> > > > > > onclick="onclick_label1()"
> > > > > >    >...
> > > > > >   </label>
> > > > > >   <label enabled="true" height="65" name="label2" x="20" y="45"
> > > > > > onclick="onclick_label2()"
> > > > > >    />
> > > > > >   <script src="details.js" />
> > > > > > </view>
>
> > > > > > And details.js has:
>
> > > > > > function detailsView_onOpen() {
> > > > > >         debug.trace("detailsView_onOpen()");
> > > > > > ...
>
> > > > > > }
>
> > > > > > Thanks in anticipation.
>
> > > > > > Colin Goldberg- Hide quoted text -
>
> > > > - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Desktop Developer Group" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Desktop-Developer?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to