public EditorController(String divID, int width, int height) { VerticalPanel vp = new VerticalPanel(); HorizontalPanel hp = new HorizontalPanel(); SimplePanel topToolBoxWrapper = new SimplePanel(); ToggleButtonListener toggleButtonListener = new ToggleButtonListener(); topToolBox = new TopToolBox(this, toggleButtonListener); topToolBox.setStyleName("jsmoleditor-topToolBox"); topToolBoxWrapper.setWidget(topToolBox); topToolBoxWrapper.setStyleName("jsmoleditor-topTooBoxWrapper"); topToolBoxWrapper.setWidth(width + "px"); SimplePanel sideToolBoxWrapper = new SimplePanel(); elementToolBox = new ElementToolBox(this, toggleButtonListener); sideToolBoxWrapper.setWidget(elementToolBox); sideToolBoxWrapper.setStyleName("jsmoleditor-elementToolBoxWrapper"); sideToolBoxWrapper.setHeight((height - 24) + "px"); VerticalPanel vp2 = new VerticalPanel(); ExtendedCanvas canvas = new ExtendedCanvas(width - 24, height - 48); StatusBar statusBar = new StatusBar(width - 24, 24); statusBar.setHTML("Copyright chemhack.com"); renderer = new CanvasRenderer(this, canvas); vp2.add(canvas); vp2.add(statusBar); hp.add(sideToolBoxWrapper); hp.add(vp2); vp.add(topToolBoxWrapper); vp.add(hp); RootPanel rootPanel = RootPanel.get(divID); rootPanel.setPixelSize(width, height); rootPanel.add(vp); KeyboardShortCutEventPreview preview = new KeyboardShortCutEventPreview(this); // TODO deal with multiple editor instance? DOM.addEventPreview(preview); EditorMouseListener listener = new EditorMouseListener(this); canvas.addMouseListener(listener); canvas.addMouseWheelListener(listener); }
/** Rebuild already added widget based on already added admins */ private void rebuildAlreadyAddedWidget() { alreadyAdded.setStyleName("alreadyAdded"); alreadyAdded.setVisible(!alreadyAddedList.isEmpty()); alreadyAdded.setWidget(new HTML("<strong>Already added: </strong>")); for (int i = 0; i < alreadyAddedList.size(); i++) { alreadyAdded .getWidget() .getElement() .setInnerHTML( alreadyAdded.getWidget().getElement().getInnerHTML() + ((i != 0) ? ", " : "") + alreadyAddedList.get(i).getFullName()); } }