Vielleicht kann mir ja jemand helfen,
Ich bin gerade dabei, unter pharo ein ProfStef-Tutorial für meine Zehntkläßler zu bauen. Darin würde ich ganz gerne auch den Umgang mit / Aufbau von Sysmtembrowser etc. zeigen. Z.B. möchte ich gerne in mein Tutorial Befehlszeilen der Art systembrowser>>zeigeKategorienbereich einfügen, die etwa dazu führen sollen, daß der entsprechende Bereich rot eingerahmt erscheint. Über einen Inspektor des zugehörigen Morphs habe ich das auch schon von Hand hinbekommen. Aber wie komme ich am elegantesten an den Morph, der den Browser darstellt?
Momentan behelfe ich mir so:
pongbrowser := OBSystemBrowser onClass: EllipseMorph. pongbrowserfenster := (World submorphs select: [:each | each model = pongbrowser]) at: 1.
Geht das einfacher? Kann ich den Browser auch so starten, daß ich direkt eine Referenz auf seinen Morph bekomme? Der Browser selber scheint ihn ja nicht zu kennen. Weiß da ein anderes Objekt Bescheid?
Schöne Grüße
Markus
Hallo Markus,
pongbrowser := OBSystemBrowser openOnClass: EllipseMorph. pongbrowser inspectInMorphic.
Wie Du über den Workspace den Weg zum Fenster für die Kategorien findest, habe ich nicht untersucht.
Gruß und ein schönes Neues Jahr, Pascal
----- Original Nachricht ---- Von: Markus Schlager m.slg@gmx.de An: "e.V. Squeak" squeak-ev@lists.squeakfoundation.org Datum: 28.12.2010 21:22 Betreff: [Squeak-ev] ProfStef und OBSystemBrowser
Vielleicht kann mir ja jemand helfen,
Ich bin gerade dabei, unter pharo ein ProfStef-Tutorial für meine Zehntkläßler zu bauen. Darin würde ich ganz gerne auch den Umgang mit / Aufbau von Sysmtembrowser etc. zeigen. Z.B. möchte ich gerne in mein Tutorial Befehlszeilen der Art systembrowser>>zeigeKategorienbereich einfügen, die etwa dazu führen sollen, daß der entsprechende Bereich rot eingerahmt erscheint. Über einen Inspektor des zugehörigen Morphs habe ich das auch schon von Hand hinbekommen. Aber wie komme ich am elegantesten an den Morph, der den Browser darstellt?
Momentan behelfe ich mir so:
pongbrowser := OBSystemBrowser onClass: EllipseMorph. pongbrowserfenster := (World submorphs select: [:each | each model = pongbrowser]) at: 1.
Geht das einfacher? Kann ich den Browser auch so starten, daß ich direkt eine Referenz auf seinen Morph bekomme? Der Browser selber scheint ihn ja nicht zu kennen. Weiß da ein anderes Objekt Bescheid?
Schöne Grüße
Markus
Pascal Vollmer Email: pascal.vollmer@ieee.org
Hallo Pascal,
Danke für den Hinweis.
On Wed, 29 Dec 2010, pascal.vollmer@nexgo.de wrote:
pongbrowser := OBSystemBrowser openOnClass: EllipseMorph. pongbrowser inspectInMorphic.
Klappt leider nicht, da OBSystemBrowser kein Morph ist. Was ich finden muß, ist das SystemWindow, das den Browser darstellt.
Wie Du über den Workspace den Weg zum Fenster für die Kategorien findest, habe ich nicht untersucht.
Momentan so:
pongbrowserfenster := (World submorphs select: [:each | each model = pongbrowser]) at: 1. pongbrowserbereiche := (((pongbrowserfenster paneMorphs at: 2) submorphs at: 3) submorphs at: 1) submorphs
Für die erste der beiden Zeilen hätte ich gerne eine robustere Alternative, die mir sicherer das richtige Fenster liefert.
Markus
On 12/29/2010 6:24 PM, Markus Schlager wrote:
Wie Du über den Workspace den Weg zum Fenster für die Kategorien findest, habe ich nicht untersucht.
Momentan so:
pongbrowserfenster := (World submorphs select: [:each | each model = pongbrowser]) at: 1. pongbrowserbereiche := (((pongbrowserfenster paneMorphs at: 2) submorphs at: 3) submorphs at: 1) submorphs
Für die erste der beiden Zeilen hätte ich gerne eine robustere Alternative, die mir sicherer das richtige Fenster liefert.
Versuch das mal:
pongbrowserfenster := pongbrowser topView.
Ciao, - Andreas
On Wed, 29 Dec 2010, Andreas Raab wrote:
On 12/29/2010 6:24 PM, Markus Schlager wrote:
Wie Du über den Workspace den Weg zum Fenster für die Kategorien findest, habe ich nicht untersucht.
Momentan so:
pongbrowserfenster := (World submorphs select: [:each | each model = pongbrowser]) at: 1. pongbrowserbereiche := (((pongbrowserfenster paneMorphs at: 2) submorphs at: 3) submorphs at: 1) submorphs
Für die erste der beiden Zeilen hätte ich gerne eine robustere Alternative, die mir sicherer das richtige Fenster liefert.
Versuch das mal:
pongbrowserfenster := pongbrowser topView.
Liefert mir ein MessageNotUnderstood. OBSystemBrowser erbt das offenbar nicht von Model. Lesen von Model>>topView brachte mich aber darauf,
und das klappt:
pongbrowserfenster := pongbrowser dependents at: 1
Danke
Markus
Liebe Listenleser,
Im Anhang zum Ausprobieren der erste Teil des Programmiertutorials, das ich gerade für meine Zehntklässler bastle. Rückmeldungen und Verbesserungsvorschläge sind willkommen.
Start mit
ProfStef goOn: ObjekteKlassenTutorial.
Schöne Grüße
Markus
squeak-ev@lists.squeakfoundation.org