blob: db557ee072d1cff970fc7330ce67ae545e90bf25 [file] [log] [blame]
/*
* Copyright 2000-2009 JetBrains s.r.o.
*
* Licensed 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.
*/
package com.intellij.openapi.actionSystem;
import org.jetbrains.annotations.NonNls;
/**
* Represents constraints for some action. Constraints are used to specify
* action's position in the default group, see {@link DefaultActionGroup}.
*
* @see DefaultActionGroup
*/
public class Constraints implements Cloneable {
public final static Constraints FIRST = new Constraints(Anchor.FIRST, null);
public final static Constraints LAST = new Constraints(Anchor.LAST, null);
/**
* Anchor.
*/
public Anchor myAnchor;
/**
* Id of the action to be positioned relative to. Used when anchor type
* is either {@link Anchor#AFTER} or {@link Anchor#BEFORE}.
*
*/
public String myRelativeToActionId;
/**
* Creates a new constraints instance with the specified anchor type and
* id of the relative action.
*
* @param anchor anchor
* @param relativeToActionId Id of the relative action
*/
public Constraints(Anchor anchor, @NonNls String relativeToActionId){
myAnchor = anchor;
myRelativeToActionId = relativeToActionId;
}
@Override
public Object clone(){
try{
return super.clone();
}
catch(CloneNotSupportedException exc){
throw new RuntimeException(exc.getMessage());
}
}
}