ops.h File Reference

(r1785/r877)

#include "listitem.h"
#include "list.h"
#include "binds.h"
#include "clikmods.h"
#include "doccoord.h"
#include "docrect.h"
#include "opdesc.h"
#include "range.h"
#include "selstate.h"

Go to the source code of this file.

Classes

class  ActionList
 An ActionList is a list object which holds actions which can be executed. It is used by Operation objects to hold UNDO, REDO and Smart duplicate actions. More...
struct  OpFlgsStr
class  CUniversalParam
 Simple class that makes it possible to have parameters that can either be a pointer or an INT32 in a 64bit safe manner. More...
class  OpParam
 Operation parameter structure. The meaning of the structure's fields are defined by each operation. Note that sensible Operations will derive a special OpParam for their own specific needs, so you should use the derived class where it is available. More...
class  Operation
 This abstract class represents an operation which is a single job initiated by the user. You should derive all non undoable operations directly from this base class. More...
class  Action
 This class represents an Action which is an individual job which is executed to accomplish an operation. An operation contains lists of actions to perform Undo, Redo and Smart Duplication. More...
class  InvalidateRegionAction
 When executed this action will Force a redraw of the bounding rectangles of each node in a range. More...
class  InvalidateRegionIfBgRedrawAction
 When executed this action will Force a redraw of the bounding rectangles of each node in a range. This version will only invalidate the region if Background Redraw is in progress. More...
class  HideNodeAction
 When executed this action will hide a node. It will also generate a ShowNodeAction action adding it to the opposite Action list. More...
class  ShowNodeAction
 When executed this action will show a node. It will also generate a HideNodeAction action adding it to the opposite Action list. More...
class  UnApplyAction
 When executed this action will hide a node. It will also generate a ShowNodeAction action adding it to the opposite Action list. More...
class  ApplyAction
 When executed this action will show a node. It will also generate a HideNodeAction action adding it to the opposite Action list. More...
class  RestoreSelectionsAction
 When executed this action will restore the selection state of the document. It will also spawn another identical RestoreSelectionsAction adding and add it to the opposite action list. More...
class  SelectDeselectAction
 When executed this action will render node's selection blobs (which could remove them) and set it's selection state. If the node is currently selected then the node is deselected. If the node is currently deselected it is selected. It creates a second SelectDeselectAction for the node and adds it to the opposite action list. More...
class  TransformNodeAction
 When executed this action will transform a range of NodeRenderableInk nodes. It also creates another TransformNodeAction to 'undo' the transformation just performed. It adds this action to the opposite action list. More...

Defines

#define ALLOC_WITH_FAIL(Ptr, AllocExpr, pOp)
 This macro should be used whenever you want to allocate any memory in an operation.It initially tries to allocate system memory, if it fails then it prompts the user to see if they want to delete undo operations to try and make room. If after deleting undo operations memory still cannot be allocated then FailAndExecute() is called and a NULL Ptr is returned.
#define CALL_WITH_FAIL(fn, pOp, Success)
 This MACRO is the same as the ALLOC_WITH_FAIL except that it repeatedly calls a function which tries to allocate memory. The function must return a TRUE/FALSE success status.

Enumerations

enum  SystemBarType {
  SYSTEMBAR_ILLEGAL = 0, SYSTEMBAR_FILE, SYSTEMBAR_EDIT, SYSTEMBAR_ATTRIBUTE,
  SYSTEMBAR_ARRANGE, SYSTEMBAR_UTILITIES, SYSTEMBAR_WINDOW, SYSTEMBAR_VIEW = SYSTEMBAR_WINDOW,
  SYSTEMBAR_HELP, SYSTEMBAR_ANIMATION, SYSTEMBAR_TYPESETTING, SYSTEMBAR_DEBUG,
  SYSTEMBAR_FEATHER
}
enum  OperationStatus { UNDO, REDO, DO }
enum  ActionCode { AC_FAIL, AC_OK, AC_NORECORD }


Define Documentation

#define ALLOC_WITH_FAIL Ptr,
AllocExpr,
pOp   ) 
 

