|
|
|
|
|
|
|
Unix 32-bit |
|
Sun Solaris |
|
HP-UX |
|
IBM AIX |
|
RedHat |
|
|
|
|
ModelSim SE – full featured, supported on all
platforms |
|
ModelSim PE – low cost, supported on Windows
only |
|
ModelSim OEM – low or zero cost, provided by
FPGA vendors, almost all on Windows |
|
The lower cost products have higher volume which
means the majority of our customer eyeballs are looking at a Windows U/I. |
|
|
|
|
Why should a Windows Look & Feel be so
important to our customers? |
|
“Software that is full of inconsistencies, even
minor ones,
forces users to keep thinking about it.”
–
GUI Bloopers, Don’ts and Do’s for Software Developers |
|
Consistency refers to interactions within the
tool as well as across all tools a person is using. |
|
Our goal:
Make ModelSim interactions consistent with other MS Windows
applications |
|
|
|
|
|
Toolbar w/graphics |
|
Windows style icons |
|
Less padding |
|
Textured grab corner |
|
Non-raised edges |
|
Indented Marquee |
|
|
|
|
Workspace focal point |
|
De-emphasize
command line |
|
|
|
|
|
Color & Font changes |
|
Matching user’s desktop preferences for colors
and fonts – done! |
|
Responding to dynamic changes – Oops! |
|
Menus |
|
Use familiar menu organization: File Edit View … Tools Window Help |
|
Use familiar action terms: New, Open, Refresh,
Properties |
|
Use context sensitive RMB Popup menus where
appropriate,
avoid “special” RMB mouse actions. |
|
|
|
|
|
|
|
|
|
|
Layout |
|
Space efficiency |
|
Organization |
|
Modality |
|
Avoid non-modal dialog boxes |
|
Widget Choice |
|
Use appropriate and common widgets |
|
Tri-State Widgets |
|
Support multiple selection |
|
Common Dialogs |
|
Reduce typing |
|
Increase consistency |
|
|
|
|
Uncommon widget |
|
Poor layout |
|
Unclear association |
|
Bad use of space |
|
Dialog box too big |
|
|
|
|
More information in compact area |
|
Use drop box |
|
Use labeled frame for clear association |
|
|
|
|
Multiple selection |
|
Tri-state checkbox |
|
|
|
|
Multi-column hierarchical list |
|
Multiple Document Interface (MDI)
vs.
Multiple top level windows |
|
Dockable panes |
|
|
|
|
Wizards are helpful in guiding users through
unfamiliar, complex operations. |
|
Creating a successful Wizard is a difficult task |
|
Providing a standard Wizard class would make
this task easier |
|
|
|
|
The expectation: anything you see or view in a window can be printed |
|
Printing is complicated since what is presented
on the display can be a composition of Tk and/or custom widgets |
|
Implementing printing in the ModelSim Wave
window required both low level access to widgets DC buried inside Tk,
middle-level code to handle composition of a page and high-level code to
handle printer configuration and pagination. |
|
|
|
|
|
|
In an ideal world, these items would be
available within Tcl/Tk for use by all. |
|
A standard multi-column hierarchical list |
|
Intrinsic tri-state widgets |
|
Standard dialog box wizard support |
|
Dockable/Undockable window panes |
|
A standard toolbar that supports customization
as well as docking |
|
Printing support, or at least, printing hooks |
|
MDI support |
|
Drag and Drop |
|
|
|
|
|
These items do not require technology
development, but must be considered at all times to achieve a Windows look
and feel. |
|
Dialog box modality |
|
Use Microsoft Windows like widgets only |
|
Dialog box layout, spacing and alignment |
|
Limiting the number of top-level widgets |
|
|
|
|
|
Items that do not deal directly with Tcl/Tk, but
that are related to the overall goal of achieving a Windows look and feel. |
|
Usage of Microsoft Verbs and Nouns |
|
Multiple selection support wherever possible |
|
Provide point and click operations over typing |
|
Always provide popup menus and property choices |
|
|
|
|
E-mail: bgriffin@model.com
rwold@model.com |
|
Widgets: ftp://ftp.model.com/pub/tcl |
|
Company website: http://www.model.com |
|
|