Skip to content

GetBaseClass.SetDefaultString

Public Class

Sets a string as default value that will be returned if the user presses ENTER key during the get.

Namespace: Rhino.Input.Custom

Assembly: RhinoCommon (in RhinoCommon.dll)

**Since:**5.0

Syntax

public void SetDefaultString(
string defaultValue
)

Parameters

defaultValue

Type:System.String
value for default string.

Remarks

Calling SetDefaultString will automatically handle setting the command prompt default and reacting to the user pressing ENTER. If the user presses ENTER to accept the default string, GetResult.String is returned and RhinoGet.GotDefault() will return true. Calling SetDefaultString will clear any previous calls to SetDefaultNumber or SetDefaultPoint.

Examples

partial class Examples
{
public static Rhino.Commands.Result AddLayer(Rhino.RhinoDoc doc)
{
// Cook up an unused layer name
string unused_name = doc.Layers.GetUnusedLayerName(false);
// Prompt the user to enter a layer name
Rhino.Input.Custom.GetString gs = new Rhino.Input.Custom.GetString();
gs.SetCommandPrompt("Name of layer to add");
gs.SetDefaultString(unused_name);
gs.AcceptNothing(true);
gs.Get();
if (gs.CommandResult() != Rhino.Commands.Result.Success)
return gs.CommandResult();
// Was a layer named entered?
string layer_name = gs.StringResult().Trim();
if (string.IsNullOrEmpty(layer_name))
{
Rhino.RhinoApp.WriteLine("Layer name cannot be blank.");
return Rhino.Commands.Result.Cancel;
}
// Is the layer name valid?
if (!Rhino.DocObjects.Layer.IsValidName(layer_name))
{
Rhino.RhinoApp.WriteLine(layer_name + " is not a valid layer name.");
return Rhino.Commands.Result.Cancel;
}
// Does a layer with the same name already exist?
int layer_index = doc.Layers.Find(layer_name, true);
if (layer_index >= 0)
{
Rhino.RhinoApp.WriteLine("A layer with the name {0} already exists.", layer_name);
return Rhino.Commands.Result.Cancel;
}
// Add a new layer to the document
layer_index = doc.Layers.Add(layer_name, System.Drawing.Color.Black);
if (layer_index < 0)
{
Rhino.RhinoApp.WriteLine("Unable to add {0} layer.", layer_name);
return Rhino.Commands.Result.Failure;
}
return Rhino.Commands.Result.Success;
}
}
import Rhino
import scriptcontext
import System.Guid, System.Drawing.Color
def AddLayer():
# Cook up an unused layer name
unused_name = scriptcontext.doc.Layers.GetUnusedLayerName(False)
# Prompt the user to enter a layer name
gs = Rhino.Input.Custom.GetString()
gs.SetCommandPrompt("Name of layer to add")
gs.SetDefaultString(unused_name)
gs.AcceptNothing(True)
gs.Get()
if gs.CommandResult()!=Rhino.Commands.Result.Success:
return gs.CommandResult()
# Was a layer named entered?
layer_name = gs.StringResult().Trim()
if not layer_name:
print "Layer name cannot be blank."
return Rhino.Commands.Result.Cancel
# Is the layer name valid?
if not Rhino.DocObjects.Layer.IsValidName(layer_name):
print layer_name, "is not a valid layer name."
return Rhino.Commands.Result.Cancel
# Does a layer with the same name already exist?
layer_index = scriptcontext.doc.Layers.Find(layer_name, True)
if layer_index>=0:
print "A layer with the name", layer_name, "already exists."
return Rhino.Commands.Result.Cancel
# Add a new layer to the document
layer_index = scriptcontext.doc.Layers.Add(layer_name, System.Drawing.Color.Black)
if layer_index<0:
print "Unable to add", layer_name, "layer."
return Rhino.Commands.Result.Failure
return Rhino.Commands.Result.Success
if __name__=="__main__":
AddLayer()