#include <oofrepedit.h>
Inheritance diagram for OOF_mixRepAbstractCellEditor:


The idea of the mixin base is to define a common set of controls and their behaviour so an application can subclass with just a few overrides, supporting with whatever dialog class and layout they fancy. This is necessary because application code may have dialogs based on LGADialog or other base classes.
Any buttons not initialised will not be implemented so the entire movement approach can be ignored if desired.
Most of the behaviour is cross platform in OOF_mixRepAbstractCellEditor thanks to the cross-platform GUI interface.
Public Member Functions | |
| virtual void | maybeChangeTargetLink (dbFieldLink *) |
| virtual dbTable * | table () const |
| virtual void | subscribeTo (oofBroadcaster *) |
| virtual void | unsubscribe (oofBroadcaster *from=0) |
| void | suspendListening () |
| void | resumeListening () |
| virtual bool | receiveMsg (OOFmsgT msg, unsigned long senderDefined) |
| The default receiveMsg behaviour is to delete yourself when the broadcaster closes. | |
Protected Types | |
| enum | movementT { eGoFirst, eGoLast, eGoLeft, eGoRight, eGoUp, eGoDown } |
Protected Member Functions | |
| OOF_mixRepAbstractCellEditor () | |
| virtual | ~OOF_mixRepAbstractCellEditor () |
| virtual void | FinishCreationByLinkingDataModel (oofRepEditingEnv *, oofRepEditLink *) |
| virtual void | UpdateMovementButtons () |
| override to control disabling | |
| virtual void | UnableToMoveWarning (movementT, bool movingByCell) |
| default beep | |
| virtual void | GoToAnotherCell (movementT) |
| virtual void | GoToAnotherItem (movementT) |
| Separate out item movement from cell movement because you may wish to implement one but use default for the other. | |
| virtual void | LoadCellEditField () |
| Typical reasons to override - want to display location or a different display of the editable state (eg: visible lock icon). | |
| virtual bool | AttemptSaveCellEditField () |
| void | LoadAndUpdate () |
| separation of these three steps, which commonly occurs, is example of the Template Method pattern allowing for overriding of minor points | |
| void | EnterLink (oofRepEditLink *) |
| virtual void | maybeDirty (dbFieldLink *) |
Protected Attributes | |
| bool | mAnyContentDirtied |
| oofRepEditingEnv * | mEnv |
| oofRepEditLink * | mCurrentLink |
| dbGUIAdapter * | mAdapter |
| oofBroadcaster * | mListensTo |
| oofBroadcaster * | mSuspendedListensTo |
| unsigned short | mSuspendCount |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
Separate out item movement from cell movement because you may wish to implement one but use default for the other. eg: use default moves to items but custom cells because you have fancy report objects in your application. |
|
|
separation of these three steps, which commonly occurs, is example of the Template Method pattern allowing for overriding of minor points
|
|
|
Typical reasons to override - want to display location or a different display of the editable state (eg: visible lock icon).
|
|
|
Reimplemented in dbAbstractEditHelper. |
|
|
Reimplemented from dbHelper. |
|
||||||||||||
|
The default receiveMsg behaviour is to delete yourself when the broadcaster closes. In many user subclasses oofSingleListener is a mixin and you have a class owned elsewhere, not self-deleting.
Implements oofReceiver. Reimplemented in dbCloneCleanup, dbRelMaintainer, dbFieldCopier, oofE_Table, dbAbstractBrowseHelper, dbAbstractEditHelper, dbBrowseHelper, dbHierBrowseHelper, dbTableViewDisplay, OOF_recordCacheCopier, dbRelRefBase, and oofRepData. |
|
|
|
|
|
Reimplemented from oofReceiver. |
|
|
|
|
|
Reimplemented in dbAbstractBrowseHelper, and dbAbstractEditHelper. |
|
||||||||||||
|
default beep You may wish to override with an alert. |
|
|
Reimplemented from oofReceiver. |
|
|
override to control disabling If you don't want your buttons disabled, don't pass them into the InitMovementControls. Reimplemented in OOF_mixRepCellEditor. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.3.5