[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

changing application frame layouts



I am on a SPARC in Allegro w/ CLIM 1.0.  I have an application frame with two layouts (Normal, and Editor).  I have been doing some experimentation with
swapping layouts in an application via an application command.  The first
problem I have notice is that if you have a command like.

(define-my-application-command (swap-them-back-and-forth :name t) ()
   (set-frame-layout 'Different-Layout)
   (sleep 10)           ;plenty of time to swap them panes around!
   (set-frame-layout 'Original-Layout))

The command will only do the first set-frame-layout.  My interactor pane that
is included with both layouts is still active though.  So if I use a different
command that just does (set-frame-layout 'Original-Layout), I can get back
to my original layout.  Why can't I swap more than one layout within the same
command??????

The second problem I am having is that within the same application command,
when I swap layouts I cannot do output to the newly exposed pane of my new
layout (even with force-output).  However, If I put the same code in a
different command and then invoke it after invoking the command that swaps the
layouts , the output will appear on the newly exposed frame.  Why can't I
output within the same command when I swap layouts?

In my case I am trying to setup up a single command in which the person invokes
a multi-page editor on a presentation object that is in a timeline like
display.  I would like to do this in a single step.  But right now the only
way to get it to work is invoking three commands (when I should be able to do
it with only one)!  Is there something trivial that I am missing?