70,70c70,70 < if (fLocator != null) { --- > if (getLocator() != null) { 71,71c71,71 < fLocator.moveBy(x, y); --- > getLocator().moveBy(x, y); 116a117,128 > * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting > * a TextHolder to a Figure this method can be used for polymorphism (in this > * case, let the (same) object appear to be of another type). > * Note, that the figure returned is not the figure to which the TextHolder is > * (and its representing figure) connected. > * @return figure responsible for representing the content of this TextHolder > */ > public Figure getRepresentingFigure() { > return this; > } > > /** 285,285c297,297 < dw.writeStorable(fObservedFigure); --- > dw.writeStorable(getObservedFigure()); 286,286c298,298 < dw.writeStorable(fLocator); --- > dw.writeStorable(getLocator()); 297a310,311 > setObservedFigure((Figure)dr.readStorable()); > if (getObservedFigure() != null) { 298,299d309 < fObservedFigure = (Figure)dr.readStorable(); < if (fObservedFigure != null) { 300,300c312,312 < fObservedFigure.addFigureChangeListener(this); --- > getObservedFigure().addFigureChangeListener(this); 302,302c314,314 < fLocator = (OffsetLocator)dr.readStorable(); --- > setLocator((OffsetLocator)dr.readStorable()); 307a320,320 > if (getObservedFigure() != null) { 308,308d319 < if (fObservedFigure != null) { 309,309c321,321 < fObservedFigure.addFigureChangeListener(this); --- > getObservedFigure().addFigureChangeListener(this); 314a327,327 > if (getObservedFigure() != null) { 315,315d326 < if (fObservedFigure != null) { 316,316c328,328 < fObservedFigure.removeFigureChangeListener(this); --- > getObservedFigure().removeFigureChangeListener(this); 318a331,332 > setObservedFigure(figure); > setLocator(new OffsetLocator(getObservedFigure().connectedTextLocator(this))); 319,320d330 < fObservedFigure = figure; < fLocator = new OffsetLocator(figure.connectedTextLocator(this)); 321,321c333,333 < fObservedFigure.addFigureChangeListener(this); --- > getObservedFigure().addFigureChangeListener(this); 345,345c357,357 < if (fLocator != null) { --- > if (getLocator() != null) { 346,346c358,358 < Point p = fLocator.locate(fObservedFigure); --- > Point p = getLocator().locate(getObservedFigure()); 359a372,372 > disconnect(getObservedFigure()); 360,361d371 < disconnect(fObservedFigure); < fObservedFigure = null; 370a382,399 > setLocator(null); > setObservedFigure(null); > } > > protected void setObservedFigure(Figure newObservedFigure) { > fObservedFigure = newObservedFigure; > } > > public Figure getObservedFigure() { > return fObservedFigure; > } > > protected void setLocator(OffsetLocator newLocator) { > fLocator = newLocator; > } > > protected OffsetLocator getLocator() { > return fLocator; 371,371d381 < fLocator = null;