Last active
August 29, 2015 13:59
-
-
Save johnanthonyevans/10805809 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// this script moves the selected object it's given distances (command ') | |
// var levels = dialog(" ", 0, "Transform'" + [layer name] + "'(x,y)"); | |
var levels = dialog(" ", 0, "Transform Object (x,y)"); | |
/** | |
* Open a dialog for user input | |
* @param {string} msg The dialog message | |
* @param {mixed} given String or number - the given input value | |
* @param {string} title The dialog title | |
* @return {string} The value the user entered in the dialog | |
*/ | |
function dialog( msg, given, title ) | |
{ | |
var result = null; | |
if( typeof msg === 'undefined' ) return result; | |
// escape % to avoid string formatting | |
msg = msg.replace( /%/g, '%%' ); | |
if( typeof given === 'undefined' ) given = ''; | |
if( typeof title === 'undefined' ) title = 'Input dialog'; | |
// Create the alert | |
var alert = NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat( title, 'Move', 'Copy', 'Cancel', msg ); | |
// extend the alert window with an input field | |
var input = NSTextField.alloc().initWithFrame( NSMakeRect( 0, 0, 300, 24 ) ); | |
var cell = input.cell(); | |
cell.setWraps(false); | |
cell.setUsesSingleLineMode(true); | |
input.setStringValue( given ); | |
// input.becomeFirstResponder(); | |
alert.setAccessoryView( input ); | |
// log(alert.accessoryView); | |
log(alert.window); | |
alert.window.makeFirstResponder(alert.accessoryView); | |
// alert.setInitialFirstResponder(alert.accessoryView); | |
log("start"); | |
// show the alert | |
var button = alert.runModal(); | |
result = input.stringValue(); | |
var x_delta = eval(result.split(",")[0]); | |
var y_delta = eval(result.split(",")[1]); | |
// if the user clicked "Ok" | |
// get the text from the input field | |
var flags = [NSEvent modifierFlags]; | |
if (flags & NSAlternateKeyMask) { | |
log("Option key down"); | |
for (var i=0; i<selection.length(); i++) { | |
var layer = selection[i]; | |
var frame = [layer frame]; | |
var copy = [layer duplicate]; | |
var frame2 = [copy frame]; | |
// frame.name = frame.name + " copy"; | |
[frame2 setX:[frame x] + x_delta]; | |
[frame2 setY:[frame y] + y_delta]; | |
} | |
} | |
else | |
{ | |
log("Move Button Pressed"); | |
for (var i=0; i<selection.length(); i++) { | |
var layer = selection[i]; | |
var frame = [layer frame]; | |
[frame setX:[frame x] + x_delta]; | |
[frame setY:[frame y] + y_delta]; | |
} | |
} | |
// and return the result | |
return result; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment