MATLAB uipanel child visiable - matlab

quick question on uipanels/button groups, how can i make one item (a radio button) with in the uipanel visible/not visible...
the code "set(handles.uibatspanel,'visible','off')" makes the panel itself visible or not, but i want the radio button "raido2bats" within this panel to be visiable/not visiable
Many Thanks
Ben

Use the same code with the handle to the radio button uicontrol, rather than the handle to the uipanel itself.

Related

Gtk/Glade How to change window content

I Want to change whole window content after button press. What is the best way to do that? Someting like "Next" button on installers but with custom buttons.
You probably want a GtkStack with your own buttons to change the visible child (but do have a look at GtkStackSwitcher and GtkAssistant for more ready-made but less flexible solutions).

How can i make a moving button in GWT, so that users can move it to anywhere they want?

I just want to make a moving button , Is there a way to do that in GWT? Thanks in advance.
BS
Out of the box, you can use a DialogBox to display your button. DialogBox can be moved around, but you will need to display something in a Caption that is used for dragging.
Another option is to use PopupPanel. It can be completely invisible (no Caption), but you will have to implement dragging functionality on your own. The advantage is that a PopupPanel floats on top of all the other layers in your UI.
Finally, you can simply add dragging functionality to a regular button. Just remember to check for the boundaries so that a user cannot drag your button outside of the visible browser area - or obscure some important elements of the UI.

Which checkboxes are selected in MATLAB GUI?

When I want to know which radio buttons are selected in a panel in a MATLAB GUI, I use this line:
ChosenOption = get(handles.OptionPanel, 'SelectedObject');
where OptionPanel is the Tag of the panel where the radio buttons are located.
However, if I want to use checkboxes instead of radio buttons, is there any way to do the same?
Thank you.
You would typically get the Value property of each checkbox to determine whether it was checked or not.
Note that typically with checkboxes any, all, or none of the checkboxes may be selected (in contrast to radio buttons, where typically only a single radio button would be selected at any one time), so you would want to get the Value property of each checkbox separately. There's no equivalent of a uibuttongroup that you would use with radio buttons (although you can of course graphically group the checkboxes in a uipanel).

MATLAB GUIDE pushbutton effect when pushed and title size

I have created a GUIDE script with 5 push buttons. Each button creates a different graph for given data. I would like every time I push one of the buttons (let's call it Button1), the button to look like it is pushed or maybe change color or title (I would prefer it to look pushed). When a different button(let's call it Button2) is pushed I want Button2 to look pushed and Button1 to look like it was initially.
Also when I plot figures and I use a title on top of the figure, GUIDE cuts the top part of the title. Is there any way to have the title on the inside of the figure or maybe closer to the top axis so that all of it is visible?
(HARD) In the ButtonDownFcn callback for each button, put code that sets the BackgroundColor property. (You can see all of the available properties for any control by choosing View/PropertyInspector in the main menu for GUIDE.) Since you only have 5 buttons, the easiest way to get what you want is to just copy and paste code between them, with appropriate changes.
Pseudocode for Button 1:
Button1.BackgroundColor=PushedColor
Button2.BackgroundColor=NonpushedColor
etc for rest of buttons
(EASY) Use a group of radio buttons instead. They do what you want, automatically.
To reposition the title, you just change the Position property of the title's text box.

Is there a way to uncheck all radio buttons in a group? (PyGTK)

Is there a way to uncheck all radio buttons in a group with PyGTK? No radio buttons are checked on startup, so I think there must be a way to return them all to that unchecked state.
I agree with Michael, but for the record this can be done.
One way to do this would be to have a hidden radio button that you could activate, which would then cause all the visible ones to be inactive. Quick n' Dirty example:
import gtk
window = gtk.Window()
window.set_default_size(200, 200)
rb1 = gtk.RadioButton()
rb2 = gtk.RadioButton()
rb3 = gtk.RadioButton()
rb2.set_group(rb1)
rb3.set_group(rb2)
rb3.set_active(True)
hbox = gtk.HBox()
hbox.add(rb1)
hbox.add(rb2)
hbox.add(rb3)
button = gtk.Button("Click me")
button.connect("clicked", lambda x: rb3.set_active(True))
hbox.add(button)
window.add(hbox)
window.show_all()
rb3.hide()
gtk.main()
There shouldn't be. By their nature, a radio button group is a 'pick one of many' type of control. From a human perspective, the idea is that one of them is always selected. The framework really should enforce that, so there really shouldn't be a 'none selected' state for the group. The none-selected state of a radio button group (in frameworks where it's possible) is very confusing to users, because that's not a state that they can get the control into.
If you want a 'none selected' state, I'd say you should add a 'none' element to the group, OR chose a different control type that conforms to what you want to do with it.
Looked it up in the source code and set_active simply simulates a click on the button if the new state is different from the old one. The radio button code then checks to see if there is another radio button in the group active and if not, it refuses to change as you noticed.
From what it looks the first radio button should always be set to active when you create the group (as expected). If it doesn't show it is likely a bug, it would be interested to see if radio_button.get_active is True for the first button you create (even if it doesn't show up in the UI).
I agree with Michael Kohne though that you should look into another UI element if you want to make all the radio buttons unselected.
My solution, which is notably not encouraged, Is to have a radio button in the same group that isn't shown on screen.
In Glade you can 'add widget as toplevel' in the context menu of the widget add button. In code I would imaging it's basically just don't add the widget to any displayed gui, or carefully don't .show() it (including .showall() on a parent)