Oh. That's not possible. You can have an approximation by using scheme:text%. That's the easiest thing anyways.
Robby On Wednesday, November 3, 2010, Jukka Tuominen <jukka.tuomi...@finndesign.fi> wrote: > > That does great job hiding the middle panel, thanks! (see below the updated > code). However, that either wasn't what I really was after. Sorry for not > being able to explain it well. > > I'm trying to embed the full featured DrRacket GUI inside the middle panel. > Including menus, toolbars, definition field, (possibly interaction field), > search/replace bar, statusbar (anything missing?). Have the shortcuts, > drag-and-drops working, etc. If necessary, the menus could go under a menu > button, like [define..] in DrRacket's toolbar. > > I try to explain the reason behind a little. I have an app that can browse > through objects of different kind. For a text object, I would embed a text > editor in the middle panel. In case of a scheme object, I would embed a > full-powered and self-sufficient scheme editor, i.e. DrRacket. You could then > edit, debug, and save the change on the spot without ever leaving the app or > opening extra views. > > Building a DrRacket plugin isn't desirable either, since most times you would > just view a random, non-scheme object without editing it. > > I hope this explains my (not so small) challenge a bit better. > > br, jukka > > ;; Improved Version > ((lambda () > > (define frame > (new frame% > (parent #f) > (label "Embedded Editor") > (border 5) > (min-width 400) > (min-height 225))) > > (define vertical-panel-top > (new vertical-panel% > (parent frame) > (style '(border)))) > > ;; Replace the following definition > (define vertical-panel-editor > (new vertical-panel% > (parent frame) > (style '(border)))) > > (define vertical-panel-bottom > (new vertical-panel% > (parent frame) > (style '(border)) > (alignment (list 'center 'bottom)))) > > (define button-evaluate > (new > button% > (parent vertical-panel-bottom) > (label "Hide Editor") > (callback (lambda (button event)(send frame change-children (lambda (l) > (remq vertical-panel-editor l))))) > (style '()) > (enabled #t) > (vert-margin 2) > (horiz-margin 2) > (min-width 0) > (min-height 0) > (stretchable-width #f) > (stretchable-height #f))) > > (send frame show #t))) > >> -----Original Message----- >> From: robby.find...@gmail.com [mailto:robby.find...@gmail.com]on Behalf >> Of Robby Findler >> Sent: 03 November 2010 13:34 >> To: Jukka Tuominen >> Cc: users@racket-lang.org >> Subject: Re: [racket] Embedding DrRacket >> >> >> I think I misunderstood your original query. >> >> You can't change the parent, but you can tell a parent not to show a >> child by calling the change-children method. Something like this in >> your code: >> >> (send frame change-children (lambda (l) (remq vertical-panel-editor l))) >> >> Robby >> >> On Wed, Nov 3, 2010 at 5:00 AM, Jukka Tuominen >> <jukka.tuomi...@finndesign.fi> wrote: >> > >> > Thanks Robby, >> > >> > I'll look into your suggestion. I'm still hesitating whether I >> will manage with my very limited skills to gather all pieces one >> by one, and have them actually working smoothly with each other >> Like DrRacket does. This is very uncertain terrain to me. >> Preferably, I had something I could just place between two panels >> and change the parent to point to one level up. And it should run >> inside a lambda, not leaving any assignments behind. Something like this: >> > >> > >> > ((lambda () >> > >> > (define frame >> > (new frame% >> > (parent #f) >> > (label "Embedded Editor") >> > (border 5) >> > (min-width 400) >> > (min-height 225))) >> > >> > (define vertical-panel-top >> > (new vertical-panel% >> > (parent frame) >> > (style '(border)))) >> > >> > ;; Replace the following definition >> > (define vertical-panel-editor >> > (new vertical-panel% >> > (parent frame) >> > (style '(border)))) >> > >> > (define vertical-panel-bottom >> > (new vertical-panel% >> > (parent frame) >> > (style '(border)))) >> > >> > (send frame show #t))) >> > >> > >> > Is there any solution to this, you could think of? >> > >> > >> > br, jukka >> > >> > >> >> -----Original Message----- >> >> From: robby.find...@gmail.com [mailto:robby.find...@gmail.com]on Behalf >> >> Of Robby Findler >> >> Sent: 03 November 2010 02:10 >> >> To: Jukka Tuominen >> >> Cc: users@racket-lang.org >> >> Subject: Re: [racket] Embedding DrRacket >> >> >> >> >> >> Try just using frame:standard-menus% in place of frame%. You will need >> >> to change the parents of any panels you create from the frame to the >> >> result of calling the get-area-container method (you'll get an error >> >> that points you in the right direction). >> >> >> >> That may not be exactly all of the right menus, but hopefully that'll >> >> get you started. >> >> >> >> Robby >> >> >> >> On Tue, Nov 2, 2010 at 6:25 PM, Jukka Tuominen >> >> <jukka.tuomi...@finndesign.fi> wrote: >> >> > >> >> > Hi, >> >> > >> >> > I have made a lambda function that draws a frame with several >> >> panels. Now, >> >> > I've been trying to figure out how to embed DrRacket's >> GUI/functionality >> >> > inside one of these panels, so I could show/hide it as >> needed. The way >> >> > DrRacket gathers all bits and mixins in the initializing >> process, seems >> >> > overwhelming to me (I'm not a programmer). I managed to get a simple >> >> > scheme:text% editor working, which does some of the things I >> need, but I >> >> > really need fully functional IDE in order to avoid constant >> copy/pasting >> > _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users