You are part of a team working on a new application. The application, called “Info Tracker” is designed to keep track of different types of personal information for people. There are other products like this on the market. The difference in this application is that it is extendable using plug-in modules to support different types of information that people want to record.
At the moment, the interfaces have been designed and the initial version of the main application has been written. One plug-in has been written in order to test the main application.
In the left-hand pane, there is a tree of categories and, under that category; there are pieces of information (known as Info Cards in the application). In the example above, you can see three categories – Note, Credit Card and Password. If you double-click on one of the Info Cards, you will see the information associated with that card.
Info Cards can either be displayed in the right-hand pane, or if the information could be too big to fit, it can be displayed in a separate window (if you look at a Note info card, you will see that it is displayed in a separate window). The decision about where to display the information is left to the plug-in module that handles that category of Info Card.
If you right-click on a card listed in the tree, a popup menu is displayed that allows you to Display, Edit or Delete the card. If you select Edit, a modal dialog box is displayed that enables you to edit the data associated with that card.
If you right-click on a category in the tree, you can add a new card of that category. Or, if there are currently no cards stored of the type you want, you can select New Card from the Card menu and a dialog box will be displayed listing all of the categories supported, along with a description, which you can choose from.
A lot of the application has already been written. The main user interface code exists (and is supplied to you) as well as the code that loads and saves Info Cards. Although the example shown above shows Credit Card as one of the categories supported, this info card type has not yet been implemented. Only Password and Note are currently implemented. Your task is to write the plug-in module that will handle the Credit Card info card type.