package tk.eclipse.plugin.htmleditor.views; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.part.ViewPart; /** * PaletteView. * <p> * When HTMLSourceEditor or IPaletteTarget actives, * inserts a tag that is selected in the palette to the calet position. * </p> */ public class PaletteView extends ViewPart { @Override public void createPartControl(Composite parent) { } @Override public void setFocus() { } // private PaletteViewer viewer; // private TreeMap items = new TreeMap(); // private HashMap tools = new HashMap(); // private String[] defaultCategories; // // public PaletteView() { // addPaletteItem("HTML", new DefaultPaletteItem("form", HTMLPlugin.getDefault().getImageRegistry().getDescriptor(HTMLPlugin.ICON_FORM), "<form action=\"\" method=\"\">${selection}${cursor}</form>")); // addPaletteItem("HTML", new DefaultPaletteItem("text", HTMLPlugin.getDefault().getImageRegistry().getDescriptor(HTMLPlugin.ICON_TEXT), "<input type=\"text\" name=\"${cursor}\" value=\"\" />")); // addPaletteItem("HTML", new DefaultPaletteItem("textarea", HTMLPlugin.getDefault().getImageRegistry().getDescriptor(HTMLPlugin.ICON_TEXTAREA), "<textarea name=\"\" rows=\"\" cols=\"\"></textarea>")); // addPaletteItem("HTML", new DefaultPaletteItem("password", HTMLPlugin.getDefault().getImageRegistry().getDescriptor(HTMLPlugin.ICON_PASS), "<input type=\"password\" name=\"\" value=\"\" />")); // addPaletteItem("HTML", new DefaultPaletteItem("radio", HTMLPlugin.getDefault().getImageRegistry().getDescriptor(HTMLPlugin.ICON_RADIO), "<input type=\"radio\" name=\"\" value=\"\" />")); // addPaletteItem("HTML", new DefaultPaletteItem("checkbox", HTMLPlugin.getDefault().getImageRegistry().getDescriptor(HTMLPlugin.ICON_CHECK), "<input type=\"checkbox\" name=\"\" value=\"\" />")); // addPaletteItem("HTML", new DefaultPaletteItem("button", HTMLPlugin.getDefault().getImageRegistry().getDescriptor(HTMLPlugin.ICON_BUTTON), "<input type=\"button\" name=\"\" value=\"\" />")); // addPaletteItem("HTML", new DefaultPaletteItem("submit", HTMLPlugin.getDefault().getImageRegistry().getDescriptor(HTMLPlugin.ICON_BUTTON), "<input type=\"submit\" name=\"\" value=\"\" />")); // addPaletteItem("HTML", new DefaultPaletteItem("reset", HTMLPlugin.getDefault().getImageRegistry().getDescriptor(HTMLPlugin.ICON_BUTTON), "<input type=\"reset\" value=\"\" />")); // // // add items contributed from other plugins // String[] groups = HTMLPlugin.getDefault().getPaletteContributerGroups(); // for (int i = 0; i < groups.length; i++) { // IPaletteContributer contributer = HTMLPlugin.getDefault().getPaletteContributer(groups[i]); // IPaletteItem[] items = contributer.getPaletteItems(); // for (int j = 0; j < items.length; j++) { // addPaletteItem(groups[i], items[j]); // } // } // // // save default categories // defaultCategories = getCategories(); // } // // private void createToolBar() { // Action customize = new Action("Configuration", HTMLPlugin.getDefault().getImageRegistry().getDescriptor(HTMLPlugin.ICON_PROPERTY)) { // public void run() { // PaletteCustomizeDialog dialog = new PaletteCustomizeDialog(getViewSite().getShell()); // dialog.open(); // } // }; // customize.setToolTipText("Configuration"); // // IToolBarManager mgr = getViewSite().getActionBars().getToolBarManager(); // mgr.add(customize); // } // // /** // * create controls and apply configurations. // */ // public void createPartControl(Composite parent) { // viewer = new PaletteViewer(); // viewer.createControl(parent); // // PaletteRoot root = new PaletteRoot(); // // String[] category = getCategories(); // for (int i = 0; i < category.length; i++) { // PaletteDrawer group = new PaletteDrawer(category[i]); // IPaletteItem[] items = getPaletteItems(category[i]); // for (int j = 0; j < items.length; j++) { // HTMLPaletteEntry entry = new HTMLPaletteEntry(items[j].getLabel(), null, items[j].getImageDescriptor()); // tools.put(entry, items[j]); // group.add(entry); // } // root.add(group); // } // // viewer.setPaletteRoot(root); // // viewer.addPaletteListener(new PaletteListener() { // public void activeToolChanged(PaletteViewer palette, ToolEntry tool) { // Object obj = palette.getEditPartRegistry().get(tool); // if (!(obj instanceof ToolEntryEditPart)) { // return; // } // ToolEntryEditPart part = (ToolEntryEditPart) obj; // if (part != null) { // // get the active editor // IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); // IEditorPart editorPart = page.getActiveEditor(); // // execute processing of the palette item // if (editorPart != null) { // IPaletteItem item = (IPaletteItem) tools.get(tool); // if (editorPart instanceof HTMLSourceEditor) { // item.execute((HTMLSourceEditor) editorPart); // } // else if (editorPart instanceof IPaletteTarget) { // item.execute(((IPaletteTarget) editorPart).getPaletteTarget()); // } // else if (editorPart instanceof IComponentEditor) { // IEditorPart activeEditorPart = ((IComponentEditor) editorPart).getActiveEditor(); // if (activeEditorPart instanceof TemplateEditor) { // TemplateEditor templateEditor = (TemplateEditor) activeEditorPart; // item.execute(templateEditor.getPaletteTarget()); // } // } // } // // unset palette selection // part.setToolSelected(false); // } // } // }); // viewer.getControl().addMouseListener(new MouseAdapter() { // public void mouseUp(MouseEvent e) { // // set focus to the active editor // IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); // IEditorPart editorPart = page.getActiveEditor(); // if (editorPart != null) { // editorPart.setFocus(); // } // } // }); // // // apply configuration (too long!!) // IPreferenceStore store = HTMLPlugin.getDefault().getPreferenceStore(); // String xml = store.getString(HTMLPlugin.PREF_PALETTE_ITEMS); // if (xml != null) { // FuzzyXMLDocument doc = new FuzzyXMLParser().parse(xml); // // apply visible // FuzzyXMLNode[] groups = HTMLUtil.selectXPathNodes(doc.getDocumentElement(), "/palette/groups/group"); // for (int i = 0; i < groups.length; i++) { // FuzzyXMLElement group = (FuzzyXMLElement) groups[i]; // // String name = group.getAttributeNode("name").getValue(); // boolean visible = Boolean.valueOf(group.getAttributeNode("visible").getValue()).booleanValue(); // // List entries = viewer.getPaletteRoot().getChildren(); // PaletteDrawer drawer = null; // // for (int j = 0; j < entries.size(); j++) { // drawer = (PaletteDrawer) entries.get(j); // if (drawer.getLabel().equals(name)) { // drawer.setVisible(visible); // break; // } // else { // drawer = null; // } // } // if (drawer == null) { // drawer = new PaletteDrawer(name); // drawer.setVisible(visible); // viewer.getPaletteRoot().add(drawer); // } // } // // add user items // FuzzyXMLNode[] items = HTMLUtil.selectXPathNodes(doc.getDocumentElement(), "/palette/items/item"); // String[] categories = getCategories(); // for (int i = 0; i < items.length; i++) { // FuzzyXMLElement item = (FuzzyXMLElement) items[i]; // String name = item.getAttributeNode("name").getValue(); // String group = item.getAttributeNode("group").getValue(); // String text = item.getValue(); // if (Arrays.binarySearch(categories, group) < 0) { // addPaletteItem(group, new DefaultPaletteItem(name, HTMLPlugin.getDefault().getImageRegistry().getDescriptor(HTMLPlugin.ICON_TAG), text)); // } // } // } // // List entries = viewer.getPaletteRoot().getChildren(); // for (int i = 0; i < entries.size(); i++) { // PaletteDrawer group = (PaletteDrawer) entries.get(i); // if (Arrays.binarySearch(defaultCategories, group.getLabel()) < 0) { // IPaletteItem[] items = getPaletteItems(group.getLabel()); // ArrayList itemList = new ArrayList(); // for (int j = 0; j < items.length; j++) { // HTMLPaletteEntry entry = new HTMLPaletteEntry(items[j].getLabel(), null, items[j].getImageDescriptor()); // tools.put(entry, items[j]); // itemList.add(entry); // } // group.setChildren(itemList); // } // } // // // create toolbar // createToolBar(); // } // // /** // * Adds PaletteItem to the specified category. // * // * @param category the category // * @param item the item // */ // private void addPaletteItem(String category, IPaletteItem item) { // if (items.get(category) == null) { // ArrayList list = new ArrayList(); // items.put(category, list); // } // ArrayList list = (ArrayList) items.get(category); // list.add(item); // } // // /** // * Update the category information. // * <p> // * If the category already exists, overwrites the category infomation. // * Otherwise, creates the new category and appends it to the palette. // * // * @param category the category // * @param items the map contains items // */ // private void updateCategory(String category, List items) { // // viewer.setActiveTool(null); // // // remove all items // ArrayList list = (ArrayList) this.items.get(category); // if (list != null) { // list.clear(); // } // // List entries = viewer.getPaletteRoot().getChildren(); // PaletteDrawer group = null; // // for (int i = 0; i < entries.size(); i++) { // group = (PaletteDrawer) entries.get(i); // if (group.getLabel().equals(category)) { // break; // } // else { // group = null; // } // } // // if (group == null) { // group = new PaletteDrawer(category); // viewer.getPaletteRoot().add(group); // } // // // add items // for (int i = 0; i < items.size(); i++) { // Map map = (Map) items.get(i); // addPaletteItem(category, new DefaultPaletteItem((String) map.get("name"), HTMLPlugin.getDefault().getImageRegistry().getDescriptor(HTMLPlugin.ICON_TAG), (String) map.get("text"))); // } // // ArrayList itemList = new ArrayList(); // IPaletteItem[] newItems = getPaletteItems(category); // for (int i = 0; i < newItems.length; i++) { // HTMLPaletteEntry entry = new HTMLPaletteEntry(newItems[i].getLabel(), null, newItems[i].getImageDescriptor()); // tools.put(entry, newItems[i]); // itemList.add(entry); // } // group.setChildren(itemList); // } // // /** // * Removes the category. // * // * @param category the category // */ // private void removeCategory(String category) { // // viewer.setActiveTool(null); // // this.items.remove(category); // // List entries = viewer.getPaletteRoot().getChildren(); // PaletteDrawer group = null; // // for (int i = 0; i < entries.size(); i++) { // group = (PaletteDrawer) entries.get(i); // if (group.getLabel().equals(category)) { // List children = group.getChildren(); // for (int j = 0; j < children.size(); j++) { // tools.remove((PaletteEntry) children.get(j)); // group.remove((PaletteEntry) children.get(j)); // } // viewer.getPaletteRoot().remove(group); // break; // } // } // } // // /** // * Returns PaletteItems which are contained by the specified category. // * // * @param category the category // * @return the array of items which are contained by the category // */ // private IPaletteItem[] getPaletteItems(String category) { // ArrayList list = (ArrayList) items.get(category); // if (list == null) { // return new IPaletteItem[0]; // } // return (IPaletteItem[]) list.toArray(new IPaletteItem[list.size()]); // } // // /** // * Returns all categories. // * // * @return the array which contains all categories // */ // private String[] getCategories() { // return (String[]) items.keySet().toArray(new String[0]); // } // // public void setFocus() { // viewer.getControl().setFocus(); // } // // /** ToolEntry for HTML tag palette */ // private class HTMLPaletteEntry extends ToolEntry { // // public HTMLPaletteEntry(String label, String shortDescription, ImageDescriptor icon) { // super(label, shortDescription, icon, icon); // } // // public Tool createTool() { // return null; // } // } // // /** Returns palette configuration as XML. */ // private String getPreferenceXML() { // StringBuffer sb = new StringBuffer(); // sb.append("<palette>"); // List entries = viewer.getPaletteRoot().getChildren(); // sb.append("<groups>"); // for (int i = 0; i < entries.size(); i++) { // PaletteDrawer group = (PaletteDrawer) entries.get(i); // sb.append("<group name=\"" + HTMLUtil.escapeXML(group.getLabel()) + "\"" + " visible=\"" + HTMLUtil.escapeXML(String.valueOf(group.isVisible())) + "\" />"); // } // sb.append("</groups>"); // sb.append("<items>"); // String[] categories = getCategories(); // for (int i = 0; i < categories.length; i++) { // if (Arrays.binarySearch(defaultCategories, categories[i]) < 0) { // IPaletteItem[] items = getPaletteItems(categories[i]); // for (int j = 0; j < items.length; j++) { // sb.append("<item group=\"" + HTMLUtil.escapeXML(categories[i]) + "\"" + " name=\"" + HTMLUtil.escapeXML(items[j].getLabel()) + "\">" + HTMLUtil.escapeXML(((DefaultPaletteItem) items[j]).getContent()) + "</item>"); // } // } // } // sb.append("</items>"); // sb.append("</palette>"); // return sb.toString(); // } // // /** The dialog for palette customization */ // private class PaletteCustomizeDialog extends Dialog { // // private Table table; // private Button add; // private Button edit; // private Button remove; // private HashMap operations = new HashMap(); // // public PaletteCustomizeDialog(Shell parentShell) { // super(parentShell); // setShellStyle(getShellStyle() | SWT.RESIZE); // } // // protected Point getInitialSize() { // return new Point(300, 300); // } // // protected Control createDialogArea(Composite parent) { // getShell().setText(HTMLPlugin.getResourceString("Dialog.PaletteConfig")); // // Composite container = new Composite(parent, SWT.NULL); // container.setLayout(new GridLayout(2, false)); // container.setLayoutData(new GridData(GridData.FILL_BOTH)); // // table = new Table(container, SWT.BORDER | SWT.CHECK); // table.setLayoutData(new GridData(GridData.FILL_BOTH)); // List entries = viewer.getPaletteRoot().getChildren(); // // for (int i = 0; i < entries.size(); i++) { // TableItem item = new TableItem(table, SWT.LEFT); // item.setText(((PaletteDrawer) entries.get(i)).getLabel()); // item.setChecked(((PaletteDrawer) entries.get(i)).isVisible()); // } // // table.addSelectionListener(new SelectionAdapter() { // public void widgetSelected(SelectionEvent evt) { // // Can't modify default categories // TableItem[] items = table.getSelection(); // if (items.length == 0 || Arrays.binarySearch(defaultCategories, items[0].getText()) >= 0) { // edit.setEnabled(false); // remove.setEnabled(false); // } // else { // edit.setEnabled(true); // remove.setEnabled(true); // } // } // }); // // Composite buttons = new Composite(container, SWT.NULL); // buttons.setLayout(new GridLayout()); // buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING)); // // add = new Button(buttons, SWT.PUSH); // add.setText(HTMLPlugin.getResourceString("Button.AddGroup")); // add.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // add.addSelectionListener(new SelectionAdapter() { // public void widgetSelected(SelectionEvent evt) { // PaletteGroupDialog dialog = new PaletteGroupDialog(getShell()); // if (dialog.open() == Dialog.OK) { // TableItem item = new TableItem(table, SWT.NULL); // item.setText(dialog.getGroupName()); // item.setChecked(true); // operations.put(dialog.getGroupName(), dialog.getPaletteItems()); // } // } // }); // // edit = new Button(buttons, SWT.PUSH); // edit.setText(HTMLPlugin.getResourceString("Button.EditGroup")); // edit.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // edit.setEnabled(false); // edit.addSelectionListener(new SelectionAdapter() { // public void widgetSelected(SelectionEvent evt) { // TableItem[] items = table.getSelection(); // // List initItems = new ArrayList(); // Object obj = operations.get(items[0].getText()); // if (obj != null && obj instanceof List) { // initItems = (List) obj; // } // else { // IPaletteItem[] paletteItems = getPaletteItems(items[0].getText()); // for (int i = 0; i < paletteItems.length; i++) { // HashMap map = new HashMap(); // map.put("name", paletteItems[i].getLabel()); // map.put("text", ((DefaultPaletteItem) paletteItems[i]).getContent()); // initItems.add(map); // } // } // PaletteGroupDialog dialog = new PaletteGroupDialog(getShell(), items[0].getText(), initItems); // if (dialog.open() == Dialog.OK) { // items[0].setText(dialog.getGroupName()); // operations.put(items[0].getText(), dialog.getPaletteItems()); // } // } // }); // // remove = new Button(buttons, SWT.PUSH); // remove.setText(HTMLPlugin.getResourceString("Button.RemoveGroup")); // remove.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // remove.setEnabled(false); // remove.addSelectionListener(new SelectionAdapter() { // public void widgetSelected(SelectionEvent evt) { // TableItem[] items = table.getSelection(); // operations.put(items[0].getText(), "remove"); // table.remove(table.getSelectionIndex()); // } // }); // // return container; // } // // protected void okPressed() { // Iterator ite = operations.keySet().iterator(); // while (ite.hasNext()) { // String key = (String) ite.next(); // Object obj = operations.get(key); // if (obj.equals("remove")) { // removeCategory(key); // } // else { // updateCategory(key, (List) obj); // } // } // // String[] groups = getCategories(); // List entries = viewer.getPaletteRoot().getChildren(); // for (int i = 0; i < entries.size(); i++) { // ((PaletteDrawer) entries.get(i)).setVisible(table.getItem(i).getChecked()); // } // IPreferenceStore store = HTMLPlugin.getDefault().getPreferenceStore(); // store.setValue(HTMLPlugin.PREF_PALETTE_ITEMS, getPreferenceXML()); // // super.okPressed(); // } // } // // /** The dialog to edit a palette group */ // private class PaletteGroupDialog extends Dialog { // // private Text name; // private Table table; // private Button add; // private Button addFromTLD; // private Button edit; // private Button remove; // // private String initialName = null; // private List initialItems = null; // private String inputedName = null; // private List inputedItems = null; // // public PaletteGroupDialog(Shell parentShell) { // this(parentShell, null, new ArrayList()); // } // // public PaletteGroupDialog(Shell parentShell, String name, List items) { // super(parentShell); // setShellStyle(getShellStyle() | SWT.RESIZE); // initialName = name; // initialItems = items; // } // // protected Point getInitialSize() { // return new Point(450, 350); // } // // protected Control createDialogArea(Composite parent) { // if (initialName == null) { // getShell().setText(HTMLPlugin.getResourceString("Dialog.AddPaletteGroup")); // } // else { // getShell().setText(HTMLPlugin.getResourceString("Dialog.EditPaletteGroup")); // } // // Composite container = new Composite(parent, SWT.NULL); // container.setLayout(new GridLayout(3, false)); // container.setLayoutData(new GridData(GridData.FILL_BOTH)); // // Label label = new Label(container, SWT.NULL); // label.setText(HTMLPlugin.getResourceString("Label.GroupName")); // // name = new Text(container, SWT.BORDER); // if (initialName != null) { // name.setText(initialName); // name.setEditable(false); // } // // GridData gd = new GridData(GridData.FILL_HORIZONTAL); // name.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // // // fill GridLayout // label = new Label(container, SWT.NULL); // // label = new Label(container, SWT.NULL); // label.setText(HTMLPlugin.getResourceString("Label.Items")); // // table = new Table(container, SWT.BORDER | SWT.FULL_SELECTION); // table.setLayoutData(new GridData(GridData.FILL_BOTH)); // table.setHeaderVisible(true); // table.setLinesVisible(true); // table.addSelectionListener(new SelectionAdapter() { // public void widgetSelected(SelectionEvent evt) { // TableItem[] items = table.getSelection(); // if (items.length == 0) { // edit.setEnabled(false); // remove.setEnabled(false); // } // else { // edit.setEnabled(true); // remove.setEnabled(true); // } // } // }); // // TableColumn col1 = new TableColumn(table, SWT.LEFT); // col1.setText(HTMLPlugin.getResourceString("Message.ItemName")); // col1.setWidth(100); // // TableColumn col2 = new TableColumn(table, SWT.LEFT); // col2.setText(HTMLPlugin.getResourceString("Message.InsertText")); // col2.setWidth(250); // // if (initialName != null) { // for (int i = 0; i < initialItems.size(); i++) { // Map map = (Map) initialItems.get(i); // TableItem item = new TableItem(table, SWT.NULL); // item.setText(new String[] { (String) map.get("name"), (String) map.get("text") }); // } // } // // Composite buttons = new Composite(container, SWT.NULL); // buttons.setLayout(new GridLayout()); // buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING)); // // add = new Button(buttons, SWT.PUSH); // add.setText(HTMLPlugin.getResourceString("Button.AddItem")); // add.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // add.addSelectionListener(new SelectionAdapter() { // public void widgetSelected(SelectionEvent evt) { // PaletteItemDialog dialog = new PaletteItemDialog(getShell()); // if (dialog.open() == Dialog.OK) { // String name = dialog.getItemName(); // String text = dialog.getInsertText(); // TableItem item = new TableItem(table, SWT.NULL); // item.setText(new String[] { name, text }); // } // } // }); // // addFromTLD = new Button(buttons, SWT.PUSH); // addFromTLD.setText(HTMLPlugin.getResourceString("Button.AddFromTLD")); // addFromTLD.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // addFromTLD.addSelectionListener(new SelectionAdapter() { // public void widgetSelected(SelectionEvent evt) { // FileDialog openDialog = new FileDialog(getShell(), SWT.OPEN); // openDialog.setFilterExtensions(new String[] { "*.tld" }); // String openFile = openDialog.open(); // if (openFile != null) { // try { // TLDParser parser = new TLDParser(null); // parser.parse(new FileInputStream(new File(openFile))); // List tagInfoList = parser.getResult(); // for (int i = 0; i < tagInfoList.size(); i++) { // TagInfo info = (TagInfo) tagInfoList.get(i); // TableItem item = new TableItem(table, SWT.NULL); // StringBuffer sb = new StringBuffer(); // sb.append("<").append(info.getTagName()); // AttributeInfo[] attrs = info.getRequiredAttributeInfo(); // for (int j = 0; j < attrs.length; j++) { // sb.append(" ").append(attrs[j].getAttributeName()).append("=\"\""); // } // if (info.hasBody()) { // sb.append("></").append(info.getTagName()).append(">"); // } // else { // sb.append("/>"); // } // item.setText(new String[] { info.getTagName(), sb.toString() }); // } // } // catch (Exception ex) { // HTMLPlugin.openAlertDialog(ex.getMessage()); // } // } // } // }); // // edit = new Button(buttons, SWT.PUSH); // edit.setText(HTMLPlugin.getResourceString("Button.EditItem")); // edit.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // edit.setEnabled(false); // edit.addSelectionListener(new SelectionAdapter() { // public void widgetSelected(SelectionEvent evt) { // TableItem[] item = table.getSelection(); // PaletteItemDialog dialog = new PaletteItemDialog(getShell(), item[0].getText(0), item[0].getText(1)); // if (dialog.open() == Dialog.OK) { // String name = dialog.getItemName(); // String text = dialog.getInsertText(); // item[0].setText(new String[] { name, text }); // } // } // }); // // remove = new Button(buttons, SWT.PUSH); // remove.setText(HTMLPlugin.getResourceString("Button.RemoveItem")); // remove.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // remove.setEnabled(false); // remove.addSelectionListener(new SelectionAdapter() { // public void widgetSelected(SelectionEvent evt) { // table.remove(table.getSelectionIndices()); // } // }); // // return container; // } // // protected void okPressed() { // if (name.getText().equals("")) { // HTMLPlugin.openAlertDialog(HTMLPlugin.createMessage(HTMLPlugin.getResourceString("Error.Required"), new String[] { HTMLPlugin.getResourceString("Message.GroupName") })); // return; // } // // if (initialName == null) { // String[] categories = getCategories(); // for (int i = 0; i < categories.length; i++) { // if (categories[i].equals(name.getText())) { // HTMLPlugin.openAlertDialog(HTMLPlugin.createMessage(HTMLPlugin.getResourceString("Error.AlreadyExists"), new String[] { name.getText() })); // return; // } // } // } // // inputedName = name.getText(); // inputedItems = new ArrayList(); // // TableItem[] items = table.getItems(); // for (int i = 0; i < items.length; i++) { // HashMap map = new HashMap(); // map.put("name", items[i].getText(0)); // map.put("text", items[i].getText(1)); // inputedItems.add(map); // } // // super.okPressed(); // } // // public String getGroupName() { // return inputedName; // } // // public List getPaletteItems() { // return inputedItems; // } // } // // /** The dialog yo edit a palette item */ // private class PaletteItemDialog extends Dialog { // // private Text itemName; // private Text insertText; // private String inputedName; // private String inputedText; // private String initialName; // private String initialText; // // public PaletteItemDialog(Shell parentShell) { // this(parentShell, null, null); // } // // public PaletteItemDialog(Shell parentShell, String name, String text) { // super(parentShell); // setShellStyle(getShellStyle() | SWT.RESIZE); // initialName = name; // initialText = text; // } // // protected Point getInitialSize() { // return new Point(400, 180); // } // // protected Control createDialogArea(Composite parent) { // if (initialName == null) { // getShell().setText(HTMLPlugin.getResourceString("Dialog.AddPaletteItem")); // } // else { // getShell().setText(HTMLPlugin.getResourceString("Dialog.EditPaletteItem")); // } // // Composite container = new Composite(parent, SWT.NULL); // container.setLayout(new GridLayout(2, false)); // container.setLayoutData(new GridData(GridData.FILL_BOTH)); // // Label label = new Label(container, SWT.NULL); // label.setText(HTMLPlugin.getResourceString("Label.ItemName")); // // itemName = new Text(container, SWT.BORDER); // itemName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); // if (initialName != null) { // itemName.setText(initialName); // } // // label = new Label(container, SWT.NULL); // label.setText(HTMLPlugin.getResourceString("Label.InsertText")); // // insertText = new Text(container, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL); // insertText.setLayoutData(new GridData(GridData.FILL_BOTH)); // if (initialText != null) { // insertText.setText(initialText); // } // // return container; // } // // protected void okPressed() { // if (itemName.getText().equals("")) { // HTMLPlugin.openAlertDialog(HTMLPlugin.createMessage(HTMLPlugin.getResourceString("Error.Required"), new String[] { HTMLPlugin.getResourceString("Message.ItemName") })); // return; // } // if (insertText.getText().equals("")) { // HTMLPlugin.openAlertDialog(HTMLPlugin.createMessage(HTMLPlugin.getResourceString("Error.Required"), new String[] { HTMLPlugin.getResourceString("Message.InsertText") })); // return; // } // inputedName = itemName.getText(); // inputedText = insertText.getText(); // super.okPressed(); // } // // public String getItemName() { // return inputedName; // } // // public String getInsertText() { // return inputedText; // } // } // }