Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
February 2010
- 92 participants
- 1270 messages
Re: [Pharo-project] Metacello - the missing information??
by Mariano Martinez Peck
On Sat, Feb 6, 2010 at 10:22 PM, Schwab,Wilhelm K <bschwab(a)anest.ufl.edu>wrote:
> For any given cofiguration, how does one know which version to load? There
> are incantations in the beginner workspace, but what happens for things not
> listed there?
>
>
You must know about Metacello. As you can noticed, that's why I added the
link to the tutorial.
> Bill
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Feb. 6, 2010
[Pharo-project] Metacello - the missing information??
by Schwab,Wilhelm K
For any given cofiguration, how does one know which version to load? There are incantations in the beginner workspace, but what happens for things not listed there?
Bill
Feb. 6, 2010
Re: [Pharo-project] Conseils for develop a grid
by Alain Plantec
nullPointer a écrit :
> I´m continue working on that widget. Now works in design time, integrated in
> UIBuilder tool.
>
> Adding rows ->
> http://www.youtube.com/watch?v=Dt0yz0JyBCg
>
> Master detail ->
> http://www.youtube.com/watch?v=FTW9Byqdgbk
>
very cool work
> My main problem now is the speed. Is very very slow; one minute is needed
> for load 5000 rows (!!!)
>
well, not so bad!
5000 rows means a lot of data, maybe Morphic is not the good ui framework
for applications that manage such amount of data, at least in its
current state.
It seems that you're using the stepping mechanism, it is time consuming.
also the layout managing and invalid areas redrawing.
Cheers
Alain
> With MessageTally I see the next response...
>
>
>
> - 81732 tallies, 82014 msec.
>
> **Tree**
> --------------------------------
> Process: (40s) 3296: nil
> --------------------------------
> 50.3% {41253ms} CLGrid>>dataSource:
> 44.5% {36496ms} CLGrid>>addRow
> |21.7% {17797ms} CLScrollPanelContainer(Morph)>>addMorphBack:
> | |21.7% {17797ms}
> CLScrollPanelContainer(CLPanel)>>privateAddMorph:atIndex:
> | | 21.6% {17715ms}
> CLScrollPanelContainer(Morph)>>privateAddMorph:atIndex:
> | | 13.8% {11318ms}
> CLScrollPanelContainer(Morph)>>privateInvalidateMorph:
> | | |13.5% {11072ms} CLGridRow(Morph)>>fullBounds
> | | | 13.5% {11072ms} CLGridRow(Morph)>>doLayoutIn:
> | | | 8.6% {7053ms} TableLayout>>layout:in:
> | | | |8.6% {7053ms} TableLayout>>layoutLeftToRight:in:
> | | | | 5.8% {4757ms} CLGridCell(Morph)>>layoutInBounds:
> | | | | |5.3% {4347ms} CLGridCell(Morph)>>bounds:
> | | | | | 2.6% {2132ms} CLGridCell(Morph)>>position:
> | | | | | |1.5% {1230ms}
> CLGridCell(Morph)>>invalidRect:
> | | | | | | 1.5% {1230ms}
> CLGridCell(Morph)>>invalidRect:from:
> | | | | | | 1.5% {1230ms}
> CLGridRow(Morph)>>invalidRect:from:
> | | | | | | 1.1% {902ms}
> CLScrollPanelContainer(Morph)>>invalidRect:from:
> | | | | | 2.6% {2132ms} CLGridCell>>extent:
> | | | | | 2.4% {1968ms} CLGridCell(Morph)>>extent:
> | | | | | 1.6% {1312ms} CLGridCell(Morph)>>changed
> | | | | 2.7% {2214ms} CLGridCell(Morph)>>minExtent
> | | | 4.2% {3445ms} CLGridRow(Morph)>>adjustLayoutBounds
> | | | 3.9% {3199ms} CLGridRow(Morph)>>submorphBounds
> | | | 3.9% {3199ms} CLGridCell(Morph)>>fullBounds
> | | | 3.6% {2953ms} CLGridCell(Morph)>>doLayoutIn:
> | | | 2.0% {1640ms} TableLayout>>layout:in:
> | | | 1.8% {1476ms}
> TableLayout>>layoutTopToBottom:in:
> | | 7.7% {6315ms} CLGridRow(Morph)>>intoWorld:
> | | 7.7% {6315ms} CLGridCell(Morph)>>intoWorld:
> | | 7.6% {6233ms} CLCheckButton(Morph)>>intoWorld:
> | | 7.4% {6069ms} PasteUpMorph>>startStepping:
> | | 7.4% {6069ms}
> PasteUpMorph>>startStepping:at:selector:arguments:stepTime:
> | | 7.4% {6069ms}
> WorldState>>startStepping:at:selector:arguments:stepTime:
> | | 7.4% {6069ms} WorldState>>stopStepping:selector:
> | | 5.8% {4757ms}
> Heap(SequenceableCollection)>>select:
> | | |3.9% {3199ms} Heap>>at:
> | | |1.8% {1476ms} primitives
> | | 1.6% {1312ms} primitives
> |14.8% {12138ms} CLGridRow>>buildCellsStructureFrom:
> | |14.8% {12138ms} CLGridRow>>addCell:
> | | 14.8% {12138ms} CLGridRow>>pvtAddCell:ofType:
> | | 5.7% {4675ms} CLGridCell>>setColumn:
> | | |5.7% {4675ms} CLGridCell>>pvtBuildValueControl
> | | | 3.0% {2460ms} CLLabel class(Behavior)>>new
> | | | 2.0% {1640ms}
> CLCheckButton(CheckboxButtonMorph)>>initialize
> | | | |1.1% {902ms} CLCheckButton>>enabled:
> | | | | 1.1% {902ms}
> CLCheckButton(CheckboxButtonMorph)>>enabled:
> | | | 1.0% {820ms} CLLabel>>initialize
> | | 4.0% {3281ms} CLGridCell class(Behavior)>>new
> | | |4.0% {3281ms} CLGridCell>>initialize
> | | 2.4% {1968ms} CLGridCell(Morph)>>width:
> | | |2.4% {1968ms} CLGridCell>>extent:
> | | | 2.1% {1722ms} CLGridCell(Morph)>>extent:
> | | | 1.9% {1558ms} CLGridCell(Morph)>>changed
> | | | 1.4% {1148ms} CLGridCell(Morph)>>privateFullBounds
> | | 1.4% {1148ms} CLGridCell(Morph)>>borderColor:
> | | 1.3% {1066ms} CLGridCell(Morph)>>changed
> | | 1.3% {1066ms} CLGridCell(Morph)>>privateFullBounds
> |5.4% {4429ms} CLGridRow(CLPanel)>>color:
> | |5.4% {4429ms} CLGridRow(Morph)>>color:
> | | 5.4% {4429ms} CLGridRow(Morph)>>changed
> | | 5.4% {4429ms} CLGridRow(Morph)>>privateFullBounds
> | | 5.2% {4265ms} CLGridRow(Morph)>>submorphBounds
> | | 5.2% {4265ms} CLGridCell(Morph)>>fullBounds
> | | 4.8% {3937ms} CLGridCell(Morph)>>doLayoutIn:
> | | 3.3% {2706ms} TableLayout>>layout:in:
> | | 3.1% {2542ms} TableLayout>>layoutTopToBottom:in:
> | | 1.8% {1476ms} CLLabel(Morph)>>layoutInBounds:
> |1.3% {1066ms} CLGridRow class(Behavior)>>new
> | 1.3% {1066ms} CLGridRow>>initialize
> 5.6% {4593ms} CLGridRow>>listObject:
> 5.4% {4429ms} CLGridCell>>value:
> 4.3% {3527ms} CLLabel>>value:
> |4.3% {3527ms} CLLabel>>text:
> | 4.3% {3527ms} CLLabel(StringMorph)>>contents:
> | 4.3% {3527ms} CLLabel(StringMorph)>>fitContents
> | 4.1% {3363ms} CLLabel>>extent:
> | 4.0% {3281ms} CLLabel(Morph)>>extent:
> | 3.4% {2788ms} CLLabel(Morph)>>changed
> | 3.2% {2624ms} CLLabel(Morph)>>invalidRect:
> | 3.2% {2624ms} CLLabel(Morph)>>invalidRect:from:
> | 3.1% {2542ms} CLGridCell(Morph)>>invalidRect:from:
> | 2.7% {2214ms} CLGridRow(Morph)>>invalidRect:from:
> | 2.4% {1968ms}
> CLScrollPanelContainer(Morph)>>invalidRect:from:
> | 2.2% {1804ms}
> TransformMorph>>invalidRect:from:
> | 1.4% {1148ms}
> TransformMorph(Morph)>>invalidRect:from:
> | 1.4% {1148ms}
> CLScrollpanel(Morph)>>invalidRect:from:
> | 1.2% {984ms}
> CLGrid(Morph)>>invalidRect:from:
> 1.1% {902ms} CLCheckButton>>value:
> 1.1% {902ms} CLCheckButton(CheckboxButtonMorph)>>state:
> 30.5% {25014ms} CLGrid(Morph)>>openInWindowLabeled:
> 30.5% {25014ms} CLGrid(Morph)>>openInWindowLabeled:inWorld:
> 15.5% {12712ms} PasteUpMorph(Morph)>>addMorph:
> |15.5% {12712ms} PasteUpMorph>>addMorphFront:
> | 15.5% {12712ms} PasteUpMorph(Morph)>>addMorphInFrontOfLayer:
> | 15.5% {12712ms} PasteUpMorph(Morph)>>addMorph:inFrontOf:
> | 15.5% {12712ms} PasteUpMorph(Morph)>>privateAddMorph:atIndex:
> | 15.5% {12712ms} SystemWindow(Morph)>>intoWorld:
> | 15.5% {12712ms} CLGrid(Morph)>>intoWorld:
> | 15.5% {12712ms} CLGridRowHeader(Morph)>>intoWorld:
> | 15.5% {12712ms} CLGridCellHeader(Morph)>>intoWorld:
> | 15.5% {12712ms}
> CLScrollPanelContainer(Morph)>>intoWorld:
> | 15.5% {12712ms} CLGridRow(Morph)>>intoWorld:
> | 15.4% {12630ms} CLGridCell(Morph)>>intoWorld:
> | 15.4% {12630ms}
> CLCheckButton(Morph)>>intoWorld:
> | 15.3% {12548ms} PasteUpMorph>>startStepping:
> | 15.3% {12548ms}
> PasteUpMorph>>startStepping:at:selector:arguments:stepTime:
> | 15.3% {12548ms}
> WorldState>>startStepping:at:selector:arguments:stepTime:
> | 15.3% {12548ms}
> WorldState>>stopStepping:selector:
> | 9.1% {7463ms}
> Heap(SequenceableCollection)>>select:
> | |6.4% {5249ms} Heap>>at:
> | |2.7% {2214ms} primitives
> | 3.4% {2788ms}
> Heap(Collection)>>removeAll:
> | |3.4% {2788ms}
> Heap(Collection)>>remove:
> | | 3.4% {2788ms}
> Heap>>remove:ifAbsent:
> | | 1.7% {1394ms}
> StepMessage(MessageSend)>>=
> | | |1.7% {1394ms} primitives
> | | 1.7% {1394ms} primitives
> | 2.8% {2296ms} primitives
> 14.8% {12138ms} PasteUpMorph>>startSteppingSubmorphsOf:
> 14.6% {11974ms} CLCheckButton(Morph)>>arrangeToStartSteppingIn:
> 14.4% {11810ms} PasteUpMorph>>startStepping:
> 14.4% {11810ms}
> PasteUpMorph>>startStepping:at:selector:arguments:stepTime:
> 14.4% {11810ms}
> WorldState>>startStepping:at:selector:arguments:stepTime:
> 14.4% {11810ms} WorldState>>stopStepping:selector:
> 9.1% {7463ms} Heap(SequenceableCollection)>>select:
> |6.5% {5331ms} Heap>>at:
> |2.5% {2050ms} primitives
> 2.9% {2378ms} Heap(Collection)>>removeAll:
> |2.9% {2378ms} Heap(Collection)>>remove:
> | 2.9% {2378ms} Heap>>remove:ifAbsent:
> | 1.5% {1230ms} primitives
> | 1.4% {1148ms} StepMessage(MessageSend)>>=
> 2.4% {1968ms} primitives
> 7.9% {6479ms} CLGrid>>relocatePanels
> 7.9% {6479ms} CLScrollPanelContainer(Morph)>>position:
> 7.4% {6069ms} CLScrollPanelContainer(Morph)>>fullBounds
> 7.4% {6069ms} CLScrollPanelContainer(Morph)>>doLayoutIn:
> 7.4% {6069ms} TableLayout>>layout:in:
> 7.4% {6069ms} TableLayout>>layoutTopToBottom:in:
> 4.3% {3527ms} CLGridRow(Morph)>>minExtent
> |4.1% {3363ms} TableLayout>>minExtentOf:in:
> | 4.1% {3363ms} TableLayout>>minExtentHorizontal:
> | 4.0% {3281ms} CLGridCell(Morph)>>minExtent
> | 1.9% {1558ms} CLGridCell(Morph)>>fullBounds
> | |1.8% {1476ms} CLGridCell(Morph)>>doLayoutIn:
> | 1.3% {1066ms} TableLayout>>minExtentOf:in:
> | 1.2% {984ms} TableLayout>>minExtentVertical:
> | 1.1% {902ms} CLLabel(Morph)>>minExtent
> 3.1% {2542ms} CLGridRow(Morph)>>layoutInBounds:
> 2.4% {1968ms} CLGridRow(Morph)>>doLayoutIn:
> 1.9% {1558ms} TableLayout>>layout:in:
> 1.9% {1558ms} TableLayout>>layoutLeftToRight:in:
> 1.7% {1394ms} CLGridCell(Morph)>>minExtent
>
> **Leaves**
> 16.8% {13778ms} Heap>>at:
> 7.0% {5741ms} WeakActionSequence(SequenceableCollection)>>select:
> 6.9% {5659ms} Array(SequenceableCollection)>>identityIndexOf:ifAbsent:
> 6.8% {5577ms} WorldState>>stopStepping:selector:
> 3.7% {3035ms} Array(SequenceableCollection)>>identityIndexOf:
> 3.3% {2706ms} SmallIdentityDictionary(SmallDictionary)>>at:ifAbsent:
> 3.3% {2706ms} MorphExtension>>valueOfProperty:ifAbsent:
> 3.2% {2624ms} Heap>>remove:ifAbsent:
> 3.1% {2542ms} StepMessage(MessageSend)>>=
> 2.4% {1968ms} SmallIdentityDictionary>>findIndexForKey:
> 1.7% {1394ms} Rectangle>>setOrigin:corner:
> 1.6% {1312ms} Point>>+
> 1.6% {1312ms} Rectangle class>>origin:corner:
> 1.4% {1148ms} RectangleMorph(Morph)>>valueOfProperty:ifAbsent:
> 1.3% {1066ms} Point>>-
>
> **Memory**
> old +20,789,788 bytes
> young +112,272 bytes
> used +20,902,060 bytes
> free -1,073,416 bytes
>
> **GCs**
> full 2 totalling 495ms (1.0% uptime), avg 248.0ms
> incr 45275 totalling 15,800ms (19.0% uptime), avg 0.0ms
> tenures 715 (avg 63 GCs/tenure)
> root table 0 overflows
>
> Perhaps I don´t interpret correctly that result. I understand than the more
> slow is the UI actions, when I add the cells in each row (
> #buildCellsStructure ). Exists some way for accelerate the UI moves? Is
> possible stop the morphs events and only restart when is all builded?
>
> I did try reduce the slow sensation loading the rows in another thread
> (#fork), but the UI crushes, and appears a red rectangle with a yellow
> cross. Exists some way for use work with UI in another threads?
>
>
> Regards
>
>
Feb. 6, 2010
Re: [Pharo-project] World Menu (was [BetaTesting] [ANN] Pharo1.0-10507-rc2dev10.01.2)
by Alain Plantec
Stéphane Ducasse a écrit :
> we need a registration mechanism for the menu
>
yes, I have built one which is using pragma but it needs a
to reviewed a little bit.
Alain
>
> On Feb 5, 2010, at 9:53 PM, Mariano Martinez Peck wrote:
>
>
>> On Fri, Feb 5, 2010 at 9:23 PM, laurent laffont <laurent.laffont(a)gmail.com> wrote:
>> Hi Mariano,
>>
>> You will find a changeset attached here http://code.google.com/p/pharo/issues/detail?id=1937 which add the Help menu.
>>
>>
>> Thanks Laurent! Thanks cool !!!
>>
>> Now, I have another question. It would be cool that the help menu is in the core image. But then, there will be items that should be from the core, suppose a workspace with the shortcuts or something similar and items that are from the PharoDev image, for example, ProfStef.
>>
>> So, my question is, can I integrate this menu in PharoCore, with the current items of PharoCore and then, from outside, suppose when building PharoDev I add things there ? or even ProfStef for example could add himself there when installing (in the metacello post doit).
>>
>> I think this is similar to the problem of the ToolSet. I want to be able to build or modify in runtime the items of a menu :)
>>
>> Is this possible ?
>>
>> Cheers
>>
>> Mariano
>>
>> Laurent
>>
>>
>>
>> On Fri, Feb 5, 2010 at 9:51 AM, laurent laffont <laurent.laffont(a)gmail.com> wrote:
>>
>> 2010/2/5 Mariano Martinez Peck <marianopeck(a)gmail.com>
>>
>>
>>
>> 2010/2/4 laurent laffont <laurent.laffont(a)gmail.com>
>>
>> Hi,
>>
>> I was thinking that there's no entry in the world menu to re-open the welcome workspace. For beginners it may be useful ?
>>
>> Yes, I agree. I also though about that but I didn't know where to put it in the menu neither how to code it. Ok, I have several examples to look how to do it, but nil time for the last week :(
>>
>> Where exactly do you think is the best place to put it in the menu ? I said several times about the issue:
>>
>> http://code.google.com/p/pharo/issues/detail?id=1042
>>
>> (search in mailing list also)
>>
>> It is OBVIOUS that we are missing a "help menu".
>>
>>
>> I agree
>>
>>
>>
>>
>> There we can put also this thing to reopen the welcome workspace.
>>
>> Now....do we have time to do this for 1.0 ? someone ?
>>
>>
>> I will take a look. No promise.
>>
>>
>> In World > Tools:
>> - duplicated entries: Class Browser, Workspace, Test Runner, Monticello Browser
>>
>> These are the most common used tools, that's why they are there.
>>
>>
>> I prefer one thing at one place :)
>>
>>
>> Laurent
>>
>>
>>
>> In World > Tools > More:
>> - Language editor / language editor for.... these tools look strange :)
>>
>> And I don't know if they are even working,
>>
>> - duplicated entries: Monticello Browser, Preference Browser, Test Runner
>> - someone use Search Browser and Services Browser ?
>> - MCConfigurationBrowser: what is the purpose of this tool ?
>> (may be we can remove this "Other tools" menu, merging it with tools)
>>
>>
>> Cheers,
>>
>> Laurent Laffont
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
Feb. 6, 2010
Re: [Pharo-project] Any good shrink scripts for pharo targeting the iPhone with deimos?
by Stéphane Ducasse
Check the about the system if you want to get real and usable feedback.
On Feb 6, 2010, at 6:17 PM, Nathan Tuttle wrote:
> downloaded it a few days ago
>
> PharoV10 and squek version 4.10 I think
>
> 2010/2/6 John M McIntosh <johnmci(a)smalltalkconsulting.com>
> So which version of pharo are you using, and what VM?
>
> On 2010-02-05, at 4:34 PM, Nathan Tuttle wrote:
>
>> Want to make my pharo app run a little smoother on my iTouch
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> --
> ===========================================================================
> John M. McIntosh <johnmci(a)smalltalkconsulting.com> Twitter: squeaker68882
> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
> ===========================================================================
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Feb. 6, 2010
Re: [Pharo-project] Any good shrink scripts for pharo targeting the iPhone with deimos?
by Nathan Tuttle
downloaded it a few days ago
PharoV10 and squek version 4.10 I think
2010/2/6 John M McIntosh <johnmci(a)smalltalkconsulting.com>
> So which version of pharo are you using, and what VM?
>
> On 2010-02-05, at 4:34 PM, Nathan Tuttle wrote:
>
> Want to make my pharo app run a little smoother on my iTouch
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> --
> ===========================================================================
> John M. McIntosh <johnmci(a)smalltalkconsulting.com> Twitter:
> squeaker68882
> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
> ===========================================================================
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Feb. 6, 2010
[Pharo-project] broken polymorph example in 1.1?
by Hilaire Fernandes
Is it me or examples of the Polymorph usage are broken?
For example exampleOtherControls break
Hilaire
Feb. 6, 2010
Re: [Pharo-project] World Menu (was [BetaTesting] [ANN] Pharo1.0-10507-rc2dev10.01.2)
by Stéphane Ducasse
we need a registration mechanism for the menu
On Feb 5, 2010, at 9:53 PM, Mariano Martinez Peck wrote:
>
>
> On Fri, Feb 5, 2010 at 9:23 PM, laurent laffont <laurent.laffont(a)gmail.com> wrote:
> Hi Mariano,
>
> You will find a changeset attached here http://code.google.com/p/pharo/issues/detail?id=1937 which add the Help menu.
>
>
> Thanks Laurent! Thanks cool !!!
>
> Now, I have another question. It would be cool that the help menu is in the core image. But then, there will be items that should be from the core, suppose a workspace with the shortcuts or something similar and items that are from the PharoDev image, for example, ProfStef.
>
> So, my question is, can I integrate this menu in PharoCore, with the current items of PharoCore and then, from outside, suppose when building PharoDev I add things there ? or even ProfStef for example could add himself there when installing (in the metacello post doit).
>
> I think this is similar to the problem of the ToolSet. I want to be able to build or modify in runtime the items of a menu :)
>
> Is this possible ?
>
> Cheers
>
> Mariano
>
> Laurent
>
>
>
> On Fri, Feb 5, 2010 at 9:51 AM, laurent laffont <laurent.laffont(a)gmail.com> wrote:
>
> 2010/2/5 Mariano Martinez Peck <marianopeck(a)gmail.com>
>
>
>
> 2010/2/4 laurent laffont <laurent.laffont(a)gmail.com>
>
> Hi,
>
> I was thinking that there's no entry in the world menu to re-open the welcome workspace. For beginners it may be useful ?
>
> Yes, I agree. I also though about that but I didn't know where to put it in the menu neither how to code it. Ok, I have several examples to look how to do it, but nil time for the last week :(
>
> Where exactly do you think is the best place to put it in the menu ? I said several times about the issue:
>
> http://code.google.com/p/pharo/issues/detail?id=1042
>
> (search in mailing list also)
>
> It is OBVIOUS that we are missing a "help menu".
>
>
> I agree
>
>
>
>
> There we can put also this thing to reopen the welcome workspace.
>
> Now....do we have time to do this for 1.0 ? someone ?
>
>
> I will take a look. No promise.
>
>
> In World > Tools:
> - duplicated entries: Class Browser, Workspace, Test Runner, Monticello Browser
>
> These are the most common used tools, that's why they are there.
>
>
> I prefer one thing at one place :)
>
>
> Laurent
>
>
>
> In World > Tools > More:
> - Language editor / language editor for.... these tools look strange :)
>
> And I don't know if they are even working,
>
> - duplicated entries: Monticello Browser, Preference Browser, Test Runner
> - someone use Search Browser and Services Browser ?
> - MCConfigurationBrowser: what is the purpose of this tool ?
> (may be we can remove this "Other tools" menu, merging it with tools)
>
>
> Cheers,
>
> Laurent Laffont
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Feb. 6, 2010
Re: [Pharo-project] Conseils for develop a grid
by nullPointer
I´m continue working on that widget. Now works in design time, integrated in
UIBuilder tool.
Adding rows ->
http://www.youtube.com/watch?v=Dt0yz0JyBCg
Master detail ->
http://www.youtube.com/watch?v=FTW9Byqdgbk
My main problem now is the speed. Is very very slow; one minute is needed
for load 5000 rows (!!!)
With MessageTally I see the next response...
- 81732 tallies, 82014 msec.
**Tree**
--------------------------------
Process: (40s) 3296: nil
--------------------------------
50.3% {41253ms} CLGrid>>dataSource:
44.5% {36496ms} CLGrid>>addRow
|21.7% {17797ms} CLScrollPanelContainer(Morph)>>addMorphBack:
| |21.7% {17797ms}
CLScrollPanelContainer(CLPanel)>>privateAddMorph:atIndex:
| | 21.6% {17715ms}
CLScrollPanelContainer(Morph)>>privateAddMorph:atIndex:
| | 13.8% {11318ms}
CLScrollPanelContainer(Morph)>>privateInvalidateMorph:
| | |13.5% {11072ms} CLGridRow(Morph)>>fullBounds
| | | 13.5% {11072ms} CLGridRow(Morph)>>doLayoutIn:
| | | 8.6% {7053ms} TableLayout>>layout:in:
| | | |8.6% {7053ms} TableLayout>>layoutLeftToRight:in:
| | | | 5.8% {4757ms} CLGridCell(Morph)>>layoutInBounds:
| | | | |5.3% {4347ms} CLGridCell(Morph)>>bounds:
| | | | | 2.6% {2132ms} CLGridCell(Morph)>>position:
| | | | | |1.5% {1230ms}
CLGridCell(Morph)>>invalidRect:
| | | | | | 1.5% {1230ms}
CLGridCell(Morph)>>invalidRect:from:
| | | | | | 1.5% {1230ms}
CLGridRow(Morph)>>invalidRect:from:
| | | | | | 1.1% {902ms}
CLScrollPanelContainer(Morph)>>invalidRect:from:
| | | | | 2.6% {2132ms} CLGridCell>>extent:
| | | | | 2.4% {1968ms} CLGridCell(Morph)>>extent:
| | | | | 1.6% {1312ms} CLGridCell(Morph)>>changed
| | | | 2.7% {2214ms} CLGridCell(Morph)>>minExtent
| | | 4.2% {3445ms} CLGridRow(Morph)>>adjustLayoutBounds
| | | 3.9% {3199ms} CLGridRow(Morph)>>submorphBounds
| | | 3.9% {3199ms} CLGridCell(Morph)>>fullBounds
| | | 3.6% {2953ms} CLGridCell(Morph)>>doLayoutIn:
| | | 2.0% {1640ms} TableLayout>>layout:in:
| | | 1.8% {1476ms}
TableLayout>>layoutTopToBottom:in:
| | 7.7% {6315ms} CLGridRow(Morph)>>intoWorld:
| | 7.7% {6315ms} CLGridCell(Morph)>>intoWorld:
| | 7.6% {6233ms} CLCheckButton(Morph)>>intoWorld:
| | 7.4% {6069ms} PasteUpMorph>>startStepping:
| | 7.4% {6069ms}
PasteUpMorph>>startStepping:at:selector:arguments:stepTime:
| | 7.4% {6069ms}
WorldState>>startStepping:at:selector:arguments:stepTime:
| | 7.4% {6069ms} WorldState>>stopStepping:selector:
| | 5.8% {4757ms}
Heap(SequenceableCollection)>>select:
| | |3.9% {3199ms} Heap>>at:
| | |1.8% {1476ms} primitives
| | 1.6% {1312ms} primitives
|14.8% {12138ms} CLGridRow>>buildCellsStructureFrom:
| |14.8% {12138ms} CLGridRow>>addCell:
| | 14.8% {12138ms} CLGridRow>>pvtAddCell:ofType:
| | 5.7% {4675ms} CLGridCell>>setColumn:
| | |5.7% {4675ms} CLGridCell>>pvtBuildValueControl
| | | 3.0% {2460ms} CLLabel class(Behavior)>>new
| | | 2.0% {1640ms}
CLCheckButton(CheckboxButtonMorph)>>initialize
| | | |1.1% {902ms} CLCheckButton>>enabled:
| | | | 1.1% {902ms}
CLCheckButton(CheckboxButtonMorph)>>enabled:
| | | 1.0% {820ms} CLLabel>>initialize
| | 4.0% {3281ms} CLGridCell class(Behavior)>>new
| | |4.0% {3281ms} CLGridCell>>initialize
| | 2.4% {1968ms} CLGridCell(Morph)>>width:
| | |2.4% {1968ms} CLGridCell>>extent:
| | | 2.1% {1722ms} CLGridCell(Morph)>>extent:
| | | 1.9% {1558ms} CLGridCell(Morph)>>changed
| | | 1.4% {1148ms} CLGridCell(Morph)>>privateFullBounds
| | 1.4% {1148ms} CLGridCell(Morph)>>borderColor:
| | 1.3% {1066ms} CLGridCell(Morph)>>changed
| | 1.3% {1066ms} CLGridCell(Morph)>>privateFullBounds
|5.4% {4429ms} CLGridRow(CLPanel)>>color:
| |5.4% {4429ms} CLGridRow(Morph)>>color:
| | 5.4% {4429ms} CLGridRow(Morph)>>changed
| | 5.4% {4429ms} CLGridRow(Morph)>>privateFullBounds
| | 5.2% {4265ms} CLGridRow(Morph)>>submorphBounds
| | 5.2% {4265ms} CLGridCell(Morph)>>fullBounds
| | 4.8% {3937ms} CLGridCell(Morph)>>doLayoutIn:
| | 3.3% {2706ms} TableLayout>>layout:in:
| | 3.1% {2542ms} TableLayout>>layoutTopToBottom:in:
| | 1.8% {1476ms} CLLabel(Morph)>>layoutInBounds:
|1.3% {1066ms} CLGridRow class(Behavior)>>new
| 1.3% {1066ms} CLGridRow>>initialize
5.6% {4593ms} CLGridRow>>listObject:
5.4% {4429ms} CLGridCell>>value:
4.3% {3527ms} CLLabel>>value:
|4.3% {3527ms} CLLabel>>text:
| 4.3% {3527ms} CLLabel(StringMorph)>>contents:
| 4.3% {3527ms} CLLabel(StringMorph)>>fitContents
| 4.1% {3363ms} CLLabel>>extent:
| 4.0% {3281ms} CLLabel(Morph)>>extent:
| 3.4% {2788ms} CLLabel(Morph)>>changed
| 3.2% {2624ms} CLLabel(Morph)>>invalidRect:
| 3.2% {2624ms} CLLabel(Morph)>>invalidRect:from:
| 3.1% {2542ms} CLGridCell(Morph)>>invalidRect:from:
| 2.7% {2214ms} CLGridRow(Morph)>>invalidRect:from:
| 2.4% {1968ms}
CLScrollPanelContainer(Morph)>>invalidRect:from:
| 2.2% {1804ms}
TransformMorph>>invalidRect:from:
| 1.4% {1148ms}
TransformMorph(Morph)>>invalidRect:from:
| 1.4% {1148ms}
CLScrollpanel(Morph)>>invalidRect:from:
| 1.2% {984ms}
CLGrid(Morph)>>invalidRect:from:
1.1% {902ms} CLCheckButton>>value:
1.1% {902ms} CLCheckButton(CheckboxButtonMorph)>>state:
30.5% {25014ms} CLGrid(Morph)>>openInWindowLabeled:
30.5% {25014ms} CLGrid(Morph)>>openInWindowLabeled:inWorld:
15.5% {12712ms} PasteUpMorph(Morph)>>addMorph:
|15.5% {12712ms} PasteUpMorph>>addMorphFront:
| 15.5% {12712ms} PasteUpMorph(Morph)>>addMorphInFrontOfLayer:
| 15.5% {12712ms} PasteUpMorph(Morph)>>addMorph:inFrontOf:
| 15.5% {12712ms} PasteUpMorph(Morph)>>privateAddMorph:atIndex:
| 15.5% {12712ms} SystemWindow(Morph)>>intoWorld:
| 15.5% {12712ms} CLGrid(Morph)>>intoWorld:
| 15.5% {12712ms} CLGridRowHeader(Morph)>>intoWorld:
| 15.5% {12712ms} CLGridCellHeader(Morph)>>intoWorld:
| 15.5% {12712ms}
CLScrollPanelContainer(Morph)>>intoWorld:
| 15.5% {12712ms} CLGridRow(Morph)>>intoWorld:
| 15.4% {12630ms} CLGridCell(Morph)>>intoWorld:
| 15.4% {12630ms}
CLCheckButton(Morph)>>intoWorld:
| 15.3% {12548ms} PasteUpMorph>>startStepping:
| 15.3% {12548ms}
PasteUpMorph>>startStepping:at:selector:arguments:stepTime:
| 15.3% {12548ms}
WorldState>>startStepping:at:selector:arguments:stepTime:
| 15.3% {12548ms}
WorldState>>stopStepping:selector:
| 9.1% {7463ms}
Heap(SequenceableCollection)>>select:
| |6.4% {5249ms} Heap>>at:
| |2.7% {2214ms} primitives
| 3.4% {2788ms}
Heap(Collection)>>removeAll:
| |3.4% {2788ms}
Heap(Collection)>>remove:
| | 3.4% {2788ms}
Heap>>remove:ifAbsent:
| | 1.7% {1394ms}
StepMessage(MessageSend)>>=
| | |1.7% {1394ms} primitives
| | 1.7% {1394ms} primitives
| 2.8% {2296ms} primitives
14.8% {12138ms} PasteUpMorph>>startSteppingSubmorphsOf:
14.6% {11974ms} CLCheckButton(Morph)>>arrangeToStartSteppingIn:
14.4% {11810ms} PasteUpMorph>>startStepping:
14.4% {11810ms}
PasteUpMorph>>startStepping:at:selector:arguments:stepTime:
14.4% {11810ms}
WorldState>>startStepping:at:selector:arguments:stepTime:
14.4% {11810ms} WorldState>>stopStepping:selector:
9.1% {7463ms} Heap(SequenceableCollection)>>select:
|6.5% {5331ms} Heap>>at:
|2.5% {2050ms} primitives
2.9% {2378ms} Heap(Collection)>>removeAll:
|2.9% {2378ms} Heap(Collection)>>remove:
| 2.9% {2378ms} Heap>>remove:ifAbsent:
| 1.5% {1230ms} primitives
| 1.4% {1148ms} StepMessage(MessageSend)>>=
2.4% {1968ms} primitives
7.9% {6479ms} CLGrid>>relocatePanels
7.9% {6479ms} CLScrollPanelContainer(Morph)>>position:
7.4% {6069ms} CLScrollPanelContainer(Morph)>>fullBounds
7.4% {6069ms} CLScrollPanelContainer(Morph)>>doLayoutIn:
7.4% {6069ms} TableLayout>>layout:in:
7.4% {6069ms} TableLayout>>layoutTopToBottom:in:
4.3% {3527ms} CLGridRow(Morph)>>minExtent
|4.1% {3363ms} TableLayout>>minExtentOf:in:
| 4.1% {3363ms} TableLayout>>minExtentHorizontal:
| 4.0% {3281ms} CLGridCell(Morph)>>minExtent
| 1.9% {1558ms} CLGridCell(Morph)>>fullBounds
| |1.8% {1476ms} CLGridCell(Morph)>>doLayoutIn:
| 1.3% {1066ms} TableLayout>>minExtentOf:in:
| 1.2% {984ms} TableLayout>>minExtentVertical:
| 1.1% {902ms} CLLabel(Morph)>>minExtent
3.1% {2542ms} CLGridRow(Morph)>>layoutInBounds:
2.4% {1968ms} CLGridRow(Morph)>>doLayoutIn:
1.9% {1558ms} TableLayout>>layout:in:
1.9% {1558ms} TableLayout>>layoutLeftToRight:in:
1.7% {1394ms} CLGridCell(Morph)>>minExtent
**Leaves**
16.8% {13778ms} Heap>>at:
7.0% {5741ms} WeakActionSequence(SequenceableCollection)>>select:
6.9% {5659ms} Array(SequenceableCollection)>>identityIndexOf:ifAbsent:
6.8% {5577ms} WorldState>>stopStepping:selector:
3.7% {3035ms} Array(SequenceableCollection)>>identityIndexOf:
3.3% {2706ms} SmallIdentityDictionary(SmallDictionary)>>at:ifAbsent:
3.3% {2706ms} MorphExtension>>valueOfProperty:ifAbsent:
3.2% {2624ms} Heap>>remove:ifAbsent:
3.1% {2542ms} StepMessage(MessageSend)>>=
2.4% {1968ms} SmallIdentityDictionary>>findIndexForKey:
1.7% {1394ms} Rectangle>>setOrigin:corner:
1.6% {1312ms} Point>>+
1.6% {1312ms} Rectangle class>>origin:corner:
1.4% {1148ms} RectangleMorph(Morph)>>valueOfProperty:ifAbsent:
1.3% {1066ms} Point>>-
**Memory**
old +20,789,788 bytes
young +112,272 bytes
used +20,902,060 bytes
free -1,073,416 bytes
**GCs**
full 2 totalling 495ms (1.0% uptime), avg 248.0ms
incr 45275 totalling 15,800ms (19.0% uptime), avg 0.0ms
tenures 715 (avg 63 GCs/tenure)
root table 0 overflows
Perhaps I don´t interpret correctly that result. I understand than the more
slow is the UI actions, when I add the cells in each row (
#buildCellsStructure ). Exists some way for accelerate the UI moves? Is
possible stop the morphs events and only restart when is all builded?
I did try reduce the slow sensation loading the rows in another thread
(#fork), but the UI crushes, and appears a red rectangle with a yellow
cross. Exists some way for use work with UI in another threads?
Regards
--
View this message in context: http://n4.nabble.com/Conseils-for-develop-a-grid-tp1299737p1471158.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
Feb. 6, 2010
Re: [Pharo-project] Any good shrink scripts for pharo targeting the iPhone with deimos?
by John M McIntosh
So which version of pharo are you using, and what VM?
On 2010-02-05, at 4:34 PM, Nathan Tuttle wrote:
> Want to make my pharo app run a little smoother on my iTouch
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
--
===========================================================================
John M. McIntosh <johnmci(a)smalltalkconsulting.com> Twitter: squeaker68882
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================
Feb. 6, 2010