Changeset 429 for trunk/src/set_object.m


Ignore:
Timestamp:
May 22, 2012, 1:07:40 AM (12 years ago)
Author:
sommeria
Message:

improvements in object drawing and projection on points

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/set_object.m

    r427 r429  
    501501    end   
    502502    if numel(IndexObj)==1   % if only one object is selected, the projection is in uvmat
    503 %         plotaxes=hhuvmat.axes3;%handle of axes3 in view_field
    504503        PlotType=plot_field(ProjData,hhuvmat.axes3,read_GUI(get(hhuvmat.axes3,'parent')));%update the current uvmat plot
    505504    else  % if a second object is selected, the projection is in view_field, and this second object is selected
    506505        hview_field=findobj(allchild(0),'tag','view_field');
    507506        if isempty(hview_field)
    508             PlotType=view_field(ProjData); %open the view_field GUI for plot
    509           %  hview_field=view_field;%open the GUI view_field if it is not found
     507            hview_field=view_field(ProjData); %open the view_field GUI for plot
    510508        else
    511509            hhview_field=guidata(hview_field);
     
    513511            write_plot_param(hhview_field,PlotParam); %update the display of plotting parameters for the current object
    514512        end
    515 %         PlotHandles=guidata(hview_field);
    516 %         plotaxes=PlotHandles.axes3;%handle of axes3 in view_field
    517     end
    518 %     fighandle=get(plotaxes,'parent');
    519 %     PlotParam=read_GUI(fighandle);
    520    % PlotType=plot_field(ProjData,plotaxes,PlotParam);%update an existing field plot
    521 end
    522 if strcmp(PlotType,'text')
    523     hview_field=findobj(allchild(0),'tag','view_field'); %case of no projection (pure object display)
    524     if ~isempty(hview_field)
    525         delete(hview_field)
    526     end
    527 end
    528    
     513        haxes=findobj(hview_field,'tag','axes3');
     514        Data=get(hview_field,'UserData');
     515        if strcmp(get(haxes,'Visible'),'off')%sempty(PlotParam.Coordinates)% case of no plot display (pure text table)
     516            h_TableDisplay=findobj(hview_field,'tag','TableDisplay');
     517            pos_table=get(h_TableDisplay,'Position');
     518            pos=get(hview_field,'Position');
     519            set(hview_field,'Position',[pos(1)+pos(3)-pos_table(3) pos(2)+pos(4)-pos_table(4) pos_table(3) pos_table(4)])
     520            drawnow
     521            set(hview_field,'UserData',Data);% restore the previously stored GUI position after GUI resizing
     522        else
     523            set(hview_field,'Position',Data.GUISize)
     524        end
     525    end
     526end
     527
    529528%% update the GUI uvmat
    530529hhuvmat=guidata(huvmat);%handles of elements in the uvmat GUI
Note: See TracChangeset for help on using the changeset viewer.