{"action":"created","comment":{"url":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls/comments/29242767","id":29242767,"diff_hunk":"@@ -87,45 +186,146 @@ def __init__(self, interactor, string, movable=False, on_move=None, on_drag=None\n         else:\n             self.actor = text_actor(string, fgcolor, size, font)\n \n-        widget.SetTextActor(self.actor)\n+        widget = WidgetReprShim(interactor, self.actor)\n \n         super(Label, self).__init__(interactor, widget)\n \n-        #self.widget.ResizableOff()\n         self.movable = movable\n         self.action = on_click\n-        self.release_action = on_release\n         self.move_action = on_move\n         self.dragged = on_drag\n \n-        self.left, self.top = left, top\n-        self.top_offset = 0\n-\n-        # Assigned by Widget.__init__\n-        self.repr.MovingOff()\n-        self.repr.PickableOff()\n-        self.repr.SetShowBorderToOff()\n-\n         self.actor.SetTextScaleModeToNone()\n+        self.actor.SetUseBorderAlign(False)\n+        self.actor.VisibilityOff()\n \n-        # Map events to draggable actions, because standard events aren't propagated\n-        self.add_event_handler(\"StartInteractionEvent\", self.drag_clicked)\n-        self.add_event_handler(\"InteractionEvent\", self.drag_moved)\n-        self.add_event_handler(\"EndInteractionEvent\", self.drag_released)\n-        self.add_event_handler(\"StartInteractionEvent\", self.click)\n-        self.add_event_handler(\"EndInteractionEvent\", self.release)\n+        self.left = left\n+        self.top = top\n \n         self.register()\n \n-    def get_text(self):\n-        return self.repr.GetText()\n+    def text():\n+        doc = \"Property that provides access to the text actor's input\"\n+\n+        def fget(self):\n+            return self.get_text()\n+\n+        def fset(self, value):\n+            self.set_text(value)\n+\n+        return locals()\n+    text = property(**text())","path":"Packages/vcs/Lib/vtk_ui/text.py","position":237,"original_position":237,"commit_id":"5614bc890d32e49f2540d1cd419077cc6352e64f","original_commit_id":"5614bc890d32e49f2540d1cd419077cc6352e64f","user":{"login":"dlonie","id":58744,"avatar_url":"https://avatars.githubusercontent.com/u/58744?v=3","gravatar_id":"","url":"https://api.github.com/users/dlonie","html_url":"https://github.com/dlonie","followers_url":"https://api.github.com/users/dlonie/followers","following_url":"https://api.github.com/users/dlonie/following{/other_user}","gists_url":"https://api.github.com/users/dlonie/gists{/gist_id}","starred_url":"https://api.github.com/users/dlonie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dlonie/subscriptions","organizations_url":"https://api.github.com/users/dlonie/orgs","repos_url":"https://api.github.com/users/dlonie/repos","events_url":"https://api.github.com/users/dlonie/events{/privacy}","received_events_url":"https://api.github.com/users/dlonie/received_events","type":"User","site_admin":false},"body":"Can we use the `@property` decorator here instead? It's easier to spot at a glance.","created_at":"2015-04-28T13:39:59Z","updated_at":"2015-04-28T13:39:59Z","html_url":"https://github.com/UV-CDAT/uvcdat/pull/1235#discussion_r29242767","pull_request_url":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls/1235","_links":{"self":{"href":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls/comments/29242767"},"html":{"href":"https://github.com/UV-CDAT/uvcdat/pull/1235#discussion_r29242767"},"pull_request":{"href":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls/1235"}}},"pull_request":{"url":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls/1235","id":34200844,"html_url":"https://github.com/UV-CDAT/uvcdat/pull/1235","diff_url":"https://github.com/UV-CDAT/uvcdat/pull/1235.diff","patch_url":"https://github.com/UV-CDAT/uvcdat/pull/1235.patch","issue_url":"https://api.github.com/repos/UV-CDAT/uvcdat/issues/1235","number":1235,"state":"open","locked":false,"title":"Text fixup","user":{"login":"chaosphere2112","id":718512,"avatar_url":"https://avatars.githubusercontent.com/u/718512?v=3","gravatar_id":"","url":"https://api.github.com/users/chaosphere2112","html_url":"https://github.com/chaosphere2112","followers_url":"https://api.github.com/users/chaosphere2112/followers","following_url":"https://api.github.com/users/chaosphere2112/following{/other_user}","gists_url":"https://api.github.com/users/chaosphere2112/gists{/gist_id}","starred_url":"https://api.github.com/users/chaosphere2112/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chaosphere2112/subscriptions","organizations_url":"https://api.github.com/users/chaosphere2112/orgs","repos_url":"https://api.github.com/users/chaosphere2112/repos","events_url":"https://api.github.com/users/chaosphere2112/events{/privacy}","received_events_url":"https://api.github.com/users/chaosphere2112/received_events","type":"User","site_admin":false},"body":"This pull request fixes a bunch of small interaction issues (enumerated below) with how I was handling text previously– among other things, it fixes #1205. It's dependent on [this PR](https://github.com/UV-CDAT/VTK/pull/4), which invalidates some baselines ([ctest results](https://open.cdash.org/viewTest.php?buildid=3789252)) that I haven't regenerated yet; we can do those as part of merging the VTK PR.\r\n\r\nThe associated PR for testdata is [here](UV-CDAT/uvcdat-testdata#) the changes in this PR invalidated some button baselines, so I've regenerated those in the PR.\r\n\r\n\r\nInteraction issues:\r\n\r\n- Deleting all of the text from an actor and deselecting it would trigger errors and not update the text actor\r\n- Cursor would behave erratically while rotating\r\n- Cursor placement was really inaccurate\r\n- Clicking on text was inaccurate\r\n- Dragging text and deselecting it would make text jump slightly, or quite a lot depending on alignment\r\n\r\nPlus some more, I'm sure.\r\n\r\n@dlonie If you can double check my text actor handling in text.py and textbox.py, that'd be great.\r\n\r\n@aashish24 This is the PR that I mentioned in the meeting, @doutriaux1 and you can both feel free to poke through it.","created_at":"2015-04-27T19:20:05Z","updated_at":"2015-04-28T13:39:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"31645c1dfad846f27fc9a58da380348d9cafb9e7","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls/1235/commits","review_comments_url":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls/1235/comments","review_comment_url":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls/comments{/number}","comments_url":"https://api.github.com/repos/UV-CDAT/uvcdat/issues/1235/comments","statuses_url":"https://api.github.com/repos/UV-CDAT/uvcdat/statuses/5614bc890d32e49f2540d1cd419077cc6352e64f","head":{"label":"chaosphere2112:text_fixup","ref":"text_fixup","sha":"5614bc890d32e49f2540d1cd419077cc6352e64f","user":{"login":"chaosphere2112","id":718512,"avatar_url":"https://avatars.githubusercontent.com/u/718512?v=3","gravatar_id":"","url":"https://api.github.com/users/chaosphere2112","html_url":"https://github.com/chaosphere2112","followers_url":"https://api.github.com/users/chaosphere2112/followers","following_url":"https://api.github.com/users/chaosphere2112/following{/other_user}","gists_url":"https://api.github.com/users/chaosphere2112/gists{/gist_id}","starred_url":"https://api.github.com/users/chaosphere2112/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chaosphere2112/subscriptions","organizations_url":"https://api.github.com/users/chaosphere2112/orgs","repos_url":"https://api.github.com/users/chaosphere2112/repos","events_url":"https://api.github.com/users/chaosphere2112/events{/privacy}","received_events_url":"https://api.github.com/users/chaosphere2112/received_events","type":"User","site_admin":false},"repo":{"id":26816435,"name":"uvcdat","full_name":"chaosphere2112/uvcdat","owner":{"login":"chaosphere2112","id":718512,"avatar_url":"https://avatars.githubusercontent.com/u/718512?v=3","gravatar_id":"","url":"https://api.github.com/users/chaosphere2112","html_url":"https://github.com/chaosphere2112","followers_url":"https://api.github.com/users/chaosphere2112/followers","following_url":"https://api.github.com/users/chaosphere2112/following{/other_user}","gists_url":"https://api.github.com/users/chaosphere2112/gists{/gist_id}","starred_url":"https://api.github.com/users/chaosphere2112/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chaosphere2112/subscriptions","organizations_url":"https://api.github.com/users/chaosphere2112/orgs","repos_url":"https://api.github.com/users/chaosphere2112/repos","events_url":"https://api.github.com/users/chaosphere2112/events{/privacy}","received_events_url":"https://api.github.com/users/chaosphere2112/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/chaosphere2112/uvcdat","description":"Ultrascale Visualization Climate Data Analysis Tools","fork":true,"url":"https://api.github.com/repos/chaosphere2112/uvcdat","forks_url":"https://api.github.com/repos/chaosphere2112/uvcdat/forks","keys_url":"https://api.github.com/repos/chaosphere2112/uvcdat/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chaosphere2112/uvcdat/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chaosphere2112/uvcdat/teams","hooks_url":"https://api.github.com/repos/chaosphere2112/uvcdat/hooks","issue_events_url":"https://api.github.com/repos/chaosphere2112/uvcdat/issues/events{/number}","events_url":"https://api.github.com/repos/chaosphere2112/uvcdat/events","assignees_url":"https://api.github.com/repos/chaosphere2112/uvcdat/assignees{/user}","branches_url":"https://api.github.com/repos/chaosphere2112/uvcdat/branches{/branch}","tags_url":"https://api.github.com/repos/chaosphere2112/uvcdat/tags","blobs_url":"https://api.github.com/repos/chaosphere2112/uvcdat/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chaosphere2112/uvcdat/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chaosphere2112/uvcdat/git/refs{/sha}","trees_url":"https://api.github.com/repos/chaosphere2112/uvcdat/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chaosphere2112/uvcdat/statuses/{sha}","languages_url":"https://api.github.com/repos/chaosphere2112/uvcdat/languages","stargazers_url":"https://api.github.com/repos/chaosphere2112/uvcdat/stargazers","contributors_url":"https://api.github.com/repos/chaosphere2112/uvcdat/contributors","subscribers_url":"https://api.github.com/repos/chaosphere2112/uvcdat/subscribers","subscription_url":"https://api.github.com/repos/chaosphere2112/uvcdat/subscription","commits_url":"https://api.github.com/repos/chaosphere2112/uvcdat/commits{/sha}","git_commits_url":"https://api.github.com/repos/chaosphere2112/uvcdat/git/commits{/sha}","comments_url":"https://api.github.com/repos/chaosphere2112/uvcdat/comments{/number}","issue_comment_url":"https://api.github.com/repos/chaosphere2112/uvcdat/issues/comments{/number}","contents_url":"https://api.github.com/repos/chaosphere2112/uvcdat/contents/{+path}","compare_url":"https://api.github.com/repos/chaosphere2112/uvcdat/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chaosphere2112/uvcdat/merges","archive_url":"https://api.github.com/repos/chaosphere2112/uvcdat/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chaosphere2112/uvcdat/downloads","issues_url":"https://api.github.com/repos/chaosphere2112/uvcdat/issues{/number}","pulls_url":"https://api.github.com/repos/chaosphere2112/uvcdat/pulls{/number}","milestones_url":"https://api.github.com/repos/chaosphere2112/uvcdat/milestones{/number}","notifications_url":"https://api.github.com/repos/chaosphere2112/uvcdat/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chaosphere2112/uvcdat/labels{/name}","releases_url":"https://api.github.com/repos/chaosphere2112/uvcdat/releases{/id}","created_at":"2014-11-18T15:46:46Z","updated_at":"2015-04-20T21:00:56Z","pushed_at":"2015-04-27T20:48:23Z","git_url":"git://github.com/chaosphere2112/uvcdat.git","ssh_url":"git@github.com:chaosphere2112/uvcdat.git","clone_url":"https://github.com/chaosphere2112/uvcdat.git","svn_url":"https://github.com/chaosphere2112/uvcdat","homepage":null,"size":294925,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"UV-CDAT:master","ref":"master","sha":"17b86d0d9a6463f1b88ce54b546e1b51eb5b3e96","user":{"login":"UV-CDAT","id":2781444,"avatar_url":"https://avatars.githubusercontent.com/u/2781444?v=3","gravatar_id":"","url":"https://api.github.com/users/UV-CDAT","html_url":"https://github.com/UV-CDAT","followers_url":"https://api.github.com/users/UV-CDAT/followers","following_url":"https://api.github.com/users/UV-CDAT/following{/other_user}","gists_url":"https://api.github.com/users/UV-CDAT/gists{/gist_id}","starred_url":"https://api.github.com/users/UV-CDAT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UV-CDAT/subscriptions","organizations_url":"https://api.github.com/users/UV-CDAT/orgs","repos_url":"https://api.github.com/users/UV-CDAT/repos","events_url":"https://api.github.com/users/UV-CDAT/events{/privacy}","received_events_url":"https://api.github.com/users/UV-CDAT/received_events","type":"Organization","site_admin":false},"repo":{"id":6660536,"name":"uvcdat","full_name":"UV-CDAT/uvcdat","owner":{"login":"UV-CDAT","id":2781444,"avatar_url":"https://avatars.githubusercontent.com/u/2781444?v=3","gravatar_id":"","url":"https://api.github.com/users/UV-CDAT","html_url":"https://github.com/UV-CDAT","followers_url":"https://api.github.com/users/UV-CDAT/followers","following_url":"https://api.github.com/users/UV-CDAT/following{/other_user}","gists_url":"https://api.github.com/users/UV-CDAT/gists{/gist_id}","starred_url":"https://api.github.com/users/UV-CDAT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UV-CDAT/subscriptions","organizations_url":"https://api.github.com/users/UV-CDAT/orgs","repos_url":"https://api.github.com/users/UV-CDAT/repos","events_url":"https://api.github.com/users/UV-CDAT/events{/privacy}","received_events_url":"https://api.github.com/users/UV-CDAT/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/UV-CDAT/uvcdat","description":"Ultrascale Visualization Climate Data Analysis Tools","fork":false,"url":"https://api.github.com/repos/UV-CDAT/uvcdat","forks_url":"https://api.github.com/repos/UV-CDAT/uvcdat/forks","keys_url":"https://api.github.com/repos/UV-CDAT/uvcdat/keys{/key_id}","collaborators_url":"https://api.github.com/repos/UV-CDAT/uvcdat/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/UV-CDAT/uvcdat/teams","hooks_url":"https://api.github.com/repos/UV-CDAT/uvcdat/hooks","issue_events_url":"https://api.github.com/repos/UV-CDAT/uvcdat/issues/events{/number}","events_url":"https://api.github.com/repos/UV-CDAT/uvcdat/events","assignees_url":"https://api.github.com/repos/UV-CDAT/uvcdat/assignees{/user}","branches_url":"https://api.github.com/repos/UV-CDAT/uvcdat/branches{/branch}","tags_url":"https://api.github.com/repos/UV-CDAT/uvcdat/tags","blobs_url":"https://api.github.com/repos/UV-CDAT/uvcdat/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/UV-CDAT/uvcdat/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/UV-CDAT/uvcdat/git/refs{/sha}","trees_url":"https://api.github.com/repos/UV-CDAT/uvcdat/git/trees{/sha}","statuses_url":"https://api.github.com/repos/UV-CDAT/uvcdat/statuses/{sha}","languages_url":"https://api.github.com/repos/UV-CDAT/uvcdat/languages","stargazers_url":"https://api.github.com/repos/UV-CDAT/uvcdat/stargazers","contributors_url":"https://api.github.com/repos/UV-CDAT/uvcdat/contributors","subscribers_url":"https://api.github.com/repos/UV-CDAT/uvcdat/subscribers","subscription_url":"https://api.github.com/repos/UV-CDAT/uvcdat/subscription","commits_url":"https://api.github.com/repos/UV-CDAT/uvcdat/commits{/sha}","git_commits_url":"https://api.github.com/repos/UV-CDAT/uvcdat/git/commits{/sha}","comments_url":"https://api.github.com/repos/UV-CDAT/uvcdat/comments{/number}","issue_comment_url":"https://api.github.com/repos/UV-CDAT/uvcdat/issues/comments{/number}","contents_url":"https://api.github.com/repos/UV-CDAT/uvcdat/contents/{+path}","compare_url":"https://api.github.com/repos/UV-CDAT/uvcdat/compare/{base}...{head}","merges_url":"https://api.github.com/repos/UV-CDAT/uvcdat/merges","archive_url":"https://api.github.com/repos/UV-CDAT/uvcdat/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/UV-CDAT/uvcdat/downloads","issues_url":"https://api.github.com/repos/UV-CDAT/uvcdat/issues{/number}","pulls_url":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls{/number}","milestones_url":"https://api.github.com/repos/UV-CDAT/uvcdat/milestones{/number}","notifications_url":"https://api.github.com/repos/UV-CDAT/uvcdat/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/UV-CDAT/uvcdat/labels{/name}","releases_url":"https://api.github.com/repos/UV-CDAT/uvcdat/releases{/id}","created_at":"2012-11-12T20:58:18Z","updated_at":"2015-04-28T11:59:44Z","pushed_at":"2015-04-28T11:59:44Z","git_url":"git://github.com/UV-CDAT/uvcdat.git","ssh_url":"git@github.com:UV-CDAT/uvcdat.git","clone_url":"https://github.com/UV-CDAT/uvcdat.git","svn_url":"https://github.com/UV-CDAT/uvcdat","homepage":null,"size":301824,"stargazers_count":34,"watchers_count":34,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":30,"mirror_url":null,"open_issues_count":194,"forks":30,"open_issues":194,"watchers":34,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls/1235"},"html":{"href":"https://github.com/UV-CDAT/uvcdat/pull/1235"},"issue":{"href":"https://api.github.com/repos/UV-CDAT/uvcdat/issues/1235"},"comments":{"href":"https://api.github.com/repos/UV-CDAT/uvcdat/issues/1235/comments"},"review_comments":{"href":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls/1235/comments"},"review_comment":{"href":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/UV-CDAT/uvcdat/pulls/1235/commits"},"statuses":{"href":"https://api.github.com/repos/UV-CDAT/uvcdat/statuses/5614bc890d32e49f2540d1cd419077cc6352e64f"}}}}