Common status line specification

Author: Josef Pavlicek

$Revision: 1.17 $
$Date: 2007/01/18 15:13:21 $

$Id: CommonStatusLineSpecification.html,v 1.17 2007/01/18 15:13:21 josefpavlicek Exp $ (see full CVS history)

Content

1. Editor status line Use Cases and Scenario

  • Show CVS status label for Editor Use Case
  • Show CVS file annotations Use Case
  • Show CVS file annotations scenario
  • Diff information messages Use Case
  • Diff information messages scenario
  • Macro recording Use Case
  • Macro recording scenario
  • Stop macro scenario
  • 2. GUI Information Use Cases and Scenarios

    3. Global status line Use Cases and Scenarios

    4. Specification of Common status line

    5.Proposed solution of Common status line - detail view

    6. Appendix

     

    1.Editor status line Use Cases and Scenarios

    Code writing/ rewriting Use Case

    The user writes the code into the open Java file (or WSDL or XML files). He expects that he will write the code on the first logical place in the source code. He wants to know the position of his cursor (the row and the column) and he needs to know the mode of writing (INSERT or Overwrite). If the user wants to rewrite the code he switches into the rewrite mode. In this case, he wants to have an information about the changed mode. If he is in the guarded block he need to know immediately what it means. If he tries to write something into the guarded block he needs to know immediately why he is not able to write something there.

    If the user is in the Read only file he expects to have an information about this mode.

    Code writing scenario:

    • The user invokes main menu item File | New File or File | Open Project
    • He selects the type of the file or the type of the project
    • The user writes code into open file
    • System shows him Position and Mode in the Editor Information Area of Common status line (Figure 13)

    Code rewriting scenario:

    • The user invokes main menu item File | New File or File | Open Project
    • He selects the type of the file or the type of the project
    • The user turns on Insert button on his keyboard and the system changes Mode information in the Editor information Area from INS to OVR
    • The system shows the user bold cursor in the code


    File is read only Scenario:

    • The file opened by the user is in the read only mode
    • The system shows in the Editor Information Area in the Area for Read Only mode the lock icon
    • If the user clicks on this Icon the system offers the user unlock this file (should be implemented)
    • If the user shows on this Icon by pointer of mouse the system shows him/her tool tip with message "Read only Mode "

    "Guarded"(not editable) block scenario:

    • The users writes code
    • During his work he can click into "Guarded" (not editable) block
    • The system shows in the Editor Information Area, Mode Area Lock icon.
    • This clock signalizes the user that this block is not possible to edit
    • If the user shows on this Icon by pointer of mouse the system shows him/her tool tip with message "Guarded Mode" (Figure 14)

     

    Code finding Use Case

    The user is in the code and he is looking for some string(character). The user can be looking for the submitted string(or character).

    He expects to have the system feedback:

    • what he found
    • where he it found
    • how many strings the system found
    • how many strings the system didn't find

     

    The user has to have the possibility to customize the default finding control. In this case the system gives him the feedback what he customized and how. During the finding the user can want to replace some found chain(or character). This case is similar with the Use Case - Code replacing.

    Code finding scenario:

    • The user invokes shortcut CTRL + F or main menu item Edit | Find
    • The system shows him the Find dialog
    • The system shows the information Find mode:"searched string" in the Information Area of the Common status line
    • The system shows the user information about count of found strings in the Information Area of the Common status line
    • The system will not show information type “XY” not found
      • The message that the string wasn't found the system shows in the find dialog
      • NOTICE: It is necessary to redesign the find and replace dialog
    • The system will not color the Information Area of the Common status line by some color.

    Code replacing Use Case

    The user is in the code. He wants to replace some string. If he presses some shortcut for replacing he expects some system feedback.

    What he wants to replace and how :

    • replace this
    • replace all

    After the replacement the user wants to know what he replaced and where. The row and the column of the replaced chain, the number of the replaced chains etc. During the replacement the system gives the user some feedback about concerning what he is replacing, where and via which chain.

    Code replacing scenario:

    • The user invokes shortcut CTRL + H or main menu item Edit | Replace
    • The system shows him the Replace dialog
    • The system shows the information Replace mode:"searched string" is replaced by "replaced string" in the Information Area of the Common status line
    • The system shows the user information about count of replaced strings in the Information Area of the Common status line

     

    Incremental finding Use Case

    The system gives the user immediately some feedback about the incremental finding mode. The user expects the system moves his cursor on the found chain. The user wants to move from one found chain to the other chain quickly. He wants to use one key for moving between chains. If the user are not able to find the chain(this chain doesn't exist in the user's source code) he expects the system feedback.

     

    Incremental finding scenario:

    • The user invokes shortcut CTRL + F or main menu item Edit | Find
    • The system allows the use incremental search (the Incremental search is checked by default)
    • The system shows message the Information Area of Common status bar with format:
      • Incremental finding mode: "found string"

     

    Code error highlighting Use Case

    If the user writes the code into the Java or other files he expects the highlight on the errors under the wrong code.

    In this case he wants to immediately know what is wrong

    • where it is wrong –the row and the column
    • why it is wrong.

    He needs to know what he has to do for correction of his mistakes. He expects some help from the system.

     

    Error highlighting scenario:

    • While the user works (writes the code) the system give him the feedback (Figure 8)
    • If he does some mistake and his cursor is on the row with mistake the system writes into the Information Area of the Common status line information about the particular mistake
      • This message has this form:
        • Error: 'type of the error' expected -the format is similar with the error highlighting on the tool tip if the user shows on the error by the mouse pointer
    • This kind of the message has big priority and is visible if the user moves his/her cursor in the Editor on the row with mistake
      • This message is visible until the user has cursor on the row with error
        • The system can replace this message only if the user has invoked CVS | Show "XY.java" Annotation and this row has annotation. The system has to show annotation

     

    Show CVS status label Use Case

     

    Show CVS status label in the Project tree Use Case

    If the user uses the project explorer (and he is connected into CVS) he/she needs to know why the font by some files and folders has different colors:

    • Default color - file is up-to-date
    • Green color - file not yet in the repository (Locally New)
    • Blue color - file has been modified (Locally Modified)
    • Red color - file contains a conflicting merge (Local Conflict)
    • Gray color - file is ignored (Ignored)

    For more information go to VCS UI Spec

    Show CVS status label in the Project tree scenario

    • The system shows the user the message about this status label from CVS for the particular file or directory in the Information area of Common status line (Figure 4)
      • This message about the label [state and branch] is visible until the user has selected the file or directory
        • This message is visible and the system can not replace it by other message.
        • The format of this message is :
          • "Name of the File" CVS status: " Locally New" + "information about the branch"
        • The system shows next states:
          • (Locally New)
          • (Locally Modified)
          • (Local Conflict)
          • (Ignored)
        • For others files the system shows information about the branch only. The message has this format:
          • "Name of the File" + "information about the branch"
      • If the user is on the node the message about state and branch is visible and the system can not replace it.
        • The system can replace this message only if the user uses short cut for some action
          • for example CTR+S (for saving)
          • the system writes "Save All finished."
            • this message is visible 30 seconds
          • after that the system shows message about the file (if the user has still selected particular file/directory for which we have a list of statuses and branches)
      • If the user leaves the node the message vamooses.

     

    Show CVS status label for Editor Use Case

    If the user is in the editor, the system shows him/ her name of the file and color of this file. The user wants to know CVS status and Branch of this file. The system shows him/her this message similar like on the CVS status label in the Project tree scenario.

     

    Show CVS status label for Editor scenario

    If the user works with Editor the Information Area of Common status line shows him messages about his work (Figure 4)

    • The system always shows this message if the user doesn't have checked main menu CVS | Show "XY.java" Annotation
    • If the user is in the Editor the system shows him/her messages about CVS status of his file (the system shows nothing if the user is editing new file without CVS status)
    • This message is visible 30 seconds.
      • The system can replace this message if the user moves his/her cursor on the row where is mistake. In this case the system shows error message.
      • The system can replace this message if the user leaves the editor
      • The system can replace this message if the user uses some short cut for other action
      • If the user stared the macro, the system shows on the left side of position mode macro recording Icon. The system is not replacing File status message
    • After 30 seconds the message vamooses
    • The system shows this message if the user clicks on the tab. This message is visible 30 seconds again.

    The system shows the user status label of edited file similar like in the Project tree scenario.

     

    Show CVS file annotations Use Case

    If the user invokes main menu CVS | Show "XY.java" Annotation he wants to see annotations for the particular file.

     

    Show CVS file annotations scenario

    • If the user invokes main menu CVS | Show "XY.java" Annotation the system shows the annotations from the particular file in the Information Area of Common status line (Figure 5)
      • The system shows annotation of each row in the file and the system can not replace annotations by other message.
        • Annotation has this format:
          • File +"File name" annotation: +"annotation from the CVS"
      • Annotation is visible until the user has cursor on the particular row.
      • If the user moves cursor down or up the system shows him/her other annotation for particular row.
      • If the user uses some short cut (or if he leaves edited file - he uses mouse pointer| clicks on the main menu item for particular action| for example CTRL +S) the system shows message about invoked action (for. example: "Save All finished").
      • If the user put his/her cursor into the Editor (or if he moves by the cursor in the Editor) the system shows him annotation for particular row immediately.
      • If the user leaves the file with Annotations (by the cursor of the mouse or by short cut) the system shows particular messages for the attached to the action

    Diff information messages Use Case

    The user supposes that system gives him first two differences files from all different files. He wants to see first difference on his local file in comparison with the remote file. He needs to know the row and the column of difference.

    He expects to have an information about the files:

    • how many changes are in the files
    • number of the change where the user has the cursor


    Diff information messages scenario:

    • The system shows the user count of differences between the files (Figure 6)
    • The system shows in the Information Area of Common status line message which has this format:
      • File "name of the file" has "count of differences" differences
    • This message is still visible
    • If the user moves his/her cursor on the row with the change the system tells the user number of this difference in the file in this format
      • Difference "number of difference " from "count of differences" differences in the file "name of the file"
      • This message is visible until the user has the cursor on the row with the difference
    • If the user moves his/her cursor on the other row without the difference the system shows first message (File "name of the file" has "count of differences" differences)

     

    Macro recording Use Case

    If the user starts the macro, he expects immediately some feedback about recording. He needs to know if the recording runs. If he stops the macro, he needs to know that recording isn't running.

    The users expects some help from the system while the macro runs. The system tells the user which shortcut he has to use for:

    • stopping the macro
    • saving the macro

    Macro recording scenario:

    • If the user invokes CTRL + JS or main menu item Edit | Start macro recording the system shows him in the Information Area of the Common status line the message
    • The system shows the user "Macro recoding icon" (Figure 9 ) and the message "Macro recording" in the Common status line (Figure 10)
      • This message is visible 30 second. After that the system is showing "Macro recording icon" only.
      • "Macro recording ICON blinks
    • During the macro recording the system can need show other messages.
      • The system replaces message "Macro recording" by new message
      • The system shows blinking "Macro recording icon" still (Figure 10 )
      • The user can show on the "Macro recording icon" by pointer of mouse
        • In this case the system shows the user tool tip with message "Macro recording"(Figure 11)

    NOTICE:"If the macro runs the user can not start other macro". "All macro icons in the Editor toolbar must not be active".

    Stop macro scenario:

    • If the user invokes CTRL + JE or main menu item Edit | Stop macro recording the system shows him in the Information Area of the Common status line the message
    • This message has format: "Macro stopped"
      • The system hides "Macro recording icon" (Figure 9 )
        • This message is visible 30 seconds
        • If the system needs to show other message during this time the system replaces "Macro stopped" message by other message
      • The system shows particular dialog for this action.

     

     

    2. GUI Information Use Cases and Scenarios

    NOTICE : "This design should be implemented if the Mattise will not supported it"

    Showing position of dragged object according to the nearest left component Use Case

    If the user dragged his/her object into his/her frame/panel he can want to know position of this object according to the nearest left component. He wants to know “left” and “top” distance from the nearest left component.

    He expects to have an information about this component according to the nearest left component

    • on Left(X) position
    • on Top (Y) position
    • if is this component locked or if is resizable

    Showing position of dragged object according to the nearest left component scenario

    • The system shows the user the Left(X) and the Top(Y) position from the nearest left component (Figure 15, Figure 16)
    • The system shows information if is this component locked or if is resizable
    • The system shows these information in the Editor Area of the Common status line.

     

     

     

    3. Global status line Use Cases and Scenarios

     

    Finished process information showing Use Case

    The user works with the IDE and he expects that the IDE shows him all information about processes which finish earlier than 5 seconds.

    These information are for example:

    • Save file/files
    • Finished building “XY”(jar)
    • Information about refactoring
    • etc.

    Finished process information showing scenario:

    • The system shows the user information about finished process (Figure 2)
    • This message will be visible until the other message changes the previous message

     

    Navigation information showing Use Case

    While the user works with the IDE he wants to have an information about the menu items. When he shows on the menu item by cursor he/she wants to have the information what this menu item does and what means.

     

    Navigation information showing scenario:

    • The system shows in the Information Area of Common status line message what does menu item on which the user shows by pointer of mouse (Figure 3)
      • This message is visible only if the user has selected item by cursor

     

    Process runs information Use Case

    The user works with the IDE and when he starts some process (processes) which runs long time (the user works during the process runs) the user expects to have some information about this process. The IDE shows him some information about this process (progress bar indication) and when the process (processes) finishes the user wants to have an information about it. For example “Scanning project class paths”.

     

    Process runs scenario:

    • The system shows in the Information Area of Common status line information about running process/processes (Figure 12)
    • After finish of this run the system shows information that this run is done
    • During the run of the process the system shows progress bar indication into the Progress Bar Area of the Common status line

     

    AutoUpdate activity Use Case

    The IDE connects into the AutoUpdate center each 7th day (by default). The user wants to know if the system finds new modules for updating.

    AutoUpdate activity scenario:

    • If the system finds new updates the system shows icon for AutoUpdate mechanism in the bottom right corner of IDE (Figure 17)
    • If the system doesn't find new module (modules) for updating the system doesn't show icon
    • If the system is not able to connect into Update center the system shows icon for problem with update process (for more details go to Autoupdate wizard UI spec)

     

    Critical error highlighting Use Case

    The user works with IDE. During his work the IDE can generate critical exception. Critical exception means that the IDE can not continuously works.

    Critical error highlighting scenario:

    • The IDE shows the user modal dialog with information about the exception
    • The IDE tells the user that is not possible to continue and offers him/her save all files and exit from IDE
    • This message the system shows modal dialog with information about the exception
    • This message is not visible in the Information Area of the Common status line

     

     

    4. Specification of Common status line MDI mode

    Common status line basis specification

    The common status line is joining the functionality of the editor status line:

    • Position Area
    • Mode Area
    • Editor Information Area

    and the functionality of the global status line:

    • Global Information Area
    • Progress bar Area
    • Area for AutoUpdate or Exception Icon signalization

     

    Now we can separate the common status line on the four areas:

     

    Figure 1: Common status line graphical model:

     

    Area for Information (Information Area)

     

    Behavior of the system according to the type of the messages

    The Information Area serves for showing messages “not critical type”.

    These messages have 3 types:

    1. High priority (the message is visible until the user is on or if he/she does some particular action)
      • File Annotations ( if the user invokes main menu CVS | Show "XY.java" Annotation)
      • Incremental finding
        • This string is visible until the user leaves this mode
      • Find message
      • Replace message
      • Error highlighting
    • This kind of the message has big priority and is visible if the user moves his/her cursor in the Editor on the row with mistake
    • The system shows him/her Error message
    • This message is visible until the user has cursor on the row with error
      • The system can replace this message only if the user has invoked CVS | Show "XY.java" Annotation and this row has annotation. The system has to show annotation
    • Diff information messages
  • Normal priority ("Each message will be visible 30 seconds. If during this period the system needs show other message the system replaces the first message by the second message")
  • Low priority
    • Navigation information showing
    • Macro recording
    • Macro stopping
  • Information Area is re sizable. By default has Information Area 80 % from the Global Information Area. If the system shows the Progress bar Area and the message in the Progress bar Area + the progress indication icon are bigger than 20 % from the Global Information Area, the Information Area resizes his size from 80 % to 50 % from the Global Information Area. This size has until is the Progress bar Area visible.

     

    Finished process information showing

    This picture (Figure 2) shows how the messages are shoving in the Information Area of the Common status line.

    Figure 2: Area for Information of Common status line graphical model:


    Navigation information showing

    This picture (Figure 3) shows how the Information Area of the Common status line can show message about menu item functionality.

    Figure 3: Navigation information showing

     

    CVS status label showing in the Project tree

    This picture shows how the system shows CVS status label in the Information Area of the Common status line.

    Figure 4: CVS status label showing design

     

    CVS file annotation showing

    This picture (Figure 5) shows how the system shows annotations in the Information Area of the Common status line

    Figure 5: CVS file annotations showing design

     

    Diff information messages

    The system shows the Diff information messages in the Information Area of the Common status line.

    Figure 6 : Diff information messages -design

     

    Figure 7: Diff information messages - design 2

     

    Code Error highlighting

    The system shows error message in the Information Area of the Common status line.

    Figure 8: Error highlighting design:

    :

    Figure 9: Macro recording ICON (if the macro runs this icon is visible and blinks)

     

    Figure 10 : Macro recording design

     

    Figure 11: Showing messages during Macro recording - design

     

     

     

    Progress bar Area

    This Area serves for Process runs information showing.

    NOTICE:"The Progress bar Area is defined in the UI specification. "


    The Progress bar Area has by default 20 % from the Global Information Area. If the system finds that message in the Progress bar Area + the progress indication icon will be longer than 20 % from the Global Information Area resizes the Progress bar Area on 50% from the Global Information Area. In such case that the message will be longer the system shows ellipses on the end of the message. The user can click on the message and he can see all messages in the tool tip.

     

    Figure 12: Progress bar Area design

     

    Editor Information Area

    The Editor Information Area has two parts and two working modes:

    1. Editor information mode

    2. GUI information mode

     

    Editor information mode

    • In this mode Editor Information Area shows information about cursor in the source code:
      • “Position” shows the user position of the cursor (row and column)
      • “Mode Area” shows the user mode which the user has turn on:
        • INS- insert
          • the system shows tool tip "Insert Mode"
        • OVR-overwrite
          • the system shows tool tip "Overwrite Mode"
        • LOCK icon - this state can be evoke by two situations
          1. The file is read only
          • the system shows tool tip "Read only Mode"
        • The user moves the cursor (or the pointer of the mouse) into the not editable block ("blue blocks in NetBeans editor")
        • the system shows tool tip "Guarded Mode"
      • in these 2 cases the system replaces "Mode area " by the lock icon (Figure 14)

    Figure 13: File is editable

     

    Figure 14: If is the user in the not editable "guarded" block the system shows him/her lock icon in the Mode Area

     

    GUI information mode

    NOTICE : "This design should be implemented if the Mattise will not supported it"

    Position information mode:

    In this mode Editor Information Area shows position of the selected object according to the nearest left component.

    The system shows message between these separators (the left separator is re sizable according to size and font type)

    • This message has the format: “Position on Left :” number of X on Top: number of Y (locked)” or “(unlocked)” (Figure 15)

     

    Figure 15: Position information mode width design

     

    Figure 16: Example of Position information mode appearance in NetBeans IDE:

     

    Area for Auto Update activity


    In this Area is visible the blue Icon for signalization of new found module (modules). If the system doesn't find new updates the icon is not visible.

    • If the system has some problems with connecting into Update Center, the system shows error icon

    NOTICE: “In the AutoUpdate information Area the system shows error icon now (if the system generates some not important exception). This function will be removed from the AutoUpdate information Area in next release. The system will show the icon for AutoUpdate only.”

    Figure 17: Model of AutoUpdate ICON:

     

       

      Figure 18: Area for Auto Update process signalization

       

       

      5. Proposed solution of Common status line - detail view

       

      Common status line detail view

      The picture below describes each part of the Common status line (Figure 19).

       

      Figure 19: Common status line detail description

       

       

       

      6. Appendix

       

      Figure 20: Current design of the Editor information Area

       

       

      Figure 21: Current design of the Global status line

    Project Features

    About this Project

    ui was started in November 2009, is owned by Jiří Kovalský, and has 43 members.
    By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20160708.bf2ac18). © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
     
     
    Close
    loading
    Please Confirm
    Close