MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Listbox type progress display?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg119712] Re: Listbox type progress display?
  • From: "McHale, Paul" <Paul.McHale at excelitas.com>
  • Date: Sat, 18 Jun 2011 06:14:14 -0400 (EDT)
  • References: <isd0vg$1pt$1@smc.vnet.net> <201106051103.HAA12141@smc.vnet.net>

Hi Albert,

I appreciate the idea.  Works great with text.  I am having problems writing a Grid[] object to the other notebook.  The functions I am using are based on your example:

(* One time setup *)
nbControl=CreateWindow[DocumentNotebook[{CellGroup[{TextCell["CalibrationControl Execution:   " <> DateString[],"Section"]}]}]];
SelectionMove[nbControl,After,Notebook];

(* functions to add lines and sections *)
notebookAddLine[x_]:=(NotebookWrite[nbControl,Cell[x,"Text"],All];
SelectionMove[nbControl,After,Notebook];)
notebookAddSection[x_]:=(NotebookWrite[nbControl,Cell[x,"Section"],All];
SelectionMove[nbControl,After,Notebook];)

If I create a local object:
mList = {{1, 2}, {3, 4}};
mItem = Grid[mList, Frame -> All]

I get the grid box as one would imagine.  I have tried every variation of NotebookWrite[] I can see, but am unable to write non-text to external notebook.

I.e.
NotebookWrite[nbControl, mItem, All]
Console Message: An unknown box name (Grid) was sent as the BoxForm for the expression. Check the format rules for the expression.

I found another command (as I wrote this) that is very interesting and works.
Paste[nbControl, mList]

Even images work
Paste[nbControl,Rasterize[mItem]]

I'm sure you likely know about this.  Just thought I'd offer it in case anyone didn't.

Thanks,
Paul


Paul McHale  |  Electrical Engineer, Energetics Systems  |  Excelitas Technologies Corp.

Phone:   +1 937.865.3004   |   Fax:  +1 937.865.5170   |   Mobile:   +1 937.371.2828
1100 Vanguard Blvd, Miamisburg, Ohio 45342-0312 USA
Paul.McHale at Excelitas.com
www.excelitas.com



Please consider the environment before printing this e-mail.
This email message and any attachments are confidential and proprietary to 
Excelitas Technologies Corp. If you are not the intended recipient of this 
message, please inform the sender by replying to this email or sending a 
message to the sender and destroy the message and any attachments.
Thank you

-----Original Message-----
From: Albert Retey [mailto:awnl at gmx-topmail.de]
Sent: Sunday, June 05, 2011 7:03 AM
To: mathgroup at smc.vnet.net
Subject: [mg119712] Re: Listbox type progress display?

Hi,
>
> I sometimes use a workbook as a program that should process start to
> finish.  CTRL-A, Shift-Enter.  What I would like to have is a single
> place to monitor for status.  In Windows I would use a ListBox().
> This is a small, multi-line text window with scroll capability you
> can add text to at any time.  I.e.
>
> ListBox.Add[myBox, "Starting Execution "] ListBox.Add[myBox, "Main
> task finished "] ListBox.Add[myBox, "All Tasks finished. "]
>
> Anyone know how to accomplish the same functionality with a Notebook
> interface?  It can write anywhere.  It doesn't have to be a pop-up.

This is not very sophisticated, but does the job and is relatively simple:

nb = CreateDocument[{}];

notebookAdd[x_] := (
   NotebookWrite[nb, x];
   SelectionMove[nb, After, Cell];
   )

Do[
  Pause[0.1];
  notebookAdd[i],
  {i, 1, 50}
  ]

if you don't need the history, you can also write to the status area
with

SetOptions[EvaluationNotebook[],WindowStatusArea->"test"]

hth,

albert



  • Prev by Date: Re: Metastable expressions in Mathematica
  • Next by Date: Transformation Rules
  • Previous by thread: Re: Listbox type progress display?
  • Next by thread: Re: Listbox type progress display?