bugGNU Octave - Bugs: bug #48214, Special characters in uicontrol's...

 
 

bug #48214: Special characters in uicontrol's string

Submitted by:  Guillaume <gyom>
Submitted on:  Mon 13 Jun 2016 10:54:09 AM UTC  
 
Category:  GUI Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Matlab Compatibility
Status:  Fixed Assigned to:  None
Originator Name:  Guillaume Open/Closed:  Closed
Release:  dev Operating System:  GNU/Linux

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

( Jump to the original submission)

Thu 16 Jun 2016 02:26:16 PM UTC, comment #7: 

Yes, please file a different bug report, considering I glossed over anything unrelated to the bug title :)

Mike Miller <mtmiller>
Project Administrator
Thu 16 Jun 2016 11:17:35 AM UTC, comment #6: 

Many thanks for fixing this.

Concerning #comment1 (default values for 'color' and 'checked' properties), do you think they should be modified to match Matlab's and if so, shall I open a new bug report?

Guillaume <gyom>
Thu 16 Jun 2016 01:24:50 AM UTC, comment #5: 

Fixed on the default branch with this change:

http://hg.savannah.gnu.org/hgweb/octave/rev/f500cde065f7

Mike Miller <mtmiller>
Project Administrator
Tue 14 Jun 2016 03:14:34 PM UTC, comment #4: 

Correct. And since those widgets all derive from BaseControl, the change is actually only needed in one place.

The edit, listbox, popupmenu, and text uicontrols do not use QAbstractButtons, so the same syntax does not apply.

Mike Miller <mtmiller>
Project Administrator
Tue 14 Jun 2016 11:28:22 AM UTC, comment #3: 

Am I right to understand that the "problem" is with Qt and all '&' have to be replaced with '&&' before being given to Qt's setText?

http://doc.qt.io/qt-4.8/qabstractbutton.html#text-prop

I'm just confused it happens with some uicontrols but not others.

Guillaume <gyom>
Mon 13 Jun 2016 04:52:10 PM UTC, comment #2: 

Thanks, confirmed here. Looks like an easy string replacement task in libgui/graphics.

Mike Miller <mtmiller>
Project Administrator
Mon 13 Jun 2016 10:56:10 AM UTC, comment #1: 

(note also the different default values between Octave and Matlab for background colors of uicontrols and figures, and 'checked' value of checkbox, radiobutton and togglebutton).

Guillaume <gyom>
Mon 13 Jun 2016 10:54:09 AM UTC, original submission:  

The character '&' is wrongly interpreted in the 'String' property of a uicontrol (this was already mentioned in item 4 of bug #44672):

F = figure;
uicontrol(F,'units','normalized','Style','checkbox','String','A & B','Position',[0.3 0.8 0.4 0.09]);
uicontrol(F,'units','normalized','Style','edit','String','A & B','Position',[0.3 0.7 0.4 0.09]);
uicontrol(F,'units','normalized','Style','listbox','String','A & B','Position',[0.3 0.6 0.4 0.09]);
uicontrol(F,'units','normalized','Style','popupmenu','String','A & B','Position',[0.3 0.5 0.4 0.09]);
uicontrol(F,'units','normalized','Style','pushbutton','String','A & B','Position',[0.3 0.4 0.4 0.09]);
uicontrol(F,'units','normalized','Style','radiobutton','String','A & B','Position',[0.3 0.3 0.4 0.09]);
uicontrol(F,'units','normalized','Style','text','String','A & B','Position',[0.3 0.2 0.4 0.09]);
uicontrol(F,'units','normalized','Style','togglebutton','String','A & B','Position',[0.3 0.1 0.4 0.09]);

A screenshot of the display in Octave and Matlab is attached: the problem is with checkbox, pushbutton, radiobutton and togglebutton.

The underscore seems to correspond to an access key, meaning that the '&' is interpreted in the way it is for uimenus; using '&&' for the problematic uicontrols fixes the display.

Guillaume <gyom>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #37463:  uicontrol.png added by gyom (30KiB - image/png)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by gyom (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

     

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-06-16 mtmiller StatusConfirmed => Fixed
        Open/ClosedOpen => Closed
    2016-06-13 mtmiller Item GroupNone => Matlab Compatibility
        StatusNone => Confirmed
    2016-06-13 gyom Attached File- => Added uicontrol.png, #37463

    Back to the top


    Powered by Savane 3.5