home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
ctcoll95.zip
/
RAHMEN
/
PART_MAC.SEA
/
CPRedPart.h
< prev
next >
Wrap
Text File
|
1995-03-24
|
9KB
|
239 lines
/*
File: CPRedPart.h
Contains: CPRedPart OpenDoc part editor class definition.
modified by JÜrn Loviscach, c╒t Magazin fƒr Computertechnik
Written by: PartMaker
*/
#ifndef _REDPART_
#define _REDPART_
#ifndef _ODTYPES_
#include "ODTypes.h"
#endif
#ifndef _FACETLIST_
#include "FacetList.h"
#endif
//==============================================================================
// Forward declarations
//==============================================================================
class ODFocusSet;
class ODMenuBar;
class ODSession;
class ODWindow;
class ODFrame;
class ODFacet;
class ODShape;
class ODStorageUnit;
class ODStorageUnitView;
class ODEmbeddedFramesIterator;
class ODLink;
class ODLinkSource;
class ODTypeList;
class ODEventData;
class ODPart;
class ODDragItemIterator;
class ODCanvas;
class ODExtension;
//==============================================================================
// CPRedPart
//==============================================================================
class CPRedPart
{
public:
CPRedPart();
~CPRedPart();
// Ñ╩ODPersistentObject Ñ
void Externalize (Environment* ev);
void InitPart (Environment* ev, ODStorageUnit* storageUnit, ODPart* partWrapper);
void InitPartFromStorage(Environment* ev, ODStorageUnit* storageUnit, ODPart* partWrapper);
void Draw (Environment* ev, ODFacet* facet, ODShape* invalidShape);
ODID Open (Environment* ev, ODFrame* frame);
void ReleaseAll (Environment* ev);
// Ñ UI Events Ñ
ODBoolean HandleEvent (Environment* ev, ODEventData* event, ODFrame* frame,
ODFacet* facet);
ODBoolean HandleEventInEmbedded(Environment* ev, ODEventData* event, ODFrame* frame,
ODFacet* facet, ODFrame* embeddedFrame,
ODFacet* embeddedFacet);
void MouseEnter (Environment* ev, ODFacet* facet, ODPoint* where);
void MouseWithin(Environment* ev, ODFacet* facet, ODPoint* where);
void MouseLeave (Environment* ev, ODFacet* facet);
void AdjustMenus(Environment* ev, ODFrame* frame);
protected:
void MyCommonInitPart (Environment* ev);
void MySetDirty (Environment* ev);
ODWindow* MyMakeWindow (Environment* ev, ODFrame* sourceFrame);
ODBoolean MyWantResizable (void);
void MyShowPartsBin (Environment* ev, ODFrame* frame);
void MyHidePartsBin (Environment* ev);
ODBoolean MyHandleMenuEvent(Environment* ev, ODFrame* frame, ODEventData* event);
ODBoolean MyHandleMouseDown(Environment* ev, ODEventData* event, ODFrame* frame,
ODFacet* facet);
ODBoolean MyUsedShapeHandleMouseDown(Environment* ev, ODEventData* event, ODFrame* frame,
ODFacet* facet);
void MyInvalAllFacets (Environment* ev);
ODShape* MyGetFrameShape (Environment* ev, ODFrame* frame);
ODShape* MyGetUsedShape (Environment* ev, ODFrame* frame);
void MyAdjustFacets (Environment* ev, ODFrame* frame);
// CPRedPart - implementation-specific methods:
private:
Boolean fDirty;
ODID fWindowID;
ODSession* fSession;
ODID fPartsBinWin;
ODBoolean fPartsBinOpen;
ODFocusSet* fFocusSet;
ODTypeToken fSelectionFocus;
ODTypeToken fMenuFocus;
ODTypeToken fKeyFocus;
ODTypeToken fModalFocus;
ODMenuBar* fMenuBar;
long fCount; //geèndert, jl
ODPart* fPartWrapper; // Passed into InitPart and InitPartFromStorage.
FacetList fFacets; // List of all my visible facets
MenuHandle fMenu; // Handle to my one (so far) menu
// CPRedPart - implementation-specific fields:
public:
// Ñ╩ODObject Ñ
ODBoolean HasExtension(Environment* ev, ODType extensionName);
ODExtension* GetExtension(Environment* ev, ODType extensionName);
void ReleaseExtension(Environment* ev, ODExtension* extension);
ODSize Purge(Environment* ev, ODSize size);
// Ñ╩ODRefCntObject Ñ
void IncrementRefCount(Environment* ev);
void Release(Environment* ev);
// Ñ╩ODPersistentObject Ñ
void CloneInto(Environment* ev, ODDraftKey key, ODStorageUnit* toSU, ODFrame* scope);
// Ñ DragAndDrop Ñ
void FulfillPromise(Environment* ev, ODStorageUnitView *promiseSUView);
void DropCompleted (Environment* ev, ODPart* destPart, ODDropResult dropResult);
ODDragResult DragEnter (Environment* ev, ODDragItemIterator* dragInfo, ODFacet* facet,
ODPoint* where);
ODDragResult DragWithin (Environment* ev, ODDragItemIterator* dragInfo, ODFacet* facet,
ODPoint* where);
void DragLeave (Environment* ev, ODFacet* facet, ODPoint* where);
ODDropResult Drop (Environment* ev, ODDragItemIterator* dropInfo, ODFacet* facet,
ODPoint* where);
// Ñ Embedding Ñ
void ContainingPartPropertiesChanged(Environment* ev, ODFrame* frame,
ODStorageUnit* propertyUnit);
ODStorageUnit* GetContainingPartProperties (Environment* ev, ODFrame* frame);
ODBoolean RevealFrame (Environment* ev, ODFrame* embeddedFrame,
ODShape* revealShape);
void EmbeddedFrameSpec (Environment* ev, ODFrame* embeddedFrame,
ODObjectSpec spec);
ODEmbeddedFramesIterator*
CreateEmbeddedFramesIterator (Environment* ev, ODFrame* frame);
// Ñ Frame Ñ
void DisplayFrameAdded (Environment* ev, ODFrame* frame);
void DisplayFrameRemoved (Environment* ev, ODFrame* frame);
void DisplayFrameConnected (Environment* ev, ODFrame* frame);
void DisplayFrameClosed (Environment* ev, ODFrame* frame);
void AttachSourceFrame (Environment* ev, ODFrame* frame, ODFrame* sourceFrame);
void FrameShapeChanged (Environment* ev, ODFrame* frame);
void ViewTypeChanged (Environment* ev, ODFrame* frame);
void PresentationChanged (Environment* ev, ODFrame* frame);
void SequenceChanged (Environment* ev, ODFrame* frame);
void WritePartInfo (Environment* ev, ODPtr partInfo,
ODStorageUnitView* storageUnitView);
ODPtr ReadPartInfo (Environment* ev, ODFrame* frame,
ODStorageUnitView* storageUnitView);
ODFrame* RequestEmbeddedFrame(Environment* ev, ODFrame* containingFrame, ODFrame* baseFrame,
ODShape* frameShape, ODPart* embedPart,
ODTypeToken viewType, ODTypeToken presentation,
ODBoolean isOverlaid);
void RemoveEmbeddedFrame (Environment* ev, ODFrame* embeddedFrame);
ODShape* RequestFrameShape (Environment* ev, ODFrame* embeddedFrame, ODShape* frameShape);
void UsedShapeChanged (Environment* ev, ODFrame* embeddedFrame);
ODShape* AdjustBorderShape (Environment* ev, ODFacet* embeddedFacet, ODShape* shape);
// Ñ Facet Ñ
void FacetAdded (Environment* ev, ODFacet* facet);
void FacetRemoved (Environment* ev, ODFacet* facet);
void CanvasChanged (Environment* ev, ODFacet* facet);
void GeometryChanged(Environment* ev, ODFacet* facet, ODBoolean clipShapeChanged,
ODBoolean externalTransformChanged);
// Ñ Imaging Ñ
void CanvasUpdated (Environment* ev, ODCanvas* canvas);
void HighlightChanged (Environment* ev, ODFacet* facet);
ODULong GetPrintResolution(Environment* ev, ODFrame* frame);
// Ñ Linking Ñ
ODLink* CreateLink (Environment* ev, ODPtr data, ODULong size);
void LinkUpdated (Environment* ev, ODLink* updatedLink, ODChangeID id);
void RevealLink (Environment* ev, ODLinkSource* linkSource);
void EmbeddedFrameChanged(Environment* ev, ODFrame* frame, ODChangeID change);
void LinkStatusChanged (Environment* ev, ODFrame* frame);
// Ñ Memory Management Ñ
// Ñ Part Activation Ñ
ODBoolean BeginRelinquishFocus (Environment* ev, ODTypeToken focus, ODFrame* ownerFrame,
ODFrame* proposedFrame);
void CommitRelinquishFocus(Environment* ev, ODTypeToken focus, ODFrame* ownerFrame,
ODFrame* proposedFrame);
void AbortRelinquishFocus (Environment* ev, ODTypeToken focus, ODFrame* ownerFrame,
ODFrame* proposedFrame);
void FocusAcquired (Environment* ev, ODTypeToken focus, ODFrame* ownerFrame);
void FocusLost (Environment* ev, ODTypeToken focus, ODFrame* ownerFrame);
// Ñ Binding Ñ
void ExternalizeKinds(Environment* ev, ODTypeList* kindList);
void ChangeKind (Environment* ev, ODType kind);
// Ñ Undo Ñ
void UndoAction (Environment* ev, ODActionData actionState);
void RedoAction (Environment* ev, ODActionData actionState);
void DisposeActionState(Environment* ev, ODActionData actionState, ODDoneState doneState);
void WriteActionState (Environment* ev, ODPtr actionState,
ODStorageUnitView* storageUnitView);
ODPtr ReadActionState (Environment* ev, ODStorageUnitView* storageUnitView);
// Ñ Inline field getters Ñ //
ODBoolean IsDirty() {return fDirty;}
};
#endif