source: hypertools/hypertools/si_dettach_display.m @ 3

Last change on this file since 3 was 3, checked in by dtax, 15 years ago

Hypertools, first

File size: 1.7 KB
Line 
1%SI_DETTACH_DISPLAY Dettach an additional display to the spectral image
2%
3%  SI_DETTACH_DISPLAY(SIH,IMH)
4%
5% INPUT
6%   SIH    spectral image handle (see showsi)
7%   IMH    figure handle to be dettached
8%
9
10% Copyright: Pavel Paclik, pavel@ph.tn.tudelft.nl
11% Faculty of Applied Physics, Delft University of Technology
12% P.O. Box 5046, 2600 GA Delft, The Netherlands
13
14function si_dettach_display(sih,imh)
15 
16        udpim=get(sih,'userdata');
17        udim=get(imh,'userdata');
18       
19        if udim.hpim ~= udpim.hpim
20                error('the display is attached to a different spectral image');
21        end
22       
23        % remove added fields
24        udim=rmfield(udim,{'hpim','hspec','si_ax'});
25
26        % what figure we attach?
27        tag=get(imh,'tag');
28
29        if strcmp(tag,'scatterdui')
30
31                % update callbacks
32                set(imh,'CloseRequestFcn','closereq');
33               
34                % remove the point
35                delete(udim.si_point);
36                udim=rmfield(udim,{'si_point'});
37               
38                % remove the link to this display from the list in pim
39                udpim.si_attached_scatters=setdiff(udpim.si_attached_scatters,imh);
40               
41        else
42               
43                % remove all the points from this figure
44                h=findobj(get(imh,'children'),'type','line');
45                delete(h);
46               
47                % remove spectral menus
48                h = findobj(imh,'Type','uimenu','tag','actions');
49                h = findobj(gcf,'Type','uimenu','tag','mouse_si_visualisation');
50                delete(h);
51                udim.state = 'none';
52                dipfig_set_action_check(imh,'none');
53                set(imh,'pointer','arrow')
54               
55                % update callbacks
56                set(imh,'WindowButtonMotionFcn','');   
57                set(imh,'WindowButtonDownFcn','');
58                set(imh,'CloseRequestFcn','closereq');
59               
60                % remove the link to this display from the list in pim
61                udpim.si_attached_displays=setdiff(udpim.si_attached_displays,imh);
62               
63        end
64        % update user data
65        set(sih,'UserData',[]);
66        set(sih,'UserData',udpim);
67
68        set(imh,'UserData',[]);
69        set(imh,'UserData',udim);       
70       
71        return
Note: See TracBrowser for help on using the repository browser.