You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by vs...@apache.org on 2008/04/07 15:18:37 UTC
svn commit: r645502 [4/4] - in
/maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui:
./ icons/ icons/dtool16/ icons/etool16/ lib/ src/ src/main/ src/main/java/
src/main/java/org/ src/main/java/org/apache...
Added: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/wizards/AbstractWizard.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/wizards/AbstractWizard.java?rev=645502&view=auto
==============================================================================
--- maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/wizards/AbstractWizard.java (added)
+++ maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/wizards/AbstractWizard.java Mon Apr 7 06:18:18 2008
@@ -0,0 +1,245 @@
+package org.apache.maven.doxia.ide.eclipse.common.ui.wizards;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+
+import org.apache.maven.doxia.ide.eclipse.common.ui.CommonPlugin;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+
+/**
+ * This is a new Doxia wizard. Its role is to create a new file resource in the provided container.
+ *
+ * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
+ * @version $Id$
+ * @since 1.0
+ */
+public abstract class AbstractWizard
+ extends Wizard
+ implements INewWizard
+{
+ private AbstractWizardPage page;
+
+ private ISelection selection;
+
+ /**
+ * Constructor for AbstractDoxiaWizard.
+ */
+ public AbstractWizard()
+ {
+ super();
+
+ Assert.isNotNull( getWizardTemplate(), "getWizardTemplate() should be initialized" );
+
+ setNeedsProgressMonitor( true );
+ }
+
+ @Override
+ public void addPages()
+ {
+ page = getWizardPage( selection );
+ Assert.isNotNull( page, "page should be initialized" );
+ addPage( page );
+ }
+
+ @Override
+ public boolean performFinish()
+ {
+ final String containerName = page.getContainerName();
+ final String fileName = page.getFileName();
+ IRunnableWithProgress op = new IRunnableWithProgress()
+ {
+ /** {@inheritDoc} */
+ public void run( IProgressMonitor monitor )
+ throws InvocationTargetException
+ {
+ try
+ {
+ doFinish( containerName, fileName, monitor );
+ }
+ catch ( CoreException e )
+ {
+ throw new InvocationTargetException( e );
+ }
+ finally
+ {
+ try
+ {
+ IFile file = getFile( containerName, fileName );
+ file.delete( true, new NullProgressMonitor() );
+ }
+ catch ( CoreException e )
+ {
+ throw new InvocationTargetException( e );
+ }
+
+ monitor.done();
+ }
+ }
+ };
+
+ try
+ {
+ getContainer().run( true, false, op );
+ }
+ catch ( InterruptedException e )
+ {
+ CommonPlugin.logError( "InterruptedException: " + e.getMessage(), e );
+
+ return false;
+ }
+ catch ( InvocationTargetException e )
+ {
+ CommonPlugin.logError( "InvocationTargetException: " + e.getMessage(), e );
+
+ Throwable realException = e.getTargetException();
+ MessageDialog.openError( getShell(), "Error", realException.getMessage() );
+
+ return false;
+ }
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ public void init( IWorkbench workbench, IStructuredSelection selection )
+ {
+ this.selection = selection;
+ }
+
+ /**
+ * @param selection
+ * @return the implementation of an wizard page for a Doxia editor.
+ */
+ public abstract AbstractWizardPage getWizardPage( ISelection selection );
+
+ /**
+ * @return the wizard template resource name.
+ * @see #openContentStream()
+ */
+ public abstract String getWizardTemplate();
+
+ // ----------------------------------------------------------------------
+ // Private methods
+ // ----------------------------------------------------------------------
+
+ /**
+ * The worker method. It will find the container, create the
+ * file if missing or just replace its contents, and open
+ * the editor on the newly created file.
+ */
+ private void doFinish( String containerName, String fileName, IProgressMonitor monitor )
+ throws CoreException
+ {
+ // create a sample file
+ monitor.beginTask( "Creating " + fileName, 2 );
+ final IFile file = getFile( containerName, fileName );
+ Assert.isNotNull( file, "file " + fileName + " was not found" );
+ try
+ {
+ InputStream stream = openContentStream();
+ Assert.isNotNull( file, "stream was not found" );
+ if ( file.exists() )
+ {
+ file.setContents( stream, true, true, monitor );
+ }
+ else
+ {
+ file.create( stream, true, monitor );
+ }
+ stream.close();
+ }
+ catch ( IOException e )
+ {
+ }
+ monitor.worked( 1 );
+ monitor.setTaskName( "Opening file for editing..." );
+ getShell().getDisplay().asyncExec( new Runnable()
+ {
+ /** {@inheritDoc} */
+ public void run()
+ {
+ IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+ try
+ {
+ IDE.openEditor( page, file, true );
+ }
+ catch ( PartInitException e )
+ {
+ CommonPlugin.logError( "PartInitException: " + e.getMessage(), e );
+ }
+ }
+ } );
+ monitor.worked( 1 );
+ }
+
+ private IFile getFile( String containerName, String fileName )
+ throws CoreException
+ {
+ IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+ IResource resource = root.findMember( new Path( containerName ) );
+ if ( !resource.exists() || !( resource instanceof IContainer ) )
+ {
+ throwCoreException( "Container \"" + containerName + "\" does not exist." );
+ }
+ IContainer container = (IContainer) resource;
+ return container.getFile( new Path( fileName ) );
+ }
+
+ /**
+ * Finds a resource with a given name.
+ *
+ * @return the inputstream for the wizard or null if not found.
+ */
+ private InputStream openContentStream()
+ {
+ return getClass().getResourceAsStream( getWizardTemplate() );
+ }
+
+ private void throwCoreException( String message )
+ throws CoreException
+ {
+ IStatus status = new Status( IStatus.ERROR, CommonPlugin.PLUGIN_ID, IStatus.OK, message, null );
+ throw new CoreException( status );
+ }
+}
\ No newline at end of file
Propchange: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/wizards/AbstractWizard.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/wizards/AbstractWizard.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/wizards/AbstractWizardPage.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/wizards/AbstractWizardPage.java?rev=645502&view=auto
==============================================================================
--- maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/wizards/AbstractWizardPage.java (added)
+++ maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/wizards/AbstractWizardPage.java Mon Apr 7 06:18:18 2008
@@ -0,0 +1,268 @@
+package org.apache.maven.doxia.ide.eclipse.common.ui.wizards;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.File;
+
+import org.apache.maven.doxia.ide.eclipse.common.ui.CommonPluginMessages;
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.dialogs.ContainerSelectionDialog;
+
+/**
+ * The "New" Doxia wizard page allows setting the container for the new file as well
+ * as the file name. The page will only accept file name without the extension
+ * OR with the extension that matches the expected one.
+ *
+ * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
+ * @version $Id$
+ * @since 1.0
+ */
+public abstract class AbstractWizardPage
+ extends WizardPage
+{
+ private Text containerText;
+
+ private Text fileText;
+
+ private ISelection selection;
+
+ /**
+ * Constructor for AbstractWizardPage.
+ *
+ * @param pageName
+ */
+ public AbstractWizardPage( ISelection selection )
+ {
+ super( "wizardPage" );
+
+ Assert.isNotNull( getExtension(), "getExtension() should be initialized" );
+
+ setTitle( getString( "title" ) );
+ setDescription( getFormattedString( "description", getExtension() ) );
+ this.selection = selection;
+ }
+
+ /** {@inheritDoc} */
+ public void createControl( Composite parent )
+ {
+ Composite container = new Composite( parent, SWT.NULL );
+ GridLayout layout = new GridLayout();
+ container.setLayout( layout );
+ layout.numColumns = 3;
+ layout.verticalSpacing = 9;
+ Label label = new Label( container, SWT.NULL );
+ label.setText( getString( "label.container.text" ) );
+
+ containerText = new Text( container, SWT.BORDER | SWT.SINGLE );
+ GridData gd = new GridData( GridData.FILL_HORIZONTAL );
+ containerText.setLayoutData( gd );
+ containerText.addModifyListener( new ModifyListener()
+ {
+ /** {@inheritDoc} */
+ public void modifyText( ModifyEvent e )
+ {
+ dialogChanged();
+ }
+ } );
+
+ Button button = new Button( container, SWT.PUSH );
+ button.setText( getString( "button.text" ) );
+ button.addSelectionListener( new SelectionAdapter()
+ {
+ /** {@inheritDoc} */
+ public void widgetSelected( SelectionEvent e )
+ {
+ handleBrowse();
+ }
+ } );
+ label = new Label( container, SWT.NULL );
+ label.setText( getString( "label.fileName.text" ) );
+
+ fileText = new Text( container, SWT.BORDER | SWT.SINGLE );
+ gd = new GridData( GridData.FILL_HORIZONTAL );
+ fileText.setLayoutData( gd );
+ fileText.addModifyListener( new ModifyListener()
+ {
+ /** {@inheritDoc} */
+ public void modifyText( ModifyEvent e )
+ {
+ dialogChanged();
+ }
+ } );
+ initialize();
+ dialogChanged();
+ setControl( container );
+ }
+
+ public String getContainerName()
+ {
+ return containerText.getText();
+ }
+
+ public String getFileName()
+ {
+ return fileText.getText();
+ }
+
+ public abstract String getExtension();
+
+ // ----------------------------------------------------------------------
+ // Private methods
+ // ----------------------------------------------------------------------
+
+ /**
+ * Tests if the current workbench selection is a suitable container to use.
+ */
+ private void initialize()
+ {
+ if ( selection != null && selection.isEmpty() == false && selection instanceof IStructuredSelection )
+ {
+ IStructuredSelection ssel = (IStructuredSelection) selection;
+ if ( ssel.size() > 1 )
+ {
+ return;
+ }
+
+ Object obj = ssel.getFirstElement();
+ if ( obj instanceof IResource )
+ {
+ IContainer container;
+ if ( obj instanceof IContainer )
+ {
+ container = (IContainer) obj;
+ }
+ else
+ {
+ container = ( (IResource) obj ).getParent();
+ }
+ containerText.setText( container.getFullPath().toString() );
+ }
+ }
+ }
+
+ /**
+ * Uses the standard container selection dialog to choose the new value for
+ * the container field.
+ */
+ private void handleBrowse()
+ {
+ ContainerSelectionDialog dialog = new ContainerSelectionDialog( getShell(), ResourcesPlugin.getWorkspace()
+ .getRoot(), false, getString( "dialog.text" ) );
+ if ( dialog.open() == ContainerSelectionDialog.OK )
+ {
+ Object[] result = dialog.getResult();
+ if ( result.length == 1 )
+ {
+ containerText.setText( ( (Path) result[0] ).toString() );
+ }
+ }
+ }
+
+ /**
+ * Ensures that both text fields are set.
+ */
+ private void dialogChanged()
+ {
+ IResource container = ResourcesPlugin.getWorkspace().getRoot().findMember( new Path( getContainerName() ) );
+ String fileName = getFileName();
+
+ if ( getContainerName().length() == 0 )
+ {
+ updateStatus( getString( "errorMessage.missingContainerName" ) );
+ return;
+ }
+ if ( container == null || ( container.getType() & ( IResource.PROJECT | IResource.FOLDER ) ) == 0 )
+ {
+ updateStatus( getString( "errorMessage.missingContainer" ) );
+ return;
+ }
+ if ( !container.isAccessible() )
+ {
+ updateStatus( getString( "errorMessage.nonWritable" ) );
+ return;
+ }
+ if ( fileName.length() == 0 )
+ {
+ updateStatus( getString( "errorMessage.missingFile" ) );
+ return;
+ }
+ if ( fileName.replace( '\\', '/' ).indexOf( '/', 1 ) > 0 )
+ {
+ updateStatus( getString( "errorMessage.nonValidFile" ) );
+ return;
+ }
+ if ( fileName.indexOf( '.' ) == -1 )
+ {
+ updateStatus( getString( "errorMessage.nonValidFile" ) );
+ return;
+ }
+ int dotLoc = fileName.lastIndexOf( '.' );
+ if ( dotLoc != -1 )
+ {
+ String ext = fileName.substring( dotLoc + 1 );
+ if ( ext.equalsIgnoreCase( getExtension() ) == false )
+ {
+ updateStatus( getFormattedString( "errorMessage.nonValidExtension", getExtension() ) );
+ return;
+ }
+ }
+ File file = new File( container.getLocation().toFile(), fileName );
+ if ( file.exists() )
+ {
+ updateStatus( getString( "errorMessage.duplicatedFile" ) );
+ return;
+ }
+ updateStatus( null );
+ }
+
+ private void updateStatus( String message )
+ {
+ setErrorMessage( message );
+ setPageComplete( message == null );
+ }
+
+ private static String getString( String subkey )
+ {
+ return CommonPluginMessages.getString( "AbstractDoxiaWizardPage." + subkey );
+ }
+
+ private static String getFormattedString( String subkey, String obj )
+ {
+ return CommonPluginMessages.getFormattedString( "AbstractDoxiaWizardPage." + subkey, obj );
+ }
+}
\ No newline at end of file
Propchange: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/wizards/AbstractWizardPage.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/wizards/AbstractWizardPage.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/resources/org/apache/maven/doxia/ide/eclipse/common/ui/CommonPluginMessages.properties
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/resources/org/apache/maven/doxia/ide/eclipse/common/ui/CommonPluginMessages.properties?rev=645502&view=auto
==============================================================================
--- maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/resources/org/apache/maven/doxia/ide/eclipse/common/ui/CommonPluginMessages.properties (added)
+++ maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/resources/org/apache/maven/doxia/ide/eclipse/common/ui/CommonPluginMessages.properties Mon Apr 7 06:18:18 2008
@@ -0,0 +1,79 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+#
+# Doxia multipage editor
+#
+AbstractMultiPageEditorPart.edit.label=Edit
+AbstractMultiPageEditorPart.view.label=View
+AbstractMultiPageEditorPart.PartInitException.message.text=Error creating nested text editor:
+AbstractMultiPageEditorPart.ConverterThrowable.message.text=Throwable error converting document:
+AbstractMultiPageEditorPart.CoreException.message.text=Eclipse core error:
+AbstractMultiPageEditorPart.doSave.openConfirm.title.text=Save required
+AbstractMultiPageEditorPart.doSave.openConfirm.message.text=You have error in your document.\nAre you sure to save now?
+AbstractMultiPageEditorPart.pageChange.openConfirm.title.text=Save required
+AbstractMultiPageEditorPart.pageChange.openConfirm.message.text=The file must be saved before switching to the View pane.\nDo you wish to save now?
+AbstractMultiPageEditorPart.pageChange.openError.title.text=Errors in the document
+AbstractMultiPageEditorPart.pageChange.openError.message.text=Errors exist in the document.\nErrors must be fixed prior to switching to View mode.
+
+#
+# Doxia actions
+#
+AptDecoratedTextEditor.contentAssist.label = Content Assist@Ctrl+Space
+AptDecoratedTextEditor.contentAssist.tooltip = Content Assist
+AptDecoratedTextEditor.contentAssist.description = Content Assist
+
+#
+# Doxia wizards
+#
+AbstractDoxiaWizardPage.title=Doxia Editor Page
+AbstractDoxiaWizardPage.description=This wizard creates a new Doxia file with *.{0} extension.
+AbstractDoxiaWizardPage.label.container.text=&Container:
+AbstractDoxiaWizardPage.button.text=Browse...
+AbstractDoxiaWizardPage.label.fileName.text=&File name:
+AbstractDoxiaWizardPage.dialog.text=Select new file container
+AbstractDoxiaWizardPage.errorMessage.missingContainerName=File container must be specified.
+AbstractDoxiaWizardPage.errorMessage.missingContainer=File container must exist.
+AbstractDoxiaWizardPage.errorMessage.nonWritable=Project must be writable.
+AbstractDoxiaWizardPage.errorMessage.missingFile=File name must be specified.
+AbstractDoxiaWizardPage.errorMessage.nonValidFile=File name must be valid.
+AbstractDoxiaWizardPage.errorMessage.nonValidExtension=File extension must be \"{0}\"
+AbstractDoxiaWizardPage.errorMessage.duplicatedFile=File already exist
+
+#
+# Doxia controls
+#
+AddLinkDialog.url.label=URL:
+AddLinkDialog.name.label=Name:
+AddLinkDialog.title.label=Add a link
+AddTableDialog.rows.label=Number of rows:
+AddTableDialog.columns.label=Number of columns:
+AddTableDialog.style.label=Table style:
+AddTableDialog.style.centered.label=Centered
+AddTableDialog.style.leftAligned.label=Left-Aligned
+AddTableDialog.style.rightAligned.label=Right-Aligned
+AddTableDialog.caption.label=Table caption
+AddTableDialog.title.label=Add a table
+
+#
+# Doxia composite
+#
+BrowserComposite.notCreated=Browser not created
+BrowserComposite.back.label=Back
+BrowserComposite.forward.label=Forward
+BrowserComposite.stop.label=Stop
+BrowserComposite.refresh.label=Refresh
Propchange: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/resources/org/apache/maven/doxia/ide/eclipse/common/ui/CommonPluginMessages.properties
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/resources/org/apache/maven/doxia/ide/eclipse/common/ui/CommonPluginMessages.properties
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision