{"action":"created","comment":{"url":"https://api.github.com/repos/dimitar-asenov/Envision/pulls/comments/34481653","id":34481653,"diff_hunk":"@@ -181,16 +179,17 @@ class VISUALIZATIONBASE_API Scene : public QGraphicsScene\n \t\tModelRenderer* renderer_{};\n \t\tSceneHandlerItem* sceneHandlerItem_{};\n \t\tQList<Item*> topLevelItems_;\n-\t\tQList<ViewItem*> viewItems_;\n-\t\tViewItem* currentViewItem_{};\n \t\tQHash<QString, OverlayGroup> overlayGroups_;\n \n+\t\tViewItemManager* viewItemManager_{};\n+\n \t\tCursor* mainCursor_{};\n \t\tbool mainCursorsJustSet_{};\n \t\tQList<QEvent*> postEventActions_;\n \n \t\tbool inEventHandler_{};\n \t\tbool inAnUpdate_{};\n+\t\tfriend class ViewItemManager;","path":"VisualizationBase/src/Scene.h","position":60,"original_position":60,"commit_id":"dd542caa7911945b0babf11a1652351704f5abb2","original_commit_id":"dd542caa7911945b0babf11a1652351704f5abb2","user":{"login":"dimitar-asenov","id":1152976,"avatar_url":"https://avatars.githubusercontent.com/u/1152976?v=3","gravatar_id":"","url":"https://api.github.com/users/dimitar-asenov","html_url":"https://github.com/dimitar-asenov","followers_url":"https://api.github.com/users/dimitar-asenov/followers","following_url":"https://api.github.com/users/dimitar-asenov/following{/other_user}","gists_url":"https://api.github.com/users/dimitar-asenov/gists{/gist_id}","starred_url":"https://api.github.com/users/dimitar-asenov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dimitar-asenov/subscriptions","organizations_url":"https://api.github.com/users/dimitar-asenov/orgs","repos_url":"https://api.github.com/users/dimitar-asenov/repos","events_url":"https://api.github.com/users/dimitar-asenov/events{/privacy}","received_events_url":"https://api.github.com/users/dimitar-asenov/received_events","type":"User","site_admin":false},"body":"Please, always put friend declarations at the beginning of the `private:` section of a class.","created_at":"2015-07-13T16:28:37Z","updated_at":"2015-07-13T16:28:37Z","html_url":"https://github.com/dimitar-asenov/Envision/pull/105#discussion_r34481653","pull_request_url":"https://api.github.com/repos/dimitar-asenov/Envision/pulls/105","_links":{"self":{"href":"https://api.github.com/repos/dimitar-asenov/Envision/pulls/comments/34481653"},"html":{"href":"https://github.com/dimitar-asenov/Envision/pull/105#discussion_r34481653"},"pull_request":{"href":"https://api.github.com/repos/dimitar-asenov/Envision/pulls/105"}}},"pull_request":{"url":"https://api.github.com/repos/dimitar-asenov/Envision/pulls/105","id":39675307,"html_url":"https://github.com/dimitar-asenov/Envision/pull/105","diff_url":"https://github.com/dimitar-asenov/Envision/pull/105.diff","patch_url":"https://github.com/dimitar-asenov/Envision/pull/105.patch","issue_url":"https://api.github.com/repos/dimitar-asenov/Envision/issues/105","number":105,"state":"open","locked":false,"title":"Task views - Json","user":{"login":"cyril-steimer","id":11210821,"avatar_url":"https://avatars.githubusercontent.com/u/11210821?v=3","gravatar_id":"","url":"https://api.github.com/users/cyril-steimer","html_url":"https://github.com/cyril-steimer","followers_url":"https://api.github.com/users/cyril-steimer/followers","following_url":"https://api.github.com/users/cyril-steimer/following{/other_user}","gists_url":"https://api.github.com/users/cyril-steimer/gists{/gist_id}","starred_url":"https://api.github.com/users/cyril-steimer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cyril-steimer/subscriptions","organizations_url":"https://api.github.com/users/cyril-steimer/orgs","repos_url":"https://api.github.com/users/cyril-steimer/repos","events_url":"https://api.github.com/users/cyril-steimer/events{/privacy}","received_events_url":"https://api.github.com/users/cyril-steimer/received_events","type":"User","site_admin":false},"body":"Adding some Json support. Do you think it would be useful to have a toJson/fromJson function as a pure virtual function in UINode? Then e.g. the InfoNode stuff wouldn't need to be hardcoded and there could be extensions with other UINodes where necessary.\r\n\r\nIt doesn't store the Json anywhere yet, but at least directly restoring the view from Json works right now. ","created_at":"2015-07-10T11:25:59Z","updated_at":"2015-07-13T16:28:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7bec0d9910747b7a16b163f7415c36eabc65e7a3","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dimitar-asenov/Envision/pulls/105/commits","review_comments_url":"https://api.github.com/repos/dimitar-asenov/Envision/pulls/105/comments","review_comment_url":"https://api.github.com/repos/dimitar-asenov/Envision/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dimitar-asenov/Envision/issues/105/comments","statuses_url":"https://api.github.com/repos/dimitar-asenov/Envision/statuses/dd542caa7911945b0babf11a1652351704f5abb2","head":{"label":"cyril-steimer:task-views","ref":"task-views","sha":"dd542caa7911945b0babf11a1652351704f5abb2","user":{"login":"cyril-steimer","id":11210821,"avatar_url":"https://avatars.githubusercontent.com/u/11210821?v=3","gravatar_id":"","url":"https://api.github.com/users/cyril-steimer","html_url":"https://github.com/cyril-steimer","followers_url":"https://api.github.com/users/cyril-steimer/followers","following_url":"https://api.github.com/users/cyril-steimer/following{/other_user}","gists_url":"https://api.github.com/users/cyril-steimer/gists{/gist_id}","starred_url":"https://api.github.com/users/cyril-steimer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cyril-steimer/subscriptions","organizations_url":"https://api.github.com/users/cyril-steimer/orgs","repos_url":"https://api.github.com/users/cyril-steimer/repos","events_url":"https://api.github.com/users/cyril-steimer/events{/privacy}","received_events_url":"https://api.github.com/users/cyril-steimer/received_events","type":"User","site_admin":false},"repo":{"id":31468586,"name":"Envision","full_name":"cyril-steimer/Envision","owner":{"login":"cyril-steimer","id":11210821,"avatar_url":"https://avatars.githubusercontent.com/u/11210821?v=3","gravatar_id":"","url":"https://api.github.com/users/cyril-steimer","html_url":"https://github.com/cyril-steimer","followers_url":"https://api.github.com/users/cyril-steimer/followers","following_url":"https://api.github.com/users/cyril-steimer/following{/other_user}","gists_url":"https://api.github.com/users/cyril-steimer/gists{/gist_id}","starred_url":"https://api.github.com/users/cyril-steimer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cyril-steimer/subscriptions","organizations_url":"https://api.github.com/users/cyril-steimer/orgs","repos_url":"https://api.github.com/users/cyril-steimer/repos","events_url":"https://api.github.com/users/cyril-steimer/events{/privacy}","received_events_url":"https://api.github.com/users/cyril-steimer/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/cyril-steimer/Envision","description":"A next generation IDE with a visual programming interface","fork":true,"url":"https://api.github.com/repos/cyril-steimer/Envision","forks_url":"https://api.github.com/repos/cyril-steimer/Envision/forks","keys_url":"https://api.github.com/repos/cyril-steimer/Envision/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cyril-steimer/Envision/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cyril-steimer/Envision/teams","hooks_url":"https://api.github.com/repos/cyril-steimer/Envision/hooks","issue_events_url":"https://api.github.com/repos/cyril-steimer/Envision/issues/events{/number}","events_url":"https://api.github.com/repos/cyril-steimer/Envision/events","assignees_url":"https://api.github.com/repos/cyril-steimer/Envision/assignees{/user}","branches_url":"https://api.github.com/repos/cyril-steimer/Envision/branches{/branch}","tags_url":"https://api.github.com/repos/cyril-steimer/Envision/tags","blobs_url":"https://api.github.com/repos/cyril-steimer/Envision/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cyril-steimer/Envision/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cyril-steimer/Envision/git/refs{/sha}","trees_url":"https://api.github.com/repos/cyril-steimer/Envision/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cyril-steimer/Envision/statuses/{sha}","languages_url":"https://api.github.com/repos/cyril-steimer/Envision/languages","stargazers_url":"https://api.github.com/repos/cyril-steimer/Envision/stargazers","contributors_url":"https://api.github.com/repos/cyril-steimer/Envision/contributors","subscribers_url":"https://api.github.com/repos/cyril-steimer/Envision/subscribers","subscription_url":"https://api.github.com/repos/cyril-steimer/Envision/subscription","commits_url":"https://api.github.com/repos/cyril-steimer/Envision/commits{/sha}","git_commits_url":"https://api.github.com/repos/cyril-steimer/Envision/git/commits{/sha}","comments_url":"https://api.github.com/repos/cyril-steimer/Envision/comments{/number}","issue_comment_url":"https://api.github.com/repos/cyril-steimer/Envision/issues/comments{/number}","contents_url":"https://api.github.com/repos/cyril-steimer/Envision/contents/{+path}","compare_url":"https://api.github.com/repos/cyril-steimer/Envision/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cyril-steimer/Envision/merges","archive_url":"https://api.github.com/repos/cyril-steimer/Envision/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cyril-steimer/Envision/downloads","issues_url":"https://api.github.com/repos/cyril-steimer/Envision/issues{/number}","pulls_url":"https://api.github.com/repos/cyril-steimer/Envision/pulls{/number}","milestones_url":"https://api.github.com/repos/cyril-steimer/Envision/milestones{/number}","notifications_url":"https://api.github.com/repos/cyril-steimer/Envision/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cyril-steimer/Envision/labels{/name}","releases_url":"https://api.github.com/repos/cyril-steimer/Envision/releases{/id}","created_at":"2015-02-28T16:40:30Z","updated_at":"2015-03-05T13:45:04Z","pushed_at":"2015-07-13T15:49:02Z","git_url":"git://github.com/cyril-steimer/Envision.git","ssh_url":"git@github.com:cyril-steimer/Envision.git","clone_url":"https://github.com/cyril-steimer/Envision.git","svn_url":"https://github.com/cyril-steimer/Envision","homepage":"http://dimitar-asenov.github.com/Envision/","size":42242,"stargazers_count":0,"watchers_count":0,"language":"C++","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":"development"}},"base":{"label":"dimitar-asenov:development","ref":"development","sha":"602af9d726cfb87c73bd54035fbb39dca8612b95","user":{"login":"dimitar-asenov","id":1152976,"avatar_url":"https://avatars.githubusercontent.com/u/1152976?v=3","gravatar_id":"","url":"https://api.github.com/users/dimitar-asenov","html_url":"https://github.com/dimitar-asenov","followers_url":"https://api.github.com/users/dimitar-asenov/followers","following_url":"https://api.github.com/users/dimitar-asenov/following{/other_user}","gists_url":"https://api.github.com/users/dimitar-asenov/gists{/gist_id}","starred_url":"https://api.github.com/users/dimitar-asenov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dimitar-asenov/subscriptions","organizations_url":"https://api.github.com/users/dimitar-asenov/orgs","repos_url":"https://api.github.com/users/dimitar-asenov/repos","events_url":"https://api.github.com/users/dimitar-asenov/events{/privacy}","received_events_url":"https://api.github.com/users/dimitar-asenov/received_events","type":"User","site_admin":false},"repo":{"id":2650576,"name":"Envision","full_name":"dimitar-asenov/Envision","owner":{"login":"dimitar-asenov","id":1152976,"avatar_url":"https://avatars.githubusercontent.com/u/1152976?v=3","gravatar_id":"","url":"https://api.github.com/users/dimitar-asenov","html_url":"https://github.com/dimitar-asenov","followers_url":"https://api.github.com/users/dimitar-asenov/followers","following_url":"https://api.github.com/users/dimitar-asenov/following{/other_user}","gists_url":"https://api.github.com/users/dimitar-asenov/gists{/gist_id}","starred_url":"https://api.github.com/users/dimitar-asenov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dimitar-asenov/subscriptions","organizations_url":"https://api.github.com/users/dimitar-asenov/orgs","repos_url":"https://api.github.com/users/dimitar-asenov/repos","events_url":"https://api.github.com/users/dimitar-asenov/events{/privacy}","received_events_url":"https://api.github.com/users/dimitar-asenov/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dimitar-asenov/Envision","description":"A next generation IDE with a visual programming interface","fork":false,"url":"https://api.github.com/repos/dimitar-asenov/Envision","forks_url":"https://api.github.com/repos/dimitar-asenov/Envision/forks","keys_url":"https://api.github.com/repos/dimitar-asenov/Envision/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dimitar-asenov/Envision/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dimitar-asenov/Envision/teams","hooks_url":"https://api.github.com/repos/dimitar-asenov/Envision/hooks","issue_events_url":"https://api.github.com/repos/dimitar-asenov/Envision/issues/events{/number}","events_url":"https://api.github.com/repos/dimitar-asenov/Envision/events","assignees_url":"https://api.github.com/repos/dimitar-asenov/Envision/assignees{/user}","branches_url":"https://api.github.com/repos/dimitar-asenov/Envision/branches{/branch}","tags_url":"https://api.github.com/repos/dimitar-asenov/Envision/tags","blobs_url":"https://api.github.com/repos/dimitar-asenov/Envision/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dimitar-asenov/Envision/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dimitar-asenov/Envision/git/refs{/sha}","trees_url":"https://api.github.com/repos/dimitar-asenov/Envision/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dimitar-asenov/Envision/statuses/{sha}","languages_url":"https://api.github.com/repos/dimitar-asenov/Envision/languages","stargazers_url":"https://api.github.com/repos/dimitar-asenov/Envision/stargazers","contributors_url":"https://api.github.com/repos/dimitar-asenov/Envision/contributors","subscribers_url":"https://api.github.com/repos/dimitar-asenov/Envision/subscribers","subscription_url":"https://api.github.com/repos/dimitar-asenov/Envision/subscription","commits_url":"https://api.github.com/repos/dimitar-asenov/Envision/commits{/sha}","git_commits_url":"https://api.github.com/repos/dimitar-asenov/Envision/git/commits{/sha}","comments_url":"https://api.github.com/repos/dimitar-asenov/Envision/comments{/number}","issue_comment_url":"https://api.github.com/repos/dimitar-asenov/Envision/issues/comments{/number}","contents_url":"https://api.github.com/repos/dimitar-asenov/Envision/contents/{+path}","compare_url":"https://api.github.com/repos/dimitar-asenov/Envision/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dimitar-asenov/Envision/merges","archive_url":"https://api.github.com/repos/dimitar-asenov/Envision/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dimitar-asenov/Envision/downloads","issues_url":"https://api.github.com/repos/dimitar-asenov/Envision/issues{/number}","pulls_url":"https://api.github.com/repos/dimitar-asenov/Envision/pulls{/number}","milestones_url":"https://api.github.com/repos/dimitar-asenov/Envision/milestones{/number}","notifications_url":"https://api.github.com/repos/dimitar-asenov/Envision/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dimitar-asenov/Envision/labels{/name}","releases_url":"https://api.github.com/repos/dimitar-asenov/Envision/releases{/id}","created_at":"2011-10-26T12:03:58Z","updated_at":"2015-07-10T16:22:24Z","pushed_at":"2015-07-13T15:49:03Z","git_url":"git://github.com/dimitar-asenov/Envision.git","ssh_url":"git@github.com:dimitar-asenov/Envision.git","clone_url":"https://github.com/dimitar-asenov/Envision.git","svn_url":"https://github.com/dimitar-asenov/Envision","homepage":"http://dimitar-asenov.github.com/Envision/","size":47323,"stargazers_count":18,"watchers_count":18,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":14,"mirror_url":null,"open_issues_count":30,"forks":14,"open_issues":30,"watchers":18,"default_branch":"development"}},"_links":{"self":{"href":"https://api.github.com/repos/dimitar-asenov/Envision/pulls/105"},"html":{"href":"https://github.com/dimitar-asenov/Envision/pull/105"},"issue":{"href":"https://api.github.com/repos/dimitar-asenov/Envision/issues/105"},"comments":{"href":"https://api.github.com/repos/dimitar-asenov/Envision/issues/105/comments"},"review_comments":{"href":"https://api.github.com/repos/dimitar-asenov/Envision/pulls/105/comments"},"review_comment":{"href":"https://api.github.com/repos/dimitar-asenov/Envision/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dimitar-asenov/Envision/pulls/105/commits"},"statuses":{"href":"https://api.github.com/repos/dimitar-asenov/Envision/statuses/dd542caa7911945b0babf11a1652351704f5abb2"}}}}