use of com.archimatetool.templates.model.ITemplateGroup in project archi by archimatetool.
the class TemplateManagerDialog method newGroup.
/**
* Add a new group
*/
protected void newGroup() {
IInputValidator validator = new IInputValidator() {
@Override
public String isValid(String newText) {
// $NON-NLS-1$ //$NON-NLS-2$
return "".equals(newText) ? "" : hasGroup(newText) ? Messages.TemplateManagerDialog_21 : null;
}
boolean hasGroup(String name) {
for (ITemplateGroup group : fTemplateManager.getUserTemplateGroups()) {
if (name.equals(group.getName())) {
return true;
}
}
return false;
}
};
InputDialog dialog = new InputDialog(getShell(), Messages.TemplateManagerDialog_22, Messages.TemplateManagerDialog_23, // $NON-NLS-1$
"", validator);
if (dialog.open() == Window.OK) {
String name = dialog.getValue();
if (StringUtils.isSetAfterTrim(name)) {
ITemplateGroup group = new TemplateGroup(name);
fTemplateManager.getUserTemplateGroups().add(group);
fTreeViewer.refresh();
fTreeViewer.setSelection(new StructuredSelection(group), true);
}
}
}
use of com.archimatetool.templates.model.ITemplateGroup in project archi by archimatetool.
the class TemplateManagerDialogDragDropHandler method isValidDropTarget.
/**
* @return True if target is valid
*/
private boolean isValidDropTarget(DropTargetEvent event) {
Object parent = getTargetParent(event);
if (parent instanceof ITemplateGroup) {
ITemplateGroup targetGroup = (ITemplateGroup) parent;
IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection();
for (Object object : selection.toList()) {
if (targetGroup.getTemplates().contains(object)) {
return false;
}
}
return true;
}
return false;
}
use of com.archimatetool.templates.model.ITemplateGroup in project archi by archimatetool.
the class SaveModelAsTemplateToCollectionWizardPage method createControl.
@Override
public void createControl(Composite parent) {
GridData gd;
Label label;
Composite container = new Composite(parent, SWT.NULL);
container.setLayout(new GridLayout());
setControl(container);
PlatformUI.getWorkbench().getHelpSystem().setHelp(container, getHelpID());
fDoStoreInCollectionButton = new Button(container, SWT.CHECK);
fDoStoreInCollectionButton.setText(Messages.SaveModelAsTemplateToCollectionWizardPage_0);
fDoStoreInCollectionButton.setSelection(true);
fDoStoreInCollectionButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
boolean enabled = fDoStoreInCollectionButton.getSelection();
fCategoriesTableViewer.getControl().setEnabled(enabled);
fNewGroupButton.setEnabled(enabled);
// Select first group, or none
if (enabled) {
Object o = fCategoriesTableViewer.getElementAt(0);
if (o != null) {
fCategoriesTableViewer.setSelection(new StructuredSelection(o));
}
} else {
fCategoriesTableViewer.setSelection(new StructuredSelection());
}
}
});
label = new Label(container, SWT.NULL);
label.setText(Messages.SaveModelAsTemplateToCollectionWizardPage_1);
Composite fieldContainer = new Composite(container, SWT.NULL);
fieldContainer.setLayoutData(new GridData(GridData.FILL_BOTH));
GridLayout layout = new GridLayout(2, false);
layout.marginWidth = 0;
fieldContainer.setLayout(layout);
Composite tableComp = new Composite(fieldContainer, SWT.NULL);
tableComp.setLayout(new TableColumnLayout());
gd = new GridData(GridData.FILL_BOTH);
gd.heightHint = 120;
tableComp.setLayoutData(gd);
fCategoriesTableViewer = new TemplateGroupsTableViewer(tableComp, SWT.BORDER | SWT.MULTI);
fCategoriesTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
fSelectedTemplateGroup = (ITemplateGroup) ((IStructuredSelection) event.getSelection()).getFirstElement();
}
});
fCategoriesTableViewer.setInput(fTemplateManager.getUserTemplateGroups());
fNewGroupButton = new Button(fieldContainer, SWT.NULL);
fNewGroupButton.setText(Messages.SaveModelAsTemplateToCollectionWizardPage_2);
gd = new GridData(SWT.TOP, SWT.TOP, false, false);
fNewGroupButton.setLayoutData(gd);
fNewGroupButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
IInputValidator validator = new IInputValidator() {
@Override
public String isValid(String newText) {
// $NON-NLS-1$ //$NON-NLS-2$
return "".equals(newText) ? "" : hasGroup(newText) ? Messages.SaveModelAsTemplateToCollectionWizardPage_3 : null;
}
boolean hasGroup(String name) {
for (ITemplateGroup group : fTemplateManager.getUserTemplateGroups()) {
if (name.equals(group.getName())) {
return true;
}
}
return false;
}
};
InputDialog dialog = new InputDialog(getShell(), Messages.SaveModelAsTemplateToCollectionWizardPage_4, Messages.SaveModelAsTemplateToCollectionWizardPage_5, // $NON-NLS-1$
"", validator);
if (dialog.open() == Window.OK) {
String name = dialog.getValue();
if (StringUtils.isSetAfterTrim(name)) {
ITemplateGroup group = new TemplateGroup(name);
fTemplateManager.getUserTemplateGroups().add(group);
fCategoriesTableViewer.refresh();
fCategoriesTableViewer.setSelection(new StructuredSelection(group), true);
}
}
}
});
setPageComplete(true);
}
use of com.archimatetool.templates.model.ITemplateGroup in project archi by archimatetool.
the class TemplateManagerDialog method deleteSelectedObjects.
/**
* Remove selected object
*/
protected void deleteSelectedObjects() {
// Table
if (fSelectedControl == fTableViewer) {
for (Object o : ((IStructuredSelection) fTableViewer.getSelection()).toArray()) {
if (o instanceof ITemplate) {
fTemplateManager.getUserTemplates().remove(o);
for (ITemplateGroup group : fTemplateManager.getUserTemplateGroups()) {
group.removeTemplate((ITemplate) o);
}
}
}
fTableViewer.refresh();
fTreeViewer.refresh();
} else // Tree
if (fSelectedControl == fTreeViewer) {
// Do it this way because we can't get template parents
for (TreeItem item : fTreeViewer.getTree().getSelection()) {
if (item.getData() instanceof ITemplate) {
ITemplate template = (ITemplate) item.getData();
TreeItem parent = item.getParentItem();
if (parent.getData() instanceof ITemplateGroup) {
((ITemplateGroup) parent.getData()).removeTemplate(template);
}
} else if (item.getData() instanceof ITemplateGroup) {
fTemplateManager.getUserTemplateGroups().remove(item.getData());
}
}
fTreeViewer.refresh();
}
}
use of com.archimatetool.templates.model.ITemplateGroup in project archi by archimatetool.
the class ArchimateTemplateManager method loadInbuiltTemplates.
@Override
protected ITemplateGroup loadInbuiltTemplates() {
ITemplateGroup group = new TemplateGroup(Messages.ArchimateTemplateManager_2);
File folder = ArchiTemplatesPlugin.INSTANCE.getTemplatesFolder();
if (folder.exists()) {
for (File file : folder.listFiles()) {
if (file.getName().toLowerCase().endsWith(ARCHIMATE_TEMPLATE_FILE_EXTENSION)) {
ITemplate template = new ArchimateModelTemplate();
template.setFile(file);
group.addTemplate(template);
}
}
}
return group;
}
Aggregations