void invoke(Page page) { pageCheckBox.page = page; page.deselect(); createContentPane(); if (needNewDialog(dialog, page)) { String s = Modeler.getInternationalText("CustomizeCheckBoxDialogTitle"); dialog = ModelerUtilities.getChildDialog(page, s != null ? s : "Customize check box", true); dialog.setContentPane(contentPane); dialog.pack(); dialog.setLocationRelativeTo(dialog.getOwner()); dialog.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { cancel = true; dialog.setVisible(false); } public void windowActivated(WindowEvent e) { nameField.selectAll(); nameField.requestFocusInWindow(); } }); } modelComboBox.removeItemListener(modelSelectionListener); modelComboBox.removeAllItems(); actionComboBox.removeItemListener(actionSelectionListener); // add legacy MD models to the model list final ComponentPool componentPool = page.getComponentPool(); synchronized (componentPool) { for (ModelCanvas mc : componentPool.getModels()) { if (mc.isUsed()) { modelComboBox.addItem(mc.getMdContainer().getModel()); } } } // add target models to the model list for (Class c : ModelCommunicator.targetClass) { Map map = page.getEmbeddedComponent(c); if (map != null && !map.isEmpty()) { for (Object o : map.keySet()) { modelComboBox.addItem(map.get(o)); } } } if (pageCheckBox.isTargetClass()) { if (pageCheckBox.modelID != -1) { try { Object o = page.getEmbeddedComponent( Class.forName(pageCheckBox.modelClass), pageCheckBox.modelID); if (o != null) modelComboBox.setSelectedItem(o); } catch (ClassNotFoundException e) { e.printStackTrace(); } } else { BasicModel m = (BasicModel) modelComboBox.getSelectedItem(); if (m instanceof Embeddable) pageCheckBox.setModelID(((Embeddable) m).getIndex()); } } else { if (pageCheckBox.modelID != -1) { ModelCanvas mc = componentPool.get(pageCheckBox.modelID); modelComboBox.setSelectedItem(mc.getMdContainer().getModel()); } else { BasicModel m = (BasicModel) modelComboBox.getSelectedItem(); pageCheckBox.setModelID(componentPool.getIndex(m)); } } modelComboBox.addItemListener(modelSelectionListener); fillActionComboBox(); if (pageCheckBox.getAction() != null) actionComboBox.setSelectedItem(pageCheckBox.getAction()); actionComboBox.addItemListener(actionSelectionListener); String t = pageCheckBox.getText(); nameField.setText( t != null ? t : (actionComboBox.getSelectedItem() != null ? actionComboBox.getSelectedItem().toString() : null)); uidField.setText(pageCheckBox.getUid()); imageSelectedField.setText(pageCheckBox.getImageFileNameSelected()); imageDeselectedField.setText(pageCheckBox.getImageFileNameDeselected()); toolTipField.setText(pageCheckBox.getToolTipText()); transparentCheckBox.setSelected(pageCheckBox.isTransparent()); disabledAtRunCheckBox.setSelected(pageCheckBox.disabledAtRun); disabledAtScriptCheckBox.setSelected(pageCheckBox.disabledAtScript); bgComboBox.setColor(pageCheckBox.getBackground()); autoSizeCheckBox.setSelected(pageCheckBox.autoSize); if (pageCheckBox.isPreferredSizeSet()) { widthField.setValue(pageCheckBox.getWidth()); heightField.setValue(pageCheckBox.getHeight()); } widthField.setEnabled(!pageCheckBox.autoSize); heightField.setEnabled(!pageCheckBox.autoSize); okButton.setEnabled(modelComboBox.getItemCount() > 0 && actionComboBox.getItemCount() > 0); setScriptArea(); dialog.setVisible(true); }