home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 6.6 KB | 223 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: Commands.h
- // Release Version: $ ODF 2 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef COMMANDS_H
- #define COMMANDS_H
-
- #ifndef CELL_H
- #include "Cell.h"
- #endif
-
- // ----- Framework Includes -----
-
- #ifndef FWDRCMD_H
- #include "FWDrCmd.h"
- #endif
-
- #ifndef FWCLPCMD_H
- #include "FWClpCmd.h"
- #endif
-
- #ifndef FWINSCMD_H
- #include "FWInsCmd.h"
- #endif
-
- //========================================================================================
- // Forward class declarations
- //========================================================================================
-
- class CTableFrame;
- class CTablePart;
- class CTableSelection;
- class CTableProxy;
- class CTablePartContent;
- class CTableLinkSource;
- class CTableLink;
-
- //========================================================================================
- // class CCellDragCommand
- //========================================================================================
-
- class CCellDragCommand : public FW_CDragCommand
- {
- public:
-
- FW_DECLARE_AUTO(CCellDragCommand)
-
- CCellDragCommand(Environment* ev,
- CTablePartContent* tableContent,
- FW_CFrame* frame,
- CTableSelection* selection);
-
- virtual ~ CCellDragCommand();
-
- // --- FW_CCommand overrides for Undo/Redo ---
- virtual void UndoIt(Environment* ev); // Override
- virtual void RedoIt(Environment* ev); // Override
- virtual void SaveUndoState(Environment* ev); // Override
- virtual void FreeUndoState(Environment* ev); // Override
-
- private:
- CTablePartContent* fTableContent;
- CTableSelection* fTableSelection;
- CTableProxy* fSavedProxy; // saved selection for redo
- CCell fDragCell;
- };
-
- //========================================================================================
- // class CCellDropCommand
- //========================================================================================
-
- class CCellDropCommand : public FW_CDropCommand
- {
- public:
-
- FW_DECLARE_AUTO(CCellDropCommand)
-
- CCellDropCommand(Environment* ev,
- CTablePart* itsPart,
- CTablePartContent* tableContent,
- CTableFrame* frame,
- ODDragItemIterator* dropInfo,
- ODFacet* odFacet,
- const FW_CPoint& dropPoint,
- const CCell& dropCell,
- const CCell& draggedCell);
-
- virtual ~ CCellDropCommand();
-
- // --- FW_CDropCommand overrides
- virtual FW_Boolean DoDrop(Environment* ev,
- ODStorageUnit* dropSU,
- const FW_CPoint& mouseDownOffset,
- const FW_CPoint& dropPoint,
- FW_Boolean isDropMove,
- short itemNumber);
- virtual FW_Boolean DoDroppedInSameFrame(Environment* ev,
- ODStorageUnit* dropSU,
- const FW_CPoint& mouseDownOffset,
- const FW_CPoint& dropPoint);
- virtual void DoDroppedPasteAs(Environment* ev,
- const FW_CPoint& mouseDownOffset,
- const FW_CPoint& dropPoint);
-
- // --- FW_CCommand overrides for Undo/Redo ---
- virtual void UndoIt(Environment* ev); // Override
- virtual void RedoIt(Environment* ev); // Override
- virtual void SaveRedoState(Environment* ev); // Override
- virtual void FreeRedoState(Environment* ev); // Override
-
- private:
- CTablePart* fTablePart;
- CTablePartContent* fTableContent;
- CTableFrame* fTableFrame;
- CCell fDropCell;
- CCell fDraggedCell;
- CTableProxy* fSavedProxy; // saved selection for undo/redo
- FW_Boolean fLinkCreated; // was a link created?
- };
-
- //========================================================================================
- // class CTableInsertCommand
- //========================================================================================
-
- class CTableInsertCommand : public FW_CInsertCommand
- {
- public:
-
- FW_DECLARE_AUTO(CTableInsertCommand)
-
- CTableInsertCommand(Environment* ev,
- FW_CEmbeddingFrame* frame,
- const FW_PFileSpecification& fileSpec,
- CTablePart* itsPart,
- const CCell& insertCell);
- virtual ~CTableInsertCommand();
-
- // --- FW_CCommand overrides
- virtual void UndoIt(Environment* ev); // Override
- virtual void RedoIt(Environment* ev); // Override
- virtual void SaveRedoState(Environment* ev); // Override
- virtual void FreeRedoState(Environment* ev); // Override
-
- private:
- CTablePart* fTablePart;
- CTablePartContent* fTableContent;
- CTableProxy* fInsertedProxy; // saved proxy for Redo
- CCell fInsertCell;
- };
-
- //========================================================================================
- // CLASS CTableEditCommand
- //========================================================================================
-
- class CTableEditCommand : public FW_CClipboardCommand
- {
- //----------------------------------------------------------------------------------------
- // Initialization/Destruction
- //
- public:
-
- FW_DECLARE_AUTO(CTableEditCommand)
-
- CTableEditCommand(Environment* ev,
- ODCommandID id,
- CTablePart* itsPart,
- CTablePartContent* tableContent,
- FW_CFrame* frame,
- CTableSelection* selection);
-
- virtual ~ CTableEditCommand();
-
- //----------------------------------------------------------------------------------------
- // FW_CCommand overrides for Undo/Redo
- //
- virtual void UndoIt(Environment* ev); // Override
- virtual void RedoIt(Environment* ev); // Override
- virtual void SaveUndoState(Environment* ev); // Override
- virtual void SaveRedoState(Environment* ev); // Override
- virtual void FreeUndoState(Environment* ev); // Override
- virtual void FreeRedoState(Environment* ev); // Override
-
- virtual void CommandDone(Environment* ev); // Override
- virtual void PreCommand(Environment* ev); // Override
-
- //----------------------------------------------------------------------------------------
- // Table-specific
- //
- //---- Undo PasteAs support ----
- void UndoPasteAs(Environment* ev);
- void RedoPasteAs(Environment* ev);
-
- private:
- void SaveSelection(Environment* ev);
- void RemoveSelection(Environment* ev);
- void RestoreSelection(Environment* ev);
- void DeleteSavedProxy(Environment* ev);
-
- void BreakSavedLinks(Environment* ev);
- void RestoreSavedLinks(Environment* ev);
- FW_Boolean WasLinkCreated(Environment* ev);
-
- //----------------------------------------------------------------------------------------
- // Data Members
- //
- private:
- CTablePart* fTablePart;
- CTablePartContent* fTableContent;
- CTableSelection* fTableSelection;
- CTableProxy* fSavedProxy; // saved selection for undo/redo
- CCell fPasteAsCell; // saved cell for Undo PasteAs
- CTableLinkSource* fSavedLinkSource; // saved link for Undo Cut/Clear
- CTableLink* fSavedLink; // saved link for Undo Cut/Clear
- };
-
-
- #endif
-