public void setEditable(boolean b) {
		super.setEditable(b);
		List<Embeddable> list = getEmbeddedComponents();
		int i = 0, j = 0;
		if (list != null && !list.isEmpty()) {
			synchronized (list) {
				for (Embeddable e : list) {
					e.setChangable(b);
					if (e instanceof PageTextBox) {
						PageTextBox ptb = (PageTextBox) e;
						ptb.setIndex(i++);
						if (EventQueue.isDispatchThread()) {
							ptb.showBoundary(b);
							ptb.setToolTipText(b ? ptb.getBoundaryText() : null);
						}
					} else if (e instanceof IconWrapper) {
						IconWrapper iw = (IconWrapper) e;
						iw.setIndex(j++);
						if (EventQueue.isDispatchThread()) {
							iw.showBoundary(b);
							iw.setToolTipText(b ? iw.getBoundaryText() : null);
						}
					} else if (e instanceof ModelCanvas) {
						((ModelCanvas) e).getMdContainer().getView().setEditable(b);
					} else if (e instanceof PagePlugin) {
						((PagePlugin) e).setEditable(b);
					}
				}
			}
		}
	}