So,� If I have an image with no GUI, which UIManager should I install, how and when?� Because at image startup I can't use a MorphicUIManager if I don't have it loaded into the image :).
indeed the non-interactive one keeps the previous version alive in the instvar...
I just copied the existing implementation (without much motivation).
Bit for simplicity's sake we should simply instantiate every time the proper ui manager, that would simplify these ugly methods quite a bit.
cami
On 2012-03-21, at 04:12, Igor Stasenko wrote:
> the logic there was to set a non-interactive ui manager
> for headless sessions only , and then restore back a previous one
> (whatever it is), once session is changed back to headfull.
>
> if its uiManager is nil, it should reset the default manager,
> if i remember correctly, then UImanager itself will take care
> instantiating default one.
>
> On 21 March 2012 04:35, Guillermo Polito <guillermopolito@gmail.com> wrote:
>> Hi,
>>
>> I was doing some hacking, and playing with NonInteractiveUIManager. �And it
>> puzzled me that I realized that it has an inst var uiManager that seems to
>> refer to an uiManager it's replacing.
>> But my UIManager is not replacing anyone, it's my default and unique
>> UIManager and this var points to nil :S!
>>
>> So the code below does not work...
>>
>> onSnapshot: resuming
>> � � "The resuming argument is true when image boots from disk,
>> � � and false, if user just did an image snapshot."
>>
>> � � resuming ifTrue: [
>> � � � � Smalltalk isHeadless ifFalse: [
>> � � � � � � "restore old, or nil, so it will be set in #default "
>> � � � � � � � � uiManager beDefault.
>> � � � � � � � � UIManager default onSnapshot: resuming.
>> � � � � � � ^ self ].
>> � � � � Smalltalk isInteractive ifTrue: [
>> � � � � � � "use a headless but interactive manager"
>> � � � � � � ^ self headlessManager onSnapshot: resuming ]].
>>
>>
>> � � " this flag set to true only if we are saving a snapshot before quitting
>> "
>> � � doNotQuitOnRestart ifTrue: [
>> � � � � Smalltalk snapshot: false andQuit: true].
>>
>>
>> I made it work in my image adding within the controversial lines:
>>
>> uiManager ifNotNil: [
>> � � uiManager beDefault.
>> � � UIManager default onSnapshot: resuming.
>> ]
>>
>> But it really looks like a hack because that inst var is ment to do
>> something else...
>> Is it asking me for a refactor? �Or am I using this stuff in the wrong way?
>> Camillo, Igor? :P
>>
>> Guille
>
>
>
> --
> Best regards,
> Igor Stasenko.
>