|  |  | 
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
st: Re: Re: using dynamic_list_control class
Thanks a lot Sergiy,
It's not quite what I meant, perhaps I should have been clearer in my 
question:
Lets consider this setup, there is an editbox, button and a listbox, user 
adds items to the list by typing into the editbox and then pushing the 
button. So if we link a code similar to yours to the -onpush- event of the 
button then everytime we push the button  ".dlist=.dynamic_list_control.new, 
dialogname(mydlg2) controlname(tabby2.lb1)" line will clear the list ...
I "fixed" the problem by rewriting my own apenditem / removeitem programs 
(mostly taken from dynamic_list_control.class) but posted the question to 
make sure there is no easier way to use already existing tool.
best,
zurab
----- Original Message ----- 
From: "Sergiy Radyakin" <[email protected]>
To: <[email protected]>
Sent: Thursday, March 15, 2007 3:53 PM
Subject: st: Re: using dynamic_list_control class
Hello Zurab,
I am using the file dynamic_list_control.class from Stata's base ADO 
directory as a hint on your question.
Notice comments
// WE MUST KEEP THE GUI CONTROL AND THE CLASS SYSTEM IN SYNC
throughout.
So if I wanted to add an item to a dynamic list I do it like this:
.dlist=.dynamic_list_control.new, dialogname(mydlg2) 
controlname(tabby2.lb1)
         .dlist.setList, newlist(`"`vars'"')
         .dlist.print
         .mydlg2_dlg.Vars1.Arrpush "Something"
         .mydlg2_dlg.tabby2.lb1.additem "Something"
         .`.dlist.fullListReference'.Arrpush "Something2"
         .`.dlist.fullObjectReference'.additem "Something2"
  classutil drop .dlist
Notice that Vars1 is defined as a dummy list in the dialog file.
You can either address the list directly (as in "Something"), or refer to 
it's fields, containing the full references (as in "Something2").
.dlist.print will display the contents of these fields.
In short, the above code will create a dynamic list object with items from 
local macro vars, and then append two items to the end of the list.
Question to all dialog programmers. What references/tutorials on dialog 
programming and controls are available in the Internet? Google search 
yields hardly a handfull of links :(
Best Regards, Sergiy Radyakin
----- Original Message ----- 
From: "Zurab Sajaia" <[email protected]>
To: "statalist" <[email protected]>
Sent: Thursday, March 15, 2007 5:35 PM
Subject: st: using dynamic_list_control class
Dear all,
I'm building a dialog with dynamically changed content and based on 
earlier discussions on the Statalist came to use dynamic_list_control 
class.
James Hassell kindly showed how to set the list interactively, and now 
I'm trying to use other methods of the class, namely appending or 
deleting an item.
My problem is that whenever the new instant is created and linked to the 
listbox, contents of the list are cleared:
dlist = .dynamic_list_control.new , dialogname(d1) 
controlname(main.lb_level)
.set method (which is called by .new) has "._clearList" at the end that 
clears the list. This was not an issue in the example given by James 
because he was then redefining the new list by:
.dlist.setList, newlist(`levels')
but if I need to add (or drop) one item only this seems to be a problem:
.dlist.appendItem, item("something") will result in list containing just 
"something".
I'd appreciate much any advice what to change (if Im doing something 
wrong)
Thanks,
Zurab
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/