[Pharo-dev] Zinc-rest URL matching
Hi, I use Zinc-Rest and it works like a charm, really simple to quickly get something working. I have a question about URL pattern matching that is used to dispatch request to the right handler. I want to have following URLs: /foo/* /foo/latest I defined 2 handlers with following patterns: #('foo' '*') #('foo' 'latest') I was expecting that the more precise handler was chosen but it was the generic handler (with '*'). Is there a way to do that? It is not blocking because I can use the same handler to manage both patterns but I would prefer to have them separated as the semantic is not the same. Regards, Christophe. smime.p7s Description: S/MIME cryptographic signature
Re: [Pharo-dev] Zinc-rest URL matching
You may want to check this thread. http://forum.world.st/ANN-Teapot-0-8-micro-web-framework-tp4774449.html Hope it solves your needs :) 2014-09-12 10:28 GMT+02:00 Christophe Demarey christophe.dema...@inria.fr: Hi, I use Zinc-Rest and it works like a charm, really simple to quickly get something working. I have a question about URL pattern matching that is used to dispatch request to the right handler. I want to have following URLs: /foo/* /foo/latest I defined 2 handlers with following patterns: #('foo' '*') #('foo' 'latest') I was expecting that the more precise handler was chosen but it was the generic handler (with '*'). Is there a way to do that? It is not blocking because I can use the same handler to manage both patterns but I would prefer to have them separated as the semantic is not the same. Regards, Christophe.
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/40219 Home: https://github.com/pharo-project/pharo-core
[Pharo-dev] [pharo-project/pharo-core] 0964b9: 40219
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: 0964b98329abb623c8f85c25e414009a5ec4b2da https://github.com/pharo-project/pharo-core/commit/0964b98329abb623c8f85c25e414009a5ec4b2da Author: Jenkins Build Server bo...@pharo-project.org Date: 2014-09-12 (Fri, 12 Sep 2014) Changed paths: M Refactoring-Critics.package/RBImplementedNotSentRule.class/definition.st A Refactoring-Critics.package/RBImplementedNotSentRule.class/instance/cache/literals.st A Refactoring-Critics.package/RBImplementedNotSentRule.class/instance/private/addLiteral_.st M Refactoring-Critics.package/RBImplementedNotSentRule.class/instance/running/checkMethod_.st A Refactoring-Critics.package/RBImplementedNotSentRule.class/instance/running/resetResult.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script219.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40219.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st M System-Announcements.package/MethodRecategorized.class/instance/accessing/methodRecategorized_.st M System-Announcements.package/MethodRemoved.class/instance/accessing/methodRemoved_.st Log Message: --- 40219 13993 remove two undeclared in System-Announcemetns https://pharo.fogbugz.com/f/cases/13993 13990 RBImplementedNotSentRule slow https://pharo.fogbugz.com/f/cases/13990 http://files.pharo.org/image/40/40219.zip
Re: [Pharo-dev] Zinc-rest URL matching
Hi Christophe, On 12 Sep 2014, at 10:28, Christophe Demarey christophe.dema...@inria.fr wrote: Hi, I use Zinc-Rest and it works like a charm, really simple to quickly get something working. I have a question about URL pattern matching that is used to dispatch request to the right handler. I want to have following URLs: /foo/* /foo/latest I defined 2 handlers with following patterns: #('foo' '*') #('foo' 'latest') I was expecting that the more precise handler was chosen but it was the generic handler (with '*'). Is there a way to do that? It is not blocking because I can use the same handler to manage both patterns but I would prefer to have them separated as the semantic is not the same. Regards, Christophe. My first answer would indeed also have been to handle both cases in one call (I did similar things in my projects). But now that you mention it, I think this can be fixed quite easily. Have a look at the following version: === Name: Zinc-REST-SvenVanCaekenberghe.16 Author: SvenVanCaekenberghe Time: 12 September 2014, 11:55:02.020483 am UUID: 6421d8be-c7c8-44fc-8958-121cc86ae93e Ancestors: Zinc-REST-SvenVanCaekenberghe.15 ZnCallHierarchyRestUriSpace#match: now uses #order to sort auto matched REST call subclasses - a lower order call will be matched before a higher order call. === By default, calls inherit order 50, to make move one call earlier in the matching process, override #order with a lower number. Thanks for the feedback, this is really helpful. HTH, Sven
[Pharo-dev] [pharo-project/pharo-core] 56d108: 40220
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: 56d1088926e2b3f5602ee74771eb1d5f00e5b987 https://github.com/pharo-project/pharo-core/commit/56d1088926e2b3f5602ee74771eb1d5f00e5b987 Author: Jenkins Build Server bo...@pharo-project.org Date: 2014-09-12 (Fri, 12 Sep 2014) Changed paths: M Refactoring-Critics.package/RBSentNotImplementedRule.class/instance/running/checkMethod_.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script220.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40220.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st A System-CachingTests.package/DoubleLinkedListTests.class/README.md A System-CachingTests.package/DoubleLinkedListTests.class/definition.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testAddAfterLink.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testAddBeforeLink.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testAddFirst.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testAddLast.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testCollect.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testDo.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testEmpty.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testIncludes.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testOne.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testOneRemoveFirst.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testOneRemoveLast.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testReject.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testReverseDo.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testSelect.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testThree.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testThreeRemoveFirst.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testThreeRemoveLast.st A System-CachingTests.package/DoubleLinkedListTests.class/instance/testing/testThreeRemoveLink.st A System-CachingTests.package/LRUCacheTests.class/README.md A System-CachingTests.package/LRUCacheTests.class/definition.st A System-CachingTests.package/LRUCacheTests.class/instance/accessing/newCache.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/test5kClasses.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/test6k.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testCustomWeight.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testEmpty.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testEnumeration.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testEviction.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testFactory.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testFactoryStyle.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testFibonacci.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testFixedAccess.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testOne.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testOneHit.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testOneHitTwice.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testPrimeFactors.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testRandomAccess.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testRemoveAll.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testRemoveOne.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testRemoveOneOfThree.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testTen.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testTenThreadSafe.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testThree.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testThreeHitSameOne.st A System-CachingTests.package/LRUCacheTests.class/instance/testing/testTwo.st A System-CachingTests.package/TTLCacheTests.class/README.md A System-CachingTests.package/TTLCacheTests.class/definition.st
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/40220 Home: https://github.com/pharo-project/pharo-core
[Pharo-dev] fosdem 2015
Hi people!, Will we have room in next FOSDEM?
Re: [Pharo-dev] Zinc-rest URL matching
Le 12 sept. 2014 à 10:50, Santiago Bragagnolo a écrit : You may want to check this thread. http://forum.world.st/ANN-Teapot-0-8-micro-web-framework-tp4774449.html Hope it solves your needs :) Thanks, nice framework. Interesting to know smime.p7s Description: S/MIME cryptographic signature
Re: [Pharo-dev] Zinc-rest URL matching
Hi Sven, Le 12 sept. 2014 à 11:59, Sven Van Caekenberghe a écrit : Hi Christophe, On 12 Sep 2014, at 10:28, Christophe Demarey christophe.dema...@inria.fr wrote: Hi, I use Zinc-Rest and it works like a charm, really simple to quickly get something working. I have a question about URL pattern matching that is used to dispatch request to the right handler. I want to have following URLs: /foo/* /foo/latest I defined 2 handlers with following patterns: #('foo' '*') #('foo' 'latest') I was expecting that the more precise handler was chosen but it was the generic handler (with '*'). Is there a way to do that? It is not blocking because I can use the same handler to manage both patterns but I would prefer to have them separated as the semantic is not the same. Regards, Christophe. My first answer would indeed also have been to handle both cases in one call (I did similar things in my projects). But now that you mention it, I think this can be fixed quite easily. Have a look at the following version: === Name: Zinc-REST-SvenVanCaekenberghe.16 Author: SvenVanCaekenberghe Time: 12 September 2014, 11:55:02.020483 am UUID: 6421d8be-c7c8-44fc-8958-121cc86ae93e Ancestors: Zinc-REST-SvenVanCaekenberghe.15 ZnCallHierarchyRestUriSpace#match: now uses #order to sort auto matched REST call subclasses - a lower order call will be matched before a higher order call. === By default, calls inherit order 50, to make move one call earlier in the matching process, override #order with a lower number. Indeed, it does the trick with only a few changes :) I wonder if it would be a good idea to give a default lower priority (ex: 20) if the pattern ends with a '*'. It could be done in the order method. I think you will never had to override priority this way but it has a little CPU overhead. Thanks for the quick feedback. It looks like functionality on-demand :) Christophe smime.p7s Description: S/MIME cryptographic signature
Re: [Pharo-dev] Zinc-rest URL matching
On 12 Sep 2014, at 12:23, Christophe Demarey christophe.dema...@inria.fr wrote: Hi Sven, Le 12 sept. 2014 à 11:59, Sven Van Caekenberghe a écrit : Hi Christophe, On 12 Sep 2014, at 10:28, Christophe Demarey christophe.dema...@inria.fr wrote: Hi, I use Zinc-Rest and it works like a charm, really simple to quickly get something working. I have a question about URL pattern matching that is used to dispatch request to the right handler. I want to have following URLs: /foo/* /foo/latest I defined 2 handlers with following patterns: #('foo' '*') #('foo' 'latest') I was expecting that the more precise handler was chosen but it was the generic handler (with '*'). Is there a way to do that? It is not blocking because I can use the same handler to manage both patterns but I would prefer to have them separated as the semantic is not the same. Regards, Christophe. My first answer would indeed also have been to handle both cases in one call (I did similar things in my projects). But now that you mention it, I think this can be fixed quite easily. Have a look at the following version: === Name: Zinc-REST-SvenVanCaekenberghe.16 Author: SvenVanCaekenberghe Time: 12 September 2014, 11:55:02.020483 am UUID: 6421d8be-c7c8-44fc-8958-121cc86ae93e Ancestors: Zinc-REST-SvenVanCaekenberghe.15 ZnCallHierarchyRestUriSpace#match: now uses #order to sort auto matched REST call subclasses - a lower order call will be matched before a higher order call. === By default, calls inherit order 50, to make move one call earlier in the matching process, override #order with a lower number. Indeed, it does the trick with only a few changes :) I wonder if it would be a good idea to give a default lower priority (ex: 20) if the pattern ends with a '*'. It could be done in the order method. I think you will never had to override priority this way but it has a little CPU overhead. Hmm, I thought about other ways of sorting patterns, but they will all be quite complex. [ Also remember that from a design standpoint, #pattern is not external, only #match: is, as there could be other approaches to matching ]. The trick with #order is very simple and only has to be used when there is a actual conflict, which is quite seldom I think. I can think of more conflicts than the one you can up with /tasks /tasks/* /tasks/last /tasks/*/items/* /tasks/last/items/* /tasks/*/items/last What I mean is, it is not just the number of stars. [ More like the longest match ]. But if you would come up with something general enough I would be interested. BTW, REST API design is quite hard, we have discussion about this subject here every week. Thanks for the quick feedback. It looks like functionality on-demand :) Christophe
Re: [Pharo-dev] fosdem 2015
Santiage wrote: Hi people!, Will we have room in next FOSDEM? I will put out a proposal for a devroom, yes. That is no guarantee that we will get one, the amount of space is limited. Stephan
Re: [Pharo-dev] fosdem 2015
Great, keep us updated :) If i can help, tell me. 2014-09-12 13:05 GMT+02:00 Stephan Eggermont step...@stack.nl: Santiage wrote: Hi people!, Will we have room in next FOSDEM? I will put out a proposal for a devroom, yes. That is no guarantee that we will get one, the amount of space is limited. Stephan
Re: [Pharo-dev] fosdem 2015
I am living close to the venue, tell me if I can help. Phil On Fri, Sep 12, 2014 at 1:05 PM, Stephan Eggermont step...@stack.nl wrote: Santiage wrote: Hi people!, Will we have room in next FOSDEM? I will put out a proposal for a devroom, yes. That is no guarantee that we will get one, the amount of space is limited. Stephan
[Pharo-dev] [pharo-project/pharo-core] b2889c: 40221
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: b2889c176180755954e866ceca6380fd90577271 https://github.com/pharo-project/pharo-core/commit/b2889c176180755954e866ceca6380fd90577271 Author: Jenkins Build Server bo...@pharo-project.org Date: 2014-09-12 (Fri, 12 Sep 2014) Changed paths: R AsmJit-Tests.package/AJx86AssemblerTests.class/instance/tests/testRegistersOf_.st A Collections-Streams.package/LimitedWriteStream.class/instance/accessing/nextPutAll_.st R Collections-Streams.package/LimitedWriteStream.class/instance/as yet unclassified/nextPutAll_.st R Collections-Streams.package/LimitedWriteStream.class/instance/as yet unclassified/pastEndPut_.st A Collections-Streams.package/LimitedWriteStream.class/instance/private/pastEndPut_.st M Collections-Streams.package/LimitingLineStreamWrapper.class/class/examples/example1.st M Collections-Streams.package/LimitingLineStreamWrapper.class/class/examples/example2.st M Collections-Streams.package/MultiByteBinaryOrTextStream.class/instance/private basic/basicNextInto_.st M Collections-Streams.package/MultiByteBinaryOrTextStream.class/instance/private basic/basicNext_into_.st M Collections-Streams.package/MultiByteBinaryOrTextStream.class/instance/private basic/basicPosition.st M Collections-Streams.package/MultiByteBinaryOrTextStream.class/instance/private basic/basicPosition_.st M Collections-Streams.package/PositionableStream.class/instance/data get%2Fput/int16_.st M Collections-Streams.package/PositionableStream.class/instance/data get%2Fput/int32_.st M Collections-Streams.package/PositionableStream.class/instance/positioning/untilEndWithFork_displayingProgress_.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/accessing/binary.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/accessing/contents.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/accessing/isBinary.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/accessing/next.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/accessing/nextPut_.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/accessing/next_.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/accessing/next_into_startingAt_.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/accessing/readInto_startingAt_count_.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/accessing/text.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/accessing/upToEnd.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/asBinaryOrTextStream.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/ascii.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/binary.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/contents.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/isBinary.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/next.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/nextPut_.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/next_.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/next_into_startingAt_.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/padToEndWith_.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/readInto_startingAt_count_.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/reset.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/setFileTypeToObject.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/text.st R Collections-Streams.package/RWBinaryOrTextStream.class/instance/as yet unclassified/upToEnd.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/converting/asBinaryOrTextStream.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/converting/ascii.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/positioning/reset.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/properties-setting/setFileTypeToObject.st A Collections-Streams.package/RWBinaryOrTextStream.class/instance/public/padToEndWith_.st A Collections-Streams.package/TextStream.class/instance/accessing/nextPutAll_.st R Collections-Streams.package/TextStream.class/instance/as yet unclassified/nextPutAll_.st R
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/40221 Home: https://github.com/pharo-project/pharo-core
[Pharo-dev] Which Character Encodings do you want/need in Pharo ?
Hi, ZnCharacterEncoder and its subclasses in the package Zinc-Character-Encoding-Core (a standard part of Pharo) have the following features: - proper Unicode Character/String to/from byte(s) encoding/decoding - calculation of encoding size per Character/String - proper handling of holes in tables with exceptions (strict/lenient) - properly backing up one character on a binary stream - simple, efficient, documented - convenience API - optimisations for some encodings Together, they support the following encodings: - utf-8 - utf-16 (big/little endian, bom detection) - null - iso-8859-1 (latin-1) - iso-8859-2 (latin-2) - mac-roman - cp1250 - cp1252 - cp1253 - koi8r - iso-8859-7 - iso-8859-15 The question is, what other encodings do you want/need ? There is already a request to add CP1251. New byte encoders are easy to add, based on the official Unicode mappings that can be found here: http://unicode.org/Public/MAPPINGS (these are automagically parsed). Please help us make Pharo more international friendly. Sven
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/40222 Home: https://github.com/pharo-project/pharo-core
[Pharo-dev] [pharo-project/pharo-core] ffde2a: 40222
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: ffde2ab569aa9227b81ea1ed2b180099aad86594 https://github.com/pharo-project/pharo-core/commit/ffde2ab569aa9227b81ea1ed2b180099aad86594 Author: Jenkins Build Server bo...@pharo-project.org Date: 2014-09-12 (Fri, 12 Sep 2014) Changed paths: M NewValueHolder.package/extension/Object/instance/asReactiveVariable.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script222.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40222.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st M Spec-Core.package/AbstractWidgetModel.class/instance/initialization/initialize.st M Spec-Core.package/ButtonModel.class/instance/initialization/initialize.st M Spec-Core.package/CheckBoxModel.class/instance/initialization/initialize.st M Spec-Core.package/ComposableModel.class/instance/initialization/initialize.st M Spec-Core.package/DialogWindowModel.class/instance/initialize/initialize.st M Spec-Core.package/DiffModel.class/instance/initialize/initialize.st M Spec-Core.package/DropListModel.class/instance/initialization/initialize.st M Spec-Core.package/DynamicComposableModel.class/instance/initialization/initialize.st M Spec-Core.package/IconListModel.class/instance/initialization/initialize.st M Spec-Core.package/ImageModel.class/instance/initialization/initialize.st M Spec-Core.package/LabelModel.class/instance/initialization/initialize.st M Spec-Core.package/ListModel.class/instance/initialization/initialize.st M Spec-Core.package/MenuGroupModel.class/instance/initialize/initialize.st M Spec-Core.package/MenuItemModel.class/instance/initialize/initialize.st M Spec-Core.package/MenuModel.class/instance/initialize/initialize.st M Spec-Core.package/NewListModel.class/instance/initialize/initialize.st M Spec-Core.package/OkCancelToolbar.class/instance/initialization/initialize.st M Spec-Core.package/OkToolbar.class/instance/initialization/initialize.st M Spec-Core.package/RadioButtonModel.class/instance/initialization/initialize.st M Spec-Core.package/SliderModel.class/instance/initialization/initialize.st M Spec-Core.package/TabManagerModel.class/instance/initialize/initialize.st M Spec-Core.package/TabModel.class/instance/initialize/initialize.st M Spec-Core.package/TextInputFieldModel.class/instance/initialization/initialize.st M Spec-Core.package/TextModel.class/instance/initialization/initialize.st M Spec-Core.package/TreeColumnModel.class/instance/initialization/initialize.st M Spec-Core.package/TreeModel.class/instance/initialization/initialize.st M Spec-Core.package/TreeNodeModel.class/instance/initialize/initialize.st M Spec-Core.package/WindowModel.class/instance/initialization/initialize.st M Spec-Debugger.package/SpecDebugActionButton.class/instance/initialization/initialize.st M Spec-Debugger.package/SpecDebugger.class/instance/initialization/initialize.st M Spec-Debugger.package/SpecDebuggerDynamicToolbar.class/instance/initialization/initialize.st M Spec-Debugger.package/SpecDebuggerStack.class/instance/initialization/initialize.st M Spec-Debugger.package/SpecPreDebugWindow.class/instance/initialization/initialize.st M Spec-Examples.package/DynamicSpecExample.class/instance/initialization/initialize.st M Spec-Inspector.package/EyeAbstractInspector.class/instance/initialization/initialize.st M Spec-Inspector.package/InspectorNavigator.class/instance/initialization/initialize.st M Spec-MorphicAdapters.package/MorphicWindowAdapter.class/instance/initialize/initialize.st M Spec-PolyWidgets.package/DateModel.class/instance/initialization/initialize.st M Spec-PolyWidgets.package/EditableList.class/instance/initialization/initialize.st M Spec-PolyWidgets.package/InputWidget.class/instance/initialization/initialize.st M Spec-PolyWidgets.package/MethodToolbar.class/instance/initialization/initialize.st M Spec-PolyWidgets.package/PickListModel.class/instance/initialization/initialize.st M Spec-PolyWidgets.package/SearchableTree.class/instance/initialization/initialize.st M Spec-Tools.package/AbstractApiSetter.class/instance/initialization/initialize.st M Spec-Tools.package/BlockEditor.class/instance/initialization/initialize.st M Spec-Tools.package/ColorEditor.class/instance/initialization/initialize.st M Spec-Tools.package/IntegerEditor.class/instance/initialization/initialize.st M Spec-Tools.package/MessageBrowser.class/instance/initialization/initialize.st M Spec-Tools.package/MessageBrowser.class/instance/initialization/initializeWidgets.st M Spec-Tools.package/STEditor.class/instance/initialization/initialize.st M
Re: [Pharo-dev] Which Character Encodings do you want/need in Pharo ?
I am not in any urgent need as I rarely use (like almost never) my native language in reading or writing when it comes to anything related to computers, apart from facebook friends. But I would like to see it added to pharo , its Ελληνικά or as you know it Greek. I assume the most popular encondings to have would be Chinese and Hindu ? On Fri, Sep 12, 2014 at 4:10 PM, Sven Van Caekenberghe s...@stfx.eu wrote: Hi, ZnCharacterEncoder and its subclasses in the package Zinc-Character-Encoding-Core (a standard part of Pharo) have the following features: - proper Unicode Character/String to/from byte(s) encoding/decoding - calculation of encoding size per Character/String - proper handling of holes in tables with exceptions (strict/lenient) - properly backing up one character on a binary stream - simple, efficient, documented - convenience API - optimisations for some encodings Together, they support the following encodings: - utf-8 - utf-16 (big/little endian, bom detection) - null - iso-8859-1 (latin-1) - iso-8859-2 (latin-2) - mac-roman - cp1250 - cp1252 - cp1253 - koi8r - iso-8859-7 - iso-8859-15 The question is, what other encodings do you want/need ? There is already a request to add CP1251. New byte encoders are easy to add, based on the official Unicode mappings that can be found here: http://unicode.org/Public/MAPPINGS (these are automagically parsed). Please help us make Pharo more international friendly. Sven
Re: [Pharo-dev] Which Character Encodings do you want/need in Pharo ?
On 12 Sep 2014, at 16:05, kilon alios kilon.al...@gmail.com wrote: I am not in any urgent need as I rarely use (like almost never) my native language in reading or writing when it comes to anything related to computers, apart from facebook friends. But I would like to see it added to pharo , its Ελληνικά or as you know it Greek. So that would be ISO 8857-9 (http://en.wikipedia.org/wiki/ISO/IEC_8859-7 - http://unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT) then, right ? Is this nice to have or really necessary (as in used by everybody using the Greek language) ? I assume the most popular encondings to have would be Chinese and Hindu ? I think this something that (native) speakers should help with ;-) Remember we have full Unicode Character/String capable classes, as well as good UTF-8. Those cover all languages, in theory. The question comes down to which older encodings are still really used/necessary today. On Fri, Sep 12, 2014 at 4:10 PM, Sven Van Caekenberghe s...@stfx.eu wrote: Hi, ZnCharacterEncoder and its subclasses in the package Zinc-Character-Encoding-Core (a standard part of Pharo) have the following features: - proper Unicode Character/String to/from byte(s) encoding/decoding - calculation of encoding size per Character/String - proper handling of holes in tables with exceptions (strict/lenient) - properly backing up one character on a binary stream - simple, efficient, documented - convenience API - optimisations for some encodings Together, they support the following encodings: - utf-8 - utf-16 (big/little endian, bom detection) - null - iso-8859-1 (latin-1) - iso-8859-2 (latin-2) - mac-roman - cp1250 - cp1252 - cp1253 - koi8r - iso-8859-7 - iso-8859-15 The question is, what other encodings do you want/need ? There is already a request to add CP1251. New byte encoders are easy to add, based on the official Unicode mappings that can be found here: http://unicode.org/Public/MAPPINGS (these are automagically parsed). Please help us make Pharo more international friendly. Sven
Re: [Pharo-dev] Which Character Encodings do you want/need in Pharo ?
Ok this is strange the ISO 8857-7 is available with Chrome as an encoding , I tried it and it turns Greek to weird signs. Actually I tried also several others available for Greek by Chrome and none works apart from the default which is UTF-8 Also you can ignore my request as I tried Pharo with True Type fonts with Arial and it can display Greeks just fine. Well done Pharoers , once again Pharo surprises me in a good way :) On Fri, Sep 12, 2014 at 5:16 PM, Sven Van Caekenberghe s...@stfx.eu wrote: On 12 Sep 2014, at 16:05, kilon alios kilon.al...@gmail.com wrote: I am not in any urgent need as I rarely use (like almost never) my native language in reading or writing when it comes to anything related to computers, apart from facebook friends. But I would like to see it added to pharo , its Ελληνικά or as you know it Greek. So that would be ISO 8857-9 (http://en.wikipedia.org/wiki/ISO/IEC_8859-7 - http://unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT) then, right ? Is this nice to have or really necessary (as in used by everybody using the Greek language) ? I assume the most popular encondings to have would be Chinese and Hindu ? I think this something that (native) speakers should help with ;-) Remember we have full Unicode Character/String capable classes, as well as good UTF-8. Those cover all languages, in theory. The question comes down to which older encodings are still really used/necessary today. On Fri, Sep 12, 2014 at 4:10 PM, Sven Van Caekenberghe s...@stfx.eu wrote: Hi, ZnCharacterEncoder and its subclasses in the package Zinc-Character-Encoding-Core (a standard part of Pharo) have the following features: - proper Unicode Character/String to/from byte(s) encoding/decoding - calculation of encoding size per Character/String - proper handling of holes in tables with exceptions (strict/lenient) - properly backing up one character on a binary stream - simple, efficient, documented - convenience API - optimisations for some encodings Together, they support the following encodings: - utf-8 - utf-16 (big/little endian, bom detection) - null - iso-8859-1 (latin-1) - iso-8859-2 (latin-2) - mac-roman - cp1250 - cp1252 - cp1253 - koi8r - iso-8859-7 - iso-8859-15 The question is, what other encodings do you want/need ? There is already a request to add CP1251. New byte encoders are easy to add, based on the official Unicode mappings that can be found here: http://unicode.org/Public/MAPPINGS (these are automagically parsed). Please help us make Pharo more international friendly. Sven
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/40223 Home: https://github.com/pharo-project/pharo-core
[Pharo-dev] [pharo-project/pharo-core] 29f280: 40223
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: 29f280e791381e9a5027e10a7d80a921e199fba4 https://github.com/pharo-project/pharo-core/commit/29f280e791381e9a5027e10a7d80a921e199fba4 Author: Jenkins Build Server bo...@pharo-project.org Date: 2014-09-12 (Fri, 12 Sep 2014) Changed paths: M ClassOrganizer-Core.package/ClassOrganization.class/instance/backward compatibility/categoryOfElement_.st A ClassOrganizer-Core.package/ClassOrganization.class/instance/backward compatibility/categoryOfElement_ifAbsent_.st M ClassOrganizer-Core.package/ClassOrganization.class/instance/backward compatibility/classify_under_suppressIfDefault_.st M ClassOrganizer-Tests.package/ClassOrganizationTest.class/definition.st M ClassOrganizer-Tests.package/ClassOrganizationTest.class/instance/running/setUp.st A ClassOrganizer-Tests.package/ClassOrganizationTest.class/instance/running/tearDown.st M Refactoring-Environment.package/RBBrowserEnvironment.class/instance/accessing/whichProtocolIncludes_in_.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script223.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40223.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st Log Message: --- 40223 13924 Adding a new method to a trait triggers a MethodRecategorized announcement for each user https://pharo.fogbugz.com/f/cases/13924 http://files.pharo.org/image/40/40223.zip
[Pharo-dev] GToolkit
I've been working in a data acquisition scenario today and GToolkit proved to be of immense help. Working in the live application, looking around for data (including file contents), and inspecting it all + live debugging is really a sweet experience. With CommandShell I may not have to leave the environment... Phil
Re: [Pharo-dev] GToolkit
maybe make a video and upload to youtube of your workflow , I am sure I will learn something from it :) On Fri, Sep 12, 2014 at 7:14 PM, p...@highoctane.be p...@highoctane.be wrote: I've been working in a data acquisition scenario today and GToolkit proved to be of immense help. Working in the live application, looking around for data (including file contents), and inspecting it all + live debugging is really a sweet experience. With CommandShell I may not have to leave the environment... Phil
Re: [Pharo-dev] Roassal vs Roassal 2
yes I am using Roassal 2 now , I also care a lot about the performance cause of my project Hyperion which is and going to be a GUI builder and vector editor , I want to make GUIs with Roassal so performance is an issue. I am studying the examples and I will return with questions. The SVG import and export is certainly very useful for my needs. On Fri, Sep 12, 2014 at 2:25 AM, Alejandro Infante alejandroinfant...@gmail.com wrote: I also advice you to use Roassal2, it is much faster and you can do more fun stuff. About documentation there are also the examples, with right-click you can see the code needed to create each example. Cheers, Alejandro On Sep 10, 2014, at 8:05 AM, kilon alios kilon.al...@gmail.com wrote: thank you both for your help, I have installed Roassal 2 in Pharo 3 and it works fine judging from examples so now I will study the doc from the Peter's link and the examples Phil referred to. On Wed, Sep 10, 2014 at 1:37 PM, Peter Uhnák i.uh...@gmail.com wrote: A new book is being written by Alexandre. You can find it at http://agilevisualization.com/ Also there is about hundred examples in the Roassal2 repository. (Open Roassal examples browser from world menu.) On Wed, Sep 10, 2014 at 12:14 PM, p...@highoctane.be p...@highoctane.be wrote: Prefixing with RT (Roassal Two) instead of RO (ROassal) will get you started. Phil On Wed, Sep 10, 2014 at 12:06 PM, kilon alios kilon.al...@gmail.com wrote: I see in the roassal.pdf that it refers to roassal but in smalltalkhub there is also Roassal 2. Which of the two I should be using and whats their diffirence ? Will the existing roassal.pdf documentation work with Roassal 2 ?
Re: [Pharo-dev] Roassal vs Roassal 2
Hi! Currently Roassal2 _does not have any optimization_, which does not imply Roassal2 is slow. You can easily have 500 000 elements on screen without having much lag. In the future, we should be able to plug QuadTree in Roassal2. But currently, nothing has been done in that respect (except keeping the core of Roassal clean and lean :-). Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Sep 12, 2014, at 1:32 PM, kilon alios kilon.al...@gmail.com wrote: yes I am using Roassal 2 now , I also care a lot about the performance cause of my project Hyperion which is and going to be a GUI builder and vector editor , I want to make GUIs with Roassal so performance is an issue. I am studying the examples and I will return with questions. The SVG import and export is certainly very useful for my needs. On Fri, Sep 12, 2014 at 2:25 AM, Alejandro Infante alejandroinfant...@gmail.com wrote: I also advice you to use Roassal2, it is much faster and you can do more fun stuff. About documentation there are also the examples, with right-click you can see the code needed to create each example. Cheers, Alejandro On Sep 10, 2014, at 8:05 AM, kilon alios kilon.al...@gmail.com wrote: thank you both for your help, I have installed Roassal 2 in Pharo 3 and it works fine judging from examples so now I will study the doc from the Peter's link and the examples Phil referred to. On Wed, Sep 10, 2014 at 1:37 PM, Peter Uhnák i.uh...@gmail.com wrote: A new book is being written by Alexandre. You can find it at http://agilevisualization.com/ Also there is about hundred examples in the Roassal2 repository. (Open Roassal examples browser from world menu.) On Wed, Sep 10, 2014 at 12:14 PM, p...@highoctane.be p...@highoctane.be wrote: Prefixing with RT (Roassal Two) instead of RO (ROassal) will get you started. Phil On Wed, Sep 10, 2014 at 12:06 PM, kilon alios kilon.al...@gmail.com wrote: I see in the roassal.pdf that it refers to roassal but in smalltalkhub there is also Roassal 2. Which of the two I should be using and whats their diffirence ? Will the existing roassal.pdf documentation work with Roassal 2 ?
Re: [Pharo-dev] Roassal vs Roassal 2
wow 500.000 is a huge number for my needs. How about animation ? I assume its similar situation there too. Well then I have little reason not to use it. Hopefully I will make a few contributions too :) When I first used Roassal I was sceptical on its design , but now that I see more and more people using it and more documentation about it I see its going to a direction I wanted to go. I also see that Roassal works well with Morphic and Spec which is very good too for my needs. Great job ! Should ask questions here or in stackoverflow ? On Fri, Sep 12, 2014 at 8:00 PM, Alexandre Bergel alexandre.ber...@me.com wrote: Hi! Currently Roassal2 _does not have any optimization_, which does not imply Roassal2 is slow. You can easily have 500 000 elements on screen without having much lag. In the future, we should be able to plug QuadTree in Roassal2. But currently, nothing has been done in that respect (except keeping the core of Roassal clean and lean :-). Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Sep 12, 2014, at 1:32 PM, kilon alios kilon.al...@gmail.com wrote: yes I am using Roassal 2 now , I also care a lot about the performance cause of my project Hyperion which is and going to be a GUI builder and vector editor , I want to make GUIs with Roassal so performance is an issue. I am studying the examples and I will return with questions. The SVG import and export is certainly very useful for my needs. On Fri, Sep 12, 2014 at 2:25 AM, Alejandro Infante alejandroinfant...@gmail.com wrote: I also advice you to use Roassal2, it is much faster and you can do more fun stuff. About documentation there are also the examples, with right-click you can see the code needed to create each example. Cheers, Alejandro On Sep 10, 2014, at 8:05 AM, kilon alios kilon.al...@gmail.com wrote: thank you both for your help, I have installed Roassal 2 in Pharo 3 and it works fine judging from examples so now I will study the doc from the Peter's link and the examples Phil referred to. On Wed, Sep 10, 2014 at 1:37 PM, Peter Uhnák i.uh...@gmail.com wrote: A new book is being written by Alexandre. You can find it at http://agilevisualization.com/ Also there is about hundred examples in the Roassal2 repository. (Open Roassal examples browser from world menu.) On Wed, Sep 10, 2014 at 12:14 PM, p...@highoctane.be p...@highoctane.be wrote: Prefixing with RT (Roassal Two) instead of RO (ROassal) will get you started. Phil On Wed, Sep 10, 2014 at 12:06 PM, kilon alios kilon.al...@gmail.com wrote: I see in the roassal.pdf that it refers to roassal but in smalltalkhub there is also Roassal 2. Which of the two I should be using and whats their diffirence ? Will the existing roassal.pdf documentation work with Roassal 2 ?
Re: [Pharo-dev] GToolkit
On Fri, Sep 12, 2014 at 6:29 PM, kilon alios kilon.al...@gmail.com wrote: maybe make a video and upload to youtube of your workflow , I am sure I will learn something from it :) +1 On Fri, Sep 12, 2014 at 7:14 PM, p...@highoctane.be p...@highoctane.be wrote: I've been working in a data acquisition scenario today and GToolkit proved to be of immense help. Working in the live application, looking around for data (including file contents), and inspecting it all + live debugging is really a sweet experience. With CommandShell I may not have to leave the environment... Phil
[Pharo-dev] [pharo-project/pharo-core] c58635: 40224
Branch: refs/heads/4.0 Home: https://github.com/pharo-project/pharo-core Commit: c58635333b230d32651bc1db0ec6db10b4984073 https://github.com/pharo-project/pharo-core/commit/c58635333b230d32651bc1db0ec6db10b4984073 Author: Jenkins Build Server bo...@pharo-project.org Date: 2014-09-12 (Fri, 12 Sep 2014) Changed paths: R DebuggerFilters.package/FilterTest.class/README.md R DebuggerFilters.package/FilterTest.class/definition.st R DebuggerFilters.package/FilterTest.class/instance/running/setUp.st R DebuggerFilters.package/FilterTest.class/instance/tests/testBlockFilter.st R DebuggerFilters.package/FilterTest.class/instance/tests/testBooleanFilter.st R DebuggerFilters.package/FilterTest.class/instance/tests/testKernelClassesFilter.st R DebuggerFilters.package/FilterTest.class/instance/tests/testSelectorFilter.st A DebuggerTests.package/FilterTest.class/README.md A DebuggerTests.package/FilterTest.class/definition.st A DebuggerTests.package/FilterTest.class/instance/running/setUp.st A DebuggerTests.package/FilterTest.class/instance/tests/testBlockFilter.st A DebuggerTests.package/FilterTest.class/instance/tests/testBooleanFilter.st A DebuggerTests.package/FilterTest.class/instance/tests/testKernelClassesFilter.st A DebuggerTests.package/FilterTest.class/instance/tests/testSelectorFilter.st M Ring-Core-Kernel.package/RGBehaviorDefinition.class/instance/accessing class hierarchy/allSuperclassesDo_.st M Ring-Core-Kernel.package/RGBehaviorDefinition.class/instance/accessing/superclass_.st M Ring-Core-Kernel.package/RGCommentDefinition.class/instance/type of comments/fromActiveToPassive.st M Ring-Core-Kernel.package/RGElementDefinition.class/class/parsing stamp/basicParseAuthorAliasFrom_.st M Ring-Core-Kernel.package/RGElementDefinition.class/class/parsing stamp/parseTimestampFrom_default_.st M Ring-Core-Kernel.package/RGMethodDefinition.class/instance/conversion/asStringOrText.st M Ring-Core-Kernel.package/RGMethodDefinition.class/instance/type of methods/fromActiveToPassive.st R Ring-Core-Kernel.package/RGObject.class/instance/testing types/isClass.st M Ring-Core-Kernel.package/extension/Class/instance/asRingDefinitionWithMethods_withSuperclasses_withSubclasses_withPackageKeys_in_.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script224.st A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40224.st M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st M Spec-Layout.package/SpecLayout.class/instance/converting/asArray.st M System-Announcements.package/MethodModified.class/instance/accessing/newMethod_.st Log Message: --- 40224 14000 FilterTest needs to be moved to a Debugger test package https://pharo.fogbugz.com/f/cases/14000 14004 SpecLayoutasArray(result is shadowed) https://pharo.fogbugz.com/f/cases/14004 14001 MethodModifiednewMethod: (newMethod is Undeclared) https://pharo.fogbugz.com/f/cases/14001 14010 Small code critics clean of Ring https://pharo.fogbugz.com/f/cases/14010 http://files.pharo.org/image/40/40224.zip
[Pharo-dev] [pharo-project/pharo-core]
Branch: refs/tags/40224 Home: https://github.com/pharo-project/pharo-core
Re: [Pharo-dev] How production ready is Pharo on SQLServer?
2014-09-11 17:48 GMT-03:00 Sebastian Sastre sebast...@flowingconcept.com: Hi guys, there is a project that needs to connect and extend a system using SQLServer and Pharo is being considered for the backend. Just checking, how ready are we for a production-ready backend using Pharo on SQLServer? (absent) and how do we connect to it? DBXTalk, probably, but really can't tell. Database connectivity, other than PostgreSQL seems to be rather infrequent, if used at all. Esteban A. Maringolo
Re: [Pharo-dev] Which Character Encodings do you want/need in Pharo ?
Sven thank you. I love your code and spirit! We should clone you. Stef Hi, ZnCharacterEncoder and its subclasses in the package Zinc-Character-Encoding-Core (a standard part of Pharo) have the following features: - proper Unicode Character/String to/from byte(s) encoding/decoding - calculation of encoding size per Character/String - proper handling of holes in tables with exceptions (strict/lenient) - properly backing up one character on a binary stream - simple, efficient, documented - convenience API - optimisations for some encodings Together, they support the following encodings: - utf-8 - utf-16 (big/little endian, bom detection) - null - iso-8859-1 (latin-1) - iso-8859-2 (latin-2) - mac-roman - cp1250 - cp1252 - cp1253 - koi8r - iso-8859-7 - iso-8859-15 The question is, what other encodings do you want/need ? There is already a request to add CP1251. New byte encoders are easy to add, based on the official Unicode mappings that can be found here: http://unicode.org/Public/MAPPINGS (these are automagically parsed). Please help us make Pharo more international friendly. Sven
Re: [Pharo-dev] Which Character Encodings do you want/need in Pharo ?
Ok this is strange the ISO 8857-7 is available with Chrome as an encoding , I tried it and it turns Greek to weird signs. Actually I tried also several others available for Greek by Chrome and none works apart from the default which is UTF-8 Also you can ignore my request as I tried Pharo with True Type fonts with Arial and it can display Greeks just fine. Well done Pharoers , once again Pharo surprises me in a good way :) Us too. :)
[Pharo-dev] Thanks :)
Every time we improve the system with a little change, the system gets better. And in Pharo we do it daily. Thank you all for all your changes and enhancements. **You** make Pharo cool. http://pharoweekly.wordpress.com/2014/09/12/there-is-no-such-thing-as-an-unworthy-change/
[Pharo-dev] Starting with Roassal 2
Ok here comes the first question how I change the background color of RTView ? also when I do this v := RTView new. shape := RTEllipse new size: 20; color: Color red. shape := shape + RTLabel. es := shape elementOn:'hello'. v add: es. line := RTDirectedLine new pointsFrom: 20@20 To: 30@30. es2 := line element.v add: es2. es @ RTDraggable. v @ RTDraggableView . v open. I am getting an error MNU Array element why ?
Re: [Pharo-dev] How production ready is Pharo on SQLServer?
DBXTalk is probably right. If it doesn't work, the old ODBC package will work - I have tried that later one (not against SQLServer, but it's just ODBC, so will work). -cbc On Fri, Sep 12, 2014 at 12:37 PM, Esteban A. Maringolo emaring...@gmail.com wrote: 2014-09-11 17:48 GMT-03:00 Sebastian Sastre sebast...@flowingconcept.com : Hi guys, there is a project that needs to connect and extend a system using SQLServer and Pharo is being considered for the backend. Just checking, how ready are we for a production-ready backend using Pharo on SQLServer? (absent) and how do we connect to it? DBXTalk, probably, but really can't tell. Database connectivity, other than PostgreSQL seems to be rather infrequent, if used at all. Esteban A. Maringolo
Re: [Pharo-dev] Which Character Encodings do you want/need in Pharo ?
Kilon, On 12 Sep 2014, at 16:51, kilon alios kilon.al...@gmail.com wrote: Ok this is strange the ISO 8857-7 is available with Chrome as an encoding , I tried it and it turns Greek to weird signs. Actually I tried also several others available for Greek by Chrome and none works apart from the default which is UTF-8 You misunderstand how this works, let me try to explain using Pharo ;-) When a website serves a page containing non-ascii content, like ελληνικά, it needs to convert from characters to bytes using an encoding. This is normally done by adding a parameter to the content-type of the page being served. Modern servers default to utf-8. This is how you start your own HTTP server in Pharo: (ZnServer defaultOn: 1701) onRequestRespond: [ :req | ZnResponse ok: (ZnEntity with: 'Do you speak ελληνικά ?' type: ZnMimeType textPlain) ]; start. It will respond with the same text to any request. Try browsing http://localhost:1701 In code, you can do it like this: ZnClient new get: ZnServer default localUrl. Here is how you check the content-type being used: (ZnClient new get: ZnServer default localUrl; response) contentType. You will see that it is text/plain;charset=utf-8 which is the default used by Zinc when serving textual content. Asking/forcing your browser to interpret these bytes using a different encoding is wrong, since the data was not encoded as such. But the server could also be using a Greek specific byte encoding, like this: (ZnServer defaultOn: 1701) onRequestRespond: [ :req | ZnResponse ok: (ZnEntity with: 'Do you speak ελληνικά ?' type: (ZnMimeType textPlain charSet: 'iso-8859-7')) ]; start. Now the page is served differently and browsers/clients know what to do, they will switch their encoding accordingly. Explicitly switching to utf-8 will now fail, as the content is *not* utf-8 encoded. So why is the option there in the browser ? Because sometimes, the server is lazy (and technically, wrong) by not explicitly setting the charset/encoding. That leaves the browser/client with a problem of course. For this there is a default, often utf-8, sometimes ascii, .. Zinc uses the null encoder as default (ZnNullEncoder) when the server fails to set one, you can override this default as follows: ZnDefaultCharacterEncoder value: ZnUTF8Encoder new during: [ ZnClient new get: ZnServer default localUrl ]. ZnDefaultCharacterEncoder value: (ZnCharacterEncoder newForEncoding: 'iso-8859-7') during: [ ZnClient new get: ZnServer default localUrl ]. Note however that Zinc will always follow the encoding set by the response (i.e. you cannot force another one, only use one if the encoding is missing). HTH, Sven PS: If you are on Mac OS X or Linux, you can try using curl as a client. ZnClient can return a command line that you can copy/paste into a terminal: ZnClient new get: ZnServer default localUrl; curl. $ curl http://localhost:1701/ -HAccept:*/* -HUser-Agent:Zinc HTTP Components 1.0 -HHost:localhost:1701 Do you speak ελληνικά ? By add the -D - option the incoming HTTP headers will be dumped $ curl -D - http://localhost:1701/ -HAccept:*/* -HUser-Agent:Zinc HTTP Components 1.0 -HHost:localhost:1701 HTTP/1.1 200 OK Content-Type: text/plain;charset=utf-8 Content-Length: 31 Date: Fri, 12 Sep 2014 20:15:53 GMT Server: Zinc HTTP Components 1.0 Do you speak ελληνικά ? Also you can ignore my request as I tried Pharo with True Type fonts with Arial and it can display Greeks just fine. Well done Pharoers , once again Pharo surprises me in a good way :) On Fri, Sep 12, 2014 at 5:16 PM, Sven Van Caekenberghe s...@stfx.eu wrote: On 12 Sep 2014, at 16:05, kilon alios kilon.al...@gmail.com wrote: I am not in any urgent need as I rarely use (like almost never) my native language in reading or writing when it comes to anything related to computers, apart from facebook friends. But I would like to see it added to pharo , its Ελληνικά or as you know it Greek. So that would be ISO 8857-9 (http://en.wikipedia.org/wiki/ISO/IEC_8859-7 - http://unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT) then, right ? Is this nice to have or really necessary (as in used by everybody using the Greek language) ? I assume the most popular encondings to have would be Chinese and Hindu ? I think this something that (native) speakers should help with ;-) Remember we have full Unicode Character/String capable classes, as well as good UTF-8. Those cover all languages, in theory. The question comes down to which older encodings are still really used/necessary today. On Fri, Sep 12, 2014 at 4:10 PM, Sven Van Caekenberghe s...@stfx.eu wrote: Hi, ZnCharacterEncoder and its subclasses in the package Zinc-Character-Encoding-Core (a standard part of Pharo) have the following features: - proper Unicode Character/String to/from byte(s) encoding/decoding -
Re: [Pharo-dev] Which Character Encodings do you want/need in Pharo ?
On 12 Sep 2014, at 21:43, stepharo steph...@free.fr wrote: Sven thank you. I love your code and spirit! We should clone you. Thanks, but Pharo is a group effort, we all contribute in our area of expertise. I am especially happy that we have some new people that recently became active. Stef Hi, ZnCharacterEncoder and its subclasses in the package Zinc-Character-Encoding-Core (a standard part of Pharo) have the following features: - proper Unicode Character/String to/from byte(s) encoding/decoding - calculation of encoding size per Character/String - proper handling of holes in tables with exceptions (strict/lenient) - properly backing up one character on a binary stream - simple, efficient, documented - convenience API - optimisations for some encodings Together, they support the following encodings: - utf-8 - utf-16 (big/little endian, bom detection) - null - iso-8859-1 (latin-1) - iso-8859-2 (latin-2) - mac-roman - cp1250 - cp1252 - cp1253 - koi8r - iso-8859-7 - iso-8859-15 The question is, what other encodings do you want/need ? There is already a request to add CP1251. New byte encoders are easy to add, based on the official Unicode mappings that can be found here: http://unicode.org/Public/MAPPINGS (these are automagically parsed). Please help us make Pharo more international friendly. Sven
Re: [Pharo-dev] How production ready is Pharo on SQLServer?
ok, I'll try dbx and think of odbc as plan b from iPad On 12/09/2014, at 17:14, Chris Cunningham cunningham...@gmail.com wrote: DBXTalk is probably right. If it doesn't work, the old ODBC package will work - I have tried that later one (not against SQLServer, but it's just ODBC, so will work). -cbc On Fri, Sep 12, 2014 at 12:37 PM, Esteban A. Maringolo emaring...@gmail.com wrote: 2014-09-11 17:48 GMT-03:00 Sebastian Sastre sebast...@flowingconcept.com: Hi guys, there is a project that needs to connect and extend a system using SQLServer and Pharo is being considered for the backend. Just checking, how ready are we for a production-ready backend using Pharo on SQLServer? (absent) and how do we connect to it? DBXTalk, probably, but really can't tell. Database connectivity, other than PostgreSQL seems to be rather infrequent, if used at all. Esteban A. Maringolo
Re: [Pharo-dev] Thanks :)
On 12 Sep 2014, at 21:51, stepharo steph...@free.fr wrote: Every time we improve the system with a little change, the system gets better. And in Pharo we do it daily. Thank you all for all your changes and enhancements. **You** make Pharo cool. http://pharoweekly.wordpress.com/2014/09/12/there-is-no-such-thing-as-an-unworthy-change/ + 10
Re: [Pharo-dev] Which Character Encodings do you want/need in Pharo ?
I see thank you very much for the detailed explanation. I suspected it was working a bit like you described but now I know the juicy details :) Maybe you should add that text to an Encoding chapter in Pharo For The Enterprise so its widely available for people like me that are not familiar with Encodings. On Fri, Sep 12, 2014 at 11:18 PM, Sven Van Caekenberghe s...@stfx.eu wrote: Kilon, On 12 Sep 2014, at 16:51, kilon alios kilon.al...@gmail.com wrote: Ok this is strange the ISO 8857-7 is available with Chrome as an encoding , I tried it and it turns Greek to weird signs. Actually I tried also several others available for Greek by Chrome and none works apart from the default which is UTF-8 You misunderstand how this works, let me try to explain using Pharo ;-) When a website serves a page containing non-ascii content, like ελληνικά, it needs to convert from characters to bytes using an encoding. This is normally done by adding a parameter to the content-type of the page being served. Modern servers default to utf-8. This is how you start your own HTTP server in Pharo: (ZnServer defaultOn: 1701) onRequestRespond: [ :req | ZnResponse ok: (ZnEntity with: 'Do you speak ελληνικά ?' type: ZnMimeType textPlain) ]; start. It will respond with the same text to any request. Try browsing http://localhost:1701 In code, you can do it like this: ZnClient new get: ZnServer default localUrl. Here is how you check the content-type being used: (ZnClient new get: ZnServer default localUrl; response) contentType. You will see that it is text/plain;charset=utf-8 which is the default used by Zinc when serving textual content. Asking/forcing your browser to interpret these bytes using a different encoding is wrong, since the data was not encoded as such. But the server could also be using a Greek specific byte encoding, like this: (ZnServer defaultOn: 1701) onRequestRespond: [ :req | ZnResponse ok: (ZnEntity with: 'Do you speak ελληνικά ?' type: (ZnMimeType textPlain charSet: 'iso-8859-7')) ]; start. Now the page is served differently and browsers/clients know what to do, they will switch their encoding accordingly. Explicitly switching to utf-8 will now fail, as the content is *not* utf-8 encoded. So why is the option there in the browser ? Because sometimes, the server is lazy (and technically, wrong) by not explicitly setting the charset/encoding. That leaves the browser/client with a problem of course. For this there is a default, often utf-8, sometimes ascii, .. Zinc uses the null encoder as default (ZnNullEncoder) when the server fails to set one, you can override this default as follows: ZnDefaultCharacterEncoder value: ZnUTF8Encoder new during: [ ZnClient new get: ZnServer default localUrl ]. ZnDefaultCharacterEncoder value: (ZnCharacterEncoder newForEncoding: 'iso-8859-7') during: [ ZnClient new get: ZnServer default localUrl ]. Note however that Zinc will always follow the encoding set by the response (i.e. you cannot force another one, only use one if the encoding is missing). HTH, Sven PS: If you are on Mac OS X or Linux, you can try using curl as a client. ZnClient can return a command line that you can copy/paste into a terminal: ZnClient new get: ZnServer default localUrl; curl. $ curl http://localhost:1701/ -HAccept:*/* -HUser-Agent:Zinc HTTP Components 1.0 -HHost:localhost:1701 Do you speak ελληνικά ? By add the -D - option the incoming HTTP headers will be dumped $ curl -D - http://localhost:1701/ -HAccept:*/* -HUser-Agent:Zinc HTTP Components 1.0 -HHost:localhost:1701 HTTP/1.1 200 OK Content-Type: text/plain;charset=utf-8 Content-Length: 31 Date: Fri, 12 Sep 2014 20:15:53 GMT Server: Zinc HTTP Components 1.0 Do you speak ελληνικά ? Also you can ignore my request as I tried Pharo with True Type fonts with Arial and it can display Greeks just fine. Well done Pharoers , once again Pharo surprises me in a good way :) On Fri, Sep 12, 2014 at 5:16 PM, Sven Van Caekenberghe s...@stfx.eu wrote: On 12 Sep 2014, at 16:05, kilon alios kilon.al...@gmail.com wrote: I am not in any urgent need as I rarely use (like almost never) my native language in reading or writing when it comes to anything related to computers, apart from facebook friends. But I would like to see it added to pharo , its Ελληνικά or as you know it Greek. So that would be ISO 8857-9 (http://en.wikipedia.org/wiki/ISO/IEC_8859-7 - http://unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT) then, right ? Is this nice to have or really necessary (as in used by everybody using the Greek language) ? I assume the most popular encondings to have would be Chinese and Hindu ? I think this something that (native) speakers should help with ;-) Remember we have full Unicode Character/String capable classes, as well as good UTF-8. Those cover all
Re: [Pharo-dev] Thanks :)
+1 Doru On Fri, Sep 12, 2014 at 10:24 PM, Sven Van Caekenberghe s...@stfx.eu wrote: On 12 Sep 2014, at 21:51, stepharo steph...@free.fr wrote: Every time we improve the system with a little change, the system gets better. And in Pharo we do it daily. Thank you all for all your changes and enhancements. **You** make Pharo cool. http://pharoweekly.wordpress.com/2014/09/12/there-is-no-such-thing-as-an-unworthy-change/ + 10 -- www.tudorgirba.com Every thing has its own flow
Re: [Pharo-dev] Starting with Roassal 2
to answer myself, view color changes via canvas so it is v canvas color: Color black. I also found a way to create an edge looking at the tests. this is the complete code now v := RTView new. shape := RTEllipse new size: 20; color: Color red. shape := shape + RTLabel. es := shape elementOn:'hello'. v add: es. el1 := RTBox element. el2 := RTBox element. el1 translateTo: 20 @ 20. el2 translateTo: 60 @ 80. edge := RTLine edgeFrom: el1 to: el2. es2 := edge element.v add: edge. RTEdge buildEdgesFromObjects: (1 to: 20) from: [ :i | i // 2 ] to: #yourself inView: v. RTGridLayout on: es. es @ RTDraggable. v @ RTDraggableView . v canvas color: Color black. v open. probably there is an easier way to do this so I am taking a look at both tests and examples. On Fri, Sep 12, 2014 at 11:03 PM, kilon alios kilon.al...@gmail.com wrote: Ok here comes the first question how I change the background color of RTView ? also when I do this v := RTView new. shape := RTEllipse new size: 20; color: Color red. shape := shape + RTLabel. es := shape elementOn:'hello'. v add: es. line := RTDirectedLine new pointsFrom: 20@20 To: 30@30. es2 := line element.v add: es2. es @ RTDraggable. v @ RTDraggableView . v open. I am getting an error MNU Array element why ?
Re: [Pharo-dev] Starting with Roassal 2
I have checked RTDirectedLine and it is not supposed to use the way you want. Basically RTEdge is the object you want to manipulate with. I do not know what is the objective of your example. But there is way how you could write it. -=-=- | v elements models | models := (10 to: 60 by: 1). v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: models. v addAll: elements. RTEdge buildEdgesFromObjects: models from: #yourself to: [ :i | i // 2 ] inView: v. RTGridLayout on: elements. elements @ RTDraggable. v @ RTDraggableView. v canvas color: Color black. v open. -=-=- Cheers, Juraj On Sep 12, 2014, at 5:03 PM, kilon alios kilon.al...@gmail.com wrote: Ok here comes the first question how I change the background color of RTView ? also when I do this v := RTView new. shape := RTEllipse new size: 20; color: Color red. shape := shape + RTLabel. es := shape elementOn:'hello'. v add: es. line := RTDirectedLine new pointsFrom: 20@20 To: 30@30. es2 := line element.v add: es2. es @ RTDraggable. v @ RTDraggableView . v open. I am getting an error MNU Array element why ?
Re: [Pharo-dev] Starting with Roassal 2
yes i know about the example of a line connecting with other shapes. I wanted just a simple line by itself starting from one point and ending to another in a single line of code. On Sat, Sep 13, 2014 at 12:26 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: I have checked RTDirectedLine and it is not supposed to use the way you want. Basically RTEdge is the object you want to manipulate with. I do not know what is the objective of your example. But there is way how you could write it. -=-=- | v elements models | models := (10 to: 60 by: 1). v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: models. v addAll: elements. RTEdge buildEdgesFromObjects: models from: #yourself to: [ :i | i // 2 ] inView: v. RTGridLayout on: elements. elements @ RTDraggable. v @ RTDraggableView. v canvas color: Color black. v open. -=-=- Cheers, Juraj On Sep 12, 2014, at 5:03 PM, kilon alios kilon.al...@gmail.com wrote: Ok here comes the first question how I change the background color of RTView ? also when I do this v := RTView new. shape := RTEllipse new size: 20; color: Color red. shape := shape + RTLabel. es := shape elementOn:'hello'. v add: es. line := RTDirectedLine new pointsFrom: 20@20 To: 30@30. es2 := line element.v add: es2. es @ RTDraggable. v @ RTDraggableView . v open. I am getting an error MNU Array element why ?
Re: [Pharo-dev] Starting with Roassal 2
OK, then you can write: -=-=-=- | v elements edge | v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: #(10 20). edge := RTDirectedLine new color: Color blue; edgeFrom: elements first to: elements second. v addAll: elements; add: edge. RTGridLayout on: elements. elements @ RTDraggable. ^ v open -=-=- Cheers, Juraj On Sep 12, 2014, at 6:30 PM, kilon alios kilon.al...@gmail.com wrote: yes i know about the example of a line connecting with other shapes. I wanted just a simple line by itself starting from one point and ending to another in a single line of code. On Sat, Sep 13, 2014 at 12:26 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: I have checked RTDirectedLine and it is not supposed to use the way you want. Basically RTEdge is the object you want to manipulate with. I do not know what is the objective of your example. But there is way how you could write it. -=-=- | v elements models | models := (10 to: 60 by: 1). v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: models. v addAll: elements. RTEdge buildEdgesFromObjects: models from: #yourself to: [ :i | i // 2 ] inView: v. RTGridLayout on: elements. elements @ RTDraggable. v @ RTDraggableView. v canvas color: Color black. v open. -=-=- Cheers, Juraj On Sep 12, 2014, at 5:03 PM, kilon alios kilon.al...@gmail.com wrote: Ok here comes the first question how I change the background color of RTView ? also when I do this v := RTView new. shape := RTEllipse new size: 20; color: Color red. shape := shape + RTLabel. es := shape elementOn:'hello'. v add: es. line := RTDirectedLine new pointsFrom: 20@20 To: 30@30. es2 := line element.v add: es2. es @ RTDraggable. v @ RTDraggableView . v open. I am getting an error MNU Array element why ?
Re: [Pharo-dev] Starting with Roassal 2
well thats not an one liner and you still connect elements with it. I just wanted to pass coordinates to a line and draw it. So I would prefer it if I could pass points instead of elements. On Sat, Sep 13, 2014 at 12:38 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: OK, then you can write: -=-=-=- | v elements edge | v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: #(10 20). edge := RTDirectedLine new color: Color blue; *edgeFrom: elements first to: elements second.* v addAll: elements; add: edge. RTGridLayout on: elements. elements @ RTDraggable. ^ v open -=-=- Cheers, Juraj On Sep 12, 2014, at 6:30 PM, kilon alios kilon.al...@gmail.com wrote: yes i know about the example of a line connecting with other shapes. I wanted just a simple line by itself starting from one point and ending to another in a single line of code. On Sat, Sep 13, 2014 at 12:26 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: I have checked RTDirectedLine and it is not supposed to use the way you want. Basically RTEdge is the object you want to manipulate with. I do not know what is the objective of your example. But there is way how you could write it. -=-=- | v elements models | models := (10 to: 60 by: 1). v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: models. v addAll: elements. RTEdge buildEdgesFromObjects: models from: #yourself to: [ :i | i // 2 ] inView: v. RTGridLayout on: elements. elements @ RTDraggable. v @ RTDraggableView. v canvas color: Color black. v open. -=-=- Cheers, Juraj On Sep 12, 2014, at 5:03 PM, kilon alios kilon.al...@gmail.com wrote: Ok here comes the first question how I change the background color of RTView ? also when I do this v := RTView new. shape := RTEllipse new size: 20; color: Color red. shape := shape + RTLabel. es := shape elementOn:'hello'. v add: es. line := RTDirectedLine new pointsFrom: 20@20 To: 30@30. es2 := line element.v add: es2. es @ RTDraggable. v @ RTDraggableView . v open. I am getting an error MNU Array element why ?
Re: [Pharo-dev] Starting with Roassal 2
I think the intention of Roassal lines is to be connected with elements. If you want only draw lines without any connection to elements, use directly Trachel. I guess -=-=-=- | v line | v := RTView new. line := TRLineShape new from: 0@0 to: 100@100 color: Color blue. v canvas addShape: line. ^ v open -=-=-=- Cheers, Juraj On Sep 12, 2014, at 6:53 PM, kilon alios kilon.al...@gmail.com wrote: well thats not an one liner and you still connect elements with it. I just wanted to pass coordinates to a line and draw it. So I would prefer it if I could pass points instead of elements. On Sat, Sep 13, 2014 at 12:38 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: OK, then you can write: -=-=-=- | v elements edge | v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: #(10 20). edge := RTDirectedLine new color: Color blue; edgeFrom: elements first to: elements second. v addAll: elements; add: edge. RTGridLayout on: elements. elements @ RTDraggable. ^ v open -=-=- Cheers, Juraj On Sep 12, 2014, at 6:30 PM, kilon alios kilon.al...@gmail.com wrote: yes i know about the example of a line connecting with other shapes. I wanted just a simple line by itself starting from one point and ending to another in a single line of code. On Sat, Sep 13, 2014 at 12:26 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: I have checked RTDirectedLine and it is not supposed to use the way you want. Basically RTEdge is the object you want to manipulate with. I do not know what is the objective of your example. But there is way how you could write it. -=-=- | v elements models | models := (10 to: 60 by: 1). v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: models. v addAll: elements. RTEdge buildEdgesFromObjects: models from: #yourself to: [ :i | i // 2 ] inView: v. RTGridLayout on: elements. elements @ RTDraggable. v @ RTDraggableView. v canvas color: Color black. v open. -=-=- Cheers, Juraj On Sep 12, 2014, at 5:03 PM, kilon alios kilon.al...@gmail.com wrote: Ok here comes the first question how I change the background color of RTView ? also when I do this v := RTView new. shape := RTEllipse new size: 20; color: Color red. shape := shape + RTLabel. es := shape elementOn:'hello'. v add: es. line := RTDirectedLine new pointsFrom: 20@20 To: 30@30. es2 := line element.v add: es2. es @ RTDraggable. v @ RTDraggableView . v open. I am getting an error MNU Array element why ?
Re: [Pharo-dev] Starting with Roassal 2
ah thank you very much, thats exactly what I was looking for. I will study Trachel too. I also found that I can do something similar using a SVG path with Roassal. On Sat, Sep 13, 2014 at 12:58 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: I think the intention of Roassal lines is to be connected with elements. If you want only draw lines without any connection to elements, use directly Trachel. I guess -=-=-=- | v line | v := RTView new. line := TRLineShape new from: 0@0 to: 100@100 color: Color blue. v canvas addShape: line. ^ v open -=-=-=- Cheers, Juraj On Sep 12, 2014, at 6:53 PM, kilon alios kilon.al...@gmail.com wrote: well thats not an one liner and you still connect elements with it. I just wanted to pass coordinates to a line and draw it. So I would prefer it if I could pass points instead of elements. On Sat, Sep 13, 2014 at 12:38 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: OK, then you can write: -=-=-=- | v elements edge | v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: #(10 20). edge := RTDirectedLine new color: Color blue; *edgeFrom: elements first to: elements second.* v addAll: elements; add: edge. RTGridLayout on: elements. elements @ RTDraggable. ^ v open -=-=- Cheers, Juraj On Sep 12, 2014, at 6:30 PM, kilon alios kilon.al...@gmail.com wrote: yes i know about the example of a line connecting with other shapes. I wanted just a simple line by itself starting from one point and ending to another in a single line of code. On Sat, Sep 13, 2014 at 12:26 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: I have checked RTDirectedLine and it is not supposed to use the way you want. Basically RTEdge is the object you want to manipulate with. I do not know what is the objective of your example. But there is way how you could write it. -=-=- | v elements models | models := (10 to: 60 by: 1). v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: models. v addAll: elements. RTEdge buildEdgesFromObjects: models from: #yourself to: [ :i | i // 2 ] inView: v. RTGridLayout on: elements. elements @ RTDraggable. v @ RTDraggableView. v canvas color: Color black. v open. -=-=- Cheers, Juraj On Sep 12, 2014, at 5:03 PM, kilon alios kilon.al...@gmail.com wrote: Ok here comes the first question how I change the background color of RTView ? also when I do this v := RTView new. shape := RTEllipse new size: 20; color: Color red. shape := shape + RTLabel. es := shape elementOn:'hello'. v add: es. line := RTDirectedLine new pointsFrom: 20@20 To: 30@30. es2 := line element.v add: es2. es @ RTDraggable. v @ RTDraggableView . v open. I am getting an error MNU Array element why ?
Re: [Pharo-dev] Starting with Roassal 2
ah thank you very much, thats exactly what I was looking for. I will study Trachel too. I also found that I can do something similar using a SVG path with Roassal. On Sat, Sep 13, 2014 at 12:58 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: I think the intention of Roassal lines is to be connected with elements. If you want only draw lines without any connection to elements, use directly Trachel. I guess -=-=-=- | v line | v := RTView new. line := TRLineShape new from: 0@0 to: 100@100 color: Color blue. v canvas addShape: line. ^ v open -=-=-=- Cheers, Juraj On Sep 12, 2014, at 6:53 PM, kilon alios kilon.al...@gmail.com wrote: well thats not an one liner and you still connect elements with it. I just wanted to pass coordinates to a line and draw it. So I would prefer it if I could pass points instead of elements. On Sat, Sep 13, 2014 at 12:38 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: OK, then you can write: -=-=-=- | v elements edge | v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: #(10 20). edge := RTDirectedLine new color: Color blue; *edgeFrom: elements first to: elements second.* v addAll: elements; add: edge. RTGridLayout on: elements. elements @ RTDraggable. ^ v open -=-=- Cheers, Juraj On Sep 12, 2014, at 6:30 PM, kilon alios kilon.al...@gmail.com wrote: yes i know about the example of a line connecting with other shapes. I wanted just a simple line by itself starting from one point and ending to another in a single line of code. On Sat, Sep 13, 2014 at 12:26 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: I have checked RTDirectedLine and it is not supposed to use the way you want. Basically RTEdge is the object you want to manipulate with. I do not know what is the objective of your example. But there is way how you could write it. -=-=- | v elements models | models := (10 to: 60 by: 1). v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: models. v addAll: elements. RTEdge buildEdgesFromObjects: models from: #yourself to: [ :i | i // 2 ] inView: v. RTGridLayout on: elements. elements @ RTDraggable. v @ RTDraggableView. v canvas color: Color black. v open. -=-=- Cheers, Juraj On Sep 12, 2014, at 5:03 PM, kilon alios kilon.al...@gmail.com wrote: Ok here comes the first question how I change the background color of RTView ? also when I do this v := RTView new. shape := RTEllipse new size: 20; color: Color red. shape := shape + RTLabel. es := shape elementOn:'hello'. v add: es. line := RTDirectedLine new pointsFrom: 20@20 To: 30@30. es2 := line element.v add: es2. es @ RTDraggable. v @ RTDraggableView . v open. I am getting an error MNU Array element why ?
Re: [Pharo-dev] Starting with Roassal 2
Yes, you can use SVG path as a shape for an element. What you chose really depends on your objective. If you want to draw nodes (elements) and connect them with edges (lines), I guess, the preferred API is Roassal2. On Sep 12, 2014, at 7:02 PM, kilon alios kilon.al...@gmail.com wrote: ah thank you very much, thats exactly what I was looking for. I will study Trachel too. I also found that I can do something similar using a SVG path with Roassal. On Sat, Sep 13, 2014 at 12:58 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: I think the intention of Roassal lines is to be connected with elements. If you want only draw lines without any connection to elements, use directly Trachel. I guess -=-=-=- | v line | v := RTView new. line := TRLineShape new from: 0@0 to: 100@100 color: Color blue. v canvas addShape: line. ^ v open -=-=-=- Cheers, Juraj On Sep 12, 2014, at 6:53 PM, kilon alios kilon.al...@gmail.com wrote: well thats not an one liner and you still connect elements with it. I just wanted to pass coordinates to a line and draw it. So I would prefer it if I could pass points instead of elements. On Sat, Sep 13, 2014 at 12:38 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: OK, then you can write: -=-=-=- | v elements edge | v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: #(10 20). edge := RTDirectedLine new color: Color blue; edgeFrom: elements first to: elements second. v addAll: elements; add: edge. RTGridLayout on: elements. elements @ RTDraggable. ^ v open -=-=- Cheers, Juraj On Sep 12, 2014, at 6:30 PM, kilon alios kilon.al...@gmail.com wrote: yes i know about the example of a line connecting with other shapes. I wanted just a simple line by itself starting from one point and ending to another in a single line of code. On Sat, Sep 13, 2014 at 12:26 AM, Juraj Kubelka juraj.kube...@gmail.com wrote: I have checked RTDirectedLine and it is not supposed to use the way you want. Basically RTEdge is the object you want to manipulate with. I do not know what is the objective of your example. But there is way how you could write it. -=-=- | v elements models | models := (10 to: 60 by: 1). v := RTView new. elements := (RTEllipse new size: #yourself; color: Color red) + RTLabel elementsOn: models. v addAll: elements. RTEdge buildEdgesFromObjects: models from: #yourself to: [ :i | i // 2 ] inView: v. RTGridLayout on: elements. elements @ RTDraggable. v @ RTDraggableView. v canvas color: Color black. v open. -=-=- Cheers, Juraj On Sep 12, 2014, at 5:03 PM, kilon alios kilon.al...@gmail.com wrote: Ok here comes the first question how I change the background color of RTView ? also when I do this v := RTView new. shape := RTEllipse new size: 20; color: Color red. shape := shape + RTLabel. es := shape elementOn:'hello'. v add: es. line := RTDirectedLine new pointsFrom: 20@20 To: 30@30. es2 := line element.v add: es2. es @ RTDraggable. v @ RTDraggableView . v open. I am getting an error MNU Array element why ?