Mailinglist Archive: yast-devel (121 mails)

< Previous Next >
Re: [yast-devel] A few questions about libYUI
On Thu, Jun 23, 2011 at 02:58:01AM +0530, Manu Gupta wrote:
Hi

I am trying a few things in libYUI to ask of

1. How to set a value in a ComboBox?
I have tried with both editable and non-editable comboBoxes

http://doc.opensuse.org/projects/libyui/HEAD/classYComboBox.html
says:

In non-editable mode, a ComboBox works very much like a SelectionBox
that uses fewer screen space. In that mode, it is recommended to use
selectedItem() to retrieve its current value and selectItem() to set
it.

In editable mode, a ComboBox is more like an InputField with a list
to pick predefined values from (for less typing). In that mode, it
is recommended to use value() and setValue().


I have a
YComboBox * cc = YUI::widgetFactory(dialog,"SELECT",true);
cc->addItem("XYZ");
cc->addItem("Blah");
cc->setValue("Manu");

In this case, the value Manu is not set and highlighted

Now lets take this case
YComboBox * cc = YUI::widgetFactory(dialog,"SELECT",true);
cc->addItem("XYZ");
cc->addItem("Blah");
cc->setValue("Blah");

Same thing blah is not highlighted

I think both should work.

case 3
YComboBox * cc = YUI::widgetFactory(dialog,"SELECT",false);
cc->addItem("XYZ");
cc->addItem("Blah");
cc->setValue("Blah");

I get a YUI::Exception

That is as expected, for non-editable comboboxes selectItem should
be used.

So if anyone can cross check this case and let me know if it is a bug or not?

Second Question is related to event handling

If a selection in a comboBox changes, how would I able to recognise it

Currently I follow this approach
YDialog * dialog = YUI::widgetFactory->createDialog();
YComboBox * cc = YUI::widgetFactory(dialog,"SELECT",false);
YWidgetEvent * event = (YWidgetEvent*)dialog->waitForEvent();
while(1){
if(event->reason()==SelectionChanged){
cout<<"XYZ";
}
};

this does not seem to work ie the dialog is not recognising changes in
my combobox, how do I solve them?

Maybe you need to set the boolean Notify property?
http://doc.opensuse.org/projects/YaST/openSUSE11.3/tdg/AAA_All-Widgets.html

http://svn.opensuse.org/viewvc/yast/trunk/libyui/src/YWidget.cc?revision=60778&view=markup#l418
Hmm, the @property tags in the source are not handled by any
docs generator AFAICT. Prashanth, it would be good to enable that.

--
Martin Vidner, YaST developer
http://en.opensuse.org/User:Mvidner

Kuracke oddeleni v restauraci je jako fekalni oddeleni v bazenu
< Previous Next >
References