Tried your install instructions but give me an error[1] about being unable
to resolve IconFactory , tries to look inside my package-cache of my image
(pharo 4 - 40591 -MACOSX 10).

Interesting tool, out of coincidence I am also working with icons but in my
cases its SVG icons using Bloc .

[1]
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>retryingResolvePackageSpecReferences:gofer:
linearLoadPackageSpec: packageSpec gofer: gofer
    MetacelloPlatform current
        do: [
            | references nearestReference cachedReference externalReference
mcVersion loadedVersionInfos |
            "check to see if mcz file is already in cacheRepository"
            cachedReference := self resolvePackageSpec: packageSpec
cachedGofer: self loaderPolicy cacheGofer.
            (cachedReference ~~ nil and: [ packageSpec getFile ~~ nil ])
                ifTrue: [
                    cachedReference name = packageSpec file
                        ifTrue: [
                            "exact match between packageSpec file and cache"
                            ^ self scheduleFetchFor: packageSpec
cachedReference: cachedReference ] ].    "look up mcz file"
            references := self retryingResolvePackageSpecReferences:
packageSpec gofer: gofer.
            nearestReference := references last
asMetacelloCachingResolvedReference.    "If the mcz is already in the
cacheRepository, no need to copy"
            (cachedReference ~~ nil and: [ cachedReference name =
nearestReference name ])
                ifTrue: [
                    "latest reference in repository matches cachedReference
... "
                    ^ self scheduleFetchFor: packageSpec nearestReference:
nearestReference ].    "If the mcz is already loaded into the image, no
need to copy"
            (self ignoreImage not and: [ (loadedVersionInfos := self
ancestorsFor: packageSpec) ~~ nil ])
                ifTrue: [
                    loadedVersionInfos
                        do: [ :info |
                            info name = nearestReference name
                                ifTrue: [ ^ self ] ] ].
            externalReference := (references select: [ :ref | ref name =
nearestReference name ]) first
                asMetacelloCachingResolvedReference.
            self repositoryMap at: externalReference name put:
externalReference repository.
            (self
                resolveDependencies: externalReference
                nearest: nearestReference
                into: (OrderedCollection with: nearestReference))
                do: [ :reference |
                    | pSpec l |
                    mcVersion := reference version.
                    (l := (GoferVersionReference name: reference name)
resolveAllWith: self loaderPolicy cacheGofer) isEmpty
                        ifTrue: [
                            self cacheRepository storeVersion: mcVersion.
                            reference == nearestReference
                                ifTrue: [ pSpec := packageSpec ]
                                ifFalse: [
                                    pSpec := packageSpec project
packageSpec.
                                    pSpec name: mcVersion package name ].
                            self loadData
                                addVersion: mcVersion
                                versionInfo: mcVersion info
                                resolvedReference: reference
                                packageSpec: pSpec ] ].
            self scheduleFetchFor: packageSpec externalReference:
externalReference ]
        displaying: 'Fetching ' , packageSpec file in
MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer: in Block:
linearLoadPackageSpec: packageSpec gofer: gofer...
MetacelloPharo30Platform(MetacelloPlatform)>>do:displaying:
MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
MetacelloPackageSpec>>loadUsing:gofer:
[ :pkg | pkg loadUsing: self gofer: gofer ] in
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
in Block: [ :pkg | pkg loadUsing: self gofer: gofer ]
OrderedCollection>>do:
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
[ super linearLoadPackageSpecs: packageSpecs repositories: repositories ]
in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories: in
Block: [ super linearLoadPackageSpecs: packageSpecs repos...etc...
BlockClosure>>ensure:
MetacelloLoaderPolicy>>pushLoadDirective:during:
MetacelloLoaderPolicy>>pushLinearLoadDirectivesDuring:for:
MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories:
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>load
MetacelloMCVersionSpecLoader>>load
MetacelloMCVersion>>executeLoadFromArray:
[ :dict | ^ self executeLoadFromArray: anArray ] in [
self versionSpec loader: newLoader.
MetacelloPlatform current
    useStackCacheDuring: [ :dict | ^ self executeLoadFromArray: anArray ]
    defaultDictionary: Dictionary new ] in [
[
self versionSpec loader: newLoader.
MetacelloPlatform current
    useStackCacheDuring: [ :dict | ^ self executeLoadFromArray: anArray ]
    defaultDictionary: Dictionary new ]
    ensure: [ self versionSpec loader: originalLoader ] ] in
MetacelloMCVersion>>fetchRequiredFromArray: in Block: [ :dict | ^ self
executeLoadFromArray: anArray ]
[ ^ aBlock value: dict ] in
MetacelloPharo30Platform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
in Block: [ ^ aBlock value: dict ]
BlockClosure>>on:do:
MetacelloPharo30Platform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
[
self versionSpec loader: newLoader.
MetacelloPlatform current
    useStackCacheDuring: [ :dict | ^ self executeLoadFromArray: anArray ]
    defaultDictionary: Dictionary new ] in [
[
self versionSpec loader: newLoader.
MetacelloPlatform current
    useStackCacheDuring: [ :dict | ^ self executeLoadFromArray: anArray ]
    defaultDictionary: Dictionary new ]
    ensure: [ self versionSpec loader: originalLoader ] ] in
MetacelloMCVersion>>fetchRequiredFromArray: in Block: [ ...
BlockClosure>>ensure:
[
[
self versionSpec loader: newLoader.
MetacelloPlatform current
    useStackCacheDuring: [ :dict | ^ self executeLoadFromArray: anArray ]
    defaultDictionary: Dictionary new ]
    ensure: [ self versionSpec loader: originalLoader ] ] in
MetacelloMCVersion>>fetchRequiredFromArray: in Block: [ ...
MetacelloPharo30Platform(MetacelloPlatform)>>do:displaying:
MetacelloMCVersion>>fetchRequiredFromArray:
[
| fetchLoader |
fetchLoader := self fetchRequiredFromArray: (self
defaultPackageNamesToLoad: anArray).
MetacelloPlatform current do: [ fetchLoader doLoad ] displaying: 'Loading '
, displayString.
Transcript
    cr;
    show: '...finished ' , self versionNumber printString.
^ fetchLoader ] in MetacelloMCVersion>>doLoadRequiredFromArray: in Block: [
...
BlockClosure>>ensure:
MetacelloMCVersion>>doLoadRequiredFromArray:
MetacelloMCVersion>>load
GoferMetacelloLoad>>loadConfiguration


On Sat, Apr 4, 2015 at 2:50 PM, Peter Uhnák <i.uh...@gmail.com> wrote:

> Hi,
>
> since I've been making new icons lately for my project I was frustrated
> with constantly copying code and methods around... so I've made a small
> utility for it
>
> http://smalltalkhub.com/#!/~peteruhnak/IconFactory
>
>
> ​
>
> on top of creating the icons it can add extra stuff like GTInspector
> support.
>
> Any feedback appreciated.
>
> Peter
>

Reply via email to