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 Rhinoimport scriptcontextimport 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()