summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/Application/ServerTemplate.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceGridGUI/Application/ServerTemplate.java')
-rwxr-xr-xjava/src/IceGridGUI/Application/ServerTemplate.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/java/src/IceGridGUI/Application/ServerTemplate.java b/java/src/IceGridGUI/Application/ServerTemplate.java
index 90a0501ece6..c418ccec73b 100755
--- a/java/src/IceGridGUI/Application/ServerTemplate.java
+++ b/java/src/IceGridGUI/Application/ServerTemplate.java
@@ -92,10 +92,19 @@ class ServerTemplate extends Communicator
{
boolean[] actions = new boolean[ACTION_COUNT];
actions[COPY] = true;
+
if(((TreeNode)_parent).getAvailableActions()[PASTE])
{
actions[PASTE] = true;
}
+ else
+ {
+ Object clipboard = getCoordinator().getClipboard();
+ actions[PASTE] = clipboard != null &&
+ ((isIceBox() && (clipboard instanceof ServiceInstanceDescriptor))
+ || (!isIceBox() && (clipboard instanceof AdapterDescriptor
+ || clipboard instanceof DbEnvDescriptor)));
+ }
actions[DELETE] = true;
@@ -111,11 +120,8 @@ class ServerTemplate extends Communicator
getCoordinator().setClipboard(copyDescriptor(_templateDescriptor));
getCoordinator().getActionsForMenu().get(PASTE).setEnabled(true);
}
- public void paste()
- {
- ((TreeNode)_parent).paste();
- }
+
public JPopupMenu getPopupMenu()
{
ApplicationActions actions = getCoordinator().getActionsForPopup();
@@ -304,7 +310,7 @@ class ServerTemplate extends Communicator
{
_adapters.init(_templateDescriptor.descriptor.adapters);
- if(_templateDescriptor.descriptor instanceof IceBoxDescriptor)
+ if(isIceBox())
{
IceBoxDescriptor iceBoxDescriptor =
(IceBoxDescriptor)_templateDescriptor.descriptor;