Skip to main content

How to write to the IDEA Status Bar?

I would like to visually inform the user as to what the script is working on. Like, "Processing records for VENDOR Ace Hardware", followed by "processing records for VENDOR Home Depot",  "processing records for VENDOR Lowes", etc. This would update over time as the system was doing different things, but require no user intervention. A progress bar is not specific enough for what I need to convey, i.e. vendor name.
So, anyone have a way to write to the IDEA status bar?  
 
I'd like to let the user know what the script is doing, without a modal dialog that makes things stop untill clicked.
 
Thanks for any suggestions!
 
I looked in the language browser, which tells what is displayed, but doesn't hint about how to add text...
----------------------------------------------------------------
Status Bar
The Status bar located at the bottom of the IDEA application window displays the following information:
 

  • Context-sensitive help
  • The Desktop project folder path (for local databases)
  • The linked IDEA Server project name (if applicable) otherwise will display Not connected to IDEA Server
  • The connected IDEA ServerIDEA Server is a powerful data analysis application that operates using network servers. While you view the data and perform your analysis using the IDEA client installed on your computer, all your data storage and processing is done on a server. For more information, visit the IDEA Server area on the CaseWare IDEA Web site. name, if applicable (hover your cursor over IDEA Server Project)
  • The number of records in the active database
  • The disk space available in the project folder  

 
 
 
 
Rob
 
 
 
 
 

Brian Element Mon, 09/29/2014 - 08:53

Hi Rob, as far as I know there is no way to write to the status bar in the way you are suggesting and I have never seen it done.

The closest I know of is creating a progress bar which will show the progress and can contain a message.  I have some code here that shows how to do it.

robgentile Mon, 09/29/2014 - 09:14

That progress bar code is pretty neat. 
Looks like it's using CommonIdeaControls.StandaloneProgressCtl. Any chance caseware has released documentation for the CommonIdeaControls?
 
 
 

Brian Element Mon, 09/29/2014 - 09:36

It is pretty handy, I use it a lot especially if I am creating or updating a database directly through the code, it allows the user to see that something is happening.

Unfortunately I don't know of any documentation.  One thing I do use often is the Excel developer app, in there you have an object browser so you can load in an object and then look at what is available in the ojbect,  I have been able to figure a few things out with this that I didn't know existed in IDEA.

robgentile Wed, 10/01/2014 - 09:18

I played around and now have a work around. I call a vbs script that displays the latest line written to a text file for a number of seconds. It comes on screen as a popup, but you can close the box or just ignore it. The script then sleeps till you write another line to the text file.
 
I kick off the vbs using an IDEA shell command. I then add text to the file from IDEA, and the vbs see the change in the file's timestamp and temporarily shows the last line in the file.  Sending the text 'exit loop' to the text file causes the vb script to unload.
 
Not as cool as using the status bar, but works as an unobtrusive "now processing vendor x" popup.

robgentile Wed, 10/01/2014 - 13:58

Here's a work around. Allows you to show a popup that can be dismissed, or will just go away in 5 seconds anyway.
 
 -----------------------------------------------------------------------------------------------------------------
 How to use it:
1) The attached files should all be put into a folder called "C:\shared_idea_code"
2) rename popup_display_text_script.txt as popup_display_text_script.vbs
then, just open the popup_message_shared.iss script and use the dialog. 
 
You can move them later, just follow the instructions in readme.txt
 -----------------------------------------------------------------------------------------------------------------
 How it works:

  1. The IDEA script starts up the VBS script.
  2. The IDEA script writes out a message (when you tell it ) to a text file.
  3. The VBS script looks at the modified time of the text file every 10 seconds.
  4. When it detects a change, it :
    1. reads the file,
    2. grabs the last line, and
    3. shows that in a popup that will go away on its own in 5 seconds. 
  5. The VBS script sleeps, and stands by till you send more messages. Every 10 seconds it looks for a new message.
    1. It will unload after 2 hours, but you can edit the code and change that if you like.
    2. You can also send it a message that will cause it to unload before then.

  -----------------------------------------------------------------------------------------------------------------