Object Descriptions


Definitions/Abbreviations




class
MBoxCollection
inherits from
Object
description
Maintains a collection of SVMBoxes, and coordinates views.
attributes

operations
Delete
Delete the currently selected MailBox, select a new MailBox, and then update MBoxCollectionView and MBoxView.
Create
Prompt for a name, and create a new MailBox. Update MBoxCollectionView.
Rename
Prompt for a new name, and rename the current MailBox. Update MBoxCollectionView.
Select
A Message sent by MBoxCollectionView to select a MailBox.
CollectMBoxes
A method called by MBoxCollectionView to get a list of MailBox names. Returns a vector of Names.
[Search]
Prompt for a substring. Search all MailBoxes for the substring. Create a temporary MailBox, and copy all matching Messages to it. Select that MailBox.

initialization
Given an established connection, find all active MailBoxes. Select INBOX.

class
SVMBox
inherits from
MailBox
description
Maintains a collection of Mesg's, and controls the MBoxView.
attributes

operations
Delete
Delete the currently selected Messages. Update MBoxView.
Select/Unselect
A Message sent by MBoxView to select or unselect a Message.
CollectMesgs
A method called by MBoxView to get a list of Message names. Returns a vector of Names.
ViewMesg
A method called by MBoxView (when the user double-clicks on a message) to view a message.
ConnectTo
Called to specify to which MBoxView this SVMBox should be connected.
[Search]
Prompt for a substring. Search all Messages for the substring. Select them. Update the MBoxView.
[Move]
Prompt for a MailBox name. Move the messages there. [Use Drag 'n Drop later, if at all possible]

initialization
Created by MBoxCollection, which links it to the MBoxView. On creation, selects the first message, and updates MBoxView.

class
MBoxCollectionView
inherits from
Panel
description
View on an MBoxCollection. Displays a list of MailBoxes.
attributes

operations
Update
Called by MBoxCollection. Tells me that something I care about has changed.
ConnectTo
Called to specify to which MBoxCollection I should be connected.

initialization
Created by MBoxCollection, which links me to itself. I call CollectMBoxes to get the list of MBoxes so I can display it.

class
MBoxView
inherits from
Panel
description
View on an SVMBox. Displays a list of Messages.
attributes

operations
Update
Called by SVMBox. Tells me that something I care about has changed.
ConnectTo
Called to specify to which SVMBox I should be connected.

initialization
Created by MBoxCollection, which links me to my SVMBox. I call CollectMesgs to get the list of Messages so I can display it.

Class
SVMesg (Searchable and Viewable Message)
Inherits from
Message
Description
Like the class it inherits from, the SVMesg class holds the data for one message retrieved from an IMAP server.
Attributes
A message has the following attributes (these are not explicitly documented in the Non-Diary Creamer IMAP Class Index, so they are listed below):

  • f - f flags
  • s - the size of the message in bytes
  • d - RFC 822-style date
  • subj - subject of the message
  • fr - mail addresses in "From:" line
  • send - mail addresses in "Sender:" line
  • rt - mail addresses in "Reply-to:" line
  • t - mail addresses in "To: " line
  • c - mail addresses in "Cc:" line
  • b - mail addresses in "Bcc:" line
  • irt - contents of "In-reply-to:" line
  • mid - message ID
  • m - mailbox associated with this SVMesg
  • msgno - message number for this SVMesg
  • Operations
    The inherited operations are documented here. SVMesg provides the following additional operations:

  • searchBodyText(String)
    Searches the text of the message body for the String. Returns a boolean true if the string is found, false otherwise.
  • viewSVMesg()
    Returns a new SVMesgView object, linked to the SVMesg's data.
  • Initialization
    A SVMesg is initialized (and constructed) by invoking SVMesg and sending in the values for the attributes described above. (This is generally done automatically by the MBox)

    class
    SVMesgView
    inherits from
    Panel
    description
    This is a view on an SVMesg. It displays the different parts of the SVMesg on a window.
    attributes
  • mySVMesg - a link to the SVMesg I'm am a view of.
  • buttons - buttons which perform operations of my SVMesg.
  • partView - a view on a part of a SVMesg.
  • operations
  • update - called by mySVMesg to tell me something I care about has changed.
  • initialization
    Created by SVMesg, which links me to itself.