2012-10-04 42 views
5

Tek bir Morf'ta tüm GUI'sine sahip bir uygulamam var. Pharo ve Squeak, ana işletim sisteminde bir pencereye sahiptir.Güzel bir Tek Pencere Uygulaması Pharo veya Squeak ile nasıl dağıtılır?

Şimdi Pharo/Squeak penceresi yeniden boyutlandırıldığında, bir Pharo/Squeak penceresine tüm Pharo/Squeak penceresini dolduracak şekilde yeniden düzenleyeceğini (ve Morph'un düzenini güncelleyeceği şekilde) bu bir Morf'a bağlanmayı istiyorum. Kullanıcının bu Morph'un ötesindeki herhangi bir şeye erişebileceği bir (tesadüfi) ihtimal olmadıkça (sadece güvenlikle ilgili değil, sadece kullanılabilirlikle ilgilidir).

Bunu nasıl başarabilirim?

cevap

6

onun step stilini Morph en sınırlarını ayarlayın:

step 
    (self position = (0 @ 0) and: [self extent = owner extent]) ifFalse: [ 
     self position: 0 @ 0. 
     self extent: owner extent]. 

Kullanıcı görüntüyü kaydederken sadece etkinleştirmek bir "dağıtım" bayrak, bu koşullu yapmak isteyebilirsiniz. Bu, örneğin Scratch'in (http://info.scratch.mit.edu/Scratch_1.4_Download) bunu nasıl yaptığıdır.

+1

Düzenleri kullanmak daha iyi olmaz mı? morph hYüzleştirici: #spaceFill; vYazdırıcı: #spaceFill. ? Ayrıca doğrudan #checkForNewScreenSize içine de bağlayabilirsiniz. Gönderenleri/uygulayıcılarını görün. –

+0

Bir düzen dünyanın tüm çocukları üzerinde çalışmaya çalışacaktır. Muhtemelen iyi bir fikir değil. her ekran döngüsünde checkForNewScreenSize oluyor, bu yüzden bir adım yöntemine benzer, ancak bunu kodlamak zorunda kalmayacaksınız. –