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 <[hidden email]> An: "e.V. Squeak" <[hidden email]> 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: [hidden email] |
Hallo Pascal,
Danke für den Hinweis. On Wed, 29 Dec 2010, [hidden email] 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. > 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 |
Free forum by Nabble | Edit this page |