From c05840746e9bd3a3e00a71758e6b7cb087e94e4d Mon Sep 17 00:00:00 2001 From: Stefan Neubert Date: Sun, 25 May 2014 16:03:52 +0200 Subject: [PATCH 1/7] Add basic structure of new rendering pipeline. #75 --- .../instance/addToHtmlMorph..st | 15 ++++++++++++ .../instance/flushBlockNode.to..st | 3 +++ .../instance/flushInlineNodes.to..st | 9 +++++++ .../HtmlDOMNode.class/instance/isInline.st | 3 +++ .../HtmlDOMNode.class/methodProperties.json | 4 ++++ .../HtmlDOMNode.class/properties.json | 3 ++- .../instance/htmlInlineMorph.st | 8 +++++++ .../HtmlFormatter.class/methodProperties.json | 1 + .../instance/addToFormatter..st | 5 +--- .../HtmlIMGNode.class/methodProperties.json | 2 +- packages/HTML.package/monticello.meta/version | 2 +- ...SN.65_83655281-8e0a-4f4d-a2da-b8e801b9707a | 1 + ...rs.62_490d92c9-c11c-4246-9fdd-18681b5bd6d8 | 1 - ...rs.63_1ff7030b-6f35-4796-8a66-16bfab0e08b2 | 1 - ...rs.64_1683b020-3fe3-49fa-af0a-4cd62d18fc2f | 1 - ...rs.65_9af0226a-b83f-42c9-9b7d-004fc21eb8e2 | 1 - ...rs.66_450d8b9a-7893-4b88-a37b-4c14f026976b | 1 - ...rs.67_89d4deb0-f0c3-47c1-855e-a3591c752c28 | 1 - .../HtmlBlockMorph.class/README.md | 0 .../HtmlBlockMorph.class/class/newFor..st | 5 ++++ .../instance/addChild..st | 4 ++++ .../instance/children..st | 4 ++++ .../HtmlBlockMorph.class/instance/children.st | 4 ++++ .../instance/defaultColor.st | 3 +++ .../instance/incompleteMorphs.st | 6 +++++ .../instance/initialize.st | 4 ++++ .../HtmlBlockMorph.class/instance/node..st | 4 ++++ .../HtmlBlockMorph.class/instance/node.st | 4 ++++ .../methodProperties.json | 12 ++++++++++ .../HtmlBlockMorph.class/properties.json | 15 ++++++++++++ .../HtmlDocumentMorph.class/README.md | 0 .../HtmlDocumentMorph.class/class/newFor..st | 5 ++++ .../HtmlDocumentMorph.class/instance/clear.st | 3 +++ .../instance/document..st | 4 ++++ .../instance/document.st | 4 ++++ .../instance/render.st | 3 +++ .../instance/renderDocument..st | 5 ++++ .../methodProperties.json | 9 +++++++ .../HtmlDocumentMorph.class/properties.json | 14 +++++++++++ .../HtmlInlineMorph.class/README.md | 0 .../instance/incompleteMorphs..st | 4 ++++ .../instance/incompleteMorphs.st | 4 ++++ .../instance/initialize.st | 4 ++++ .../HtmlInlineMorph.class/instance/nodes..st | 4 ++++ .../HtmlInlineMorph.class/instance/nodes.st | 4 ++++ .../methodProperties.json | 9 +++++++ .../HtmlInlineMorph.class/properties.json | 15 ++++++++++++ .../Scamper.class/instance/backgroundColor.st | 3 +-- .../instance/displayTextHtmlPage..st | 24 +++++-------------- .../Scamper.class/instance/webContentsPane.st | 9 ++----- .../Scamper.class/methodProperties.json | 7 +++--- .../Scamper.class/properties.json | 6 ++--- .../WebPageMorph.class/class/on..st | 5 ++++ .../class/on.bg.text.readSelection.menu..st | 7 ------ .../WebPageMorph.class/instance/document..st | 4 ++++ .../WebPageMorph.class/instance/document.st | 4 ++++ .../instance/documentMorph..st | 5 ++++ .../instance/documentMorph.st | 4 ++++ .../WebPageMorph.class/instance/drawImage..st | 12 ---------- .../WebPageMorph.class/instance/drawOn..st | 4 ---- .../WebPageMorph.class/instance/getBg.st | 6 ----- .../WebPageMorph.class/instance/isImage..st | 4 ---- .../instance/layoutChanged.st | 3 +-- .../on.bg.text.readSelection.menu..st | 7 ------ .../WebPageMorph.class/instance/scamper..st | 4 ++++ .../WebPageMorph.class/instance/scamper.st | 4 ++++ .../WebPageMorph.class/instance/setText..st | 4 ---- .../WebPageMorph.class/instance/show..st | 5 ++++ .../instance/startDownloadingMorphState..st | 8 +++---- .../WebPageMorph.class/instance/update..st | 8 ------- .../WebPageMorph.class/methodProperties.json | 19 ++++++++------- .../WebPageMorph.class/properties.json | 8 +++---- .../monticello.meta/categories.st | 1 + .../Scamper.package/monticello.meta/version | 2 +- ...-SN.2_62d20799-fbf3-a449-b821-5187491f163b | 1 + 75 files changed, 276 insertions(+), 120 deletions(-) create mode 100644 packages/HTML.package/HtmlDOMNode.class/instance/addToHtmlMorph..st create mode 100644 packages/HTML.package/HtmlDOMNode.class/instance/flushBlockNode.to..st create mode 100644 packages/HTML.package/HtmlDOMNode.class/instance/flushInlineNodes.to..st create mode 100644 packages/HTML.package/HtmlDOMNode.class/instance/isInline.st create mode 100644 packages/HTML.package/HtmlFormatter.class/instance/htmlInlineMorph.st create mode 100644 packages/HTML.package/monticello.meta/version.d/HTML-SN.65_83655281-8e0a-4f4d-a2da-b8e801b9707a delete mode 100644 packages/HTML.package/monticello.meta/version.d/HTML-rs.62_490d92c9-c11c-4246-9fdd-18681b5bd6d8 delete mode 100644 packages/HTML.package/monticello.meta/version.d/HTML-rs.63_1ff7030b-6f35-4796-8a66-16bfab0e08b2 delete mode 100644 packages/HTML.package/monticello.meta/version.d/HTML-rs.64_1683b020-3fe3-49fa-af0a-4cd62d18fc2f delete mode 100644 packages/HTML.package/monticello.meta/version.d/HTML-rs.65_9af0226a-b83f-42c9-9b7d-004fc21eb8e2 delete mode 100644 packages/HTML.package/monticello.meta/version.d/HTML-rs.66_450d8b9a-7893-4b88-a37b-4c14f026976b delete mode 100644 packages/HTML.package/monticello.meta/version.d/HTML-rs.67_89d4deb0-f0c3-47c1-855e-a3591c752c28 create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/README.md create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/class/newFor..st create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/instance/addChild..st create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/instance/children..st create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/instance/children.st create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/instance/defaultColor.st create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/instance/incompleteMorphs.st create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/instance/initialize.st create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/instance/node..st create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/instance/node.st create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/properties.json create mode 100644 packages/Scamper.package/HtmlDocumentMorph.class/README.md create mode 100644 packages/Scamper.package/HtmlDocumentMorph.class/class/newFor..st create mode 100644 packages/Scamper.package/HtmlDocumentMorph.class/instance/clear.st create mode 100644 packages/Scamper.package/HtmlDocumentMorph.class/instance/document..st create mode 100644 packages/Scamper.package/HtmlDocumentMorph.class/instance/document.st create mode 100644 packages/Scamper.package/HtmlDocumentMorph.class/instance/render.st create mode 100644 packages/Scamper.package/HtmlDocumentMorph.class/instance/renderDocument..st create mode 100644 packages/Scamper.package/HtmlDocumentMorph.class/methodProperties.json create mode 100644 packages/Scamper.package/HtmlDocumentMorph.class/properties.json create mode 100644 packages/Scamper.package/HtmlInlineMorph.class/README.md create mode 100644 packages/Scamper.package/HtmlInlineMorph.class/instance/incompleteMorphs..st create mode 100644 packages/Scamper.package/HtmlInlineMorph.class/instance/incompleteMorphs.st create mode 100644 packages/Scamper.package/HtmlInlineMorph.class/instance/initialize.st create mode 100644 packages/Scamper.package/HtmlInlineMorph.class/instance/nodes..st create mode 100644 packages/Scamper.package/HtmlInlineMorph.class/instance/nodes.st create mode 100644 packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json create mode 100644 packages/Scamper.package/HtmlInlineMorph.class/properties.json create mode 100644 packages/Scamper.package/WebPageMorph.class/class/on..st delete mode 100644 packages/Scamper.package/WebPageMorph.class/class/on.bg.text.readSelection.menu..st create mode 100644 packages/Scamper.package/WebPageMorph.class/instance/document..st create mode 100644 packages/Scamper.package/WebPageMorph.class/instance/document.st create mode 100644 packages/Scamper.package/WebPageMorph.class/instance/documentMorph..st create mode 100644 packages/Scamper.package/WebPageMorph.class/instance/documentMorph.st delete mode 100644 packages/Scamper.package/WebPageMorph.class/instance/drawImage..st delete mode 100644 packages/Scamper.package/WebPageMorph.class/instance/drawOn..st delete mode 100644 packages/Scamper.package/WebPageMorph.class/instance/getBg.st delete mode 100644 packages/Scamper.package/WebPageMorph.class/instance/isImage..st delete mode 100644 packages/Scamper.package/WebPageMorph.class/instance/on.bg.text.readSelection.menu..st create mode 100644 packages/Scamper.package/WebPageMorph.class/instance/scamper..st create mode 100644 packages/Scamper.package/WebPageMorph.class/instance/scamper.st delete mode 100644 packages/Scamper.package/WebPageMorph.class/instance/setText..st create mode 100644 packages/Scamper.package/WebPageMorph.class/instance/show..st rename packages/Scamper.package/{Scamper.class => WebPageMorph.class}/instance/startDownloadingMorphState..st (63%) delete mode 100644 packages/Scamper.package/WebPageMorph.class/instance/update..st create mode 100644 packages/Scamper.package/monticello.meta/version.d/Scamper-SN.2_62d20799-fbf3-a449-b821-5187491f163b diff --git a/packages/HTML.package/HtmlDOMNode.class/instance/addToHtmlMorph..st b/packages/HTML.package/HtmlDOMNode.class/instance/addToHtmlMorph..st new file mode 100644 index 00000000..fb213d4c --- /dev/null +++ b/packages/HTML.package/HtmlDOMNode.class/instance/addToHtmlMorph..st @@ -0,0 +1,15 @@ +as yet unclassified +addToHtmlMorph: aHtmlBlockMorph + | inlineNodes | + + inlineNodes := OrderedCollection new. + htmlMorph := HtmlBlockMorph newFor: self. + + self children do: [ :child | child isInline + ifTrue: [ inlineNodes add: child ] + ifFalse: [ self flushInlineNodes: inlineNodes to: htmlMorph; + flushBlockNode: child to: htmlMorph] + ]. + self flushInlineNodes: inlineNodes to: htmlMorph. + + aHtmlBlockMorph addChild: htmlMorph. \ No newline at end of file diff --git a/packages/HTML.package/HtmlDOMNode.class/instance/flushBlockNode.to..st b/packages/HTML.package/HtmlDOMNode.class/instance/flushBlockNode.to..st new file mode 100644 index 00000000..f6e7261b --- /dev/null +++ b/packages/HTML.package/HtmlDOMNode.class/instance/flushBlockNode.to..st @@ -0,0 +1,3 @@ +as yet unclassified +flushBlockNode: blockNode to: aHtmlMorph + blockNode addToHtmlMorph: aHtmlMorph. \ No newline at end of file diff --git a/packages/HTML.package/HtmlDOMNode.class/instance/flushInlineNodes.to..st b/packages/HTML.package/HtmlDOMNode.class/instance/flushInlineNodes.to..st new file mode 100644 index 00000000..5862eb34 --- /dev/null +++ b/packages/HTML.package/HtmlDOMNode.class/instance/flushInlineNodes.to..st @@ -0,0 +1,9 @@ +as yet unclassified +flushInlineNodes: inlineNodes to: aHtmlBlockMorph + | formatter htmlInlineMorph | + inlineNodes ifNotEmpty: [ + formatter := HtmlFormatter preferredFormatterClass new. + inlineNodes do: [ :node | node addToFormatter: formatter. ]. + htmlInlineMorph := formatter htmlInlineMorph. + htmlInlineMorph nodes: inlineNodes. + aHtmlBlockMorph addChild: htmlInlineMorph ] \ No newline at end of file diff --git a/packages/HTML.package/HtmlDOMNode.class/instance/isInline.st b/packages/HTML.package/HtmlDOMNode.class/instance/isInline.st new file mode 100644 index 00000000..209a54fb --- /dev/null +++ b/packages/HTML.package/HtmlDOMNode.class/instance/isInline.st @@ -0,0 +1,3 @@ +as yet unclassified +isInline + ^true. \ No newline at end of file diff --git a/packages/HTML.package/HtmlDOMNode.class/methodProperties.json b/packages/HTML.package/HtmlDOMNode.class/methodProperties.json index a96d05ce..23c126f0 100644 --- a/packages/HTML.package/HtmlDOMNode.class/methodProperties.json +++ b/packages/HTML.package/HtmlDOMNode.class/methodProperties.json @@ -6,6 +6,7 @@ "instance" : { "addStyle:" : "j.c 6/14/2007 12:24", "addToFormatter:" : "rs 5/18/2014 15:33:20.542", + "addToHtmlMorph:" : "SN 5/25/2014 15:40", "attributes" : "tb 11/30/2005 12:26", "attributes:" : "tb 7/12/2007 11:04", "childDTDTags" : "tb 12/1/2005 09:11", @@ -21,6 +22,8 @@ "endStyles:" : "rs 5/18/2014 15:33:59.432", "endTagMissing" : "tb 12/5/2005 12:02", "endTagMissing:" : "sebastian.sastre 9/20/2010 11:53", + "flushBlockNode:to:" : "SN 5/25/2014 15:38", + "flushInlineNodes:to:" : "SN 5/25/2014 15:40", "hasTrailingSlash" : "tb 1/3/2006 17:29", "hasTrailingSlash:" : "sebastian.sastre 9/20/2010 11:53", "id" : "tb 7/12/2007 11:07", @@ -30,6 +33,7 @@ "isDocument" : "tb 12/2/2005 12:26", "isImplied" : "tb 11/30/2005 12:21", "isImplied:" : "tb 11/30/2005 12:21", + "isInline" : "SN 5/25/2014 14:32", "isSelfContained" : "tb 12/2/2005 09:34", "isStyleSheet" : "tb 12/17/2005 22:26", "loader" : "tb 1/8/2006 10:03", diff --git a/packages/HTML.package/HtmlDOMNode.class/properties.json b/packages/HTML.package/HtmlDOMNode.class/properties.json index eb33183a..df67eb5c 100644 --- a/packages/HTML.package/HtmlDOMNode.class/properties.json +++ b/packages/HTML.package/HtmlDOMNode.class/properties.json @@ -15,7 +15,8 @@ "endTagMissing", "styles", "id", - "classes" ], + "classes", + "htmlMorph" ], "name" : "HtmlDOMNode", "pools" : [ ], diff --git a/packages/HTML.package/HtmlFormatter.class/instance/htmlInlineMorph.st b/packages/HTML.package/HtmlFormatter.class/instance/htmlInlineMorph.st new file mode 100644 index 00000000..6dfc7652 --- /dev/null +++ b/packages/HTML.package/HtmlFormatter.class/instance/htmlInlineMorph.st @@ -0,0 +1,8 @@ +formatting +htmlInlineMorph + | text htmlInlineMorph | + text := outputStream contents. + htmlInlineMorph := HtmlInlineMorph new contents: text. + morphsToEmbed do:[ :m | htmlInlineMorph addMorph: m ]. + htmlInlineMorph incompleteMorphs: self incompleteMorphs. + ^htmlInlineMorph \ No newline at end of file diff --git a/packages/HTML.package/HtmlFormatter.class/methodProperties.json b/packages/HTML.package/HtmlFormatter.class/methodProperties.json index e6bbcbae..c80181fb 100644 --- a/packages/HTML.package/HtmlFormatter.class/methodProperties.json +++ b/packages/HTML.package/HtmlFormatter.class/methodProperties.json @@ -32,6 +32,7 @@ "ensureNewlines:" : "ls 6/25/1998 17:21", "ensureSpaces:" : "ls 8/16/1998 11:34", "hr" : "LaurentLaffont 2/26/2010 23:13", + "htmlInlineMorph" : "SN 5/25/2014 15:34", "imageMapNamed:" : "bolot 11/4/1999 00:37", "incompleteMorphs" : "ls 9/5/1998 18:08", "increaseBold" : "LaurentLaffont 2/26/2010 23:13", diff --git a/packages/HTML.package/HtmlIMGNode.class/instance/addToFormatter..st b/packages/HTML.package/HtmlIMGNode.class/instance/addToFormatter..st index 6f318778..54a00a5b 100644 --- a/packages/HTML.package/HtmlIMGNode.class/instance/addToFormatter..st +++ b/packages/HTML.package/HtmlIMGNode.class/instance/addToFormatter..st @@ -3,10 +3,7 @@ addToFormatter: formatter | morph url | self src isNil ifTrue: [ ^self ]. url := self src. - formatter baseUrl ifNotNil: [ - url := url asUrlRelativeTo: formatter baseUrl asUrl]. - - + url := url asUrlRelativeTo: self document url asUrl. morph := DownloadingImageMorph new. morph defaultExtent: self imageExtent. morph altText: self alt. diff --git a/packages/HTML.package/HtmlIMGNode.class/methodProperties.json b/packages/HTML.package/HtmlIMGNode.class/methodProperties.json index ea652147..ad9ffd8c 100644 --- a/packages/HTML.package/HtmlIMGNode.class/methodProperties.json +++ b/packages/HTML.package/HtmlIMGNode.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { }, "instance" : { - "addToFormatter:" : "pf 5/18/2014 13:53", + "addToFormatter:" : "SN 5/25/2014 15:55", "alt" : "pf 5/18/2014 13:54", "imageExtent" : "pf 5/18/2014 13:52", "src" : "pf 5/18/2014 13:53", diff --git a/packages/HTML.package/monticello.meta/version b/packages/HTML.package/monticello.meta/version index 9e50c876..56e63699 100644 --- a/packages/HTML.package/monticello.meta/version +++ b/packages/HTML.package/monticello.meta/version @@ -1 +1 @@ -73fd8de8-4803-2148-a226-16833fb14a26 \ No newline at end of file +83655281-8e0a-4f4d-a2da-b8e801b9707a \ No newline at end of file diff --git a/packages/HTML.package/monticello.meta/version.d/HTML-SN.65_83655281-8e0a-4f4d-a2da-b8e801b9707a b/packages/HTML.package/monticello.meta/version.d/HTML-SN.65_83655281-8e0a-4f4d-a2da-b8e801b9707a new file mode 100644 index 00000000..0565ee2a --- /dev/null +++ b/packages/HTML.package/monticello.meta/version.d/HTML-SN.65_83655281-8e0a-4f4d-a2da-b8e801b9707a @@ -0,0 +1 @@ +(name 'HTML-SN.65' message 'Add basic structure for new rendering pipeline.' id '83655281-8e0a-4f4d-a2da-b8e801b9707a' date '25 May 2014' time '3:58:27.101 pm' author 'SN' ancestors ((id '73fd8de8-4803-2148-a226-16833fb14a26')) stepChildren ()) \ No newline at end of file diff --git a/packages/HTML.package/monticello.meta/version.d/HTML-rs.62_490d92c9-c11c-4246-9fdd-18681b5bd6d8 b/packages/HTML.package/monticello.meta/version.d/HTML-rs.62_490d92c9-c11c-4246-9fdd-18681b5bd6d8 deleted file mode 100644 index bacd7744..00000000 --- a/packages/HTML.package/monticello.meta/version.d/HTML-rs.62_490d92c9-c11c-4246-9fdd-18681b5bd6d8 +++ /dev/null @@ -1 +0,0 @@ -(name 'HTML-rs.62' message 'Setup css processing, handle font-style: italic' id '490d92c9-c11c-4246-9fdd-18681b5bd6d8' date '18 May 2014' time '3:38:03.361 pm' author 'rs' ancestors ((id '1d7ba9a9-8620-9d42-9f5d-41ab1a195e0a')) stepChildren ()) \ No newline at end of file diff --git a/packages/HTML.package/monticello.meta/version.d/HTML-rs.63_1ff7030b-6f35-4796-8a66-16bfab0e08b2 b/packages/HTML.package/monticello.meta/version.d/HTML-rs.63_1ff7030b-6f35-4796-8a66-16bfab0e08b2 deleted file mode 100644 index 473e435b..00000000 --- a/packages/HTML.package/monticello.meta/version.d/HTML-rs.63_1ff7030b-6f35-4796-8a66-16bfab0e08b2 +++ /dev/null @@ -1 +0,0 @@ -(name 'HTML-rs.63' message 'Add font-weight: bold support' id '1ff7030b-6f35-4796-8a66-16bfab0e08b2' date '18 May 2014' time '4:27:15.053 pm' author 'rs' ancestors ((id '490d92c9-c11c-4246-9fdd-18681b5bd6d8')) stepChildren ()) \ No newline at end of file diff --git a/packages/HTML.package/monticello.meta/version.d/HTML-rs.64_1683b020-3fe3-49fa-af0a-4cd62d18fc2f b/packages/HTML.package/monticello.meta/version.d/HTML-rs.64_1683b020-3fe3-49fa-af0a-4cd62d18fc2f deleted file mode 100644 index 3e5879ca..00000000 --- a/packages/HTML.package/monticello.meta/version.d/HTML-rs.64_1683b020-3fe3-49fa-af0a-4cd62d18fc2f +++ /dev/null @@ -1 +0,0 @@ -(name 'HTML-rs.64' message 'Tests and Refactoring' id '1683b020-3fe3-49fa-af0a-4cd62d18fc2f' date '19 May 2014' time '10:14:39.49 pm' author 'rs' ancestors ((id '1ff7030b-6f35-4796-8a66-16bfab0e08b2')) stepChildren ()) \ No newline at end of file diff --git a/packages/HTML.package/monticello.meta/version.d/HTML-rs.65_9af0226a-b83f-42c9-9b7d-004fc21eb8e2 b/packages/HTML.package/monticello.meta/version.d/HTML-rs.65_9af0226a-b83f-42c9-9b7d-004fc21eb8e2 deleted file mode 100644 index 1d220690..00000000 --- a/packages/HTML.package/monticello.meta/version.d/HTML-rs.65_9af0226a-b83f-42c9-9b7d-004fc21eb8e2 +++ /dev/null @@ -1 +0,0 @@ -(name 'HTML-rs.65' message 'empty log message' id '9af0226a-b83f-42c9-9b7d-004fc21eb8e2' date '20 May 2014' time '12:09:26.02 am' author 'rs' ancestors ((id '1683b020-3fe3-49fa-af0a-4cd62d18fc2f')) stepChildren ()) \ No newline at end of file diff --git a/packages/HTML.package/monticello.meta/version.d/HTML-rs.66_450d8b9a-7893-4b88-a37b-4c14f026976b b/packages/HTML.package/monticello.meta/version.d/HTML-rs.66_450d8b9a-7893-4b88-a37b-4c14f026976b deleted file mode 100644 index 91c80c07..00000000 --- a/packages/HTML.package/monticello.meta/version.d/HTML-rs.66_450d8b9a-7893-4b88-a37b-4c14f026976b +++ /dev/null @@ -1 +0,0 @@ -(name 'HTML-rs.66' message 'Fix DHtmlFormatter test' id '450d8b9a-7893-4b88-a37b-4c14f026976b' date '20 May 2014' time '12:13:51.278 am' author 'rs' ancestors ((id '9af0226a-b83f-42c9-9b7d-004fc21eb8e2')) stepChildren ()) \ No newline at end of file diff --git a/packages/HTML.package/monticello.meta/version.d/HTML-rs.67_89d4deb0-f0c3-47c1-855e-a3591c752c28 b/packages/HTML.package/monticello.meta/version.d/HTML-rs.67_89d4deb0-f0c3-47c1-855e-a3591c752c28 deleted file mode 100644 index ea20a9ac..00000000 --- a/packages/HTML.package/monticello.meta/version.d/HTML-rs.67_89d4deb0-f0c3-47c1-855e-a3591c752c28 +++ /dev/null @@ -1 +0,0 @@ -(name 'HTML-rs.67' message 'Improve parsing, add font-size and tests, refactor' id '89d4deb0-f0c3-47c1-855e-a3591c752c28' date '21 May 2014' time '4:25:14.799 pm' author 'rs' ancestors ((id '450d8b9a-7893-4b88-a37b-4c14f026976b')) stepChildren ()) \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/README.md b/packages/Scamper.package/HtmlBlockMorph.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/packages/Scamper.package/HtmlBlockMorph.class/class/newFor..st b/packages/Scamper.package/HtmlBlockMorph.class/class/newFor..st new file mode 100644 index 00000000..5289750f --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/class/newFor..st @@ -0,0 +1,5 @@ +as yet unclassified +newFor: aHtmlNode + ^self new + node: aHtmlNode; + yourself. \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/addChild..st b/packages/Scamper.package/HtmlBlockMorph.class/instance/addChild..st new file mode 100644 index 00000000..fe286505 --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/addChild..st @@ -0,0 +1,4 @@ +accessing +addChild: aHtmlMorph + self addMorph: aHtmlMorph. + self children add: aHtmlMorph. \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/children..st b/packages/Scamper.package/HtmlBlockMorph.class/instance/children..st new file mode 100644 index 00000000..570da532 --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/children..st @@ -0,0 +1,4 @@ +accessing +children: anObject + + children := anObject \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/children.st b/packages/Scamper.package/HtmlBlockMorph.class/instance/children.st new file mode 100644 index 00000000..a4017eb2 --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/children.st @@ -0,0 +1,4 @@ +accessing +children + + ^ children \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/defaultColor.st b/packages/Scamper.package/HtmlBlockMorph.class/instance/defaultColor.st new file mode 100644 index 00000000..64c14423 --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/defaultColor.st @@ -0,0 +1,3 @@ +accessing +defaultColor + ^Color transparent \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/incompleteMorphs.st b/packages/Scamper.package/HtmlBlockMorph.class/instance/incompleteMorphs.st new file mode 100644 index 00000000..7c052bd9 --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/incompleteMorphs.st @@ -0,0 +1,6 @@ +accessing +incompleteMorphs + | incompleteMorphs | + incompleteMorphs := OrderedCollection new. + self children do: [:child | incompleteMorphs addAll: child incompleteMorphs ]. + ^incompleteMorphs. \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/initialize.st b/packages/Scamper.package/HtmlBlockMorph.class/instance/initialize.st new file mode 100644 index 00000000..b0af2372 --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/initialize.st @@ -0,0 +1,4 @@ +initialization +initialize + super initialize. + children := OrderedCollection new. \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/node..st b/packages/Scamper.package/HtmlBlockMorph.class/instance/node..st new file mode 100644 index 00000000..1f4b5e03 --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/node..st @@ -0,0 +1,4 @@ +accessing +node: anObject + + node := anObject \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/node.st b/packages/Scamper.package/HtmlBlockMorph.class/instance/node.st new file mode 100644 index 00000000..c765b4be --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/node.st @@ -0,0 +1,4 @@ +accessing +node + + ^ node \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json b/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json new file mode 100644 index 00000000..42c2fd4e --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json @@ -0,0 +1,12 @@ +{ + "class" : { + "newFor:" : "SN 5/25/2014 14:54" }, + "instance" : { + "addChild:" : "SN 5/25/2014 15:40", + "children" : "SN 5/25/2014 15:35", + "children:" : "SN 5/25/2014 15:35", + "defaultColor" : "SN 5/25/2014 15:22", + "incompleteMorphs" : "SN 5/25/2014 15:32", + "initialize" : "SN 5/25/2014 15:33", + "node" : "SN 5/25/2014 14:50", + "node:" : "SN 5/25/2014 14:50" } } diff --git a/packages/Scamper.package/HtmlBlockMorph.class/properties.json b/packages/Scamper.package/HtmlBlockMorph.class/properties.json new file mode 100644 index 00000000..e8504ff6 --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/properties.json @@ -0,0 +1,15 @@ +{ + "category" : "Scamper-HTML-Morphs", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "node", + "children" ], + "name" : "HtmlBlockMorph", + "pools" : [ + ], + "super" : "Morph", + "type" : "normal" } diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/README.md b/packages/Scamper.package/HtmlDocumentMorph.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/class/newFor..st b/packages/Scamper.package/HtmlDocumentMorph.class/class/newFor..st new file mode 100644 index 00000000..db4cc7b2 --- /dev/null +++ b/packages/Scamper.package/HtmlDocumentMorph.class/class/newFor..st @@ -0,0 +1,5 @@ +instance creation +newFor: aHtmlDocument + ^self new + renderDocument: aHtmlDocument; + yourself. \ No newline at end of file diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/instance/clear.st b/packages/Scamper.package/HtmlDocumentMorph.class/instance/clear.st new file mode 100644 index 00000000..56cd80d7 --- /dev/null +++ b/packages/Scamper.package/HtmlDocumentMorph.class/instance/clear.st @@ -0,0 +1,3 @@ +rendering +clear + self removeAllMorphs. \ No newline at end of file diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/instance/document..st b/packages/Scamper.package/HtmlDocumentMorph.class/instance/document..st new file mode 100644 index 00000000..67af5459 --- /dev/null +++ b/packages/Scamper.package/HtmlDocumentMorph.class/instance/document..st @@ -0,0 +1,4 @@ +accessing +document: aHtmlDocument + + self node: aHtmlDocument \ No newline at end of file diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/instance/document.st b/packages/Scamper.package/HtmlDocumentMorph.class/instance/document.st new file mode 100644 index 00000000..57406cf3 --- /dev/null +++ b/packages/Scamper.package/HtmlDocumentMorph.class/instance/document.st @@ -0,0 +1,4 @@ +accessing +document + + ^ self node. \ No newline at end of file diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/instance/render.st b/packages/Scamper.package/HtmlDocumentMorph.class/instance/render.st new file mode 100644 index 00000000..646e5f8a --- /dev/null +++ b/packages/Scamper.package/HtmlDocumentMorph.class/instance/render.st @@ -0,0 +1,3 @@ +rendering +render + self document addToHtmlMorph: self. \ No newline at end of file diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/instance/renderDocument..st b/packages/Scamper.package/HtmlDocumentMorph.class/instance/renderDocument..st new file mode 100644 index 00000000..301fcd77 --- /dev/null +++ b/packages/Scamper.package/HtmlDocumentMorph.class/instance/renderDocument..st @@ -0,0 +1,5 @@ +rendering +renderDocument: aHtmlDocument + self clear. + self document: aHtmlDocument. + self render. \ No newline at end of file diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/methodProperties.json b/packages/Scamper.package/HtmlDocumentMorph.class/methodProperties.json new file mode 100644 index 00000000..0e54220d --- /dev/null +++ b/packages/Scamper.package/HtmlDocumentMorph.class/methodProperties.json @@ -0,0 +1,9 @@ +{ + "class" : { + "newFor:" : "SN 5/25/2014 14:08" }, + "instance" : { + "clear" : "SN 5/25/2014 14:28", + "document" : "SN 5/25/2014 14:50", + "document:" : "SN 5/25/2014 14:50", + "render" : "SN 5/25/2014 14:15", + "renderDocument:" : "SN 5/25/2014 14:14" } } diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/properties.json b/packages/Scamper.package/HtmlDocumentMorph.class/properties.json new file mode 100644 index 00000000..76c04cdf --- /dev/null +++ b/packages/Scamper.package/HtmlDocumentMorph.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "Scamper-HTML-Morphs", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "HtmlDocumentMorph", + "pools" : [ + ], + "super" : "HtmlBlockMorph", + "type" : "normal" } diff --git a/packages/Scamper.package/HtmlInlineMorph.class/README.md b/packages/Scamper.package/HtmlInlineMorph.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/packages/Scamper.package/HtmlInlineMorph.class/instance/incompleteMorphs..st b/packages/Scamper.package/HtmlInlineMorph.class/instance/incompleteMorphs..st new file mode 100644 index 00000000..8ad18ee3 --- /dev/null +++ b/packages/Scamper.package/HtmlInlineMorph.class/instance/incompleteMorphs..st @@ -0,0 +1,4 @@ +accessing +incompleteMorphs: anObject + + incompleteMorphs := anObject \ No newline at end of file diff --git a/packages/Scamper.package/HtmlInlineMorph.class/instance/incompleteMorphs.st b/packages/Scamper.package/HtmlInlineMorph.class/instance/incompleteMorphs.st new file mode 100644 index 00000000..5d5e96c9 --- /dev/null +++ b/packages/Scamper.package/HtmlInlineMorph.class/instance/incompleteMorphs.st @@ -0,0 +1,4 @@ +accessing +incompleteMorphs + + ^ incompleteMorphs \ No newline at end of file diff --git a/packages/Scamper.package/HtmlInlineMorph.class/instance/initialize.st b/packages/Scamper.package/HtmlInlineMorph.class/instance/initialize.st new file mode 100644 index 00000000..1ce51c22 --- /dev/null +++ b/packages/Scamper.package/HtmlInlineMorph.class/instance/initialize.st @@ -0,0 +1,4 @@ +initialization +initialize + super initialize. + self nodes: OrderedCollection new. \ No newline at end of file diff --git a/packages/Scamper.package/HtmlInlineMorph.class/instance/nodes..st b/packages/Scamper.package/HtmlInlineMorph.class/instance/nodes..st new file mode 100644 index 00000000..267657d3 --- /dev/null +++ b/packages/Scamper.package/HtmlInlineMorph.class/instance/nodes..st @@ -0,0 +1,4 @@ +accessing +nodes: anObject + + nodes := anObject \ No newline at end of file diff --git a/packages/Scamper.package/HtmlInlineMorph.class/instance/nodes.st b/packages/Scamper.package/HtmlInlineMorph.class/instance/nodes.st new file mode 100644 index 00000000..7b370acd --- /dev/null +++ b/packages/Scamper.package/HtmlInlineMorph.class/instance/nodes.st @@ -0,0 +1,4 @@ +accessing +nodes + + ^ nodes \ No newline at end of file diff --git a/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json b/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json new file mode 100644 index 00000000..1e4e2115 --- /dev/null +++ b/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json @@ -0,0 +1,9 @@ +{ + "class" : { + }, + "instance" : { + "incompleteMorphs" : "SN 5/25/2014 15:34", + "incompleteMorphs:" : "SN 5/25/2014 15:34", + "initialize" : "SN 5/25/2014 15:10", + "nodes" : "SN 5/25/2014 14:49", + "nodes:" : "SN 5/25/2014 14:49" } } diff --git a/packages/Scamper.package/HtmlInlineMorph.class/properties.json b/packages/Scamper.package/HtmlInlineMorph.class/properties.json new file mode 100644 index 00000000..3477c746 --- /dev/null +++ b/packages/Scamper.package/HtmlInlineMorph.class/properties.json @@ -0,0 +1,15 @@ +{ + "category" : "Scamper-HTML-Morphs", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "nodes", + "incompleteMorphs" ], + "name" : "HtmlInlineMorph", + "pools" : [ + ], + "super" : "TextMorph", + "type" : "normal" } diff --git a/packages/Scamper.package/Scamper.class/instance/backgroundColor.st b/packages/Scamper.package/Scamper.class/instance/backgroundColor.st index 1254e948..34608161 100644 --- a/packages/Scamper.package/Scamper.class/instance/backgroundColor.st +++ b/packages/Scamper.package/Scamper.class/instance/backgroundColor.st @@ -1,4 +1,3 @@ access backgroundColor - ^backgroundColor ifNil: - [self defaultBackgroundColor] \ No newline at end of file + ^self defaultBackgroundColor \ No newline at end of file diff --git a/packages/Scamper.package/Scamper.class/instance/displayTextHtmlPage..st b/packages/Scamper.package/Scamper.class/instance/displayTextHtmlPage..st index 257dc2f4..21fb4bad 100644 --- a/packages/Scamper.package/Scamper.class/instance/displayTextHtmlPage..st +++ b/packages/Scamper.package/Scamper.class/instance/displayTextHtmlPage..st @@ -1,29 +1,17 @@ document handling displayTextHtmlPage: newSource "HTML page--format it" - | formatter | currentUrl := newSource url. pageSource := newSource content. self status: 'parsing...' translated. document := (HtmlDocument new parseContents: (ReadStream on: pageSource)). - self status: 'laying out...' translated. + document requestUrl: currentUrl; + responseUrl: currentUrl. + self status: 'appling styles...' translated. document applyStyles. - formatter := HtmlFormatter preferredFormatterClass new. - formatter browser: self. - formatter baseUrl: currentUrl. - document addToFormatter: formatter. - - formattedPage := formatter text. - - currentUrl asUrl fragment - ifNil: [ currentAnchorLocation := nil ] - ifNotNil: [ currentAnchorLocation := - formatter anchorLocations - at: currentUrl asUrl fragment asLowercase - ifAbsent: [ nil ] ]. - - self startDownloadingMorphState: (formatter incompleteMorphs). + self status: 'laying out...' translated. + self webContentsPane show: document. - self changeAll: #(currentUrl relabel hasLint lint backgroundColor formattedPage formattedPageSelection). + self changeAll: #(currentUrl relabel). self status: 'done.' translated. ^true \ No newline at end of file diff --git a/packages/Scamper.package/Scamper.class/instance/webContentsPane.st b/packages/Scamper.package/Scamper.class/instance/webContentsPane.st index b03f2a9a..edaaa3f9 100644 --- a/packages/Scamper.package/Scamper.class/instance/webContentsPane.st +++ b/packages/Scamper.package/Scamper.class/instance/webContentsPane.st @@ -1,10 +1,5 @@ window definition webContentsPane - "Create and return the web page pane." + "Return the web page pane." - ^WebPageMorph - on: self - bg: #backgroundColor - text: #formattedPage - readSelection: #formattedPageSelection - menu: #menu:shifted: \ No newline at end of file + ^webPageMorph ifNil: [webPageMorph := WebPageMorph on: self.] \ No newline at end of file diff --git a/packages/Scamper.package/Scamper.class/methodProperties.json b/packages/Scamper.package/Scamper.class/methodProperties.json index fffaec8a..43a23a75 100644 --- a/packages/Scamper.package/Scamper.class/methodProperties.json +++ b/packages/Scamper.package/Scamper.class/methodProperties.json @@ -23,7 +23,7 @@ "addToBookmark" : "LaurentLaffont 2/26/2010 23:08", "back" : "LaurentLaffont 2/26/2010 23:10", "backButtonText" : "dgd 10/28/2003 13:20", - "backgroundColor" : "bolot 2/27/2000 20:59", + "backgroundColor" : "SN 5/25/2014 15:20", "bookmark" : "LaurentLaffont 2/26/2010 23:08", "bookmark:" : "AK 6/19/2000 15:39", "bookmarkButtonText" : "kfr 8/22/2005 19:42", @@ -38,7 +38,7 @@ "displayHistory" : "LaurentLaffont 2/26/2010 23:08", "displayImagePage:" : "LaurentLaffont 2/26/2010 23:08", "displayPlainTextPage:" : "LaurentLaffont 2/26/2010 23:08", - "displayTextHtmlPage:" : "rs 5/18/2014 12:54:58.778", + "displayTextHtmlPage:" : "SN 5/25/2014 15:52", "doItContext" : "ls 9/14/1998 20:15", "doItReceiver" : "ls 9/14/1998 20:15", "document" : "ls 7/14/1998 02:47", @@ -75,7 +75,6 @@ "reloadButtonText" : "dgd 10/28/2003 13:20", "showLint" : "ls 7/29/1998 00:07", "simpleButtonNamed:action:text:" : "ccn 6/28/2000 20:53", - "startDownloadingMorphState:" : "LaurentLaffont 2/26/2010 23:08", "startDownloadingStateIn:url:" : "LaurentLaffont 2/26/2010 23:08", "startPage" : "LaurentLaffont 2/26/2010 23:08", "startPage:" : "LaurentLaffont 2/26/2010 23:08", @@ -93,5 +92,5 @@ "viewSource" : "dgd 10/28/2003 13:46", "visitStartPage" : "ls 8/12/1998 02:01", "wantsSteps" : "di 1/14/1999 09:00", - "webContentsPane" : "ccn 6/28/2000 21:00", + "webContentsPane" : "SN 5/25/2014 14:27", "workerCount" : "js 5/6/2014 15:57" } } diff --git a/packages/Scamper.package/Scamper.class/properties.json b/packages/Scamper.package/Scamper.class/properties.json index 5177b2f8..b8fa02b9 100644 --- a/packages/Scamper.package/Scamper.class/properties.json +++ b/packages/Scamper.package/Scamper.class/properties.json @@ -10,15 +10,13 @@ "currentUrl", "pageSource", "document", - "formattedPage", "downloadingProcess", "documentQueue", "recentDocuments", - "currentAnchorLocation", "currentUrlIndex", - "backgroundColor", "bookmark", - "bookDir" ], + "bookDir", + "webPageMorph" ], "name" : "Scamper", "pools" : [ ], diff --git a/packages/Scamper.package/WebPageMorph.class/class/on..st b/packages/Scamper.package/WebPageMorph.class/class/on..st new file mode 100644 index 00000000..620fab70 --- /dev/null +++ b/packages/Scamper.package/WebPageMorph.class/class/on..st @@ -0,0 +1,5 @@ +as yet unclassified +on: aScamper + ^self new + scamper: aScamper; + yourself. \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/class/on.bg.text.readSelection.menu..st b/packages/Scamper.package/WebPageMorph.class/class/on.bg.text.readSelection.menu..st deleted file mode 100644 index e2ee5567..00000000 --- a/packages/Scamper.package/WebPageMorph.class/class/on.bg.text.readSelection.menu..st +++ /dev/null @@ -1,7 +0,0 @@ -instance creation -on: model bg: getBgSel text: getTextSel readSelection: getSelectionSel menu: getMenuSel - ^self new on: model - bg: getBgSel - text: getTextSel - readSelection: getSelectionSel - menu: getMenuSel \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/document..st b/packages/Scamper.package/WebPageMorph.class/instance/document..st new file mode 100644 index 00000000..7f83347a --- /dev/null +++ b/packages/Scamper.package/WebPageMorph.class/instance/document..st @@ -0,0 +1,4 @@ +accessing +document: aHtmlDocument + + document := aHtmlDocument \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/document.st b/packages/Scamper.package/WebPageMorph.class/instance/document.st new file mode 100644 index 00000000..c1594b68 --- /dev/null +++ b/packages/Scamper.package/WebPageMorph.class/instance/document.st @@ -0,0 +1,4 @@ +accessing +document + + ^ document \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/documentMorph..st b/packages/Scamper.package/WebPageMorph.class/instance/documentMorph..st new file mode 100644 index 00000000..40bc7d4a --- /dev/null +++ b/packages/Scamper.package/WebPageMorph.class/instance/documentMorph..st @@ -0,0 +1,5 @@ +accessing +documentMorph: aHtmlDocumentMorph + self scroller removeAllMorphs. + documentMorph := aHtmlDocumentMorph. + self scroller addMorph: documentMorph. \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/documentMorph.st b/packages/Scamper.package/WebPageMorph.class/instance/documentMorph.st new file mode 100644 index 00000000..c651608b --- /dev/null +++ b/packages/Scamper.package/WebPageMorph.class/instance/documentMorph.st @@ -0,0 +1,4 @@ +accessing +documentMorph + + ^ documentMorph \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/drawImage..st b/packages/Scamper.package/WebPageMorph.class/instance/drawImage..st deleted file mode 100644 index ab4442e6..00000000 --- a/packages/Scamper.package/WebPageMorph.class/instance/drawImage..st +++ /dev/null @@ -1,12 +0,0 @@ -other -drawImage: aForm - | aImage patternBox targetBox map | - aImage := Form extent: self extent depth: Display depth. - patternBox := aForm boundingBox. - targetBox := aImage boundingBox. - map := aForm colormapIfNeededFor: aImage. - targetBox left to: targetBox right - 1 by: patternBox width do: - [:x | - targetBox top to: targetBox bottom - 1 by: patternBox height do: - [:y | aImage copyBits: patternBox from: aForm at: x @ y colorMap: map ]]. - ^aImage \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/drawOn..st b/packages/Scamper.package/WebPageMorph.class/instance/drawOn..st deleted file mode 100644 index caed5006..00000000 --- a/packages/Scamper.package/WebPageMorph.class/instance/drawOn..st +++ /dev/null @@ -1,4 +0,0 @@ -drawing -drawOn: aCanvas - super drawOn: aCanvas. - image isNil ifFalse: [aCanvas image: image at: bounds origin] \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/getBg.st b/packages/Scamper.package/WebPageMorph.class/instance/getBg.st deleted file mode 100644 index e1cc8231..00000000 --- a/packages/Scamper.package/WebPageMorph.class/instance/getBg.st +++ /dev/null @@ -1,6 +0,0 @@ -model access -getBg - "Retrieve the current model background color/image" - - getBgSelector isNil ifTrue: [^Color white]. - ^(model perform: getBgSelector) ifNil: [Color white] \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/isImage..st b/packages/Scamper.package/WebPageMorph.class/instance/isImage..st deleted file mode 100644 index 27c9e532..00000000 --- a/packages/Scamper.package/WebPageMorph.class/instance/isImage..st +++ /dev/null @@ -1,4 +0,0 @@ -other -isImage: aForm - (aForm isForm) ifFalse: [^false]. - ^true \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/layoutChanged.st b/packages/Scamper.package/WebPageMorph.class/instance/layoutChanged.st index 59fc89e5..95f00da2 100644 --- a/packages/Scamper.package/WebPageMorph.class/instance/layoutChanged.st +++ b/packages/Scamper.package/WebPageMorph.class/instance/layoutChanged.st @@ -1,7 +1,6 @@ layout layoutChanged - "Udate the image and compute new bounds" + "compute new bounds" self changed. - self update: getBgSelector. super layoutChanged. self changed. \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/on.bg.text.readSelection.menu..st b/packages/Scamper.package/WebPageMorph.class/instance/on.bg.text.readSelection.menu..st deleted file mode 100644 index 139b5881..00000000 --- a/packages/Scamper.package/WebPageMorph.class/instance/on.bg.text.readSelection.menu..st +++ /dev/null @@ -1,7 +0,0 @@ -initialization -on: aModel bg: getBgSel text: getTextSel readSelection: getSelectionSel menu: getMenuSel - - self on: aModel text: getTextSel accept: nil readSelection: getSelectionSel menu: getMenuSel. - getBgSelector := getBgSel. - - \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/scamper..st b/packages/Scamper.package/WebPageMorph.class/instance/scamper..st new file mode 100644 index 00000000..090b5539 --- /dev/null +++ b/packages/Scamper.package/WebPageMorph.class/instance/scamper..st @@ -0,0 +1,4 @@ +accessing +scamper: anObject + + scamper := anObject \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/scamper.st b/packages/Scamper.package/WebPageMorph.class/instance/scamper.st new file mode 100644 index 00000000..94d41541 --- /dev/null +++ b/packages/Scamper.package/WebPageMorph.class/instance/scamper.st @@ -0,0 +1,4 @@ +accessing +scamper + + ^ scamper \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/setText..st b/packages/Scamper.package/WebPageMorph.class/instance/setText..st deleted file mode 100644 index 262d2fe4..00000000 --- a/packages/Scamper.package/WebPageMorph.class/instance/setText..st +++ /dev/null @@ -1,4 +0,0 @@ -model access -setText: aText - super setText:aText. - textMorph wrapFlag: true. diff --git a/packages/Scamper.package/WebPageMorph.class/instance/show..st b/packages/Scamper.package/WebPageMorph.class/instance/show..st new file mode 100644 index 00000000..30284b64 --- /dev/null +++ b/packages/Scamper.package/WebPageMorph.class/instance/show..st @@ -0,0 +1,5 @@ +layout +show: aHtmlDocument + self document: aHtmlDocument; + documentMorph: (HtmlDocumentMorph newFor: aHtmlDocument); + startDownloadingMorphState: documentMorph incompleteMorphs. \ No newline at end of file diff --git a/packages/Scamper.package/Scamper.class/instance/startDownloadingMorphState..st b/packages/Scamper.package/WebPageMorph.class/instance/startDownloadingMorphState..st similarity index 63% rename from packages/Scamper.package/Scamper.class/instance/startDownloadingMorphState..st rename to packages/Scamper.package/WebPageMorph.class/instance/startDownloadingMorphState..st index b295493c..079e014f 100644 --- a/packages/Scamper.package/Scamper.class/instance/startDownloadingMorphState..st +++ b/packages/Scamper.package/WebPageMorph.class/instance/startDownloadingMorphState..st @@ -1,12 +1,12 @@ -changing page +layout startDownloadingMorphState: morphs | count | - count := self workerCount min: morphs size. + count := self scamper workerCount min: morphs size. count <= 0 ifTrue: [^self]. 1 to: count do: [:start | | worker | - worker := ScamperWorker + worker := ScamperWorker task: (morphs atAll: (start to: morphs size by: count)) - from: self. + from: self scamper. worker start] diff --git a/packages/Scamper.package/WebPageMorph.class/instance/update..st b/packages/Scamper.package/WebPageMorph.class/instance/update..st deleted file mode 100644 index e835ef82..00000000 --- a/packages/Scamper.package/WebPageMorph.class/instance/update..st +++ /dev/null @@ -1,8 +0,0 @@ -updating -update: aSymbol - - super update: aSymbol. - aSymbol == getBgSelector ifTrue: - [ (self isImage: self getBg) ifTrue:[image := self drawImage: self getBg] - ifFalse:[ image := nil. - self color: self getBg]] \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/methodProperties.json b/packages/Scamper.package/WebPageMorph.class/methodProperties.json index 87816e5c..e805c23d 100644 --- a/packages/Scamper.package/WebPageMorph.class/methodProperties.json +++ b/packages/Scamper.package/WebPageMorph.class/methodProperties.json @@ -1,12 +1,13 @@ { "class" : { - "on:bg:text:readSelection:menu:" : "AK 12/4/1999 02:50" }, + "on:" : "SN 5/25/2014 14:26" }, "instance" : { - "drawImage:" : "LaurentLaffont 2/26/2010 23:08", - "drawOn:" : "dgd 2/21/2003 23:18", - "getBg" : "dgd 2/21/2003 23:18", - "isImage:" : "gm 2/22/2003 13:11", - "layoutChanged" : "AK 12/7/1999 01:31", - "on:bg:text:readSelection:menu:" : "LaurentLaffont 2/26/2010 23:08", - "setText:" : "jmck 3/27/2010 10:28", - "update:" : "LaurentLaffont 2/26/2010 23:08" } } + "document" : "SN 5/25/2014 14:01", + "document:" : "SN 5/25/2014 14:10", + "documentMorph" : "SN 5/25/2014 14:01", + "documentMorph:" : "SN 5/25/2014 15:01", + "layoutChanged" : "SN 5/25/2014 13:56", + "scamper" : "SN 5/25/2014 14:25", + "scamper:" : "SN 5/25/2014 14:25", + "show:" : "SN 5/25/2014 15:29", + "startDownloadingMorphState:" : "SN 5/25/2014 15:41" } } diff --git a/packages/Scamper.package/WebPageMorph.class/properties.json b/packages/Scamper.package/WebPageMorph.class/properties.json index 94992143..91c7e85f 100644 --- a/packages/Scamper.package/WebPageMorph.class/properties.json +++ b/packages/Scamper.package/WebPageMorph.class/properties.json @@ -6,11 +6,11 @@ ], "commentStamp" : "", "instvars" : [ - "getBgSelector", - "asColor", - "image" ], + "scamper", + "document", + "documentMorph" ], "name" : "WebPageMorph", "pools" : [ ], - "super" : "PluggableTextMorph", + "super" : "ScrollPane", "type" : "normal" } diff --git a/packages/Scamper.package/monticello.meta/categories.st b/packages/Scamper.package/monticello.meta/categories.st index cb9a28db..d4ae7ccc 100644 --- a/packages/Scamper.package/monticello.meta/categories.st +++ b/packages/Scamper.package/monticello.meta/categories.st @@ -1,2 +1,3 @@ +SystemOrganization addCategory: #'Scamper-HTML-Morphs'! SystemOrganization addCategory: #'Scamper-Core'! SystemOrganization addCategory: #'Scamper-Tests'! diff --git a/packages/Scamper.package/monticello.meta/version b/packages/Scamper.package/monticello.meta/version index 0ebb0639..32400965 100644 --- a/packages/Scamper.package/monticello.meta/version +++ b/packages/Scamper.package/monticello.meta/version @@ -1 +1 @@ -08b04327-4862-2044-879f-09abf79a6981 \ No newline at end of file +62d20799-fbf3-a449-b821-5187491f163b \ No newline at end of file diff --git a/packages/Scamper.package/monticello.meta/version.d/Scamper-SN.2_62d20799-fbf3-a449-b821-5187491f163b b/packages/Scamper.package/monticello.meta/version.d/Scamper-SN.2_62d20799-fbf3-a449-b821-5187491f163b new file mode 100644 index 00000000..b2764e8b --- /dev/null +++ b/packages/Scamper.package/monticello.meta/version.d/Scamper-SN.2_62d20799-fbf3-a449-b821-5187491f163b @@ -0,0 +1 @@ +(name 'Scamper-SN.2' message 'Add basic structure for new rendering pipeline.' id '62d20799-fbf3-a449-b821-5187491f163b' date '25 May 2014' time '3:59:05.961 pm' author 'SN' ancestors ((id '08b04327-4862-2044-879f-09abf79a6981')) stepChildren ()) \ No newline at end of file From c9446dd1f60d0e30659690ef301f88d076fb138e Mon Sep 17 00:00:00 2001 From: Stefan Neubert Date: Sun, 25 May 2014 16:12:51 +0200 Subject: [PATCH 2/7] Fix scrollbars for new rendering pipeline #75. --- .../WebPageMorph.class/instance/resetExtent.st | 8 ++++++++ .../Scamper.package/WebPageMorph.class/instance/show..st | 3 ++- .../WebPageMorph.class/methodProperties.json | 3 ++- packages/Scamper.package/monticello.meta/version | 2 +- .../Scamper-SN.3_29a69c86-248c-b84e-84b7-7cda70273788 | 1 + 5 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 packages/Scamper.package/WebPageMorph.class/instance/resetExtent.st create mode 100644 packages/Scamper.package/monticello.meta/version.d/Scamper-SN.3_29a69c86-248c-b84e-84b7-7cda70273788 diff --git a/packages/Scamper.package/WebPageMorph.class/instance/resetExtent.st b/packages/Scamper.package/WebPageMorph.class/instance/resetExtent.st new file mode 100644 index 00000000..a6e533cb --- /dev/null +++ b/packages/Scamper.package/WebPageMorph.class/instance/resetExtent.st @@ -0,0 +1,8 @@ +layout +resetExtent + super resetExtent. + "inspired by ScrollPane>>extent:" + self resizeScrollBars; + hideOrShowScrollBars; + vSetScrollDelta; + hSetScrollDelta \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/instance/show..st b/packages/Scamper.package/WebPageMorph.class/instance/show..st index 30284b64..7f4003e0 100644 --- a/packages/Scamper.package/WebPageMorph.class/instance/show..st +++ b/packages/Scamper.package/WebPageMorph.class/instance/show..st @@ -2,4 +2,5 @@ layout show: aHtmlDocument self document: aHtmlDocument; documentMorph: (HtmlDocumentMorph newFor: aHtmlDocument); - startDownloadingMorphState: documentMorph incompleteMorphs. \ No newline at end of file + startDownloadingMorphState: documentMorph incompleteMorphs; + resetExtent. \ No newline at end of file diff --git a/packages/Scamper.package/WebPageMorph.class/methodProperties.json b/packages/Scamper.package/WebPageMorph.class/methodProperties.json index e805c23d..8d45eaec 100644 --- a/packages/Scamper.package/WebPageMorph.class/methodProperties.json +++ b/packages/Scamper.package/WebPageMorph.class/methodProperties.json @@ -7,7 +7,8 @@ "documentMorph" : "SN 5/25/2014 14:01", "documentMorph:" : "SN 5/25/2014 15:01", "layoutChanged" : "SN 5/25/2014 13:56", + "resetExtent" : "SN 5/25/2014 16:09", "scamper" : "SN 5/25/2014 14:25", "scamper:" : "SN 5/25/2014 14:25", - "show:" : "SN 5/25/2014 15:29", + "show:" : "SN 5/25/2014 16:10", "startDownloadingMorphState:" : "SN 5/25/2014 15:41" } } diff --git a/packages/Scamper.package/monticello.meta/version b/packages/Scamper.package/monticello.meta/version index 32400965..ddb4d892 100644 --- a/packages/Scamper.package/monticello.meta/version +++ b/packages/Scamper.package/monticello.meta/version @@ -1 +1 @@ -62d20799-fbf3-a449-b821-5187491f163b \ No newline at end of file +29a69c86-248c-b84e-84b7-7cda70273788 \ No newline at end of file diff --git a/packages/Scamper.package/monticello.meta/version.d/Scamper-SN.3_29a69c86-248c-b84e-84b7-7cda70273788 b/packages/Scamper.package/monticello.meta/version.d/Scamper-SN.3_29a69c86-248c-b84e-84b7-7cda70273788 new file mode 100644 index 00000000..1d031bea --- /dev/null +++ b/packages/Scamper.package/monticello.meta/version.d/Scamper-SN.3_29a69c86-248c-b84e-84b7-7cda70273788 @@ -0,0 +1 @@ +(name 'Scamper-SN.3' message 'Fix Scrollbars.' id '29a69c86-248c-b84e-84b7-7cda70273788' date '25 May 2014' time '4:11:34.333 pm' author 'SN' ancestors ((id '62d20799-fbf3-a449-b821-5187491f163b')) stepChildren ()) \ No newline at end of file From 286e828119cc48e51367ec4905e07d7f2321b501 Mon Sep 17 00:00:00 2001 From: Robert Schmid Date: Wed, 28 May 2014 17:06:54 +0200 Subject: [PATCH 3/7] Make divs render as HTMLBlockMorphs --- .../HTML.package/HtmlDIVNode.class/instance/isInline.st | 3 +++ .../HTML.package/HtmlDIVNode.class/methodProperties.json | 1 + .../HtmlDOMNode.class/instance/addToHtmlMorph..st | 2 +- .../HtmlDOMNode.class/instance/flushInlineNodes.to..st | 7 ++++--- .../HTML.package/HtmlDOMNode.class/instance/isInline.st | 3 ++- .../HTML.package/HtmlDOMNode.class/methodProperties.json | 6 +++--- packages/HTML.package/HtmlDOMNode.class/properties.json | 3 ++- packages/HTML.package/monticello.meta/version | 2 +- .../HTML-rs.66_d0b54045-26b1-4a1b-844a-76a06b51eeff | 1 + .../HtmlBlockMorph.class/instance/addChild..st | 4 ++-- .../HtmlBlockMorph.class/instance/initialize.st | 9 ++++++++- .../HtmlBlockMorph.class/methodProperties.json | 4 ++-- .../HtmlInlineMorph.class/methodProperties.json | 2 +- packages/Scamper.package/monticello.meta/version | 2 +- .../Scamper-rs.4_fd2e5658-0733-4f23-9eb6-91d3279aa311 | 1 + 15 files changed, 33 insertions(+), 17 deletions(-) create mode 100644 packages/HTML.package/HtmlDIVNode.class/instance/isInline.st create mode 100644 packages/HTML.package/monticello.meta/version.d/HTML-rs.66_d0b54045-26b1-4a1b-844a-76a06b51eeff create mode 100644 packages/Scamper.package/monticello.meta/version.d/Scamper-rs.4_fd2e5658-0733-4f23-9eb6-91d3279aa311 diff --git a/packages/HTML.package/HtmlDIVNode.class/instance/isInline.st b/packages/HTML.package/HtmlDIVNode.class/instance/isInline.st new file mode 100644 index 00000000..9e9707e1 --- /dev/null +++ b/packages/HTML.package/HtmlDIVNode.class/instance/isInline.st @@ -0,0 +1,3 @@ +as yet unclassified +isInline + ^ false \ No newline at end of file diff --git a/packages/HTML.package/HtmlDIVNode.class/methodProperties.json b/packages/HTML.package/HtmlDIVNode.class/methodProperties.json index 88d7363f..7ceac5aa 100644 --- a/packages/HTML.package/HtmlDIVNode.class/methodProperties.json +++ b/packages/HTML.package/HtmlDIVNode.class/methodProperties.json @@ -2,4 +2,5 @@ "class" : { }, "instance" : { + "isInline" : "rs 5/28/2014 12:28:24.18", "tag" : "" } } diff --git a/packages/HTML.package/HtmlDOMNode.class/instance/addToHtmlMorph..st b/packages/HTML.package/HtmlDOMNode.class/instance/addToHtmlMorph..st index fb213d4c..e601f14f 100644 --- a/packages/HTML.package/HtmlDOMNode.class/instance/addToHtmlMorph..st +++ b/packages/HTML.package/HtmlDOMNode.class/instance/addToHtmlMorph..st @@ -4,7 +4,7 @@ addToHtmlMorph: aHtmlBlockMorph inlineNodes := OrderedCollection new. htmlMorph := HtmlBlockMorph newFor: self. - + self children do: [ :child | child isInline ifTrue: [ inlineNodes add: child ] ifFalse: [ self flushInlineNodes: inlineNodes to: htmlMorph; diff --git a/packages/HTML.package/HtmlDOMNode.class/instance/flushInlineNodes.to..st b/packages/HTML.package/HtmlDOMNode.class/instance/flushInlineNodes.to..st index 5862eb34..58e48786 100644 --- a/packages/HTML.package/HtmlDOMNode.class/instance/flushInlineNodes.to..st +++ b/packages/HTML.package/HtmlDOMNode.class/instance/flushInlineNodes.to..st @@ -3,7 +3,8 @@ flushInlineNodes: inlineNodes to: aHtmlBlockMorph | formatter htmlInlineMorph | inlineNodes ifNotEmpty: [ formatter := HtmlFormatter preferredFormatterClass new. - inlineNodes do: [ :node | node addToFormatter: formatter. ]. + inlineNodes do: [ :node | node addToFormatter: formatter ]. htmlInlineMorph := formatter htmlInlineMorph. - htmlInlineMorph nodes: inlineNodes. - aHtmlBlockMorph addChild: htmlInlineMorph ] \ No newline at end of file + htmlInlineMorph text isEmpty ifFalse: [ + htmlInlineMorph nodes: inlineNodes. + aHtmlBlockMorph addChild: htmlInlineMorph ] ] \ No newline at end of file diff --git a/packages/HTML.package/HtmlDOMNode.class/instance/isInline.st b/packages/HTML.package/HtmlDOMNode.class/instance/isInline.st index 209a54fb..d89e5a2f 100644 --- a/packages/HTML.package/HtmlDOMNode.class/instance/isInline.st +++ b/packages/HTML.package/HtmlDOMNode.class/instance/isInline.st @@ -1,3 +1,4 @@ as yet unclassified isInline - ^true. \ No newline at end of file + ^ isInline ifNil: [ isInline := self children ifEmpty: [ true ] + ifNotEmpty: [ self children allSatisfy: [ :child | child isInline ]]] \ No newline at end of file diff --git a/packages/HTML.package/HtmlDOMNode.class/methodProperties.json b/packages/HTML.package/HtmlDOMNode.class/methodProperties.json index 23c126f0..7d13637e 100644 --- a/packages/HTML.package/HtmlDOMNode.class/methodProperties.json +++ b/packages/HTML.package/HtmlDOMNode.class/methodProperties.json @@ -6,7 +6,7 @@ "instance" : { "addStyle:" : "j.c 6/14/2007 12:24", "addToFormatter:" : "rs 5/18/2014 15:33:20.542", - "addToHtmlMorph:" : "SN 5/25/2014 15:40", + "addToHtmlMorph:" : "rs 5/28/2014 12:40:28.418", "attributes" : "tb 11/30/2005 12:26", "attributes:" : "tb 7/12/2007 11:04", "childDTDTags" : "tb 12/1/2005 09:11", @@ -23,7 +23,7 @@ "endTagMissing" : "tb 12/5/2005 12:02", "endTagMissing:" : "sebastian.sastre 9/20/2010 11:53", "flushBlockNode:to:" : "SN 5/25/2014 15:38", - "flushInlineNodes:to:" : "SN 5/25/2014 15:40", + "flushInlineNodes:to:" : "rs 5/28/2014 14:13:18.738", "hasTrailingSlash" : "tb 1/3/2006 17:29", "hasTrailingSlash:" : "sebastian.sastre 9/20/2010 11:53", "id" : "tb 7/12/2007 11:07", @@ -33,7 +33,7 @@ "isDocument" : "tb 12/2/2005 12:26", "isImplied" : "tb 11/30/2005 12:21", "isImplied:" : "tb 11/30/2005 12:21", - "isInline" : "SN 5/25/2014 14:32", + "isInline" : "rs 5/28/2014 13:02:59.494", "isSelfContained" : "tb 12/2/2005 09:34", "isStyleSheet" : "tb 12/17/2005 22:26", "loader" : "tb 1/8/2006 10:03", diff --git a/packages/HTML.package/HtmlDOMNode.class/properties.json b/packages/HTML.package/HtmlDOMNode.class/properties.json index df67eb5c..5fa163a0 100644 --- a/packages/HTML.package/HtmlDOMNode.class/properties.json +++ b/packages/HTML.package/HtmlDOMNode.class/properties.json @@ -16,7 +16,8 @@ "styles", "id", "classes", - "htmlMorph" ], + "htmlMorph", + "isInline" ], "name" : "HtmlDOMNode", "pools" : [ ], diff --git a/packages/HTML.package/monticello.meta/version b/packages/HTML.package/monticello.meta/version index 56e63699..b0006300 100644 --- a/packages/HTML.package/monticello.meta/version +++ b/packages/HTML.package/monticello.meta/version @@ -1 +1 @@ -83655281-8e0a-4f4d-a2da-b8e801b9707a \ No newline at end of file +d0b54045-26b1-4a1b-844a-76a06b51eeff \ No newline at end of file diff --git a/packages/HTML.package/monticello.meta/version.d/HTML-rs.66_d0b54045-26b1-4a1b-844a-76a06b51eeff b/packages/HTML.package/monticello.meta/version.d/HTML-rs.66_d0b54045-26b1-4a1b-844a-76a06b51eeff new file mode 100644 index 00000000..e0b1daa7 --- /dev/null +++ b/packages/HTML.package/monticello.meta/version.d/HTML-rs.66_d0b54045-26b1-4a1b-844a-76a06b51eeff @@ -0,0 +1 @@ +(name 'HTML-rs.66' message 'Make divs render as HTMLBlockMorphs' id 'd0b54045-26b1-4a1b-844a-76a06b51eeff' date '28 May 2014' time '5:05:55.32 pm' author 'rs' ancestors ((id '83655281-8e0a-4f4d-a2da-b8e801b9707a')) stepChildren ()) \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/addChild..st b/packages/Scamper.package/HtmlBlockMorph.class/instance/addChild..st index fe286505..9c4afd05 100644 --- a/packages/Scamper.package/HtmlBlockMorph.class/instance/addChild..st +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/addChild..st @@ -1,4 +1,4 @@ accessing addChild: aHtmlMorph - self addMorph: aHtmlMorph. - self children add: aHtmlMorph. \ No newline at end of file + self addMorphBack: aHtmlMorph. + self children addLast: aHtmlMorph \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/initialize.st b/packages/Scamper.package/HtmlBlockMorph.class/instance/initialize.st index b0af2372..2692b588 100644 --- a/packages/Scamper.package/HtmlBlockMorph.class/instance/initialize.st +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/initialize.st @@ -1,4 +1,11 @@ initialization initialize super initialize. - children := OrderedCollection new. \ No newline at end of file + children := OrderedCollection new. + self layoutPolicy: TableLayout new; + listDirection: #topToBottom; + wrapDirection: #none; + listCentering: #topLeft; + wrapCentering: #topLeft; + vResizing: #rigid; + hResizing: #spaceFill \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json b/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json index 42c2fd4e..1a10b83d 100644 --- a/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json +++ b/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json @@ -2,11 +2,11 @@ "class" : { "newFor:" : "SN 5/25/2014 14:54" }, "instance" : { - "addChild:" : "SN 5/25/2014 15:40", + "addChild:" : "rs 5/28/2014 16:04:49.114", "children" : "SN 5/25/2014 15:35", "children:" : "SN 5/25/2014 15:35", "defaultColor" : "SN 5/25/2014 15:22", "incompleteMorphs" : "SN 5/25/2014 15:32", - "initialize" : "SN 5/25/2014 15:33", + "initialize" : "rs 5/28/2014 16:57:11.88", "node" : "SN 5/25/2014 14:50", "node:" : "SN 5/25/2014 14:50" } } diff --git a/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json b/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json index 1e4e2115..ae7523f9 100644 --- a/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json +++ b/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json @@ -4,6 +4,6 @@ "instance" : { "incompleteMorphs" : "SN 5/25/2014 15:34", "incompleteMorphs:" : "SN 5/25/2014 15:34", - "initialize" : "SN 5/25/2014 15:10", + "initialize" : "rs 5/28/2014 16:36:11.768", "nodes" : "SN 5/25/2014 14:49", "nodes:" : "SN 5/25/2014 14:49" } } diff --git a/packages/Scamper.package/monticello.meta/version b/packages/Scamper.package/monticello.meta/version index ddb4d892..bc0b4ada 100644 --- a/packages/Scamper.package/monticello.meta/version +++ b/packages/Scamper.package/monticello.meta/version @@ -1 +1 @@ -29a69c86-248c-b84e-84b7-7cda70273788 \ No newline at end of file +fd2e5658-0733-4f23-9eb6-91d3279aa311 \ No newline at end of file diff --git a/packages/Scamper.package/monticello.meta/version.d/Scamper-rs.4_fd2e5658-0733-4f23-9eb6-91d3279aa311 b/packages/Scamper.package/monticello.meta/version.d/Scamper-rs.4_fd2e5658-0733-4f23-9eb6-91d3279aa311 new file mode 100644 index 00000000..796eecbd --- /dev/null +++ b/packages/Scamper.package/monticello.meta/version.d/Scamper-rs.4_fd2e5658-0733-4f23-9eb6-91d3279aa311 @@ -0,0 +1 @@ +(name 'Scamper-rs.4' message 'Make divs render as HTMLBlockMorphs' id 'fd2e5658-0733-4f23-9eb6-91d3279aa311' date '28 May 2014' time '5:06:28.14 pm' author 'rs' ancestors ((id '29a69c86-248c-b84e-84b7-7cda70273788')) stepChildren ()) \ No newline at end of file From 8d2856445242bf10f06bc11bc9cdb72fae210583 Mon Sep 17 00:00:00 2001 From: Robert Schmid Date: Fri, 30 May 2014 15:34:07 +0200 Subject: [PATCH 4/7] Fix forms --- .../DHtmlFormatter.class/methodProperties.json | 2 +- .../FormInputSet.class/class/forForm..st | 4 ++++ .../FormInputSet.class/class/forForm.andBrowser..st | 4 ---- .../FormInputSet.class/instance/browser.st | 8 ++++++++ .../FormInputSet.class/instance/form..st | 3 +++ .../FormInputSet.class/instance/form.browser..st | 5 ----- .../FormInputSet.class/instance/initialize.st | 4 ++++ .../FormInputSet.class/instance/morph..st | 3 +++ .../FormInputSet.class/instance/submit.st | 2 +- .../FormInputSet.class/methodProperties.json | 9 ++++++--- .../HTML.package/FormInputSet.class/properties.json | 3 ++- .../HtmlDOMNode.class/instance/associatedForm.st | 3 +++ .../instance/flushInlineNodes.to..st | 2 +- .../HtmlDOMNode.class/methodProperties.json | 3 ++- .../HTML.package/HtmlDOMNode.class/properties.json | 3 ++- .../HtmlDocument.class/instance/associatedForm.st | 3 +++ .../HtmlDocument.class/methodProperties.json | 1 + .../HtmlFORMNode.class/instance/addToHtmlMorph..st | 5 +++++ .../HtmlFORMNode.class/instance/associatedForm.st | 3 +++ .../HtmlFORMNode.class/instance/endStyles..st | 1 - .../HtmlFORMNode.class/instance/initialize.st | 4 ++++ .../HtmlFORMNode.class/methodProperties.json | 5 ++++- .../HtmlFormatter.class/instance/currentFormData.st | 6 ------ .../HtmlFormatter.class/instance/endForm.st | 5 +---- .../HtmlFormatter.class/instance/initialize.st | 1 - .../HtmlFormatter.class/instance/startForm..st | 3 +-- .../HtmlFormatter.class/methodProperties.json | 7 +++---- .../HTML.package/HtmlFormatter.class/properties.json | 1 - .../instance/addCheckBoxButtonToFormatter..st | 2 +- .../instance/addFileInputToFormatter..st | 2 +- .../instance/addImageButtonToFormatter..st | 2 +- .../instance/addRadioButtonToFormatter..st | 2 +- .../instance/addTextInputToFormatter..st | 2 +- .../HtmlINPUTNode.class/instance/addToFormatter..st | 8 +++++--- .../HtmlINPUTNode.class/methodProperties.json | 12 ++++++------ .../instance/addToFormatter..st | 4 ++-- .../HtmlTEXTAREANode.class/methodProperties.json | 2 +- packages/HTML.package/monticello.meta/version | 2 +- .../HTML-rs.67_8e6fc2a1-920e-4710-8ea0-26f49833aaf9 | 1 + 39 files changed, 86 insertions(+), 56 deletions(-) create mode 100644 packages/HTML.package/FormInputSet.class/class/forForm..st delete mode 100644 packages/HTML.package/FormInputSet.class/class/forForm.andBrowser..st create mode 100644 packages/HTML.package/FormInputSet.class/instance/browser.st create mode 100644 packages/HTML.package/FormInputSet.class/instance/form..st delete mode 100644 packages/HTML.package/FormInputSet.class/instance/form.browser..st create mode 100644 packages/HTML.package/FormInputSet.class/instance/initialize.st create mode 100644 packages/HTML.package/FormInputSet.class/instance/morph..st create mode 100644 packages/HTML.package/HtmlDOMNode.class/instance/associatedForm.st create mode 100644 packages/HTML.package/HtmlDocument.class/instance/associatedForm.st create mode 100644 packages/HTML.package/HtmlFORMNode.class/instance/addToHtmlMorph..st create mode 100644 packages/HTML.package/HtmlFORMNode.class/instance/associatedForm.st create mode 100644 packages/HTML.package/HtmlFORMNode.class/instance/initialize.st delete mode 100644 packages/HTML.package/HtmlFormatter.class/instance/currentFormData.st create mode 100644 packages/HTML.package/monticello.meta/version.d/HTML-rs.67_8e6fc2a1-920e-4710-8ea0-26f49833aaf9 diff --git a/packages/HTML.package/DHtmlFormatter.class/methodProperties.json b/packages/HTML.package/DHtmlFormatter.class/methodProperties.json index d475921e..533d17bd 100644 --- a/packages/HTML.package/DHtmlFormatter.class/methodProperties.json +++ b/packages/HTML.package/DHtmlFormatter.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { }, "instance" : { - "cssPrefixMap" : "rs 5/19/2014 18:30:36.49", + "cssPrefixMap" : "rs 5/30/2014 15:31:02.922", "decreaseFontBy:" : "bolot 5/18/2000 11:55", "endFont:" : "bolot 5/18/2000 11:23", "endHeader:" : "rs 5/18/2014 14:16:30.63", diff --git a/packages/HTML.package/FormInputSet.class/class/forForm..st b/packages/HTML.package/FormInputSet.class/class/forForm..st new file mode 100644 index 00000000..62ee38bc --- /dev/null +++ b/packages/HTML.package/FormInputSet.class/class/forForm..st @@ -0,0 +1,4 @@ +instance creation +forForm: form + "create a FormData for the given form" + ^self new form: form \ No newline at end of file diff --git a/packages/HTML.package/FormInputSet.class/class/forForm.andBrowser..st b/packages/HTML.package/FormInputSet.class/class/forForm.andBrowser..st deleted file mode 100644 index 6ebddeb2..00000000 --- a/packages/HTML.package/FormInputSet.class/class/forForm.andBrowser..st +++ /dev/null @@ -1,4 +0,0 @@ -instance creation -forForm: form andBrowser: browser - "create a FormData for the given form and browser" - ^super new form: form browser: browser \ No newline at end of file diff --git a/packages/HTML.package/FormInputSet.class/instance/browser.st b/packages/HTML.package/FormInputSet.class/instance/browser.st new file mode 100644 index 00000000..d1a8de0c --- /dev/null +++ b/packages/HTML.package/FormInputSet.class/instance/browser.st @@ -0,0 +1,8 @@ +accessing +browser + "get the browser object TextURL-style" + htmlMorph ifNotNil: [ :m | + [ m ~= nil ] whileTrue: [ + (m hasProperty: #webBrowserView) ifTrue: [ ^ m model ]. + m := m owner ]]. + ^ nil \ No newline at end of file diff --git a/packages/HTML.package/FormInputSet.class/instance/form..st b/packages/HTML.package/FormInputSet.class/instance/form..st new file mode 100644 index 00000000..a4dc3cb6 --- /dev/null +++ b/packages/HTML.package/FormInputSet.class/instance/form..st @@ -0,0 +1,3 @@ +accessing +form: aForm + form := aForm \ No newline at end of file diff --git a/packages/HTML.package/FormInputSet.class/instance/form.browser..st b/packages/HTML.package/FormInputSet.class/instance/form.browser..st deleted file mode 100644 index c0d2164c..00000000 --- a/packages/HTML.package/FormInputSet.class/instance/form.browser..st +++ /dev/null @@ -1,5 +0,0 @@ -private-initialization -form: f browser: b - inputs := OrderedCollection new. - form := f. - browser := b. \ No newline at end of file diff --git a/packages/HTML.package/FormInputSet.class/instance/initialize.st b/packages/HTML.package/FormInputSet.class/instance/initialize.st new file mode 100644 index 00000000..21ed2a74 --- /dev/null +++ b/packages/HTML.package/FormInputSet.class/instance/initialize.st @@ -0,0 +1,4 @@ +initialize-release +initialize + super initialize. + inputs := OrderedCollection new. \ No newline at end of file diff --git a/packages/HTML.package/FormInputSet.class/instance/morph..st b/packages/HTML.package/FormInputSet.class/instance/morph..st new file mode 100644 index 00000000..9cd69a4e --- /dev/null +++ b/packages/HTML.package/FormInputSet.class/instance/morph..st @@ -0,0 +1,3 @@ +accessing +morph: aHtmlMorph + htmlMorph := aHtmlMorph \ No newline at end of file diff --git a/packages/HTML.package/FormInputSet.class/instance/submit.st b/packages/HTML.package/FormInputSet.class/instance/submit.st index bc841315..fb3be6b3 100644 --- a/packages/HTML.package/FormInputSet.class/instance/submit.st +++ b/packages/HTML.package/FormInputSet.class/instance/submit.st @@ -9,6 +9,6 @@ submit (inputValues includesKey: input name) ifFalse: [ inputValues at: input name put: (OrderedCollection new: 1) ]. (inputValues at: input name) add: input value ] ]. - browser submitFormWithInputs: inputValues url: form url + self browser submitFormWithInputs: inputValues url: form url method: form method encoding: form encoding. ^true \ No newline at end of file diff --git a/packages/HTML.package/FormInputSet.class/methodProperties.json b/packages/HTML.package/FormInputSet.class/methodProperties.json index 254e640d..d1874029 100644 --- a/packages/HTML.package/FormInputSet.class/methodProperties.json +++ b/packages/HTML.package/FormInputSet.class/methodProperties.json @@ -1,9 +1,12 @@ { "class" : { - "forForm:andBrowser:" : "ls 7/16/1998 22:01" }, + "forForm:" : "rs 5/30/2014 15:25:00.848" }, "instance" : { "addInput:" : "ls 8/5/1998 03:57", - "form:browser:" : "LaurentLaffont 2/26/2010 23:13", + "browser" : "rs 5/30/2014 15:22:38.872", + "form:" : "rs 5/30/2014 15:25:36.328", + "initialize" : "rs 5/30/2014 15:25:47.98", "inputs" : "ls 8/11/1998 03:30", + "morph:" : "rs 5/30/2014 15:26:08.476", "reset" : "ls 8/5/1998 03:58", - "submit" : "LaurentLaffont 2/26/2010 23:13" } } + "submit" : "rs 5/30/2014 15:16:19.918" } } diff --git a/packages/HTML.package/FormInputSet.class/properties.json b/packages/HTML.package/FormInputSet.class/properties.json index 529e1cec..4d18e780 100644 --- a/packages/HTML.package/FormInputSet.class/properties.json +++ b/packages/HTML.package/FormInputSet.class/properties.json @@ -8,7 +8,8 @@ "instvars" : [ "inputs", "browser", - "form" ], + "form", + "htmlMorph" ], "name" : "FormInputSet", "pools" : [ ], diff --git a/packages/HTML.package/HtmlDOMNode.class/instance/associatedForm.st b/packages/HTML.package/HtmlDOMNode.class/instance/associatedForm.st new file mode 100644 index 00000000..924ebfa4 --- /dev/null +++ b/packages/HTML.package/HtmlDOMNode.class/instance/associatedForm.st @@ -0,0 +1,3 @@ +accessing +associatedForm + ^ associatedForm ifNil: [ associatedForm := self parent associatedForm ] \ No newline at end of file diff --git a/packages/HTML.package/HtmlDOMNode.class/instance/flushInlineNodes.to..st b/packages/HTML.package/HtmlDOMNode.class/instance/flushInlineNodes.to..st index 58e48786..79ebcef5 100644 --- a/packages/HTML.package/HtmlDOMNode.class/instance/flushInlineNodes.to..st +++ b/packages/HTML.package/HtmlDOMNode.class/instance/flushInlineNodes.to..st @@ -5,6 +5,6 @@ flushInlineNodes: inlineNodes to: aHtmlBlockMorph formatter := HtmlFormatter preferredFormatterClass new. inlineNodes do: [ :node | node addToFormatter: formatter ]. htmlInlineMorph := formatter htmlInlineMorph. - htmlInlineMorph text isEmpty ifFalse: [ + htmlInlineMorph text ifNotEmpty: [ htmlInlineMorph nodes: inlineNodes. aHtmlBlockMorph addChild: htmlInlineMorph ] ] \ No newline at end of file diff --git a/packages/HTML.package/HtmlDOMNode.class/methodProperties.json b/packages/HTML.package/HtmlDOMNode.class/methodProperties.json index 7d13637e..44a686a3 100644 --- a/packages/HTML.package/HtmlDOMNode.class/methodProperties.json +++ b/packages/HTML.package/HtmlDOMNode.class/methodProperties.json @@ -7,6 +7,7 @@ "addStyle:" : "j.c 6/14/2007 12:24", "addToFormatter:" : "rs 5/18/2014 15:33:20.542", "addToHtmlMorph:" : "rs 5/28/2014 12:40:28.418", + "associatedForm" : "rs 5/29/2014 23:10:34.728", "attributes" : "tb 11/30/2005 12:26", "attributes:" : "tb 7/12/2007 11:04", "childDTDTags" : "tb 12/1/2005 09:11", @@ -23,7 +24,7 @@ "endTagMissing" : "tb 12/5/2005 12:02", "endTagMissing:" : "sebastian.sastre 9/20/2010 11:53", "flushBlockNode:to:" : "SN 5/25/2014 15:38", - "flushInlineNodes:to:" : "rs 5/28/2014 14:13:18.738", + "flushInlineNodes:to:" : "rs 5/29/2014 22:59:26.474", "hasTrailingSlash" : "tb 1/3/2006 17:29", "hasTrailingSlash:" : "sebastian.sastre 9/20/2010 11:53", "id" : "tb 7/12/2007 11:07", diff --git a/packages/HTML.package/HtmlDOMNode.class/properties.json b/packages/HTML.package/HtmlDOMNode.class/properties.json index 5fa163a0..2ab9b0a6 100644 --- a/packages/HTML.package/HtmlDOMNode.class/properties.json +++ b/packages/HTML.package/HtmlDOMNode.class/properties.json @@ -17,7 +17,8 @@ "id", "classes", "htmlMorph", - "isInline" ], + "isInline", + "associatedForm" ], "name" : "HtmlDOMNode", "pools" : [ ], diff --git a/packages/HTML.package/HtmlDocument.class/instance/associatedForm.st b/packages/HTML.package/HtmlDocument.class/instance/associatedForm.st new file mode 100644 index 00000000..1405d9d8 --- /dev/null +++ b/packages/HTML.package/HtmlDocument.class/instance/associatedForm.st @@ -0,0 +1,3 @@ +accessing +associatedForm + ^ nil \ No newline at end of file diff --git a/packages/HTML.package/HtmlDocument.class/methodProperties.json b/packages/HTML.package/HtmlDocument.class/methodProperties.json index add7b274..1b813ad8 100644 --- a/packages/HTML.package/HtmlDocument.class/methodProperties.json +++ b/packages/HTML.package/HtmlDocument.class/methodProperties.json @@ -4,6 +4,7 @@ "instance" : { "allStyles" : "tb 12/30/2005 20:49", "applyStyles" : "tb 7/12/2007 12:55", + "associatedForm" : "rs 5/29/2014 23:11:28.394", "content" : "tb 12/2/2005 20:38", "content:" : "PK 10/18/2010 22:31", "createImpliedNodes" : "tb 12/1/2005 00:24", diff --git a/packages/HTML.package/HtmlFORMNode.class/instance/addToHtmlMorph..st b/packages/HTML.package/HtmlFORMNode.class/instance/addToHtmlMorph..st new file mode 100644 index 00000000..ecb6bc84 --- /dev/null +++ b/packages/HTML.package/HtmlFORMNode.class/instance/addToHtmlMorph..st @@ -0,0 +1,5 @@ +as yet unclassified +addToHtmlMorph: aHtmlBlockMorph + super addToHtmlMorph: aHtmlBlockMorph. + + associatedForm morph: htmlMorph \ No newline at end of file diff --git a/packages/HTML.package/HtmlFORMNode.class/instance/associatedForm.st b/packages/HTML.package/HtmlFORMNode.class/instance/associatedForm.st new file mode 100644 index 00000000..8349be9b --- /dev/null +++ b/packages/HTML.package/HtmlFORMNode.class/instance/associatedForm.st @@ -0,0 +1,3 @@ +accessing +associatedForm + ^ associatedForm \ No newline at end of file diff --git a/packages/HTML.package/HtmlFORMNode.class/instance/endStyles..st b/packages/HTML.package/HtmlFORMNode.class/instance/endStyles..st index 1d5d0eb7..11c736eb 100644 --- a/packages/HTML.package/HtmlFORMNode.class/instance/endStyles..st +++ b/packages/HTML.package/HtmlFORMNode.class/instance/endStyles..st @@ -1,4 +1,3 @@ as yet unclassified endStyles: aFormatter - aFormatter currentFormData reset. aFormatter endForm \ No newline at end of file diff --git a/packages/HTML.package/HtmlFORMNode.class/instance/initialize.st b/packages/HTML.package/HtmlFORMNode.class/instance/initialize.st new file mode 100644 index 00000000..2ca55e6c --- /dev/null +++ b/packages/HTML.package/HtmlFORMNode.class/instance/initialize.st @@ -0,0 +1,4 @@ +as yet unclassified +initialize + super initialize. + associatedForm := FormInputSet forForm: self \ No newline at end of file diff --git a/packages/HTML.package/HtmlFORMNode.class/methodProperties.json b/packages/HTML.package/HtmlFORMNode.class/methodProperties.json index 0f660ed4..9b3ef4c6 100644 --- a/packages/HTML.package/HtmlFORMNode.class/methodProperties.json +++ b/packages/HTML.package/HtmlFORMNode.class/methodProperties.json @@ -2,8 +2,11 @@ "class" : { }, "instance" : { + "addToHtmlMorph:" : "rs 5/30/2014 15:26:39.038", + "associatedForm" : "rs 5/29/2014 23:11:52.896", "encoding" : "pf 5/18/2014 14:31", - "endStyles:" : "rs 5/18/2014 15:24:37.044", + "endStyles:" : "rs 5/30/2014 15:28:49.09", + "initialize" : "rs 5/30/2014 15:24:27.908", "method" : "pf 5/18/2014 14:31", "startStyles:" : "rs 5/18/2014 15:24:15.682", "tag" : "", diff --git a/packages/HTML.package/HtmlFormatter.class/instance/currentFormData.st b/packages/HTML.package/HtmlFormatter.class/instance/currentFormData.st deleted file mode 100644 index c10e3b7a..00000000 --- a/packages/HTML.package/HtmlFormatter.class/instance/currentFormData.st +++ /dev/null @@ -1,6 +0,0 @@ -forms -currentFormData - "return the current form data, or nil if we aren't inside a form" - formDatas size > 0 - ifTrue: [ ^formDatas last ] - ifFalse: [ ^nil ]. \ No newline at end of file diff --git a/packages/HTML.package/HtmlFormatter.class/instance/endForm.st b/packages/HTML.package/HtmlFormatter.class/instance/endForm.st index 7fe98681..bb5ae5a5 100644 --- a/packages/HTML.package/HtmlFormatter.class/instance/endForm.st +++ b/packages/HTML.package/HtmlFormatter.class/instance/endForm.st @@ -1,6 +1,3 @@ forms endForm - formDatas size > 0 ifTrue: [ - formDatas removeLast. ] - ifFalse: [ self halt: 'HtmlFormatter: ended more forms that started!?' ]. - self ensureNewlines: 1. \ No newline at end of file + self ensureNewlines: 1 \ No newline at end of file diff --git a/packages/HTML.package/HtmlFormatter.class/instance/initialize.st b/packages/HTML.package/HtmlFormatter.class/instance/initialize.st index 3f3295ba..d1e54138 100644 --- a/packages/HTML.package/HtmlFormatter.class/instance/initialize.st +++ b/packages/HTML.package/HtmlFormatter.class/instance/initialize.st @@ -5,7 +5,6 @@ initialize indentLevel := boldLevel := italicsLevel := underlineLevel := strikeLevel := centerLevel := 0. listLengths := OrderedCollection new. listTypes := OrderedCollection new. - formDatas := OrderedCollection new. precedingSpaces := 0. precedingNewlines := 1000. "more than will ever be asked for" morphsToEmbed := OrderedCollection new. diff --git a/packages/HTML.package/HtmlFormatter.class/instance/startForm..st b/packages/HTML.package/HtmlFormatter.class/instance/startForm..st index 9619248c..07668f03 100644 --- a/packages/HTML.package/HtmlFormatter.class/instance/startForm..st +++ b/packages/HTML.package/HtmlFormatter.class/instance/startForm..st @@ -1,5 +1,4 @@ forms startForm: form "a form is beginning" - self ensureNewlines: 1. - formDatas addLast: (FormInputSet forForm: form andBrowser: browser). \ No newline at end of file + self ensureNewlines: 1 \ No newline at end of file diff --git a/packages/HTML.package/HtmlFormatter.class/methodProperties.json b/packages/HTML.package/HtmlFormatter.class/methodProperties.json index c80181fb..465b0db5 100644 --- a/packages/HTML.package/HtmlFormatter.class/methodProperties.json +++ b/packages/HTML.package/HtmlFormatter.class/methodProperties.json @@ -16,14 +16,13 @@ "baseUrl:" : "LaurentLaffont 2/26/2010 23:13", "browser" : "ls 7/16/1998 22:07", "browser:" : "LaurentLaffont 2/26/2010 23:13", - "currentFormData" : "ls 7/16/1998 22:07", "decreaseBold" : "LaurentLaffont 2/26/2010 23:13", "decreaseIndent" : "LaurentLaffont 2/26/2010 23:13", "decreaseItalics" : "LaurentLaffont 2/26/2010 23:13", "decreasePreformatted" : "LaurentLaffont 2/26/2010 23:13", "decreaseStrike" : "LaurentLaffont 2/26/2010 23:13", "decreaseUnderline" : "LaurentLaffont 2/26/2010 23:13", - "endForm" : "bolot 8/29/1999 18:40", + "endForm" : "", "endHeader:" : "bolot 5/18/2000 12:02", "endLink:" : "LaurentLaffont 2/26/2010 23:13", "endListItem" : "ls 8/20/1998 11:34", @@ -41,10 +40,10 @@ "increasePreformatted" : "LaurentLaffont 2/26/2010 23:13", "increaseStrike" : "LaurentLaffont 2/26/2010 23:13", "increaseUnderline" : "LaurentLaffont 2/26/2010 23:13", - "initialize" : "LaurentLaffont 5/31/2010 21:10", + "initialize" : "rs 5/30/2014 15:30:30.404", "noteAnchorStart:" : "ls 9/10/1998 03:26", "setAttributes" : "LaurentLaffont 2/26/2010 23:13", - "startForm:" : "bolot 8/29/1999 18:40", + "startForm:" : "", "startHeader:" : "bolot 5/18/2000 12:02", "startLink:" : "LaurentLaffont 2/26/2010 23:13", "startListItem" : "bf 11/4/1999 22:23", diff --git a/packages/HTML.package/HtmlFormatter.class/properties.json b/packages/HTML.package/HtmlFormatter.class/properties.json index fb62ff0d..9e66c814 100644 --- a/packages/HTML.package/HtmlFormatter.class/properties.json +++ b/packages/HTML.package/HtmlFormatter.class/properties.json @@ -9,7 +9,6 @@ "instvars" : [ "browser", "baseUrl", - "formDatas", "outputStream", "preformattedLevel", "indentLevel", diff --git a/packages/HTML.package/HtmlINPUTNode.class/instance/addCheckBoxButtonToFormatter..st b/packages/HTML.package/HtmlINPUTNode.class/instance/addCheckBoxButtonToFormatter..st index 0690275b..c57dfc5f 100644 --- a/packages/HTML.package/HtmlINPUTNode.class/instance/addCheckBoxButtonToFormatter..st +++ b/packages/HTML.package/HtmlINPUTNode.class/instance/addCheckBoxButtonToFormatter..st @@ -8,7 +8,7 @@ addCheckBoxButtonToFormatter: formatter value := self attributes at: 'value' ifAbsent: [nil]. value ifNil: [ ^value ]. - formData := formatter currentFormData. + formData := self associatedForm. formData ifNil: [ ^self ]. checked := (self attributes at: 'checked' ifAbsent: [nil]) isNil not. diff --git a/packages/HTML.package/HtmlINPUTNode.class/instance/addFileInputToFormatter..st b/packages/HTML.package/HtmlINPUTNode.class/instance/addFileInputToFormatter..st index 5746d214..28e01a2d 100644 --- a/packages/HTML.package/HtmlINPUTNode.class/instance/addFileInputToFormatter..st +++ b/packages/HTML.package/HtmlINPUTNode.class/instance/addFileInputToFormatter..st @@ -9,4 +9,4 @@ addFileInputToFormatter: formatter formatter addMorph: inputMorph; addMorph: ((PluggableButtonMorph on: fileInput getState: nil action: #browse) label: 'Browse'). - formatter currentFormData addInput: fileInput \ No newline at end of file + self associatedForm addInput: fileInput \ No newline at end of file diff --git a/packages/HTML.package/HtmlINPUTNode.class/instance/addImageButtonToFormatter..st b/packages/HTML.package/HtmlINPUTNode.class/instance/addImageButtonToFormatter..st index 804915af..044b4c0a 100644 --- a/packages/HTML.package/HtmlINPUTNode.class/instance/addImageButtonToFormatter..st +++ b/packages/HTML.package/HtmlINPUTNode.class/instance/addImageButtonToFormatter..st @@ -12,7 +12,7 @@ addImageButtonToFormatter: formatter morph url: imageUrl. value := self attributes at: 'name' ifAbsent: ['Submit']. - formData := formatter currentFormData. + formData := self associatedForm. morph on: #mouseUp send: #mouseUpFormData:event:linkMorph: diff --git a/packages/HTML.package/HtmlINPUTNode.class/instance/addRadioButtonToFormatter..st b/packages/HTML.package/HtmlINPUTNode.class/instance/addRadioButtonToFormatter..st index 28cc3091..b9161b5c 100644 --- a/packages/HTML.package/HtmlINPUTNode.class/instance/addRadioButtonToFormatter..st +++ b/packages/HTML.package/HtmlINPUTNode.class/instance/addRadioButtonToFormatter..st @@ -8,7 +8,7 @@ addRadioButtonToFormatter: formatter value := self attributes at: 'value' ifAbsent: [nil]. value ifNil: [ ^value ]. - formData := formatter currentFormData. + formData := self associatedForm. formData ifNil: [ ^self ]. checked := self attributes at: 'checked' ifAbsent: [nil]. diff --git a/packages/HTML.package/HtmlINPUTNode.class/instance/addTextInputToFormatter..st b/packages/HTML.package/HtmlINPUTNode.class/instance/addTextInputToFormatter..st index d4c79a80..3eda638f 100644 --- a/packages/HTML.package/HtmlINPUTNode.class/instance/addTextInputToFormatter..st +++ b/packages/HTML.package/HtmlINPUTNode.class/instance/addTextInputToFormatter..st @@ -8,5 +8,5 @@ addTextInputToFormatter: formatter size := (self attributes at: 'size' ifAbsent: ['12']) asNumber. inputMorph extent: (size*10@20). formatter addMorph: inputMorph. - formatter currentFormData addInput: + self associatedForm addInput: (TextInput name: self name defaultValue: self defaultValue textMorph: inputMorph). \ No newline at end of file diff --git a/packages/HTML.package/HtmlINPUTNode.class/instance/addToFormatter..st b/packages/HTML.package/HtmlINPUTNode.class/instance/addToFormatter..st index f0e8add2..afc613bf 100644 --- a/packages/HTML.package/HtmlINPUTNode.class/instance/addToFormatter..st +++ b/packages/HTML.package/HtmlINPUTNode.class/instance/addToFormatter..st @@ -1,12 +1,14 @@ as yet unclassified addToFormatter: formatter - formatter currentFormData ifNil: [ + | form | + form := self associatedForm. + form ifNil: [ "not in a form. It's bogus HTML but try to survive" ^self ]. "is it a submit button?" self type = 'submit' ifTrue: [ - formatter addMorph: ((PluggableButtonMorph on: formatter currentFormData getState: nil action: #submit) label: (self attributes at: 'value' ifAbsent: ['Submit'])). + formatter addMorph: ((PluggableButtonMorph on: form getState: nil action: #submit) label: (self attributes at: 'value' ifAbsent: ['Submit'])). ^self ]. self type = 'image' @@ -16,7 +18,7 @@ addToFormatter: formatter ifTrue: [^self addTextInputToFormatter: formatter]. self type = 'hidden' ifTrue: [ - formatter currentFormData addInput: (HiddenInput name: self name value: self defaultValue). + form addInput: (HiddenInput name: self name value: self defaultValue). ^self ]. self type = 'radio' ifTrue: [ diff --git a/packages/HTML.package/HtmlINPUTNode.class/methodProperties.json b/packages/HTML.package/HtmlINPUTNode.class/methodProperties.json index 0e83b919..602667ed 100644 --- a/packages/HTML.package/HtmlINPUTNode.class/methodProperties.json +++ b/packages/HTML.package/HtmlINPUTNode.class/methodProperties.json @@ -2,12 +2,12 @@ "class" : { }, "instance" : { - "addCheckBoxButtonToFormatter:" : "pf 5/18/2014 14:28", - "addFileInputToFormatter:" : "pf 5/18/2014 14:29", - "addImageButtonToFormatter:" : "pf 5/18/2014 14:22", - "addRadioButtonToFormatter:" : "pf 5/18/2014 14:27", - "addTextInputToFormatter:" : "pf 5/18/2014 14:25", - "addToFormatter:" : "pf 5/18/2014 14:16", + "addCheckBoxButtonToFormatter:" : "rs 5/29/2014 23:19:20.856", + "addFileInputToFormatter:" : "rs 5/29/2014 23:19:04.282", + "addImageButtonToFormatter:" : "rs 5/29/2014 23:18:49.476", + "addRadioButtonToFormatter:" : "rs 5/29/2014 23:18:42.71", + "addTextInputToFormatter:" : "rs 5/29/2014 23:18:32.39", + "addToFormatter:" : "rs 5/29/2014 23:17:52.448", "alt" : "SN 5/22/2014 11:49", "defaultValue" : "pf 5/18/2014 14:18", "imageExtent" : "pf 5/18/2014 14:25", diff --git a/packages/HTML.package/HtmlTEXTAREANode.class/instance/addToFormatter..st b/packages/HTML.package/HtmlTEXTAREANode.class/instance/addToFormatter..st index 55a26b2b..2d31f7ee 100644 --- a/packages/HTML.package/HtmlTEXTAREANode.class/instance/addToFormatter..st +++ b/packages/HTML.package/HtmlTEXTAREANode.class/instance/addToFormatter..st @@ -1,7 +1,7 @@ accessing addToFormatter: formatter | inputMorph | - formatter currentFormData ifNil: [ + self associatedForm ifNil: [ "not in a form. It's bogus HTML but try to survive" ^self ]. @@ -10,5 +10,5 @@ addToFormatter: formatter inputMorph extent: (self columns * 5) @ (self rows * inputMorph scrollDeltaHeight). inputMorph retractable: false. formatter addMorph: inputMorph. - formatter currentFormData addInput: (TextInput name: self name defaultValue: self innerContents textMorph: inputMorph). + self associatedForm addInput: (TextInput name: self name defaultValue: self innerContents textMorph: inputMorph). formatter ensureNewlines: 1. \ No newline at end of file diff --git a/packages/HTML.package/HtmlTEXTAREANode.class/methodProperties.json b/packages/HTML.package/HtmlTEXTAREANode.class/methodProperties.json index 13a56d45..562180ca 100644 --- a/packages/HTML.package/HtmlTEXTAREANode.class/methodProperties.json +++ b/packages/HTML.package/HtmlTEXTAREANode.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { }, "instance" : { - "addToFormatter:" : "pf 5/18/2014 14:47", + "addToFormatter:" : "rs 5/30/2014 15:29:50.274", "columns" : "pf 5/18/2014 14:45", "name" : "pf 5/18/2014 14:46", "rows" : "pf 5/18/2014 14:45", diff --git a/packages/HTML.package/monticello.meta/version b/packages/HTML.package/monticello.meta/version index b0006300..11899bee 100644 --- a/packages/HTML.package/monticello.meta/version +++ b/packages/HTML.package/monticello.meta/version @@ -1 +1 @@ -d0b54045-26b1-4a1b-844a-76a06b51eeff \ No newline at end of file +8e6fc2a1-920e-4710-8ea0-26f49833aaf9 \ No newline at end of file diff --git a/packages/HTML.package/monticello.meta/version.d/HTML-rs.67_8e6fc2a1-920e-4710-8ea0-26f49833aaf9 b/packages/HTML.package/monticello.meta/version.d/HTML-rs.67_8e6fc2a1-920e-4710-8ea0-26f49833aaf9 new file mode 100644 index 00000000..2f857e0f --- /dev/null +++ b/packages/HTML.package/monticello.meta/version.d/HTML-rs.67_8e6fc2a1-920e-4710-8ea0-26f49833aaf9 @@ -0,0 +1 @@ +(name 'HTML-rs.67' message 'Fix forms' id '8e6fc2a1-920e-4710-8ea0-26f49833aaf9' date '30 May 2014' time '3:32:55.122 pm' author 'rs' ancestors ((id 'd0b54045-26b1-4a1b-844a-76a06b51eeff')) stepChildren ()) \ No newline at end of file From a2656cc33a70b3fd485b82c93ad871f3444c3a57 Mon Sep 17 00:00:00 2001 From: Robert Schmid Date: Fri, 30 May 2014 16:40:38 +0200 Subject: [PATCH 5/7] Fix form submit test --- .../DHtmlFormatter.class/instance/cssPrefixMap.st | 2 +- .../DHtmlFormatter.class/methodProperties.json | 2 +- .../FormInputSet.class/instance/submit.st | 14 -------------- .../FormInputSet.class/methodProperties.json | 1 - .../HtmlFORMNode.class/instance/addToHtmlMorph..st | 3 ++- .../HtmlFORMNode.class/instance/endStyles..st | 3 --- .../HtmlFORMNode.class/instance/isInline.st | 3 +++ .../HtmlFORMNode.class/instance/startStyles..st | 3 --- .../HtmlFORMNode.class/methodProperties.json | 5 ++--- .../HtmlFormatter.class/instance/endForm.st | 3 --- .../HtmlFormatter.class/instance/startForm..st | 4 ---- .../HtmlFormatter.class/methodProperties.json | 2 -- .../instance/addToFormatter..st | 2 +- .../instance/mouseUpFormData.event.linkMorph..st | 2 +- .../HtmlINPUTNode.class/methodProperties.json | 4 ++-- packages/HTML.package/monticello.meta/version | 2 +- ...HTML-rs.72_395d3b09-0758-43c6-b996-b0bde1577d11 | 1 + .../ScamperTest.class/instance/test02submitForm.st | 9 +++++---- .../ScamperTest.class/methodProperties.json | 2 +- packages/Scamper.package/monticello.meta/version | 2 +- ...amper-rs.6_ce375d9b-9925-4d0a-a4d7-7ee23aa909ca | 1 + 21 files changed, 23 insertions(+), 47 deletions(-) delete mode 100644 packages/HTML.package/FormInputSet.class/instance/submit.st delete mode 100644 packages/HTML.package/HtmlFORMNode.class/instance/endStyles..st create mode 100644 packages/HTML.package/HtmlFORMNode.class/instance/isInline.st delete mode 100644 packages/HTML.package/HtmlFORMNode.class/instance/startStyles..st delete mode 100644 packages/HTML.package/HtmlFormatter.class/instance/endForm.st delete mode 100644 packages/HTML.package/HtmlFormatter.class/instance/startForm..st create mode 100644 packages/HTML.package/monticello.meta/version.d/HTML-rs.72_395d3b09-0758-43c6-b996-b0bde1577d11 create mode 100644 packages/Scamper.package/monticello.meta/version.d/Scamper-rs.6_ce375d9b-9925-4d0a-a4d7-7ee23aa909ca diff --git a/packages/HTML.package/DHtmlFormatter.class/instance/cssPrefixMap.st b/packages/HTML.package/DHtmlFormatter.class/instance/cssPrefixMap.st index 21972837..525bbf76 100644 --- a/packages/HTML.package/DHtmlFormatter.class/instance/cssPrefixMap.st +++ b/packages/HTML.package/DHtmlFormatter.class/instance/cssPrefixMap.st @@ -1,7 +1,7 @@ accessing cssPrefixMap ^ cssPrefixMap ifNil: [ - Dictionary newFrom: { + cssPrefixMap := Dictionary newFrom: { 'font' -> CSSFontFormatter new. 'color' -> CSSColorFormatter new }] \ No newline at end of file diff --git a/packages/HTML.package/DHtmlFormatter.class/methodProperties.json b/packages/HTML.package/DHtmlFormatter.class/methodProperties.json index d43d1186..37376ee8 100644 --- a/packages/HTML.package/DHtmlFormatter.class/methodProperties.json +++ b/packages/HTML.package/DHtmlFormatter.class/methodProperties.json @@ -2,7 +2,7 @@ "class" : { }, "instance" : { - "cssPrefixMap" : "pf 5/25/2014 13:57", + "cssPrefixMap" : "rs 5/30/2014 16:12:55.942", "decreaseFontBy:" : "bolot 5/18/2000 11:55", "endFont:" : "bolot 5/18/2000 11:23", "endHeader:" : "rs 5/18/2014 14:16:30.63", diff --git a/packages/HTML.package/FormInputSet.class/instance/submit.st b/packages/HTML.package/FormInputSet.class/instance/submit.st deleted file mode 100644 index d6b0c3de..00000000 --- a/packages/HTML.package/FormInputSet.class/instance/submit.st +++ /dev/null @@ -1,14 +0,0 @@ -action -submit - "collect inputs and instruct the browser to do a submission" - | inputValues | - inputValues := Dictionary new. - - inputs do: [ :input | - input active ifTrue: [ - (inputValues includesKey: input name) ifFalse: [ - inputValues at: input name put: (OrderedCollection new: 1) ]. - (inputValues at: input name) add: input value ] ]. - self browser submitFormWithInputsAsync: inputValues url: form url - method: form method encoding: form encoding. - ^true \ No newline at end of file diff --git a/packages/HTML.package/FormInputSet.class/methodProperties.json b/packages/HTML.package/FormInputSet.class/methodProperties.json index f23c31d9..5cedbcef 100644 --- a/packages/HTML.package/FormInputSet.class/methodProperties.json +++ b/packages/HTML.package/FormInputSet.class/methodProperties.json @@ -9,5 +9,4 @@ "inputs" : "ls 8/11/1998 03:30", "morph:" : "rs 5/30/2014 15:26:08.476", "reset" : "ls 8/5/1998 03:58", - "submit" : "rs 5/30/2014 15:41:51.844", "submitAsync" : "rs 5/30/2014 15:41:41.972" } } diff --git a/packages/HTML.package/HtmlFORMNode.class/instance/addToHtmlMorph..st b/packages/HTML.package/HtmlFORMNode.class/instance/addToHtmlMorph..st index ecb6bc84..d72f57c0 100644 --- a/packages/HTML.package/HtmlFORMNode.class/instance/addToHtmlMorph..st +++ b/packages/HTML.package/HtmlFORMNode.class/instance/addToHtmlMorph..st @@ -2,4 +2,5 @@ as yet unclassified addToHtmlMorph: aHtmlBlockMorph super addToHtmlMorph: aHtmlBlockMorph. - associatedForm morph: htmlMorph \ No newline at end of file + associatedForm morph: htmlMorph. + associatedForm reset \ No newline at end of file diff --git a/packages/HTML.package/HtmlFORMNode.class/instance/endStyles..st b/packages/HTML.package/HtmlFORMNode.class/instance/endStyles..st deleted file mode 100644 index 11c736eb..00000000 --- a/packages/HTML.package/HtmlFORMNode.class/instance/endStyles..st +++ /dev/null @@ -1,3 +0,0 @@ -as yet unclassified -endStyles: aFormatter - aFormatter endForm \ No newline at end of file diff --git a/packages/HTML.package/HtmlFORMNode.class/instance/isInline.st b/packages/HTML.package/HtmlFORMNode.class/instance/isInline.st new file mode 100644 index 00000000..9e9707e1 --- /dev/null +++ b/packages/HTML.package/HtmlFORMNode.class/instance/isInline.st @@ -0,0 +1,3 @@ +as yet unclassified +isInline + ^ false \ No newline at end of file diff --git a/packages/HTML.package/HtmlFORMNode.class/instance/startStyles..st b/packages/HTML.package/HtmlFORMNode.class/instance/startStyles..st deleted file mode 100644 index 0ac18f98..00000000 --- a/packages/HTML.package/HtmlFORMNode.class/instance/startStyles..st +++ /dev/null @@ -1,3 +0,0 @@ -as yet unclassified -startStyles: aFormatter - aFormatter startForm: self \ No newline at end of file diff --git a/packages/HTML.package/HtmlFORMNode.class/methodProperties.json b/packages/HTML.package/HtmlFORMNode.class/methodProperties.json index 9b3ef4c6..a1972c5f 100644 --- a/packages/HTML.package/HtmlFORMNode.class/methodProperties.json +++ b/packages/HTML.package/HtmlFORMNode.class/methodProperties.json @@ -2,12 +2,11 @@ "class" : { }, "instance" : { - "addToHtmlMorph:" : "rs 5/30/2014 15:26:39.038", + "addToHtmlMorph:" : "rs 5/30/2014 16:30:08.608", "associatedForm" : "rs 5/29/2014 23:11:52.896", "encoding" : "pf 5/18/2014 14:31", - "endStyles:" : "rs 5/30/2014 15:28:49.09", "initialize" : "rs 5/30/2014 15:24:27.908", + "isInline" : "rs 5/30/2014 16:03:29.766", "method" : "pf 5/18/2014 14:31", - "startStyles:" : "rs 5/18/2014 15:24:15.682", "tag" : "", "url" : "pf 5/18/2014 14:30" } } diff --git a/packages/HTML.package/HtmlFormatter.class/instance/endForm.st b/packages/HTML.package/HtmlFormatter.class/instance/endForm.st deleted file mode 100644 index bb5ae5a5..00000000 --- a/packages/HTML.package/HtmlFormatter.class/instance/endForm.st +++ /dev/null @@ -1,3 +0,0 @@ -forms -endForm - self ensureNewlines: 1 \ No newline at end of file diff --git a/packages/HTML.package/HtmlFormatter.class/instance/startForm..st b/packages/HTML.package/HtmlFormatter.class/instance/startForm..st deleted file mode 100644 index 07668f03..00000000 --- a/packages/HTML.package/HtmlFormatter.class/instance/startForm..st +++ /dev/null @@ -1,4 +0,0 @@ -forms -startForm: form - "a form is beginning" - self ensureNewlines: 1 \ No newline at end of file diff --git a/packages/HTML.package/HtmlFormatter.class/methodProperties.json b/packages/HTML.package/HtmlFormatter.class/methodProperties.json index 465b0db5..02578984 100644 --- a/packages/HTML.package/HtmlFormatter.class/methodProperties.json +++ b/packages/HTML.package/HtmlFormatter.class/methodProperties.json @@ -22,7 +22,6 @@ "decreasePreformatted" : "LaurentLaffont 2/26/2010 23:13", "decreaseStrike" : "LaurentLaffont 2/26/2010 23:13", "decreaseUnderline" : "LaurentLaffont 2/26/2010 23:13", - "endForm" : "", "endHeader:" : "bolot 5/18/2000 12:02", "endLink:" : "LaurentLaffont 2/26/2010 23:13", "endListItem" : "ls 8/20/1998 11:34", @@ -43,7 +42,6 @@ "initialize" : "rs 5/30/2014 15:30:30.404", "noteAnchorStart:" : "ls 9/10/1998 03:26", "setAttributes" : "LaurentLaffont 2/26/2010 23:13", - "startForm:" : "", "startHeader:" : "bolot 5/18/2000 12:02", "startLink:" : "LaurentLaffont 2/26/2010 23:13", "startListItem" : "bf 11/4/1999 22:23", diff --git a/packages/HTML.package/HtmlINPUTNode.class/instance/addToFormatter..st b/packages/HTML.package/HtmlINPUTNode.class/instance/addToFormatter..st index afc613bf..4d541777 100644 --- a/packages/HTML.package/HtmlINPUTNode.class/instance/addToFormatter..st +++ b/packages/HTML.package/HtmlINPUTNode.class/instance/addToFormatter..st @@ -8,7 +8,7 @@ addToFormatter: formatter "is it a submit button?" self type = 'submit' ifTrue: [ - formatter addMorph: ((PluggableButtonMorph on: form getState: nil action: #submit) label: (self attributes at: 'value' ifAbsent: ['Submit'])). + formatter addMorph: ((PluggableButtonMorph on: form getState: nil action: #submitAsync) label: (self attributes at: 'value' ifAbsent: ['Submit'])). ^self ]. self type = 'image' diff --git a/packages/HTML.package/HtmlINPUTNode.class/instance/mouseUpFormData.event.linkMorph..st b/packages/HTML.package/HtmlINPUTNode.class/instance/mouseUpFormData.event.linkMorph..st index 34d313d5..a741f7e9 100644 --- a/packages/HTML.package/HtmlINPUTNode.class/instance/mouseUpFormData.event.linkMorph..st +++ b/packages/HTML.package/HtmlINPUTNode.class/instance/mouseUpFormData.event.linkMorph..st @@ -4,4 +4,4 @@ mouseUpFormData: formData event: event linkMorph: linkMorph aPoint := event cursorPoint - linkMorph topLeft. formData addInput: (HiddenInput name: (value, '.x') value: aPoint x asInteger asString). formData addInput: (HiddenInput name: (value, '.y') value: aPoint y asInteger asString). - formData submit \ No newline at end of file + formData submitAsync \ No newline at end of file diff --git a/packages/HTML.package/HtmlINPUTNode.class/methodProperties.json b/packages/HTML.package/HtmlINPUTNode.class/methodProperties.json index 5ad38d34..75b9dec9 100644 --- a/packages/HTML.package/HtmlINPUTNode.class/methodProperties.json +++ b/packages/HTML.package/HtmlINPUTNode.class/methodProperties.json @@ -7,12 +7,12 @@ "addImageButtonToFormatter:" : "rs 5/29/2014 23:18:49.476", "addRadioButtonToFormatter:" : "rs 5/29/2014 23:18:42.71", "addTextInputToFormatter:" : "rs 5/29/2014 23:18:32.39", - "addToFormatter:" : "rs 5/29/2014 23:17:52.448", + "addToFormatter:" : "rs 5/30/2014 16:38:10.784", "alt" : "SN 5/22/2014 11:49", "defaultValue" : "SS 5/27/2014 20:35", "imageExtent" : "pf 5/18/2014 14:25", "mouseUpEvent:linkMorph:formData:" : "pf 5/18/2014 14:29", - "mouseUpFormData:event:linkMorph:" : "pf 5/18/2014 14:29", + "mouseUpFormData:event:linkMorph:" : "rs 5/30/2014 16:11:59.28", "name" : "pf 5/18/2014 14:40", "tag" : "", "type" : "pf 5/18/2014 14:10" } } diff --git a/packages/HTML.package/monticello.meta/version b/packages/HTML.package/monticello.meta/version index 80b0a6fb..9330d02e 100644 --- a/packages/HTML.package/monticello.meta/version +++ b/packages/HTML.package/monticello.meta/version @@ -1 +1 @@ -192ded49-3b26-42e4-b6d3-f61fb294a065 \ No newline at end of file +395d3b09-0758-43c6-b996-b0bde1577d11 \ No newline at end of file diff --git a/packages/HTML.package/monticello.meta/version.d/HTML-rs.72_395d3b09-0758-43c6-b996-b0bde1577d11 b/packages/HTML.package/monticello.meta/version.d/HTML-rs.72_395d3b09-0758-43c6-b996-b0bde1577d11 new file mode 100644 index 00000000..a5217d37 --- /dev/null +++ b/packages/HTML.package/monticello.meta/version.d/HTML-rs.72_395d3b09-0758-43c6-b996-b0bde1577d11 @@ -0,0 +1 @@ +(name 'HTML-rs.72' message 'Fix form submit test' id '395d3b09-0758-43c6-b996-b0bde1577d11' date '30 May 2014' time '4:40:08.186 pm' author 'rs' ancestors ((id '192ded49-3b26-42e4-b6d3-f61fb294a065')) stepChildren ()) \ No newline at end of file diff --git a/packages/Scamper.package/ScamperTest.class/instance/test02submitForm.st b/packages/Scamper.package/ScamperTest.class/instance/test02submitForm.st index 8cb859ea..545edc6a 100644 --- a/packages/Scamper.package/ScamperTest.class/instance/test02submitForm.st +++ b/packages/Scamper.package/ScamperTest.class/instance/test02submitForm.st @@ -1,17 +1,18 @@ initialize-release test02submitForm - | scamper website button form | + | scamper button form resultText | scamper := Scamper openOnUrl: 'http://swt-scamper.azurewebsites.net/Scamper-Tests/test02submitForm/request.html'. scamper owner runStepMethods. - website := (((scamper submorphs at: 4) submorphs last) submorphs first). - button := (website submorphs reject: [:Morph | Morph isTextView]) first. + button := scamper model webContentsPane allMorphs detect: + [:morph | (morph respondsTo: #label) and: [ morph label = ' Absenden ']]. form := button model. "accessor added by extension to PluggableButtonMorph" form submitAsync wait. scamper owner runStepMethods. - self assert: scamper model formattedPage withSqueakLineEndings equals: ' + resultText := (scamper model webContentsPane allMorphs detect: [:morph | morph isTextMorph ]) text. + self assert: resultText withSqueakLineEndings equals: ' Scamper4ever! aString /aString/ diff --git a/packages/Scamper.package/ScamperTest.class/methodProperties.json b/packages/Scamper.package/ScamperTest.class/methodProperties.json index 3d9def33..47fb2f71 100644 --- a/packages/Scamper.package/ScamperTest.class/methodProperties.json +++ b/packages/Scamper.package/ScamperTest.class/methodProperties.json @@ -3,5 +3,5 @@ }, "instance" : { "test01jumpToRelativeUrl" : "rs 5/26/2014 12:18:20.388", - "test02submitForm" : "rs 5/26/2014 15:10:49.91", + "test02submitForm" : "rs 5/30/2014 16:36:44.408", "testOpen" : "md 4/16/2003 15:08" } } diff --git a/packages/Scamper.package/monticello.meta/version b/packages/Scamper.package/monticello.meta/version index 62407522..5aefbe8e 100644 --- a/packages/Scamper.package/monticello.meta/version +++ b/packages/Scamper.package/monticello.meta/version @@ -1 +1 @@ -87bb692b-22f0-430e-b5a2-3112ef7c30d5 \ No newline at end of file +ce375d9b-9925-4d0a-a4d7-7ee23aa909ca \ No newline at end of file diff --git a/packages/Scamper.package/monticello.meta/version.d/Scamper-rs.6_ce375d9b-9925-4d0a-a4d7-7ee23aa909ca b/packages/Scamper.package/monticello.meta/version.d/Scamper-rs.6_ce375d9b-9925-4d0a-a4d7-7ee23aa909ca new file mode 100644 index 00000000..d49e10a3 --- /dev/null +++ b/packages/Scamper.package/monticello.meta/version.d/Scamper-rs.6_ce375d9b-9925-4d0a-a4d7-7ee23aa909ca @@ -0,0 +1 @@ +(name 'Scamper-rs.6' message 'Fix form submit test' id 'ce375d9b-9925-4d0a-a4d7-7ee23aa909ca' date '30 May 2014' time '4:40:26.822 pm' author 'rs' ancestors ((id '87bb692b-22f0-430e-b5a2-3112ef7c30d5')) stepChildren ()) \ No newline at end of file From bc86e1cc5fff6cb123ba39fd6d098f9f50199690 Mon Sep 17 00:00:00 2001 From: Robert Schmid Date: Sun, 1 Jun 2014 13:30:08 +0200 Subject: [PATCH 6/7] Fix bounds... almost (except Tanzmaus) --- .../instance/defaultBounds.st | 4 +++ .../instance/initialize.st | 3 +- .../methodProperties.json | 3 +- .../instance/renderDocument..st | 4 ++- .../methodProperties.json | 2 +- .../instance/newContents..st | 36 +++++++++++++++++++ .../methodProperties.json | 1 + .../Scamper.package/monticello.meta/version | 2 +- ...-rs.7_0d3cde47-d5e9-41c0-8b28-550c82835bdb | 1 + 9 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/instance/defaultBounds.st create mode 100644 packages/Scamper.package/HtmlInlineMorph.class/instance/newContents..st create mode 100644 packages/Scamper.package/monticello.meta/version.d/Scamper-rs.7_0d3cde47-d5e9-41c0-8b28-550c82835bdb diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/defaultBounds.st b/packages/Scamper.package/HtmlBlockMorph.class/instance/defaultBounds.st new file mode 100644 index 00000000..c3314065 --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/defaultBounds.st @@ -0,0 +1,4 @@ +initialization +defaultBounds +"answer the default bounds for the receiver" + ^ 0 @ 0 corner: 0 @ 0 \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/initialize.st b/packages/Scamper.package/HtmlBlockMorph.class/instance/initialize.st index 2692b588..b04efd5a 100644 --- a/packages/Scamper.package/HtmlBlockMorph.class/instance/initialize.st +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/initialize.st @@ -8,4 +8,5 @@ initialize listCentering: #topLeft; wrapCentering: #topLeft; vResizing: #rigid; - hResizing: #spaceFill \ No newline at end of file + hResizing: #spaceFill; + cellPositioning: #topLeft \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json b/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json index 1a10b83d..6a5b80ad 100644 --- a/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json +++ b/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json @@ -5,8 +5,9 @@ "addChild:" : "rs 5/28/2014 16:04:49.114", "children" : "SN 5/25/2014 15:35", "children:" : "SN 5/25/2014 15:35", + "defaultBounds" : "rs 5/31/2014 12:55:49.474", "defaultColor" : "SN 5/25/2014 15:22", "incompleteMorphs" : "SN 5/25/2014 15:32", - "initialize" : "rs 5/28/2014 16:57:11.88", + "initialize" : "rs 5/30/2014 20:52:25.558", "node" : "SN 5/25/2014 14:50", "node:" : "SN 5/25/2014 14:50" } } diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/instance/renderDocument..st b/packages/Scamper.package/HtmlDocumentMorph.class/instance/renderDocument..st index 301fcd77..58dd0e25 100644 --- a/packages/Scamper.package/HtmlDocumentMorph.class/instance/renderDocument..st +++ b/packages/Scamper.package/HtmlDocumentMorph.class/instance/renderDocument..st @@ -2,4 +2,6 @@ rendering renderDocument: aHtmlDocument self clear. self document: aHtmlDocument. - self render. \ No newline at end of file + self render. + self allMorphsDo: [ :morph | morph bounds: morph fullBounds ]. + self bounds: self fullBounds \ No newline at end of file diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/methodProperties.json b/packages/Scamper.package/HtmlDocumentMorph.class/methodProperties.json index 0e54220d..378cabc2 100644 --- a/packages/Scamper.package/HtmlDocumentMorph.class/methodProperties.json +++ b/packages/Scamper.package/HtmlDocumentMorph.class/methodProperties.json @@ -6,4 +6,4 @@ "document" : "SN 5/25/2014 14:50", "document:" : "SN 5/25/2014 14:50", "render" : "SN 5/25/2014 14:15", - "renderDocument:" : "SN 5/25/2014 14:14" } } + "renderDocument:" : "rs 6/1/2014 13:28:25.586" } } diff --git a/packages/Scamper.package/HtmlInlineMorph.class/instance/newContents..st b/packages/Scamper.package/HtmlInlineMorph.class/instance/newContents..st new file mode 100644 index 00000000..0ccbf941 --- /dev/null +++ b/packages/Scamper.package/HtmlInlineMorph.class/instance/newContents..st @@ -0,0 +1,36 @@ +as yet unclassified +newContents: stringOrText + "Accept new text contents." + | newText embeddedMorphs | + "If my text is all the same font, use the font for my new contents" + newText := stringOrText isString ifTrue: [ | textSize | + (text notNil + and: [ (textSize := text size) > 0 + and: [ (text runLengthFor: 1) = textSize ]]) ifTrue: [ | attribs | + attribs := text attributesAt: 1 forStyle: textStyle. + Text string: stringOrText copy attributes: attribs. + ] + ifFalse: [ Text fromString: stringOrText copy ] + ] + ifFalse: [ stringOrText copy asText. "should be veryDeepCopy?" ]. + + (text = newText and: [text runs = newText runs]) ifTrue: [^ self]. "No substantive change" + text ifNotNil: [(embeddedMorphs := text embeddedMorphs) + ifNotNil: + [self removeAllMorphsIn: embeddedMorphs. + embeddedMorphs do: [:m | m delete]]]. + + text := newText. + + "PLEASE PLEASE DON'T add all morphs off the visible region; they'll be moved into the right + place when they become visible. (this can make the scrollable area too + large, though)" + newText embeddedMorphs do: + [:m | + self addMorph: m. + m position: 0 @ 0]. + self releaseParagraph. + "update the paragraph cache" + self paragraph. + "re-instantiate to set bounds" + self world ifNotNil: [self world startSteppingSubmorphsOf: self] \ No newline at end of file diff --git a/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json b/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json index ae7523f9..b1388969 100644 --- a/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json +++ b/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json @@ -5,5 +5,6 @@ "incompleteMorphs" : "SN 5/25/2014 15:34", "incompleteMorphs:" : "SN 5/25/2014 15:34", "initialize" : "rs 5/28/2014 16:36:11.768", + "newContents:" : "rs 6/1/2014 13:05:52.49", "nodes" : "SN 5/25/2014 14:49", "nodes:" : "SN 5/25/2014 14:49" } } diff --git a/packages/Scamper.package/monticello.meta/version b/packages/Scamper.package/monticello.meta/version index 5aefbe8e..04c442ec 100644 --- a/packages/Scamper.package/monticello.meta/version +++ b/packages/Scamper.package/monticello.meta/version @@ -1 +1 @@ -ce375d9b-9925-4d0a-a4d7-7ee23aa909ca \ No newline at end of file +0d3cde47-d5e9-41c0-8b28-550c82835bdb \ No newline at end of file diff --git a/packages/Scamper.package/monticello.meta/version.d/Scamper-rs.7_0d3cde47-d5e9-41c0-8b28-550c82835bdb b/packages/Scamper.package/monticello.meta/version.d/Scamper-rs.7_0d3cde47-d5e9-41c0-8b28-550c82835bdb new file mode 100644 index 00000000..b045892f --- /dev/null +++ b/packages/Scamper.package/monticello.meta/version.d/Scamper-rs.7_0d3cde47-d5e9-41c0-8b28-550c82835bdb @@ -0,0 +1 @@ +(name 'Scamper-rs.7' message 'Fix bounds... almost (except Tanzmaus)' id '0d3cde47-d5e9-41c0-8b28-550c82835bdb' date '1 June 2014' time '1:29:36.707 pm' author 'rs' ancestors ((id 'ce375d9b-9925-4d0a-a4d7-7ee23aa909ca')) stepChildren ()) \ No newline at end of file From ecac7f826e38a8a482485e03555bd4029151456e Mon Sep 17 00:00:00 2001 From: Robert Schmid Date: Wed, 4 Jun 2014 00:11:03 +0200 Subject: [PATCH 7/7] Fix the right thing --- .../instance/layoutChanged.st | 8 +++++ .../methodProperties.json | 1 + .../instance/renderDocument..st | 4 +-- .../methodProperties.json | 2 +- .../instance/newContents..st | 36 ------------------- .../methodProperties.json | 1 - .../Scamper.package/monticello.meta/version | 2 +- ...-rs.8_30206626-5c3d-41e8-b091-4eb701db8865 | 1 + 8 files changed, 13 insertions(+), 42 deletions(-) create mode 100644 packages/Scamper.package/HtmlBlockMorph.class/instance/layoutChanged.st delete mode 100644 packages/Scamper.package/HtmlInlineMorph.class/instance/newContents..st create mode 100644 packages/Scamper.package/monticello.meta/version.d/Scamper-rs.8_30206626-5c3d-41e8-b091-4eb701db8865 diff --git a/packages/Scamper.package/HtmlBlockMorph.class/instance/layoutChanged.st b/packages/Scamper.package/HtmlBlockMorph.class/instance/layoutChanged.st new file mode 100644 index 00000000..0af4d9db --- /dev/null +++ b/packages/Scamper.package/HtmlBlockMorph.class/instance/layoutChanged.st @@ -0,0 +1,8 @@ +layout +layoutChanged + | delta submorphCorner | + submorphCorner := (self defaultBounds quickMerge: self submorphBounds) corner asIntegerPoint. + delta := submorphCorner - self bounds corner. + (delta x ~= 0 or: [ delta y ~= 0]) + ifTrue: [ self extent: submorphCorner - self position ] + ifFalse: [ super layoutChanged ] \ No newline at end of file diff --git a/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json b/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json index 6a5b80ad..f66fe3fc 100644 --- a/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json +++ b/packages/Scamper.package/HtmlBlockMorph.class/methodProperties.json @@ -9,5 +9,6 @@ "defaultColor" : "SN 5/25/2014 15:22", "incompleteMorphs" : "SN 5/25/2014 15:32", "initialize" : "rs 5/30/2014 20:52:25.558", + "layoutChanged" : "rs 6/3/2014 23:40:44.166", "node" : "SN 5/25/2014 14:50", "node:" : "SN 5/25/2014 14:50" } } diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/instance/renderDocument..st b/packages/Scamper.package/HtmlDocumentMorph.class/instance/renderDocument..st index 58dd0e25..1210dece 100644 --- a/packages/Scamper.package/HtmlDocumentMorph.class/instance/renderDocument..st +++ b/packages/Scamper.package/HtmlDocumentMorph.class/instance/renderDocument..st @@ -2,6 +2,4 @@ rendering renderDocument: aHtmlDocument self clear. self document: aHtmlDocument. - self render. - self allMorphsDo: [ :morph | morph bounds: morph fullBounds ]. - self bounds: self fullBounds \ No newline at end of file + self render \ No newline at end of file diff --git a/packages/Scamper.package/HtmlDocumentMorph.class/methodProperties.json b/packages/Scamper.package/HtmlDocumentMorph.class/methodProperties.json index 378cabc2..4259251b 100644 --- a/packages/Scamper.package/HtmlDocumentMorph.class/methodProperties.json +++ b/packages/Scamper.package/HtmlDocumentMorph.class/methodProperties.json @@ -6,4 +6,4 @@ "document" : "SN 5/25/2014 14:50", "document:" : "SN 5/25/2014 14:50", "render" : "SN 5/25/2014 14:15", - "renderDocument:" : "rs 6/1/2014 13:28:25.586" } } + "renderDocument:" : "rs 6/4/2014 00:07:08.87" } } diff --git a/packages/Scamper.package/HtmlInlineMorph.class/instance/newContents..st b/packages/Scamper.package/HtmlInlineMorph.class/instance/newContents..st deleted file mode 100644 index 0ccbf941..00000000 --- a/packages/Scamper.package/HtmlInlineMorph.class/instance/newContents..st +++ /dev/null @@ -1,36 +0,0 @@ -as yet unclassified -newContents: stringOrText - "Accept new text contents." - | newText embeddedMorphs | - "If my text is all the same font, use the font for my new contents" - newText := stringOrText isString ifTrue: [ | textSize | - (text notNil - and: [ (textSize := text size) > 0 - and: [ (text runLengthFor: 1) = textSize ]]) ifTrue: [ | attribs | - attribs := text attributesAt: 1 forStyle: textStyle. - Text string: stringOrText copy attributes: attribs. - ] - ifFalse: [ Text fromString: stringOrText copy ] - ] - ifFalse: [ stringOrText copy asText. "should be veryDeepCopy?" ]. - - (text = newText and: [text runs = newText runs]) ifTrue: [^ self]. "No substantive change" - text ifNotNil: [(embeddedMorphs := text embeddedMorphs) - ifNotNil: - [self removeAllMorphsIn: embeddedMorphs. - embeddedMorphs do: [:m | m delete]]]. - - text := newText. - - "PLEASE PLEASE DON'T add all morphs off the visible region; they'll be moved into the right - place when they become visible. (this can make the scrollable area too - large, though)" - newText embeddedMorphs do: - [:m | - self addMorph: m. - m position: 0 @ 0]. - self releaseParagraph. - "update the paragraph cache" - self paragraph. - "re-instantiate to set bounds" - self world ifNotNil: [self world startSteppingSubmorphsOf: self] \ No newline at end of file diff --git a/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json b/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json index b1388969..ae7523f9 100644 --- a/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json +++ b/packages/Scamper.package/HtmlInlineMorph.class/methodProperties.json @@ -5,6 +5,5 @@ "incompleteMorphs" : "SN 5/25/2014 15:34", "incompleteMorphs:" : "SN 5/25/2014 15:34", "initialize" : "rs 5/28/2014 16:36:11.768", - "newContents:" : "rs 6/1/2014 13:05:52.49", "nodes" : "SN 5/25/2014 14:49", "nodes:" : "SN 5/25/2014 14:49" } } diff --git a/packages/Scamper.package/monticello.meta/version b/packages/Scamper.package/monticello.meta/version index 04c442ec..4b23f620 100644 --- a/packages/Scamper.package/monticello.meta/version +++ b/packages/Scamper.package/monticello.meta/version @@ -1 +1 @@ -0d3cde47-d5e9-41c0-8b28-550c82835bdb \ No newline at end of file +30206626-5c3d-41e8-b091-4eb701db8865 \ No newline at end of file diff --git a/packages/Scamper.package/monticello.meta/version.d/Scamper-rs.8_30206626-5c3d-41e8-b091-4eb701db8865 b/packages/Scamper.package/monticello.meta/version.d/Scamper-rs.8_30206626-5c3d-41e8-b091-4eb701db8865 new file mode 100644 index 00000000..04193d10 --- /dev/null +++ b/packages/Scamper.package/monticello.meta/version.d/Scamper-rs.8_30206626-5c3d-41e8-b091-4eb701db8865 @@ -0,0 +1 @@ +(name 'Scamper-rs.8' message 'Fix the right thing' id '30206626-5c3d-41e8-b091-4eb701db8865' date '4 June 2014' time '12:10:32.641 am' author 'rs' ancestors ((id '0d3cde47-d5e9-41c0-8b28-550c82835bdb')) stepChildren ()) \ No newline at end of file