of course, but since we have not implemented such mechanism, we need to go one step at a time…
first step is *not to have* everything as static as it was before. then we need to think on skins, injection, etc. Esteban > On 04 Feb 2016, at 22:21, stepharo <[email protected]> wrote: > > Hi guys > > I do not have the answer but I hate such patterns > > Smalltalk ui icons iconNamed: #protocolExtension. > > To me a tools using an icon should declare the icons as a ***local*** > ressources. > We could imagine that there is a IconContainer and that as a tool I declare > that I want an > icons and I install it on myself. > > | t | > t := Tool new. > ic := IconContainer for: #darkTheme. > t askAninnstallIcon: ic iconFor: #button. > > Then if the IconContainer changes, then it can notify its users to ask for a > new version of the icon. > > ic broadcastNewIcon: #button > > This way > > t does not have to use a plain bad global variable and does not care > about the global namespace. > t should only use local resources held in classVar for example. > > > Such Smalltalk ui icons is a dynamic global variable! > > Stef > > > > > > Le 4/2/16 17:00, Esteban Lorenzano a écrit : >> Smalltalk ui icons iconNamed: #protocolExtension. >> >> Still ugly, but I’m not happy with the idea of a selector-per-icon… they >> will never be enough and well… is like a monolithic vision. >> Not that what we have is much better, but you can consider it an iteration :) >> >> Esteban >> >>> On 04 Feb 2016, at 16:19, Aliaksei Syrel < >>> <mailto:[email protected]>[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Hi >>> >>> For ages to access an icon we used: >>> Smalltalk ui icons protocolPrivateIcon >>> >>> Smalltalk ui icons returns an instance of ThemeIcons. >>> After refactoring (case >>> <https://pharo.fogbugz.com/f/cases/16651>https://pharo.fogbugz.com/f/cases/16651 >>> <https://pharo.fogbugz.com/f/cases/16651>) all methods to access icon (for >>> example protocolPrivateIcon) were removed. >>> >>> ThemeIcons>>#doesNotUnderstand: aMessage converts message sent to >>> iconNamed: aMessage selector which works. >>> >>> BUT we have this all over the image: >>> <Screen Shot 2016-02-04 at 16.13.03.png> >>> >>> So, what is the best practice to access icons to use in application? >>> >>> Cheers, >>> Alex >>> >> >
