Generic term for menu/toolbar/status-bar items

Subject: Generic term for menu/toolbar/status-bar items
From: "Janet Swisher" <swisher -at- enthought -dot- com>
To: "TECHWR-L" <techwr-l -at- lists -dot- techwr-l -dot- com>
Date: Wed, 8 Dec 2004 11:44:07 -0600


Yesterday, one of our software developers asked me for advice in naming
classes in the class hierarchy of a GUI library (yay!). This is basically an
issue of categorization, but it affects the usability of the API for client
programmers.

The basic question is: What is a generic term for items that appear in a
menu, toolbar, or status bar (including separators)?

The context of this question requires a little familiarity with
object-oriented programming.

In the architecture being developed, there is an abstract class that
represents items that can appear in menus, toolbars, or status bars (the
same item might appear in each of these locations, depending on context).
This class has subclasses that include Action (for "typical" menuitems or
buttons), Control (for things like a font pull-down in a toolbar), and
Separator (which doesn't actually do anything except create visual space).

The issue is what to call the abstract class that all these things inherit
from. Neither I nor our UI designer could come up with a generic term that
covers all of them. Microsoft's "official" UI guide has a section on "Menus,
Controls, and Toolbars" --- in other words, they don't have a generic term,
either.

For now, we've settled on a solution that I'm not quite happy with, because
it mixes levels a bit. The menus, toolbars, and status bars themselves are
represented by classes called MenuManager, ToolbarManager and
StatusLineManager. Each of these contains a list of items (Actions,
Controls, and Separators). The parent class for these "managers" is called
ActionManager.

Consequently, we're calling the parent class for the items
"ActionManagerItem", to indicate that it represents "things that an
ActionManager manages". I don't like this solution because it uses the name
of a specific class ("Action") in the name of a class that is more general.

It's possible that this naming problem indicates a deeper flaw in the logic
of the architecture. It's unlikely that I could convince the developer to
change the architecture, but if someone has an argument, I'm interested in
hearing it.

-------------------------
Janet Swisher
Senior Technical Writer
Enthought, Inc.
1-512-536-1057



^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

ROBOHELP X5 - SEE THE ALL NEW ROBOHELP X5 IN ACTION!

RoboHelp X5 is a giant leap forward in Help authoring technology, featuring all new Word 2003 support, Content Management, Multi-Author support, PDF and XML support and much more! View an online demo: http://www.macromedia.com/go/techwrldemo

---
You are currently subscribed to techwr-l as:
archiver -at- techwr-l -dot- com
To unsubscribe send a blank email to leave-techwr-l-obscured -at- lists -dot- techwr-l -dot- com
Send administrative questions to lisa -at- techwr-l -dot- com -dot- Visit
http://www.techwr-l.com/techwhirl/ for more resources and info.



Follow-Ups:

Previous by Author: Re: OOo conversion from Word
Next by Author: Re: Info on API documentation
Previous by Thread: Re: Revising Numbering System
Next by Thread: Re: Generic term for menu/toolbar/status-bar items


What this post helpful? Share it with friends and colleagues:


Sponsored Ads