This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 35605

Summary: Integrate editor status bar with IDE status bar
Product: editor Reporter: mvinar <mvinar>
Component: -- Other --Assignee: issues@editor <issues>
Status: RESOLVED FIXED    
Severity: blocker    
Priority: P1    
Version: 3.x   
Hardware: All   
OS: All   
Issue Type: ENHANCEMENT Exception Reporter:
Bug Depends on: 35659    
Bug Blocks: 209259, 35736    

Description mvinar 2003-08-21 10:57:42 UTC
User problem:
-----------------------------------
--

User need:
-----------------------------------
Single status line showing the status.

Product requirement:
-----------------------------------
Integrate editor status bar with IDE status bar.
The fact that editor is a separate module is an
implementation detail, that should not matter to
the user.
Comment 1 _ tboudreau 2003-08-24 00:05:19 UTC
For basic status info, there's not much to this.  For the
various sections the editor maintains, that's probably more
work.  But in order to implement other proposals, we need
to implement a status API of some sort anyway.  Such an
API should be reasonably straightforward, though.  Off the
top of my head, something like:

register by:
StatusProviderRegistry.getDefault().registerProvider
  ("someName", MyStatusProvider)

StatusProviderRegistry.getDefault().setStatus("some status");

[no doubt someone will want to make this XML.  Actually
this would be useful as it would allow for display ordering
using XML layer ordering constraints]

public interface StatusProvider {
   /** Set the status.  Most implementations will simply
   use Strings, but an implementation that does something
   more complex (such as display progress of a long-running
   process) may want to use other objects */
   public void setStatus (Object o);

   public Component getStatusComponent();

   //maybe include some event listener stuff so component
   //can indicate when it should be removed.

   //also perhaps require an event be fired on an update,
   //so some sort of auto-hiding of long-unused status
   //components could be automated
}

public abstract class StatusProviderRegistry {
   public void getDefault() {
     //find an instance
   }

   public StatusProvider getStatusProvider(String name) {
      //fetch it from a hashmap, XML. a remote EJB or
      //whatever
   }
   
   public StatusProvider registerStatusProvider(String name,
StatusProvider someProvider) {
      //etc...
   }
}

Hack factor: 1
Difficulty: 4 (needs new API)
Comment 2 Miloslav Metelka 2009-02-23 17:24:46 UTC
Already integrated.