Changeset 302 for trunk/src/mouse_down.m


Ignore:
Timestamp:
Nov 26, 2011, 4:31:48 PM (12 years ago)
Author:
sommeria
Message:

improve the display of projection objects

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/mouse_down.m

    r296 r302  
    118118            case 'uicontrol'  %if the mouse is over a uicontrol, duplicate the display  in an editable  zoom window
    119119                if isequal(get(hObject,'SelectionType'),'alt')  && isequal(get(hchild,'Visible'),'on') && ~isequal(get(hchild,'tag'),'frame_object')&&...
    120                         ~isequal(get(hchild,'tag'),'list_object_2') && ~isequal(get(hchild,'tag'),'list_object_1')
     120                        ~isequal(get(hchild,'tag'),'ListObject')
    121121                    if strcmp(get(hchild,'Visible'),'on')
    122122                        msg_pos(1:2)=GUI_pos(1:2)+obj_pos(1:2).*GUI_pos(3:4);
     
    236236                    %indicate on the list of the GUI uvmat which object has been selected
    237237            if strcmp(get(hcurrentfig,'tag'),'uvmat') %if the uvmat graph has been selected, object projection is on the other frame view_field
    238                 set(hhuvmat.list_object_2,'Value',IndexObj);
    239                 list_str=get(hhuvmat.list_object_2,'String');
    240                 UvData.Object{IndexObj}.Name=list_str{IndexObj};
     238                IndexObj_old=get(hhuvmat.ListObject,'Value');
     239                if IndexObj>IndexObj_old(1)
     240                    IndexObj=[IndexObj_old(1) IndexObj];
     241                else
     242                    IndexObj=[1 IndexObj];
     243                end
     244                set(hhuvmat.ListObject,'Value',IndexObj);
     245                set(hhuvmat.ListObject,'UserData',IndexObj);
     246%                 list_str=get(hhuvmat.list_object_2,'String');
     247%                 UvData.Object{IndexObj(2)}.Name=list_str{IndexObj};
    241248            else
    242                 set(hhuvmat.list_object_1,'Value',IndexObj);
    243                 list_str=get(hhuvmat.list_object_1,'String');
     249                set(hhuvmat.ListObject,'Value',IndexObj);
     250                list_str=get(hhuvmat.ListObject,'String');
    244251                UvData.Object{IndexObj}.Name=list_str{IndexObj};
    245252            end
     
    293300            end 
    294301            UvData.Object{IndexObj}=ObjectData;       
    295             list_str=get(hhuvmat.list_object_1,'String');
     302            list_str=get(hhuvmat.ListObject,'String');
     303            IndexObj_old=get(hhuvmat.ListObject,'Value');
     304            set(hhuvmat.ListObject,'Value',[IndexObj_old(1) IndexObj] );
     305            UvData.Object{IndexObj}.DisplayHandle_uvmat=AxeData.CurrentObject;
    296306            object_name=get(sethandles.TITLE,'String');
    297307            if isempty(object_name)|| strcmp(object_name,'')
     
    301311               list_str{IndexObj}=object_name;
    302312            end
    303             set(hhuvmat.list_object_1,'String',list_str)
     313            set(hhuvmat.ListObject,'String',list_str)
     314            UvData.Object{IndexObj}.DisplayHandle_view_field=AxeData.CurrentObject;
    304315            %list_str{end+1}='...';
    305             set(hhuvmat.list_object_2,'String',list_str)
    306             if strcmp(fig_tag,'view_field')%we are in view_field plot
    307                   set(hhuvmat.list_object_1,'Value',IndexObj)% the projection field will be plotted in uvmat frame
    308                   UvData.Object{IndexObj}.DisplayHandle_uvmat=[];
    309                   UvData.Object{IndexObj}.DisplayHandle_view_field=AxeData.CurrentObject;       
    310             else%we are in uvmat plot
    311                 set(hhuvmat.list_object_2,'Value',IndexObj)
    312                 UvData.Object{IndexObj}.DisplayHandle_uvmat=AxeData.CurrentObject;
    313                 UvData.Object{IndexObj}.DisplayHandle_view_field=[];
    314             end
     316%             set(hhuvmat.list_object_2,'String',list_str)
     317%             if strcmp(fig_tag,'view_field')%we are in view_field plot
     318%                   set(hhuvmat.list_object_1,'Value',IndexObj)% the projection field will be plotted in uvmat frame
     319%                   UvData.Object{IndexObj}.DisplayHandle_uvmat=[];
     320%                   UvData.Object{IndexObj}.DisplayHandle_view_field=AxeData.CurrentObject;       
     321%             else%we are in uvmat plot
     322%                 set(hhuvmat.list_object_2,'Value',IndexObj)
     323%                 UvData.Object{IndexObj}.DisplayHandle_uvmat=AxeData.CurrentObject;
     324%                 UvData.Object{IndexObj}.DisplayHandle_view_field=[];
     325%             end
    315326            set(huvmat,'UserData',UvData)
    316327            PlotData=get(AxeData.CurrentObject,'UserData');
Note: See TracChangeset for help on using the changeset viewer.