Re: [Pharo-project] Pharo dev image rc2 thoughts
Mariano, The progress-bar problem is solvable. The progress bar problem appears because the dev image doits reinitalize the progress bar class. The first question is: "Must the progress bar code be initialized?" if no, then remove the initialization code and the problem should be solved:) If yes, then I will dig into the problem and see what I can come up with ... there are a couple of routes I can take, but I'd like to know that we can't bypass the initialization before getting my hands that dirty:) Dale ----- "Mariano Martinez Peck" <marianopeck@gmail.com> wrote: | 2010/1/24 Miguel Enrique Cobá Martinez <miguel.coba@gmail.com> | | > | > Now to the point. I understand that the separation of concerns is | good, | > because ImageForDevelopers is already a separated and tested | package | > that shouldn't be inside ConfigurationOfPharo. | > | | I will tell you a bit the background: First, when I took the | installScript | from Damien, there where some stuff done in the script (like settings | the | preferences and the fonts) done in the installScript. It didn't have | sense | for me (of course I asked Damien) and I put that in ImageForDevelopers | (and | this is cool because it is versiones with monticello). Actually in | DEVImageCreator >> install. I need also to clean that class as it has | a lot | of old stuff. But not time for the moment. | | When I create rc1, ImageForDevelopers was a dependency of | ConfigurationOfPharo as you said. There was a problem installing it | with the | progress bar and Metacello. The image just frezze because of a | sempahore and | a delay....see issue: | http://code.google.com/p/metacello/issues/detail?id=39 | But I can even reproduce the problem....So, that quick solution (as I | needed | to relase the Pharo image) was to put in the installScript. | | And after a while I discovered that I even like more that approach. | Someone | may want just the packages of a dev image, but not to set | preferences, | fonts, cleanups, etc. And I don't have the Metacello bug. | The problem I found also putting it as a dependency is that it has to | be the | LATEST (I think that you cannot even said that XX package has to be | the last | one to be loaded) package to be loaded. I can put it as postDoIt for | the | project, but this cannot be done because it is ONLY required for | certain | groups | | | > - Shouldn't be necessary to create a | ConfigurationOfImageForDevelopers | > and in this configuration reference ConfigurationOfPharo and then | the | > installScript for the dev image use *only* | > ConfigurationOfImageForDevelopers? | > | > | It can work, but actually for me we are having a problem (maybe we | need the | support the post/pre doit for groupos...but dale said it was | complicated). I | would like to just do (ConfigurationOfPharo project version: 'XXX') | load:'ImageForDeveloper' |
On Sun, Jan 24, 2010 at 10:24 PM, Dale Henrichs <dale.henrichs@gemstone.com>wrote:
Mariano,
The progress-bar problem is solvable.
The progress bar problem appears because the dev image doits reinitalize the progress bar class. The first question is: "Must the progress bar code be initialized?" if no, then remove the initialization code and the problem should be solved:) If yes, then I will dig into the problem and see what I can come up with ... there are a couple of routes I can take, but I'd like to know that we can't bypass the initialization before getting my hands that dirty:)
Cool you are reading this thread Dale. Maybe this is another typical case where I may need post/pre doit for groups :) hahahahah Of course, I need what you said it was most difficult...That's Morphy law :) But doesn't matter. We can bypass this problem. Maybe we can think about it with time, in Metacello 1.1 or something like that. I am completely ignorant about the progress. Could you detect where is exactly that the progress bar is initialized in that package ?
Dale
----- "Mariano Martinez Peck" <marianopeck@gmail.com> wrote:
| 2010/1/24 Miguel Enrique Cobá Martinez <miguel.coba@gmail.com> | | > | > Now to the point. I understand that the separation of concerns is | good, | > because ImageForDevelopers is already a separated and tested | package | > that shouldn't be inside ConfigurationOfPharo. | > | | I will tell you a bit the background: First, when I took the | installScript | from Damien, there where some stuff done in the script (like settings | the | preferences and the fonts) done in the installScript. It didn't have | sense | for me (of course I asked Damien) and I put that in ImageForDevelopers | (and | this is cool because it is versiones with monticello). Actually in | DEVImageCreator >> install. I need also to clean that class as it has | a lot | of old stuff. But not time for the moment. | | When I create rc1, ImageForDevelopers was a dependency of | ConfigurationOfPharo as you said. There was a problem installing it | with the | progress bar and Metacello. The image just frezze because of a | sempahore and | a delay....see issue: | http://code.google.com/p/metacello/issues/detail?id=39 | But I can even reproduce the problem....So, that quick solution (as I | needed | to relase the Pharo image) was to put in the installScript. | | And after a while I discovered that I even like more that approach. | Someone | may want just the packages of a dev image, but not to set | preferences, | fonts, cleanups, etc. And I don't have the Metacello bug. | The problem I found also putting it as a dependency is that it has to | be the | LATEST (I think that you cannot even said that XX package has to be | the last | one to be loaded) package to be loaded. I can put it as postDoIt for | the | project, but this cannot be done because it is ONLY required for | certain | groups | | | > - Shouldn't be necessary to create a | ConfigurationOfImageForDevelopers | > and in this configuration reference ConfigurationOfPharo and then | the | > installScript for the dev image use *only* | > ConfigurationOfImageForDevelopers? | > | > | It can work, but actually for me we are having a problem (maybe we | need the | support the post/pre doit for groupos...but dale said it was | complicated). I | would like to just do (ConfigurationOfPharo project version: 'XXX') | load:'ImageForDeveloper' |
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
El dom, 24-01-2010 a las 22:33 +0100, Mariano Martinez Peck escribió:
I am completely ignorant about the progress. Could you detect where is exactly that the progress bar is initialized in that package ?
Thanks Dale and Mariano. I found the place where the reset is made. The postDoit for ImageForDevelopers calls DEVImageCreator default install that calls self setTheme that calls: UIThemeStandardSqueak beCurrent. UIThemeWatery2 beCurrent. that is defined in: UITheme class. There calls self current: self newDefault where current is: "Set the current ui theme." Current := aUITheme. UITheme allThemeClasses do: [:c | c changed: #isCurrent]. SystemProgressMorph reset. "reset to use new fill styles" ScrollBar initializeImagesCache. "reset to use new arrows" aUITheme updateWorldDockingBars. World themeChanged and here is the problem! (finally :)) The SystemProgressMorph reset is the culprit of the initialization of the progress bar. and is called not one but two times, because the setThemes method first install the old squeak theme (I suppose that Watery theme doesn't cover all the UI elements) and then install the watery theme. So here we have a problem. I think that it is correct to reset the progress bar when you install the theme. But I also think that *is not* the responsibility of Metacello to track this specific scenario (unless that is really simple and non-invasive to do, in that case, well, Dale is your time and we'll for sure welcome and thank that fix) Also, this problem can be solved by extracting the theme change to the installScript.st that is, DEVImageCreator>>install should remove the setTheme call and the installScript.st should do, after creating the image: DEVImageCreator default setTheme. BTW, as we are here, install also should remove: self writeListOfPackages. self openWelcomeWorkspaces. also to the installScript.st as DEVImageCreator default setTheme; writeListOfPackages; openWelcomeWorkspaces. But I digress. Returning to the problem of the reset of the progress bar, maybe the best solution is to simply remove the setTheme call because: Pharo already uses the watery theme, this was used, I think, in the dev images based on squeak. But, as you are using the ImageForDevelopers-pharo, just delete it. Dale has nothing to do after that. (but if you can change the writeListOfPackages and openWelcomeWorkspaces to the installScript that would be cool ;)). Cheers to all. SystemProgressMorph reset. "reset to use new fill styles" -- Miguel Cobá http://miguel.leugim.com.mx
participants (3)
-
Dale Henrichs -
Mariano Martinez Peck -
Miguel Enrique Cobá Martinez