Alignment von Morphs in einem Morph

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Alignment von Morphs in einem Morph

Klaus Füller-4
Im Menü eines Morphs (roter Halo-Knopf) erscheinen Einträge, die
Einstellungen an einem Morph vornehmen. Manche scheinen Methoden
aufzurufen, manche scheinen Properties zu setzen.

Wie kann ich erfahren, welche Operation von einem Halo-Menüpunkt
ausgeführt wird?

Ich will Morphs in einem Morph automatisch anordnen, Beispielsweise
Buttons oder Texte oder ... in Reihen und Spalten. Muss ich das so
machen, dass ich für jede Spalte von Morphs einen "Container" einrichte,
die ich dann in einer Reihe anordne oder gibt es einen Tabellen-Manager?
Ich will keine konkrete Lösung --- ich will wissen, wie ich die Lösung
in Erfahrung bringen kann.

kf


Reply | Threaded
Open this post in threaded view
|

Re: Alignment von Morphs in einem Morph

fefr
> Im Menü eines Morphs (roter Halo-Knopf) erscheinen Einträge, die
> Einstellungen an einem Morph vornehmen. Manche scheinen Methoden
> aufzurufen, manche scheinen Properties zu setzen.
>
> Wie kann ich erfahren, welche Operation von einem Halo-Menüpunkt
> ausgeführt wird?
>

vielleicht gibts eine einfachere Lösung, aber ich mach' das immer so:
Wenn das Menü offen ist mit <shift><Apfel> (auf einem PC müsste es
<shift><alt> sein) auf den Eintrag klicken. Daraufhin erscheinen Halos um
den Menüeintrag. In dem ausgewählten MenuItemMorph dann das Debug-Halo
anclicken und "inspect Morph" anwählen. Die Instanzvariable 'selector'
enthät den selector, der auf dem Morph aufgerufen wird.  
 
> Ich will Morphs in einem Morph automatisch anordnen, Beispielsweise
> Buttons oder Texte oder ... in Reihen und Spalten. Muss ich das so
> machen, dass ich für jede Spalte von Morphs einen "Container" einrichte,
> die ich dann in einer Reihe anordne oder gibt es einen Tabellen-Manager?
> Ich will keine konkrete Lösung --- ich will wissen, wie ich die Lösung
> in Erfahrung bringen kann.

Es gibt auch ein TableLayout. Am besten installierst Du dir von SqueakMap
das "TableLayout Tutorial Project". Das erklärt sehr gut die Möglichkeiten
desselben.


felix



--
.

+++ GMX - die erste Adresse für Mail, Message, More +++
1 GB Mailbox bereits in GMX FreeMail http://www.gmx.net/de/go/mail

Reply | Threaded
Open this post in threaded view
|

Re: Alignment von Morphs in einem Morph

Hannes Hirzel-2
Hinweis auf die Frage, wie heerausgefunden werden kann, welchewelcher Halo
welche Methode aufruft.

Im folgenden schildere ich skizzenhaft die Ueberlegungen, die ich mir
anstelle, wenn ich so etwas heraussuchen will ("Gedankenprotokoll")

Dass die farbigen Punkte mit denen man einen Morph bedienen kann 'Halo'
heissen fuehrt dazu, dass ich einem Systembrowser aufrufe und dort in der
linken oberen Kolonne ein Kontextmenu hole um eine Klasse zu suchen, die
den substring 'Halo' enthaelt.

Es gibt deren zwei:

HaloMorph
HaloSpec

Ich vermute, dass HaloMorph wohl die sichtbare Form ist, waehrend HaloSpec
beschreiben wird, wie die Halos hergestellt werden, was interessanter
erscheint.

Ich waehle also 'HaloSpec'. Die Klasse wird angezeigt; ich schaue mir den
Kommentar und die Methoden an. Es gibt nur wenige Methoden. Der Kernpunkt
der Aktivitaet kann also nicht hier sein.

Ich rufe dann den Menupunkt auf 'Class references', d.h. die Angabe von
Stellen im Sourcecode, die diese Klasse aufrufen.

Ich finde dann eine Methode auf der Klassenseite von 'Preferences'.

Ich hangle mich dann den Methodenaufrufen entlang nach oben ('senders')
bis ich zu einem Buendel von Methoden kommen, die spezifisch Halos
zusammenstellen. Sie enthalten 'literal arrays', die spezifizieren, wie
die Halos aufgebaut werden. Dort gibt es Methoden, die jeweils einen
spezifischen Halopunkt hinzufuegen. Darin sieht man dann auch, welche
Methode aufgerufen wird, wenn der Halopunkt betaetigt wird.

Interessant also: Ich kann meine eigene Halo-Kombination zusammenstellen,
d.h. also nicht hauefig gebrauchte Halos entweder hinauswerfen oder mit
etwas anderem belegen.

Um sich Methodenaufrufen entlang zu hangeln bewaehrt sich die
Tastenkombination ALT-M (Windows). Ich selektiere den Methodennamen und
druekce die Tastenkombinartion.

Wie Klaus gewuenscht hat, sind diese Angaben 'Hilfe zur Selbsthilfe', d.h.
keine pfannenfertige Antwort.

Im Grunde genommen ist der Squeak-Code ein maechtiges Hypertextsystem mit
gutem Dokumentationswert. Wie man aber darin navigiert ist nicht so
offensichtlich wie im WWW (dort ist es defacto auch nicht immer einfach).

Ein alternativer Pfad waere sicher auch das Werkzeug von Trygve Reenskaug.
Es enthaelt ein Werkzeug mit dem man Methodenaufrufe ab einer bestimmten
Stelle protokollieren kann (nach einem Ausloeser).


Viel Erfolg (und Spass)

Hannes