mojombo / clippy

Clippy is a very simple Flash widget that makes it possible to place arbitrary text onto the client's clipboard.
MIT License
939 stars 167 forks source link

Possibility to change also the text of the label and the "copied" text #6

Open lmammino opened 13 years ago

lmammino commented 13 years ago

To apply internationalization to clippy it would be really good to have the possibility to edit also the text of the label and the "copied" text... The following implementation probably will work:

import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.display.SimpleButton;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;

class Clippy {
  // Main
  static function main() {
    var text:String = flash.Lib.current.loaderInfo.parameters.text;
    var labelText:String = flash.Lib.current.loaderInfo.parameters.labelText;
var copiedText:String = flash.Lib.current.loaderInfo.parameters.copiedText;

// label
    var label:TextField = new TextField();
    var format:TextFormat = new TextFormat("Arial", 10);

    label.text = labelText;
    label.setTextFormat(format);
    label.textColor = 0x888888;
    label.selectable = false;
    label.x = 15;
    label.visible = false;

    flash.Lib.current.addChild(label);

    // button

    var button:SimpleButton = new SimpleButton();
    button.useHandCursor = true;
    button.upState = flash.Lib.attach("button_up");
    button.overState = flash.Lib.attach("button_over");
    button.downState = flash.Lib.attach("button_down");
    button.hitTestState = flash.Lib.attach("button_down");

    button.addEventListener(MouseEvent.MOUSE_UP, function(e:MouseEvent) {
      flash.system.System.setClipboard(text);
      label.text = copiedText;
      label.setTextFormat(format);
    });

    button.addEventListener(MouseEvent.MOUSE_OVER, function(e:MouseEvent) {
      label.visible = true;
    });

    button.addEventListener(MouseEvent.MOUSE_OUT, function(e:MouseEvent) {
      label.visible = false;
      label.text = labelText;
      label.setTextFormat(format);
    });

    flash.Lib.current.addChild(button);
  }
}
johannesnagl commented 13 years ago

+1

nicolasiensen commented 13 years ago

+1

stjernstrom commented 13 years ago

+1

incubus commented 12 years ago

+1

simonc commented 12 years ago

:up:

ghepting commented 12 years ago

+1