Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

subject(3i) [suse man page]

Subject(3I)						    InterViews Reference Manual 					       Subject(3I)

NAME
Subject - object with views SYNOPSIS
#include <InterViews/subject.h> DESCRIPTION
A subject is an object that has one or more views that it wishes to notify when it changes. The SubjectIteractor class can be used if it is necessary to iterate through the views of a subject explicitly. Because subjects are shared, Subject is a subclass of Resource. To allow for the possibility of multiple inheritance, in which case only a single copy of resource information should be maintained, Resource is a virtual base class. PUBLIC OPERATIONS
enum UpdateHint { attaching, detaching, setting, changing } This type enumerates possible hints when a subject is notifying a view that it has changed. The attaching hint indicates that a view has attached to the subject. The detaching hint means that the subject is being deleted and the view should consider itself detached. The setting hint means that the subject's value has been set, though possibly to the same value as it already has. The changing hint means that the value is set to something different than it was previously. virtual void attach(View*) Add a view to the subject's list. virtual void detach(View*) Remove a view from the subject's list. virtual void notify(UpdateHint = changing) Notify all the views of a subject that it has been updated. virtual boolean viewed_by(View*) Return whether a given view is on the subject's list of views. virtual void Attach(Interactor*) This function is equivalent to attach and is provided solely for backward compatibility. It will be removed in a future version. virtual void Detach(Interactor*) This function is equivalent to detach and is provided solely for backward compatibility. It will be removed in a future version. virtual void Notify() This function is equivalent to notify(changing) and is provided solely for backward compatibility. It will be removed in a future version. boolean IsView(Interactor*) This function is equivalent to viewed_by and is provided solely for backward compatibility. It will be removed in a future version. SUBJECTITERATOR OPERATIONS
A subject iterator can be used to iterate through the views in a subject. SubjectIterator(Subject*) Create a subject iterator for the given subject. The iterator is only valid as long as the subject exists. virtual void init() Reset the iteration to start at the beginning of the list. This operation is called by the constructor. virtual boolean more() Return whether there are more views in the list. virtual View* cur() Return the current view. virtual void remove() Remove the current view from the list. virtual void next() Move the iteration to the next view in the list. SEE ALSO
View(3I) InterViews 29 June 1989 Subject(3I)

Check Out this Related Man Page

ComponentView(3U)					    InterViews Reference Manual 					 ComponentView(3U)

NAME
ComponentView - base class for views of objects that model domain-specific elements SYNOPSIS
#include <Unidraw/Components/compview.h> DESCRIPTION
ComponentView is an abstract base class for views of component subjects. Component views provide a specialized presentation of the infor- mation in the component subject to which they are attached. Usually there is at least one view subclass defined for each subclass of com- ponent subject. PUBLIC OPERATIONS
virtual void Interpret(Command*) virtual void Uninterpret(Command*) These operations call the corresponding subject operations by default. They are included in the component view protocol for conve- nience, since other objects often deal with component views rather than their subjects. virtual void Update() Notify the view of a change in some state that it depends on, normally state in the subject. This operation does nothing by default. virtual Component* GetParent() Return the view's parent, if any. Like component subjects, component views may be structured hierarchically, and their structure may or may not reflect that of their subject. Component* GetSubject() Return the component view's subject. virtual void First(Iterator&) virtual void Last(Iterator&) virtual void Next(Iterator&) virtual void Prev(Iterator&) virtual boolean Done(Iterator) Operations for iterating over the component view's children, if any. First and Last initialize an iterator to point to the begin- ning and end of the list of children, respectively. Next increments the iterator to point to the following child, while Prev decre- ments the iterator to point to the preceding child. Done returns whether or not the iterator points beyond the first or last child in the list. virtual ClassId GetClassId() virtual boolean IsA(ClassId) GetClassId returns the unique class identifier for the ComponentView subclass, while IsA returns whether the instance is of a class or subclass corresponding to the given identifier. IsA typically checks the given identifier against the instance's own (as defined by its GetClassId operation) and, failing that, calls its parent classes' IsA operation. All subclasses must redefine GetClassId and IsA to ensure that their identifiers are unique and that view category information is defined properly. See classes(3U) for more information on class identifiers and view categories. PROTECTED OPERATIONS
ComponentView(Component* subject = nil) The constructor initializes the component view's subject pointer to the given value. The view will also attach itself to the sub- ject if the argument is non-nil. virtual void SetSubject(Component*) Set the component's subject pointer to the given value. By default, this operation does not call Attach or Detach on the sub- ject(s). virtual void SetParent(Component* child, Component* parent) Notify a child component that it has a new or different parent. This operation does nothing by default. Composite components should call this function in their structure-modifying operations, and components that keep information about their parents should redefine it to update this information. SEE ALSO
Command(3U), Component(3U), Iterator(3U), classes(3U) Unidraw 20 August 1990 ComponentView(3U)
Man Page