14c14 < import CH.ifa.draw.framework.*; --- > import CH.ifa.draw.framework.DrawingView; 39,64c39 < < private DrawingChangeListener dcl = new DrawingChangeListener() { < /** Sent when an area is invalid < * < */ < public void drawingInvalidated(DrawingChangeEvent e) { < } < /** Sent when the drawing wants to be refreshed < * < */ < public void drawingRequestUpdate(DrawingChangeEvent e) { < } < /** < * Change all frames that contain this drawing. < */ < public void drawingTitleChanged(DrawingChangeEvent e) { < Drawing dwg = e.getDrawing(); < JInternalFrame[] jifs = getAllFrames(); < < for (int x=0; x private DrawApplication myDrawApplication; 71c46 < private DrawingView selectedView; --- > protected DrawingView selectedView; 73c48,49 < public MDIDesktopPane() { --- > public MDIDesktopPane(DrawApplication newDrawApplication) { > setDrawApplication(newDrawApplication); 78,89d53 < addDesktopListener( new DesktopListener() { < public void drawingViewAdded(DesktopEvent dpe){ < DrawingView dv = dpe.getDrawingView(); < dv.drawing().addDrawingChangeListener(dcl); < } < public void drawingViewRemoved(DesktopEvent dpe){ < DrawingView dv = dpe.getDrawingView(); < dv.drawing().removeDrawingChangeListener(dcl); < } < public void drawingViewSelected(DrawingView oldView, DesktopEvent dpe){ < } < }); 114c78 < * --- > * if this is the last view set it to null 118a83,86 > if (getComponentCount() == 0){ > setActiveDrawingView(null); > fireDrawingViewSelectedEvent(selectedView); > } 145a114 > fireDrawingViewSelectedEvent(selectedView); 148,153c117,118 < public void internalFrameDeactivated(InternalFrameEvent e) { < int x = getComponentCount(); < if (getComponentCount() == 1){ //could be a component without a DrawingView. should use helper here. < setActiveDrawingView(null); //mrfloppy, investigate using NullDrawingView here please.( i will assist) < } < } --- > //public void internalFrameDeactivated(InternalFrameEvent e) { > //} 187c152 < private void fireDrawingViewSelectedEvent(final DrawingView oldView, final DrawingView newView) { --- > private void fireDrawingViewSelectedEvent(final DrawingView dv) { 194c159 < dpe = new DesktopEvent(MDIDesktopPane.this, newView); --- > dpe = new DesktopEvent(MDIDesktopPane.this, dv); 197c162 < dpl.drawingViewSelected(oldView,dpe); --- > dpl.drawingViewSelected(dpe); 213c178,187 < JInternalFrame internalFrame = new JInternalFrame(dv.drawing().getTitle(), true, true, true, true); --- > > String applicationTitle; > if (dv.drawing().getTitle() == null) { > applicationTitle = getDrawApplication().getApplicationName() + " - " + getDrawApplication().getDefaultDrawingTitle(); > } > else { > applicationTitle = getDrawApplication().getApplicationName() + " - " + dv.drawing().getTitle(); > } > JInternalFrame internalFrame = new JInternalFrame(applicationTitle, true, true, true, true); > internalFrame.setName(applicationTitle); 224d197 < DrawingView oldSelectedView = selectedView; 226d198 < fireDrawingViewSelectedEvent(oldSelectedView, newSelectedView); 228,230c200 < /** < * @deprecated desktop will use drawing name change listener < */ --- > 583d552 < } 584a554,556 > private void setDrawApplication(DrawApplication newDrawApplication) { > myDrawApplication = newDrawApplication; > } 585a558,561 > protected DrawApplication getDrawApplication() { > return myDrawApplication; > } > }