This macro should be used whenever you want to allocate any memory in an operation.It initially tries to allocate system memory, if it fails then it prompts the user to see if they want to delete undo operations to try and make room. If after deleting undo operations memory still cannot be allocated then FailAndExecute() is called and a NULL Ptr is returned.

Author:
Simon_Maneggio (Xara Group Ltd) <camelotdev@xara.com>
Date:
4/8/93
Parameters:
Ptr,: The pointer or handle to the object being allocated [INPUTS] AllocExpr: The expression to allocate memory (e.g. new Blobby(x,y,z) ) pOp: A pointer to the operation for which memory is being allocated.
- [OUTPUTS]
Returns:
-
The macro is fairly long and may be replaced by a series of functions one for each type of memmory allocation.

Returns:
Errors: -
See also:
CALL_WITH_FAIL

Definition at line 651 of file ops.h.

#define CALL_WITH_FAIL fn,
pOp,
Success   ) 
 

This MACRO is the same as the ALLOC_WITH_FAIL except that it repeatedly calls a function which tries to allocate memory. The function must return a TRUE/FALSE success status.

Author:
Simon_Maneggio (Xara Group Ltd) <camelotdev@xara.com>
Date:
4/8/93
Parameters:
fn,: the function to call [INPUTS] pOp: A pointer to the operation for which memory is being allocated.
Success,: A BOOL variable which is TRUE if the function could be executed [OUTPUTS] with a TRUE return value.
Returns:
-

Errors: -

See also:
ALLOC_WITH_FAIL

Definition at line 707 of file ops.h.


Enumeration Type Documentation

enum ActionCode
 

Enumerator:
AC_FAIL 
AC_OK 
AC_NORECORD 

Definition at line 543 of file ops.h.

00543 { AC_FAIL, AC_OK, AC_NORECORD }; 

enum OperationStatus
 

Enumerator:
UNDO 
REDO 
DO 

Definition at line 230 of file ops.h.

00230 { UNDO, REDO, DO };

enum SystemBarType
 

Comment: A number of hidden bars are created by the kernel during startup to group together OpDescriptors in sensible groups for the user. This enum allows each of those hidden bars to be uniquely identified.

enum SystemBarType { SYSTEMBAR_ILLEGAL = 0, SYSTEMBAR_FILE, SYSTEMBAR_EDIT, SYSTEMBAR_ATTRIBUTE, SYSTEMBAR_ARRANGE, SYSTEMBAR_UTILITIES, SYSTEMBAR_WINDOW, SYSTEMBAR_VIEW = SYSTEMBAR_WINDOW, SYSTEMBAR_HELP, SYSTEMBAR_DEBUG SYSTEMBAR_FEATHER };

See also:
SystemBarOp::FindType
Enumerator:
SYSTEMBAR_ILLEGAL 
SYSTEMBAR_FILE 
SYSTEMBAR_EDIT 
SYSTEMBAR_ATTRIBUTE 
SYSTEMBAR_ARRANGE 
SYSTEMBAR_UTILITIES 
SYSTEMBAR_WINDOW 
SYSTEMBAR_VIEW 
SYSTEMBAR_HELP 
SYSTEMBAR_ANIMATION 
SYSTEMBAR_TYPESETTING 
SYSTEMBAR_DEBUG 
SYSTEMBAR_FEATHER 

Definition at line 165 of file ops.h.

00165                    { SYSTEMBAR_ILLEGAL = 0,
00166                      SYSTEMBAR_FILE,
00167                      SYSTEMBAR_EDIT,
00168                      SYSTEMBAR_ATTRIBUTE,
00169                      SYSTEMBAR_ARRANGE,
00170                      SYSTEMBAR_UTILITIES,
00171                      SYSTEMBAR_WINDOW,
00172                      SYSTEMBAR_VIEW = SYSTEMBAR_WINDOW, // Alias VIEW to WINDOW for now...
00173                      SYSTEMBAR_HELP,
00174                      SYSTEMBAR_ANIMATION,
00175                      SYSTEMBAR_TYPESETTING,
00176                      SYSTEMBAR_DEBUG,
00177                      SYSTEMBAR_FEATHER
00178                     };


Generated on Sat Nov 10 03:49:18 2007 for Camelot by  doxygen 1.4.4