###############################################################################
# Copyright (c) 2001, 2007 Oracle Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
#     Oracle Corporation - initial API and implementation
###############################################################################
PasteNodeCommand.Label.DeleteNode=Delete Node
CutNodeCommand.Label.CutNode=Cut Node
DeleteNodeCommand.Label.DeleteNode=Delete Node
DeleteAction.CommandLabel.Delete=Delete
TableDeleteColumnCommand.Label.DeleteColumn=Delete Column
TableInsertColumnCommand.Label.InsertColumn=Insert Column
TableResizeColumnCommand.Label.ResizeColumn=Resize Column
TableResizeRowCommand.Label.ResizeColumn=Resize Column
TableDeleteRowCommand.Label.DeleteRow=Delete Row
TableInsertRowCommand.Label.InsertRow=Insert Row
TableDeleteHeaderFooterCommand.Label.DeleteHeader=Delete Header
TableDeleteHeaderFooterCommand.Label.DeleteFooter=Delete Footer
TableInsertHeaderFooterCommand.Label.InsertHeader=Insert Header
TableInsertHeaderFooterCommand.Label.InsertFooter=Insert Footer
PasteCommand.Label.Paste=Paste
DeleteCommand.Label.Delete=Delete
CutCommand.Label.Cut=Cut
CopyCommand.Label.Copy=Copy
ApplyStyleCommand.Label.ApplyStyle=Apply Style
ChangeStyleCommand.Label.ChangeStyle=Change Style
MoveNodeCommand.Label.MoveNode=Move Node
CloneNodeCommand.Label.CloneNode=Copy Node
